]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/unix/statfs/macosx/macosx.factor
use radix literals
[factor.git] / basis / unix / statfs / macosx / macosx.factor
index 8f9fd2c6efc28d40fa3bc9ec180ffd6e441855f3..50bb0c2227f8add8855efc8404adb5ec89cd9ebb 100644 (file)
@@ -2,35 +2,35 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: alien.c-types io.encodings.utf8 io.encodings.string
 kernel sequences unix.stat accessors unix combinators math
-grouping system io.files io.backend alien.strings math.bitwise
-alien.syntax io.unix.files ;
+grouping system alien.strings math.bitwise alien.syntax
+unix.types classes.struct unix.ffi literals ;
 IN: unix.statfs.macosx
 
-: MNT_RDONLY  HEX: 00000001 ; inline
-: MNT_SYNCHRONOUS HEX: 00000002 ; inline
-: MNT_NOEXEC  HEX: 00000004 ; inline
-: MNT_NOSUID  HEX: 00000008 ; inline
-: MNT_NODEV   HEX: 00000010 ; inline
-: MNT_UNION   HEX: 00000020 ; inline
-: MNT_ASYNC   HEX: 00000040 ; inline
-: MNT_EXPORTED HEX: 00000100 ; inline
-: MNT_QUARANTINE  HEX: 00000400 ; inline
-: MNT_LOCAL   HEX: 00001000 ; inline
-: MNT_QUOTA   HEX: 00002000 ; inline
-: MNT_ROOTFS  HEX: 00004000 ; inline
-: MNT_DOVOLFS HEX: 00008000 ; inline
-: MNT_DONTBROWSE  HEX: 00100000 ; inline
-: MNT_IGNORE_OWNERSHIP HEX: 00200000 ; inline
-: MNT_AUTOMOUNTED HEX: 00400000 ; inline
-: MNT_JOURNALED   HEX: 00800000 ; inline
-: MNT_NOUSERXATTR HEX: 01000000 ; inline
-: MNT_DEFWRITE    HEX: 02000000 ; inline
-: MNT_MULTILABEL  HEX: 04000000 ; inline
-: MNT_NOATIME HEX: 10000000 ; inline
-: MNT_UNKNOWNPERMISSIONS MNT_IGNORE_OWNERSHIP ; inline
+CONSTANT: MNT_RDONLY  0x00000001
+CONSTANT: MNT_SYNCHRONOUS 0x00000002
+CONSTANT: MNT_NOEXEC  0x00000004
+CONSTANT: MNT_NOSUID  0x00000008
+CONSTANT: MNT_NODEV   0x00000010
+CONSTANT: MNT_UNION   0x00000020
+CONSTANT: MNT_ASYNC   0x00000040
+CONSTANT: MNT_EXPORTED 0x00000100
+CONSTANT: MNT_QUARANTINE  0x00000400
+CONSTANT: MNT_LOCAL   0x00001000
+CONSTANT: MNT_QUOTA   0x00002000
+CONSTANT: MNT_ROOTFS  0x00004000
+CONSTANT: MNT_DOVOLFS 0x00008000
+CONSTANT: MNT_DONTBROWSE  0x00100000
+CONSTANT: MNT_IGNORE_OWNERSHIP 0x00200000
+CONSTANT: MNT_AUTOMOUNTED 0x00400000
+CONSTANT: MNT_JOURNALED   0x00800000
+CONSTANT: MNT_NOUSERXATTR 0x01000000
+CONSTANT: MNT_DEFWRITE    0x02000000
+CONSTANT: MNT_MULTILABEL  0x04000000
+CONSTANT: MNT_NOATIME 0x10000000
+ALIAS: MNT_UNKNOWNPERMISSIONS MNT_IGNORE_OWNERSHIP
 
