diff --git a/include/sys/fs.h b/include/sys/fs.h index efc1466..bbb8d4d 100644 --- a/include/sys/fs.h +++ b/include/sys/fs.h @@ -6,9 +6,15 @@ extern "C" { #endif #define __NEED_size_t +#define __NEED_mode_t +#define __NEED_uint32_t #include +/* acceess control entry flags */ +#define __ACE_OBJECT_INHERIT (0x01) +#define __ACE_CONTAINER_INHERIT (0x02) + /***************************************************************************/ /* int (*__fs_path_fn)(int fdat, const char * path, int options, */ /* char * buffer, size_t buflen); */ @@ -42,6 +48,9 @@ int __fs_apath(int, const char *, int, char *, size_t); int __fs_npath(int, const char *, int, char *, size_t); int __fs_dpath(int, const char *, int, char *, size_t); +int __fs_mkdir(int, const char *, mode_t, uint32_t); +int __fs_chmod(int, const char *, mode_t, int, uint32_t); + #ifdef __cplusplus } #endif diff --git a/src/arch/nt32/fs.c b/src/arch/nt32/fs.c index 7051b04..93ccd82 100644 --- a/src/arch/nt32/fs.c +++ b/src/arch/nt32/fs.c @@ -24,3 +24,13 @@ int __fs_dpath(int fdat, const char * path, int options, { return syscall(SYS_fs_dpath,fdat,path,options,buffer,buflen); } + +int __fs_mkdir(int fdat, const char * path, mode_t mode, uint32_t ace_flags) +{ + return syscall(SYS_fs_mkdir,fdat,path,mode,ace_flags); +} + +int __fs_chmod(int fdat, const char * path, mode_t mode, int flags, uint32_t ace_flags) +{ + return syscall(SYS_fs_chmod,fdat,path,mode,flags,ace_flags); +} diff --git a/src/arch/nt64/fs.c b/src/arch/nt64/fs.c index 7051b04..93ccd82 100644 --- a/src/arch/nt64/fs.c +++ b/src/arch/nt64/fs.c @@ -24,3 +24,13 @@ int __fs_dpath(int fdat, const char * path, int options, { return syscall(SYS_fs_dpath,fdat,path,options,buffer,buflen); } + +int __fs_mkdir(int fdat, const char * path, mode_t mode, uint32_t ace_flags) +{ + return syscall(SYS_fs_mkdir,fdat,path,mode,ace_flags); +} + +int __fs_chmod(int fdat, const char * path, mode_t mode, int flags, uint32_t ace_flags) +{ + return syscall(SYS_fs_chmod,fdat,path,mode,flags,ace_flags); +}