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
|