diff --git a/include/stdWullie.h b/include/stdWullie.h index a3092ec..966322e 100644 --- a/include/stdWullie.h +++ b/include/stdWullie.h @@ -22,6 +22,10 @@ // time #include "stdWullie/time.h" +// file handling +#include "stdWullie/filehandle/closeOpen.h" +#include "stdWullie/filehandle/readWrite.h" + // string extras #include "stdWullie/String/colours.h" diff --git a/include/stdWullie/definitions/umodetypes.h b/include/stdWullie/definitions/umodetypes.h new file mode 100644 index 0000000..b97e559 --- /dev/null +++ b/include/stdWullie/definitions/umodetypes.h @@ -0,0 +1,15 @@ +// this code is licenced under Wrathmark licence +// © 2026 wullie wulliestudio.com +// please see attached licence for full usage and rights + +#ifndef UMODETYPES_H +#define UMODETYPES_H + +#ifdef __linux__ + +#elif __FreeBSD__ + + +#endif +#endif + diff --git a/include/stdWullie/filehandle/closeOpen.h b/include/stdWullie/filehandle/closeOpen.h new file mode 100644 index 0000000..1b05b22 --- /dev/null +++ b/include/stdWullie/filehandle/closeOpen.h @@ -0,0 +1,9 @@ +// this code is licenced under Wrathmark licence +// © 2026 wullie wulliestudio.com +// please see attached licence for full usage and rights + +#ifndef CLOSEOPEN_H +#define CLOSEOPEN_H +long Wopen(const char *pathname, int flags, int mode); +long closeFile(int fd); +#endif diff --git a/include/stdWullie/filehandle/readWrite.h b/include/stdWullie/filehandle/readWrite.h new file mode 100644 index 0000000..6f0fd67 --- /dev/null +++ b/include/stdWullie/filehandle/readWrite.h @@ -0,0 +1,12 @@ +// this code is licenced under Wrathmark licence +// © 2026 wullie wulliestudio.com +// please see attached licence for full usage and rights + +#ifndef READWRITE_H +#define READWRITE_H + +long reader(long fd, char *string, size_t buflen); +long writer(long fd, const char *string, size_t buflen); + + +#endif diff --git a/src/fileHandling/closeOpen.c b/src/fileHandling/closeOpen.c index d4e6526..d943996 100644 --- a/src/fileHandling/closeOpen.c +++ b/src/fileHandling/closeOpen.c @@ -5,6 +5,7 @@ #include "LocalHeader.h" #include "stdWullie/definitions/typeNull.h" #include "stdWullie/exit.h" +#include "stdWullie/filehandle/closeOpen.h" // hanles operations for opening and closeing files diff --git a/src/fileHandling/readWrite.c b/src/fileHandling/readWrite.c index 938889e..be06a33 100644 --- a/src/fileHandling/readWrite.c +++ b/src/fileHandling/readWrite.c @@ -5,11 +5,18 @@ #include "LocalHeader.h" #include "stdWullie/definitions/typeNull.h" #include "stdWullie/exit.h" - -long reader(long fd, char *string, size_t count){ - if(count <= 0){ +#include "stdWullie/filehandle/readWrite.h" +long reader(long fd, char *string, size_t buflen){ + if(buflen <= 0){ safeError("can not parse 0 characters"); } - syscall3(SYS_read, fd, (long)string, (long)count); + syscall3(SYS_read, fd, (long)string, (long)buflen); } + +long writer(long fd, const char *string, size_t buflen){ + if(bufflen <=0){ + safeError("can not write 0 characters to a file"); + } + syscall3(SYS_write, fd, (long)string, (long)buflen); +}