| 
									
										
										
										
											2008-10-20 01:47:51 -04:00
										 |  |  | ! Copyright (C) 2008 Doug Coleman. | 
					
						
							|  |  |  | ! See http://factorcode.org/license.txt for BSD license. | 
					
						
							| 
									
										
										
										
											2014-12-24 14:16:11 -05:00
										 |  |  | USING: alien.c-types alien.syntax classes.struct literals | 
					
						
							|  |  |  | unix.ffi unix.types ;
 | 
					
						
							| 
									
										
										
										
											2008-10-20 01:47:51 -04:00
										 |  |  | IN: unix.statfs.macosx | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-23 21:49:33 -05:00
										 |  |  | 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
 | 
					
						
							| 
									
										
										
										
											2008-12-15 20:44:56 -05:00
										 |  |  | ALIAS: MNT_UNKNOWNPERMISSIONS MNT_IGNORE_OWNERSHIP | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-01 15:43:27 -04:00
										 |  |  | CONSTANT: MNT_VISFLAGMASK | 
					
						
							|  |  |  |     flags{ | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  |         MNT_RDONLY MNT_SYNCHRONOUS MNT_NOEXEC | 
					
						
							|  |  |  |         MNT_NOSUID MNT_NODEV MNT_UNION | 
					
						
							|  |  |  |         MNT_ASYNC MNT_EXPORTED MNT_QUARANTINE | 
					
						
							|  |  |  |         MNT_LOCAL MNT_QUOTA | 
					
						
							|  |  |  |         MNT_ROOTFS MNT_DOVOLFS MNT_DONTBROWSE | 
					
						
							|  |  |  |         MNT_IGNORE_OWNERSHIP MNT_AUTOMOUNTED MNT_JOURNALED | 
					
						
							|  |  |  |         MNT_NOUSERXATTR MNT_DEFWRITE MNT_MULTILABEL MNT_NOATIME | 
					
						
							| 
									
										
										
										
											2010-04-01 15:43:27 -04:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-23 21:49:33 -05:00
										 |  |  | CONSTANT: MNT_UPDATE  0x00010000
 | 
					
						
							|  |  |  | CONSTANT: MNT_RELOAD  0x00040000
 | 
					
						
							|  |  |  | CONSTANT: MNT_FORCE   0x00080000
 | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-01 15:43:27 -04:00
										 |  |  | CONSTANT: MNT_CMDFLAGS flags{ MNT_UPDATE MNT_RELOAD MNT_FORCE } | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-15 20:44:56 -05:00
										 |  |  | CONSTANT: VFS_GENERIC 0
 | 
					
						
							|  |  |  | CONSTANT: VFS_NUMMNTOPS 1
 | 
					
						
							|  |  |  | CONSTANT: VFS_MAXTYPENUM 1
 | 
					
						
							|  |  |  | CONSTANT: VFS_CONF 2
 | 
					
						
							|  |  |  | CONSTANT: VFS_SET_PACKAGE_EXTS 3
 | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-15 20:44:56 -05:00
										 |  |  | CONSTANT: MNT_WAIT    1
 | 
					
						
							|  |  |  | CONSTANT: MNT_NOWAIT  2
 | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-23 21:49:33 -05:00
										 |  |  | CONSTANT: VFS_CTL_VERS1   0x01
 | 
					
						
							| 
									
										
										
										
											2008-12-15 20:44:56 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-23 21:49:33 -05:00
										 |  |  | 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
 | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-30 05:06:41 -04:00
										 |  |  | STRUCT: vfsquery | 
					
						
							|  |  |  |     { vq_flags uint32_t } | 
					
						
							|  |  |  |     { vq_spare uint32_t[31] } ;
 | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-23 21:49:33 -05:00
										 |  |  | 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
 | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-15 20:44:56 -05:00
										 |  |  | CONSTANT: NFSV4_MAX_FH_SIZE 128
 | 
					
						
							|  |  |  | CONSTANT: NFSV3_MAX_FH_SIZE 64
 | 
					
						
							|  |  |  | CONSTANT: NFSV2_MAX_FH_SIZE 32
 | 
					
						
							| 
									
										
										
										
											2008-12-16 03:32:57 -05:00
										 |  |  | ALIAS: NFS_MAX_FH_SIZE NFSV4_MAX_FH_SIZE | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-15 20:44:56 -05:00
										 |  |  | CONSTANT: MFSNAMELEN 15
 | 
					
						
							|  |  |  | CONSTANT: MNAMELEN 90
 | 
					
						
							|  |  |  | CONSTANT: MFSTYPENAMELEN 16
 | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-30 05:06:41 -04:00
										 |  |  | STRUCT: fsid_t | 
					
						
							|  |  |  |     { val int32_t[2] } ;
 | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-30 05:06:41 -04:00
										 |  |  | 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 } | 
					
						
							| 
									
										
										
										
											2009-09-27 20:25:34 -04:00
										 |  |  |     { f_fstypename { char MFSTYPENAMELEN } } | 
					
						
							|  |  |  |     { f_mntonname { char MAXPATHLEN } } | 
					
						
							|  |  |  |     { f_mntfromname { char MAXPATHLEN } } | 
					
						
							| 
									
										
										
										
											2009-08-30 05:06:41 -04:00
										 |  |  |     { f_reserved uint32_t[8] } ;
 | 
					
						
							| 
									
										
										
										
											2008-10-21 00:43:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-19 19:25:30 -04:00
										 |  |  | FUNCTION-ALIAS: statfs64-func int statfs64 ( c-string path, statfs64* buf ) | 
					
						
							|  |  |  | FUNCTION: int getmntinfo64 ( statfs64** mntbufp, int flags ) |