-: MNT_VISFLAGMASK ( -- n )
-    {
+CONSTANT: MNT_VISFLAGMASK
+    flags{
         MNT_RDONLY MNT_SYNCHRONOUS MNT_NOEXEC
         MNT_NOSUID MNT_NODEV MNT_UNION
         MNT_ASYNC MNT_EXPORTED MNT_QUARANTINE
@@ -38,81 +38,82 @@ IN: unix.statfs.macosx
         MNT_ROOTFS MNT_DOVOLFS MNT_DONTBROWSE
         MNT_IGNORE_OWNERSHIP MNT_AUTOMOUNTED MNT_JOURNALED
         MNT_NOUSERXATTR MNT_DEFWRITE MNT_MULTILABEL MNT_NOATIME
-    } flags ; inline
+    }
 
-: MNT_UPDATE  HEX: 00010000 ; inline
-: MNT_RELOAD  HEX: 00040000 ; inline
-: MNT_FORCE   HEX: 00080000 ; inline
-: MNT_CMDFLAGS { MNT_UPDATE MNT_RELOAD MNT_FORCE } flags ; inline
+CONSTANT: MNT_UPDATE  0x00010000
+CONSTANT: MNT_RELOAD  0x00040000
+CONSTANT: MNT_FORCE   0x00080000
 
-: VFS_GENERIC 0 ; inline
-: VFS_NUMMNTOPS 1 ; inline
-: VFS_MAXTYPENUM 1 ; inline
-: VFS_CONF 2 ; inline
-: VFS_SET_PACKAGE_EXTS 3 ; inline
+CONSTANT: MNT_CMDFLAGS flags{ MNT_UPDATE MNT_RELOAD MNT_FORCE }
 
-: MNT_WAIT    1 ; inline
-: MNT_NOWAIT  2 ; inline
+CONSTANT: VFS_GENERIC 0
+CONSTANT: VFS_NUMMNTOPS 1
+CONSTANT: VFS_MAXTYPENUM 1
+CONSTANT: VFS_CONF 2
+CONSTANT: VFS_SET_PACKAGE_EXTS 3
 
-: VFS_CTL_VERS1   HEX: 01 ; inline
+CONSTANT: MNT_WAIT    1
+CONSTANT: MNT_NOWAIT  2
 
-: VFS_CTL_STATFS  HEX: 00010001 ; inline
-: VFS_CTL_UMOUNT  HEX: 00010002 ; inline
-: VFS_CTL_QUERY   HEX: 00010003 ; inline
-: VFS_CTL_NEWADDR HEX: 00010004 ; inline
-: VFS_CTL_TIMEO   HEX: 00010005 ; inline
-: VFS_CTL_NOLOCKS HEX: 00010006 ; inline
+CONSTANT: VFS_CTL_VERS1   0x01
 
-C-STRUCT: vfsquery
-    { "uint32_t" "vq_flags" }
-    { { "uint32_t" 31 } "vq_spare" } ;
+CONSTANT: VFS_CTL_STATFS  0x00010001
+CONSTANT: VFS_CTL_UMOUNT  0x00010002
+CONSTANT: VFS_CTL_QUERY   0x00010003
+CONSTANT: VFS_CTL_NEWADDR 0x00010004
+CONSTANT: VFS_CTL_TIMEO   0x00010005
+CONSTANT: VFS_CTL_NOLOCKS 0x00010006
 
-: VQ_NOTRESP  HEX: 0001 ; inline
-: VQ_NEEDAUTH HEX: 0002 ; inline
-: VQ_LOWDISK  HEX: 0004 ; inline
-: VQ_MOUNT    HEX: 0008 ; inline
-: VQ_UNMOUNT  HEX: 0010 ; inline
-: VQ_DEAD     HEX: 0020 ; inline
-: VQ_ASSIST   HEX: 0040 ; inline
-: VQ_NOTRESPLOCK  HEX: 0080 ; inline
-: VQ_UPDATE   HEX: 0100 ; inline
-: VQ_FLAG0200 HEX: 0200 ; inline
-: VQ_FLAG0400 HEX: 0400 ; inline
-: VQ_FLAG0800 HEX: 0800 ; inline
-: VQ_FLAG1000 HEX: 1000 ; inline
-: VQ_FLAG2000 HEX: 2000 ; inline
-: VQ_FLAG4000 HEX: 4000 ; inline
-: VQ_FLAG8000 HEX: 8000 ; inline
+STRUCT: vfsquery
+    { vq_flags uint32_t }
+    { vq_spare uint32_t[31] } ;
 
