Add ISYS:MKOSTEMP
authorStelian Ionescu <sionescu@cddr.org>
Thu, 18 Jul 2013 13:34:12 +0000 (18 15:34 +0200)
committerStelian Ionescu <sionescu@cddr.org>
Thu, 18 Jul 2013 13:34:12 +0000 (18 15:34 +0200)
src/syscalls/ffi-functions-unix.lisp
src/syscalls/pkgdcl.lisp

index a52ecd4..ada7ba7 100644 (file)
@@ -333,6 +333,18 @@ Return two values: the file descriptor and the path of the temporary file."
   (let ((template (concatenate 'string template "XXXXXX")))
     (with-sstring-to-cstring (ptr template)
       (values (%mkstemp ptr) (cstring-to-sstring ptr)))))
+
+(defsyscall (%mkostemp "lfp_mkostemp") :int
+  (template :pointer)
+  (flags    :uint64))
+
+(defentrypoint mkostemp (&optional (template "") (flags 0))
+  "Generate a unique temporary filename from TEMPLATE.
+FLAGS are used to open the temporary file.
+Return two values: the file descriptor and the path of the temporary file."
+  (let ((template (concatenate 'string template "XXXXXX")))
+    (with-sstring-to-cstring (ptr template)
+      (values (%mokstemp ptr) (cstring-to-sstring ptr)))))
 \f
 
 ;;;-------------------------------------------------------------------------
index 23907f6..16a145f 100644 (file)
    #:lstat
    #:sync
    #:fsync
-   #:mkstemp)
+   #:mkstemp
+   #:mkostemp)
   (:export ;; Directories
    #:mkdir
    #:rmdir