Bladeren bron

[dfs][posix] add creat()

Meco Man 3 jaren geleden
bovenliggende
commit
add72f1d7c
2 gewijzigde bestanden met toevoegingen van 18 en 2 verwijderingen
  1. 16 0
      components/dfs/src/dfs_posix.c
  2. 2 2
      components/libc/compilers/common/extension/fcntl.h

+ 16 - 0
components/dfs/src/dfs_posix.c

@@ -7,6 +7,7 @@
  * Date           Author       Notes
  * 2009-05-27     Yi.qiu       The first version
  * 2018-02-07     Bernard      Change the 3rd parameter of open/fcntl/ioctl to '...'
+ * 2022-01-19     Meco Man     add creat()
  */
 
 #include <dfs_file.h>
@@ -56,6 +57,21 @@ int open(const char *file, int flags, ...)
 }
 RTM_EXPORT(open);
 
+/**
+ * this function is a POSIX compliant version,
+ * which will create a new file or rewrite an existing one
+ *
+ * @param path the path name of file.
+ * @param mode the file permission bits to be used in creating the file (not used, can be 0)
+ *
+ * @return the non-negative integer on successful open, others for failed.
+ */
+int creat(const char *path, mode_t mode)
+{
+    return open(path, O_WRONLY | O_CREAT | O_TRUNC, mode);
+}
+RTM_EXPORT(creat);
+
 /**
  * this function is a POSIX compliant version, which will close the open
  * file descriptor.

+ 2 - 2
components/libc/compilers/common/extension/fcntl.h

@@ -11,7 +11,7 @@
 #ifndef __FCNTL_H__
 #define __FCNTL_H__
 
-#include <sys/types.h>
+#include "sys/types.h"
 
 #define O_RDONLY         00
 #define O_WRONLY         01
@@ -66,6 +66,6 @@
 
 int open(const char *file, int flags, ...);
 int fcntl(int fildes, int cmd, ...);
-int creat(const char *, mode_t);
+int creat(const char *path, mode_t mode);
 
 #endif