-: NFSV4_MAX_FH_SIZE 128 ; inline
-: NFSV3_MAX_FH_SIZE 64 ; inline
-: NFSV2_MAX_FH_SIZE 32 ; inline
-: NFS_MAX_FH_SIZE NFSV4_MAX_FH_SIZE ; inline
+CONSTANT: VQ_NOTRESP  0x0001
+CONSTANT: VQ_NEEDAUTH 0x0002
+CONSTANT: VQ_LOWDISK  0x0004
+CONSTANT: VQ_MOUNT    0x0008
+CONSTANT: VQ_UNMOUNT  0x0010
+CONSTANT: VQ_DEAD     0x0020
+CONSTANT: VQ_ASSIST   0x0040
+CONSTANT: VQ_NOTRESPLOCK  0x0080
+CONSTANT: VQ_UPDATE   0x0100
+CONSTANT: VQ_FLAG0200 0x0200
+CONSTANT: VQ_FLAG0400 0x0400
+CONSTANT: VQ_FLAG0800 0x0800
+CONSTANT: VQ_FLAG1000 0x1000
+CONSTANT: VQ_FLAG2000 0x2000
+CONSTANT: VQ_FLAG4000 0x4000
+CONSTANT: VQ_FLAG8000 0x8000
 
-: MFSNAMELEN 15 ; inline
-: MNAMELEN 90 ; inline
-: MFSTYPENAMELEN 16 ; inline
+CONSTANT: NFSV4_MAX_FH_SIZE 128
+CONSTANT: NFSV3_MAX_FH_SIZE 64
+CONSTANT: NFSV2_MAX_FH_SIZE 32
+ALIAS: NFS_MAX_FH_SIZE NFSV4_MAX_FH_SIZE
 
-C-STRUCT: fsid_t
-    { { "int32_t" 2 } "val" } ;
+CONSTANT: MFSNAMELEN 15
+CONSTANT: MNAMELEN 90
+CONSTANT: MFSTYPENAMELEN 16
 
-C-STRUCT: statfs64
-    { "uint32_t"        "f_bsize" }
-    { "int32_t"         "f_iosize" }
-    { "uint64_t"        "f_blocks" }
-    { "uint64_t"        "f_bfree" }
-    { "uint64_t"        "f_bavail" }
-    { "uint64_t"        "f_files" }
-    { "uint64_t"        "f_ffree" }
-    { "fsid_t"          "f_fsid" }
-    { "uid_t"           "f_owner" }
-    { "uint32_t"        "f_type" }
-    { "uint32_t"        "f_flags" }
-    { "uint32_t"        "f_fssubtype" }
-    { { "char" MFSTYPENAMELEN } "f_fstypename" }
-    { { "char" MAXPATHLEN } "f_mntonname" }
-    { { "char" MAXPATHLEN } "f_mntfromname" }
-    { { "uint32_t" 8 } "f_reserved" } ;
+STRUCT: fsid_t
+    { val int32_t[2] } ;
 
-FUNCTION: int statfs64 ( char* path, statfs64* buf ) ;
+STRUCT: statfs64
+    { f_bsize uint32_t }
+    { f_iosize int32_t }
+    { f_blocks uint64_t }
+    { f_bfree uint64_t }
+    { f_bavail uint64_t }
+    { f_files uint64_t }
+    { f_ffree uint64_t }
+    { f_fsid fsid_t }
+    { f_owner uid_t }
+    { f_type uint32_t }
+    { f_flags uint32_t }
+    { f_fssubtype uint32_t }
+    { f_fstypename { char MFSTYPENAMELEN } }
+    { f_mntonname { char MAXPATHLEN } }
+    { f_mntfromname { char MAXPATHLEN } }
+    { f_reserved uint32_t[8] } ;
+
+FUNCTION: int statfs64 ( c-string path, statfs64* buf ) ;
 FUNCTION: int getmntinfo64 ( statfs64** mntbufp, int flags ) ;