| 
									
										
										
										
											2010-01-20 23:42:07 -05:00
										 |  |  | USING: alien alien.c-types alien.libraries alien.syntax | 
					
						
							|  |  |  | classes.struct combinators kernel system unix unix.time | 
					
						
							|  |  |  | unix.types vocabs vocabs.loader ;
 | 
					
						
							|  |  |  | IN: unix.ffi | 
					
						
							| 
									
										
										
										
											2007-04-14 05:27:15 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-02 20:13:31 -04:00
										 |  |  | CONSTANT: MAXPATHLEN 1024
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-23 21:49:33 -05:00
										 |  |  | CONSTANT: O_RDONLY   0x0000
 | 
					
						
							|  |  |  | CONSTANT: O_WRONLY   0x0001
 | 
					
						
							|  |  |  | CONSTANT: O_RDWR     0x0002
 | 
					
						
							|  |  |  | CONSTANT: O_NONBLOCK 0x0004
 | 
					
						
							|  |  |  | CONSTANT: O_APPEND   0x0008
 | 
					
						
							|  |  |  | CONSTANT: O_CREAT    0x0200
 | 
					
						
							|  |  |  | CONSTANT: O_TRUNC    0x0400
 | 
					
						
							|  |  |  | CONSTANT: O_EXCL     0x0800
 | 
					
						
							|  |  |  | CONSTANT: O_NOCTTY   0x20000
 | 
					
						
							| 
									
										
										
										
											2011-11-02 20:13:31 -04:00
										 |  |  | ALIAS: O_NDELAY O_NONBLOCK | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-23 21:49:33 -05:00
										 |  |  | CONSTANT: SOL_SOCKET 0xffff
 | 
					
						
							|  |  |  | CONSTANT: SO_REUSEADDR 0x4
 | 
					
						
							| 
									
										
										
										
											2012-05-29 13:45:41 -04:00
										 |  |  | CONSTANT: SO_KEEPALIVE 0x8
 | 
					
						
							|  |  |  | CONSTANT: SO_DONTROUTE 0x10
 | 
					
						
							|  |  |  | CONSTANT: SO_BROADCAST 0x20
 | 
					
						
							| 
									
										
										
										
											2011-11-23 21:49:33 -05:00
										 |  |  | CONSTANT: SO_OOBINLINE 0x100
 | 
					
						
							| 
									
										
										
										
											2012-05-29 13:45:41 -04:00
										 |  |  | CONSTANT: SO_SNDBUF 0x1001
 | 
					
						
							|  |  |  | CONSTANT: SO_RCVBUF 0x1002
 | 
					
						
							| 
									
										
										
										
											2011-11-23 21:49:33 -05:00
										 |  |  | CONSTANT: SO_SNDTIMEO 0x1005
 | 
					
						
							|  |  |  | CONSTANT: SO_RCVTIMEO 0x1006
 | 
					
						
							| 
									
										
										
										
											2011-11-02 20:13:31 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | CONSTANT: F_SETFD 2
 | 
					
						
							|  |  |  | CONSTANT: F_SETFL 4
 | 
					
						
							|  |  |  | CONSTANT: FD_CLOEXEC 1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | STRUCT: sockaddr-in | 
					
						
							|  |  |  |     { len uchar } | 
					
						
							|  |  |  |     { family uchar } | 
					
						
							|  |  |  |     { port ushort } | 
					
						
							|  |  |  |     { addr in_addr_t } | 
					
						
							|  |  |  |     { unused longlong } ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | STRUCT: sockaddr-in6 | 
					
						
							|  |  |  |     { len uchar } | 
					
						
							|  |  |  |     { family uchar } | 
					
						
							|  |  |  |     { port ushort } | 
					
						
							|  |  |  |     { flowinfo uint } | 
					
						
							|  |  |  |     { addr uchar[16] } | 
					
						
							|  |  |  |     { scopeid uint } ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | STRUCT: sockaddr-un | 
					
						
							|  |  |  |     { len uchar } | 
					
						
							|  |  |  |     { family uchar } | 
					
						
							|  |  |  |     { path char[104] } ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | STRUCT: passwd | 
					
						
							|  |  |  |     { pw_name c-string } | 
					
						
							|  |  |  |     { pw_passwd c-string } | 
					
						
							|  |  |  |     { pw_uid uid_t } | 
					
						
							|  |  |  |     { pw_gid gid_t } | 
					
						
							|  |  |  |     { pw_change time_t } | 
					
						
							|  |  |  |     { pw_class c-string } | 
					
						
							|  |  |  |     { pw_gecos c-string } | 
					
						
							|  |  |  |     { pw_dir c-string } | 
					
						
							|  |  |  |     { pw_shell c-string } | 
					
						
							|  |  |  |     { pw_expire time_t } | 
					
						
							|  |  |  |     { pw_fields int } ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CONSTANT: max-un-path 104
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CONSTANT: SOCK_STREAM 1
 | 
					
						
							|  |  |  | CONSTANT: SOCK_DGRAM 2
 | 
					
						
							|  |  |  | CONSTANT: SOCK_RAW 3
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CONSTANT: AF_UNSPEC 0
 | 
					
						
							|  |  |  | CONSTANT: AF_UNIX 1
 | 
					
						
							|  |  |  | CONSTANT: AF_INET 2
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ALIAS: PF_UNSPEC AF_UNSPEC | 
					
						
							|  |  |  | ALIAS: PF_UNIX AF_UNIX | 
					
						
							|  |  |  | ALIAS: PF_INET AF_INET | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CONSTANT: IPPROTO_TCP 6
 | 
					
						
							|  |  |  | CONSTANT: IPPROTO_UDP 17
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CONSTANT: AI_PASSIVE 1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CONSTANT: SEEK_SET 0
 | 
					
						
							|  |  |  | CONSTANT: SEEK_CUR 1
 | 
					
						
							|  |  |  | CONSTANT: SEEK_END 2
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-16 02:12:36 -05:00
										 |  |  | CONSTANT: FD_SETSIZE 1024
 | 
					
						
							| 
									
										
										
										
											2008-03-30 11:55:47 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-09 19:53:54 -04:00
										 |  |  | CONSTANT: AF_INET6 30
 | 
					
						
							|  |  |  | ALIAS: PF_INET6 AF_INET6 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-03 17:57:36 -04:00
										 |  |  | STRUCT: addrinfo | 
					
						
							|  |  |  |     { flags int } | 
					
						
							|  |  |  |     { family int }  | 
					
						
							|  |  |  |     { socktype int } | 
					
						
							|  |  |  |     { protocol int } | 
					
						
							|  |  |  |     { addrlen socklen_t } | 
					
						
							| 
									
										
										
										
											2010-02-23 14:42:02 -05:00
										 |  |  |     { canonname c-string } | 
					
						
							| 
									
										
										
										
											2009-09-03 17:57:36 -04:00
										 |  |  |     { addr void* } | 
					
						
							|  |  |  |     { next addrinfo* } ;
 | 
					
						
							| 
									
										
										
										
											2008-05-20 12:41:20 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-16 02:12:36 -05:00
										 |  |  | CONSTANT: _UTX_USERSIZE 256
 | 
					
						
							|  |  |  | CONSTANT: _UTX_LINESIZE 32
 | 
					
						
							|  |  |  | CONSTANT: _UTX_IDSIZE 4
 | 
					
						
							|  |  |  | CONSTANT: _UTX_HOSTSIZE 256
 | 
					
						
							| 
									
										
										
										
											2011-11-02 20:13:31 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-18 19:30:48 -04:00
										 |  |  | STRUCT: utmpx | 
					
						
							|  |  |  |     { ut_user { char _UTX_USERSIZE } } | 
					
						
							|  |  |  |     { ut_id   { char _UTX_IDSIZE   } } | 
					
						
							|  |  |  |     { ut_line { char _UTX_LINESIZE } } | 
					
						
							|  |  |  |     { ut_pid  pid_t } | 
					
						
							|  |  |  |     { ut_type short } | 
					
						
							|  |  |  |     { ut_tv   timeval } | 
					
						
							|  |  |  |     { ut_host { char _UTX_HOSTSIZE } } | 
					
						
							|  |  |  |     { ut_pad  { uint 16 } } ;
 | 
					
						
							| 
									
										
										
										
											2008-10-19 15:33:45 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-16 02:12:36 -05:00
										 |  |  | CONSTANT: __DARWIN_MAXPATHLEN 1024
 | 
					
						
							|  |  |  | CONSTANT: __DARWIN_MAXNAMELEN 255
 | 
					
						
							| 
									
										
										
										
											2010-02-23 02:55:52 -05:00
										 |  |  | CONSTANT: __DARWIN_MAXNAMELEN+1 256
 | 
					
						
							| 
									
										
										
										
											2008-10-19 15:33:45 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-30 23:11:42 -04:00
										 |  |  | STRUCT: dirent | 
					
						
							|  |  |  |     { d_ino ino_t } | 
					
						
							|  |  |  |     { d_reclen __uint16_t } | 
					
						
							|  |  |  |     { d_type __uint8_t } | 
					
						
							|  |  |  |     { d_namlen __uint8_t } | 
					
						
							| 
									
										
										
										
											2009-09-18 19:30:48 -04:00
										 |  |  |     { d_name { char __DARWIN_MAXNAMELEN+1 } } ;
 | 
					
						
							| 
									
										
										
										
											2008-10-19 15:33:45 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-16 02:12:36 -05:00
										 |  |  | CONSTANT: EPERM 1
 | 
					
						
							|  |  |  | CONSTANT: ENOENT 2
 | 
					
						
							|  |  |  | CONSTANT: ESRCH 3
 | 
					
						
							|  |  |  | CONSTANT: EINTR 4
 | 
					
						
							|  |  |  | CONSTANT: EIO 5
 | 
					
						
							|  |  |  | CONSTANT: ENXIO 6
 | 
					
						
							|  |  |  | CONSTANT: E2BIG 7
 | 
					
						
							|  |  |  | CONSTANT: ENOEXEC 8
 | 
					
						
							|  |  |  | CONSTANT: EBADF 9
 | 
					
						
							|  |  |  | CONSTANT: ECHILD 10
 | 
					
						
							|  |  |  | CONSTANT: EDEADLK 11
 | 
					
						
							|  |  |  | CONSTANT: ENOMEM 12
 | 
					
						
							|  |  |  | CONSTANT: EACCES 13
 | 
					
						
							|  |  |  | CONSTANT: EFAULT 14
 | 
					
						
							|  |  |  | CONSTANT: ENOTBLK 15
 | 
					
						
							|  |  |  | CONSTANT: EBUSY 16
 | 
					
						
							|  |  |  | CONSTANT: EEXIST 17
 | 
					
						
							|  |  |  | CONSTANT: EXDEV 18
 | 
					
						
							|  |  |  | CONSTANT: ENODEV 19
 | 
					
						
							|  |  |  | CONSTANT: ENOTDIR 20
 | 
					
						
							|  |  |  | CONSTANT: EISDIR 21
 | 
					
						
							|  |  |  | CONSTANT: EINVAL 22
 | 
					
						
							|  |  |  | CONSTANT: ENFILE 23
 | 
					
						
							|  |  |  | CONSTANT: EMFILE 24
 | 
					
						
							|  |  |  | CONSTANT: ENOTTY 25
 | 
					
						
							|  |  |  | CONSTANT: ETXTBSY 26
 | 
					
						
							|  |  |  | CONSTANT: EFBIG 27
 | 
					
						
							|  |  |  | CONSTANT: ENOSPC 28
 | 
					
						
							|  |  |  | CONSTANT: ESPIPE 29
 | 
					
						
							|  |  |  | CONSTANT: EROFS 30
 | 
					
						
							|  |  |  | CONSTANT: EMLINK 31
 | 
					
						
							|  |  |  | CONSTANT: EPIPE 32
 | 
					
						
							|  |  |  | CONSTANT: EDOM 33
 | 
					
						
							|  |  |  | CONSTANT: ERANGE 34
 | 
					
						
							|  |  |  | CONSTANT: EAGAIN 35
 | 
					
						
							| 
									
										
										
										
											2008-12-15 20:44:56 -05:00
										 |  |  | ALIAS: EWOULDBLOCK EAGAIN | 
					
						
							| 
									
										
										
										
											2008-12-16 02:12:36 -05:00
										 |  |  | CONSTANT: EINPROGRESS 36
 | 
					
						
							|  |  |  | CONSTANT: EALREADY 37
 | 
					
						
							|  |  |  | CONSTANT: ENOTSOCK 38
 | 
					
						
							|  |  |  | CONSTANT: EDESTADDRREQ 39
 | 
					
						
							|  |  |  | CONSTANT: EMSGSIZE 40
 | 
					
						
							|  |  |  | CONSTANT: EPROTOTYPE 41
 | 
					
						
							|  |  |  | CONSTANT: ENOPROTOOPT 42
 | 
					
						
							|  |  |  | CONSTANT: EPROTONOSUPPORT 43
 | 
					
						
							|  |  |  | CONSTANT: ESOCKTNOSUPPORT 44
 | 
					
						
							|  |  |  | CONSTANT: ENOTSUP 45
 | 
					
						
							|  |  |  | CONSTANT: EPFNOSUPPORT 46
 | 
					
						
							|  |  |  | CONSTANT: EAFNOSUPPORT 47
 | 
					
						
							|  |  |  | CONSTANT: EADDRINUSE 48
 | 
					
						
							|  |  |  | CONSTANT: EADDRNOTAVAIL 49
 | 
					
						
							|  |  |  | CONSTANT: ENETDOWN 50
 | 
					
						
							|  |  |  | CONSTANT: ENETUNREACH 51
 | 
					
						
							|  |  |  | CONSTANT: ENETRESET 52
 | 
					
						
							|  |  |  | CONSTANT: ECONNABORTED 53
 | 
					
						
							|  |  |  | CONSTANT: ECONNRESET 54
 | 
					
						
							|  |  |  | CONSTANT: ENOBUFS 55
 | 
					
						
							|  |  |  | CONSTANT: EISCONN 56
 | 
					
						
							|  |  |  | CONSTANT: ENOTCONN 57
 | 
					
						
							|  |  |  | CONSTANT: ESHUTDOWN 58
 | 
					
						
							|  |  |  | CONSTANT: ETOOMANYREFS 59
 | 
					
						
							|  |  |  | CONSTANT: ETIMEDOUT 60
 | 
					
						
							|  |  |  | CONSTANT: ECONNREFUSED 61
 | 
					
						
							|  |  |  | CONSTANT: ELOOP 62
 | 
					
						
							|  |  |  | CONSTANT: ENAMETOOLONG 63
 | 
					
						
							|  |  |  | CONSTANT: EHOSTDOWN 64
 | 
					
						
							|  |  |  | CONSTANT: EHOSTUNREACH 65
 | 
					
						
							|  |  |  | CONSTANT: ENOTEMPTY 66
 | 
					
						
							|  |  |  | CONSTANT: EPROCLIM 67
 | 
					
						
							|  |  |  | CONSTANT: EUSERS 68
 | 
					
						
							|  |  |  | CONSTANT: EDQUOT 69
 | 
					
						
							|  |  |  | CONSTANT: ESTALE 70
 | 
					
						
							|  |  |  | CONSTANT: EREMOTE 71
 | 
					
						
							|  |  |  | CONSTANT: EBADRPC 72
 | 
					
						
							|  |  |  | CONSTANT: ERPCMISMATCH 73
 | 
					
						
							|  |  |  | CONSTANT: EPROGUNAVAIL 74
 | 
					
						
							|  |  |  | CONSTANT: EPROGMISMATCH 75
 | 
					
						
							|  |  |  | CONSTANT: EPROCUNAVAIL 76
 | 
					
						
							|  |  |  | CONSTANT: ENOLCK 77
 | 
					
						
							|  |  |  | CONSTANT: ENOSYS 78
 | 
					
						
							|  |  |  | CONSTANT: EFTYPE 79
 | 
					
						
							|  |  |  | CONSTANT: EAUTH 80
 | 
					
						
							|  |  |  | CONSTANT: ENEEDAUTH 81
 | 
					
						
							|  |  |  | CONSTANT: EPWROFF 82
 | 
					
						
							|  |  |  | CONSTANT: EDEVERR 83
 | 
					
						
							|  |  |  | CONSTANT: EOVERFLOW 84
 | 
					
						
							|  |  |  | CONSTANT: EBADEXEC 85
 | 
					
						
							|  |  |  | CONSTANT: EBADARCH 86
 | 
					
						
							|  |  |  | CONSTANT: ESHLIBVERS 87
 | 
					
						
							|  |  |  | CONSTANT: EBADMACHO 88
 | 
					
						
							|  |  |  | CONSTANT: ECANCELED 89
 | 
					
						
							|  |  |  | CONSTANT: EIDRM 90
 | 
					
						
							|  |  |  | CONSTANT: ENOMSG 91
 | 
					
						
							|  |  |  | CONSTANT: EILSEQ 92
 | 
					
						
							|  |  |  | CONSTANT: ENOATTR 93
 | 
					
						
							|  |  |  | CONSTANT: EBADMSG 94
 | 
					
						
							|  |  |  | CONSTANT: EMULTIHOP 95
 | 
					
						
							|  |  |  | CONSTANT: ENODATA 96
 | 
					
						
							|  |  |  | CONSTANT: ENOLINK 97
 | 
					
						
							|  |  |  | CONSTANT: ENOSR 98
 | 
					
						
							|  |  |  | CONSTANT: ENOSTR 99
 | 
					
						
							|  |  |  | CONSTANT: EPROTO 100
 | 
					
						
							|  |  |  | CONSTANT: ETIME 101
 | 
					
						
							|  |  |  | CONSTANT: EOPNOTSUPP 102
 | 
					
						
							|  |  |  | CONSTANT: ENOPOLICY 103
 | 
					
						
							| 
									
										
										
										
											2011-11-04 03:24:18 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | CONSTANT: SIGHUP     1
 | 
					
						
							|  |  |  | CONSTANT: SIGINT     2
 | 
					
						
							|  |  |  | CONSTANT: SIGQUIT    3
 | 
					
						
							|  |  |  | CONSTANT: SIGILL     4
 | 
					
						
							|  |  |  | CONSTANT: SIGTRAP    5
 | 
					
						
							|  |  |  | CONSTANT: SIGABRT    6
 | 
					
						
							|  |  |  | CONSTANT: SIGEMT     7
 | 
					
						
							|  |  |  | CONSTANT: SIGFPE     8
 | 
					
						
							|  |  |  | CONSTANT: SIGKILL    9
 | 
					
						
							|  |  |  | CONSTANT: SIGBUS    10
 | 
					
						
							|  |  |  | CONSTANT: SIGSEGV   11
 | 
					
						
							|  |  |  | CONSTANT: SIGSYS    12
 | 
					
						
							|  |  |  | CONSTANT: SIGPIPE   13
 | 
					
						
							|  |  |  | CONSTANT: SIGALRM   14
 | 
					
						
							|  |  |  | CONSTANT: SIGTERM   15
 | 
					
						
							|  |  |  | CONSTANT: SIGURG    16
 | 
					
						
							|  |  |  | CONSTANT: SIGSTOP   17
 | 
					
						
							|  |  |  | CONSTANT: SIGTSTP   18
 | 
					
						
							|  |  |  | CONSTANT: SIGCONT   19
 | 
					
						
							|  |  |  | CONSTANT: SIGCHLD   20
 | 
					
						
							|  |  |  | CONSTANT: SIGTTIN   21
 | 
					
						
							|  |  |  | CONSTANT: SIGTTOU   22
 | 
					
						
							|  |  |  | CONSTANT: SIGIO     23
 | 
					
						
							|  |  |  | CONSTANT: SIGXCPU   24
 | 
					
						
							|  |  |  | CONSTANT: SIGXFSZ   25
 | 
					
						
							|  |  |  | CONSTANT: SIGVTALRM 26
 | 
					
						
							|  |  |  | CONSTANT: SIGPROF   27
 | 
					
						
							|  |  |  | CONSTANT: SIGWINCH  28
 | 
					
						
							|  |  |  | CONSTANT: SIGINFO   29
 | 
					
						
							|  |  |  | CONSTANT: SIGUSR1   30
 | 
					
						
							|  |  |  | CONSTANT: SIGUSR2   31
 | 
					
						
							| 
									
										
										
										
											2012-10-24 22:53:39 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | STRUCT: sf_hdtr | 
					
						
							| 
									
										
										
										
											2012-10-24 23:08:20 -04:00
										 |  |  |     { headers void* } | 
					
						
							| 
									
										
										
										
											2012-10-24 22:53:39 -04:00
										 |  |  |     { hdr_cnt int } | 
					
						
							| 
									
										
										
										
											2012-10-24 23:08:20 -04:00
										 |  |  |     { trailers void* } | 
					
						
							| 
									
										
										
										
											2012-10-24 22:53:39 -04:00
										 |  |  |     { trl_cnt int } ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | FUNCTION: int sendfile ( int fd, int s, off_t offset, off_t* len, sf_hdtr* hdtr, int flags ) ;
 |