8 ** Extra stuff in some unixen, not in posix.
11 /*@unchecked@*/ int signgam;
13 typedef /*@integraltype@*/ clockid_t;
15 extern void bcopy (char *b1, /*@out@*/ char *b2, int length)
16 /*@modifies *b2@*/ ; /* Yes, the second parameter is the out param! */
18 extern int /*@alt lltX_bool@*/ bcmp (char *b1, char *b2, int length) /*@*/ ;
19 /* Return value is NOT like strcmp! */
21 extern void bzero (/*@out@*/ char *b1, int length) /*@modifies *b1@*/ ;
22 extern int ffs (int i) /*@*/ ;
23 extern int symlink (char *name1, char *name2) /*@modifies fileSystem@*/ ;
26 setvbuf_unlocked (FILE *stream, /*@null@*/ /*@exposed@*/ char *buf,
27 int mode, size_t size)
28 /*@modifies internalState@*/ ;
31 setbuffer (FILE *stream, /*@null@*/ /*@exposed@*/ char *buf, int size)
32 /*@modifies internalState@*/ ;
34 extern void setlinebuf (FILE *stream) /*@modifies internalState@*/ ;
36 extern int strerror_r (int errnum, /*@out@*/ char *strerrbuf, int buflen)
37 /*@modifies strerrbuf@*/ ;
40 fread_unlocked (/*@out@*/ void *ptr, size_t size, size_t nitems,
42 /*@modifies *stream, *ptr;@*/ ;
45 fwrite_unlocked (void *pointer, size_t size, size_t num_items, FILE *stream)
46 /*@modifies *stream;@*/ ;
48 extern void funlockfile (FILE *file) /*@modifies *file;@*/ ;
49 extern void flockfile (FILE *file) /*@modifies *file@*/ ;
51 extern void /*@alt void * @*/
52 memccpy (/*@returned@*/ /*@out@*/ void *s1,
53 /*@unique@*/ void *s2, int c, size_t n)
56 extern int strcasecmp (char *s1, char *s2) /*@*/ ;
57 extern int strncasecmp (char *s1, char *s2, int n) /*@*/ ;
58 extern char *strdup (char *s) /*@*/ ;
60 extern /*@null@*/ char *tempnam (char *dir, /*@null@*/ char *pfx)
61 /*@modifies internalState@*/ ;
63 extern /*@null@*/ /*@dependent@*/ char *
64 index (/*@returned@*/ char *s, char c) /*@*/ ;
66 extern /*@null@*/ /*@dependent@*/ char *
67 rindex (/*@returned@*/ char *s, char c) /*@*/ ;
69 extern /*@dependent@*/ /*@null@*/ FILE *popen (char *command, char *ttype)
70 /*@modifies fileSystem, errno@*/ ;
71 extern int pclose (FILE *stream) /*@modifies fileSystem, *stream, errno@*/ ;
73 extern double cbrt (double x) /*@modifies errno@*/ ;
74 extern double rint (double x) /*@*/ ;
75 extern double trunc (double x) /*@*/ ;
77 /*@constant int ENOTBLK@*/
78 /*@constant int ETXTBSY@*/
79 /*@constant int EWOULDBLOCK@*/
80 /*@constant int EINPROGRESS@*/
81 /*@constant int EALREADY@*/
82 /*@constant int ENOTSOCK@*/
83 /*@constant int EDESTADDRREQ@*/
84 /*@constant int EMSGSIZE@*/
85 /*@constant int EPROTOTYPE@*/
86 /*@constant int ENOPROTOOPT@*/
87 /*@constant int EPROTONOSUPPORT@*/
88 /*@constant int ESOCKTNOSUPPORT@*/
89 /*@constant int EOPNOTSUPP@*/
90 /*@constant int EPFNOSUPPORT@*/
91 /*@constant int EAFNOSUPPORT@*/
92 /*@constant int EADDRINUSE@*/
93 /*@constant int EADDRNOTAVAIL@*/
94 /*@constant int ENETDOWN@*/
95 /*@constant int ENETUNREACH@*/
96 /*@constant int ENETRESET@*/
97 /*@constant int ECONNABORTED@*/
98 /*@constant int ECONNRESET@*/
99 /*@constant int ENOBUFS@*/
100 /*@constant int EISCONN@*/
101 /*@constant int ENOTCONN@*/
102 /*@constant int ESHUTDOWN@*/
103 /*@constant int ETOOMANYREFS@*/
104 /*@constant int ETIMEDOUT@*/
105 /*@constant int ECONNREFUSED@*/
106 /*@constant int ENAMETOOLONG@*/
107 /*@constant int EHOSTDOWN@*/
108 /*@constant int EHOSTUNREACH@*/
109 /*@constant int ENOTEMPTY@*/
110 /*@constant int EPROCLIM@*/
111 /*@constant int EUSERS@*/
112 /*@constant int EDQUOT@*/
113 /*@constant int ESTALE@*/
114 /*@constant int EREMOTE@*/
115 /*@constant int ENOMSG@*/
116 /*@constant int EIDRM@*/
117 /*@constant int EALIGN@*/
118 /*@constant int EDEADLK@*/
119 /*@constant int ENOLCK@*/
120 /*@constant int ENOSYS@*/
121 /*@constant int EACTIVE@*/
122 /*@constant int ENOACTIVE@*/
123 /*@constant int ENORESOURCES@*/
124 /*@constant int ENOSYSTEM@*/
125 /*@constant int ENODUST@*/
126 /*@constant int EDUPNOCONN@*/
127 /*@constant int EDUPNODISCONN@*/
128 /*@constant int EDUPNOTCNTD@*/
129 /*@constant int EDUPNOTIDLE@*/
130 /*@constant int EDUPNOTWAIT@*/
131 /*@constant int EDUPNOTRUN@*/
132 /*@constant int EDUPBADOPCODE@*/
133 /*@constant int EDUPINTRANSIT@*/
134 /*@constant int EDUPTOOMANYCPUS@*/
135 /*@constant int ELOOP@*/
137 /*@constant int LOCK_MAX@*/
138 /*@constant int FCHR_MAX@*/
139 /*@constant int USI_MAX@*/
140 /*@constant int WORD_BIT@*/
141 /*@constant int LONG_BIT@*/
142 /*@constant long NAME_MAX@*/
143 /*@constant long NGROUPS_MAX@*/
144 /*@constant long MAX_INPUT@*/
145 /*@constant long MAX_CANON@*/
146 /*@constant int MAX_CHAR@*/
147 /*@constant long OPEN_MAX@*/
148 /*@constant int PASS_MAX@*/
149 /*@constant int PATH_MAX@*/
150 /*@constant int PID_MAX@*/
151 /*@constant int SYSPID_MAX@*/
152 /*@constant long PIPE_BUF@*/
153 /*@constant int PIPE_MAX@*/
154 /*@constant int PROC_MAX@*/
155 /*@constant int STD_BLK@*/
156 /*@constant int SYS_NMLN@*/
157 /*@constant int SYS_OPEN@*/
158 /*@constant int NZERO@*/
159 /*@constant int UID_MAX@*/
160 /*@constant long MB_LEN_MAX@*/
161 /*@constant int NL_ARGMAX@*/
162 /*@constant int NL_MSGMAX@*/
163 /*@constant int NL_NMAX@*/
164 /*@constant int NL_SETMAX@*/
165 /*@constant int NL_TEXTMAX@*/
166 /*@constant int NL_LBLMAX@*/
167 /*@constant int NL_LANGMAX @*/
169 /*@constant double M_E@*/
170 /*@constant double M_LOG2E@*/
171 /*@constant double M_LOG10E@*/
172 /*@constant double M_LN2@*/
173 /*@constant double M_LN10@*/
174 /*@constant double M_PI@*/
175 /*@constant double M_PI_2@*/
176 /*@constant double M_PI_4@*/
177 /*@constant double M_1_PI@*/
178 /*@constant double M_2_PI@*/
179 /*@constant double M_2_SQRTPI@*/
180 /*@constant double M_SQRT2@*/
181 /*@constant double M_SQRT1_2@*/
183 /*@constant double MAXFLOAT@*/
184 /*@constant double HUGE@*/
186 /*@constant int DOMAIN@*/
187 /*@constant int SING@*/
188 /*@constant int OVERFLOW@*/
189 /*@constant int UNDERFLOW@*/
190 /*@constant int TLOSS@*/
191 /*@constant int PLOSS@*/
193 extern /*@unchecked@*/ int daylight;
194 extern /*@unchecked@*/ long timezone;
195 extern /*@unchecked@*/ char *tzname[];
198 extern void tzset(void) /*@modifies daylight, timezone, tzname@*/ ;
201 typedef unsigned char uchar_t;
202 typedef unsigned short ushort_t;
203 typedef unsigned int uint_t;
204 typedef unsigned long ulong_t;
205 typedef volatile unsigned char vuchar_t;
206 typedef volatile unsigned short vushort_t;
207 typedef volatile unsigned int vuint_t;
208 typedef volatile unsigned long vulong_t;
209 typedef long label_t;
211 typedef /*@integraltype@*/ daddr_t;
212 typedef char *caddr_t;
213 typedef long *qaddr_t;
214 typedef char *addr_t;
215 typedef long physadr_t;
218 typedef unsigned long rlim_t;
220 typedef /*@integraltype@*/ key_t;
222 typedef char slab_t[12];
223 typedef ulong_t shmatt_t;
224 typedef ulong_t msgqnum_t;
225 typedef ulong_t msglen_t;
226 typedef long timer_t;
227 typedef uchar_t uchar;
228 typedef ushort_t ushort;
230 typedef ulong_t ulong;
231 typedef uchar_t u_char;
232 typedef ushort_t u_short;
233 typedef uint_t u_int;
234 typedef ulong_t u_long;
235 typedef vuchar_t vu_char;
236 typedef vushort_t vu_short;
237 typedef vuint_t vu_int;
238 typedef vulong_t vu_long;
239 typedef long swblk_t;
240 typedef u_long fixpt_t;
241 typedef long segsz_t;
242 typedef /*@abstract@*/ fd_set;
244 int ttyname_r (int fg, /*@out@*/ char *buffer, int len) /*@modifies buffer@*/ ;
245 int ioctl (int d, int /*@alt long@*/ request, /*@out@*/ void *arg)
246 /*@modifies *arg, errno@*/ ; /* depends on request! */
248 pid_t vfork (void) /*@modifies fileSystem@*/ ;
256 /*@constant int UIO_MAXIOV@*/ /* BSD */
257 /*@constant int IOV_MAX@*/ /* supposedly SVR4 */
260 readv (int fd, const struct iovec iov[], int iovcnt)
261 /*@modifies iov[].iov_base, fileSystem, errno@*/;
264 writev (int fd, const struct iovec iov[], int iovcnt)
265 /*@modifies errno@*/;
267 /*________________________________________________________________________
277 /*@constant short POLLIN@*/
278 /*@constant short POLLRDNORM@*/
279 /*@constant short POLLRDBAND@*/
280 /*@constant short POLLPRI@*/
281 /*@constant short POLLOUT@*/
282 /*@constant short POLLWRNORM@*/
283 /*@constant short POLLWRBAND@*/
284 /*@constant short POLLERR@*/
285 /*@constant short POLLHUP@*/
286 /*@constant short POLLNVAL@*/
288 extern int poll (struct poll pollfd[], unsigned long nfds, int timeout)
289 /*@modifies pollfd[].revents, errno@*/ ;
292 ** free does not take null
296 extern void free (/*@notnull@*/ /*@out@*/ /*@only@*/ void *p) /*@modifies *p@*/ ;
299 /*________________________________________________________________________
303 /*@constant int SOCK_STREAM@*/
304 /*@constant int SOCK_DGRAM@*/
305 /*@constant int SOCK_RAW@*/
306 /*@constant int SOCK_RDM@*/
307 /*@constant int SOCK_SEQPACKET@*/
308 /*@constant int SO_DEBUG@*/
309 /*@constant int SO_ACCEPTCONN@*/
310 /*@constant int SO_REUSEADDR@*/
311 /*@constant int SO_KEEPALIVE@*/
312 /*@constant int SO_DONTROUTE@*/
313 /*@constant int SO_BROADCAST@*/
314 /*@constant int SO_USELOOPBACK@*/
315 /*@constant int SO_LINGER@*/
316 /*@constant int SO_OOBINLINE@*/
317 /*@constant int SO_REUSEPORT@*/
318 /*@constant int SO_SNDBUF@*/
319 /*@constant int SO_RCVBUF@*/
320 /*@constant int SO_SNDLOWAT@*/
321 /*@constant int SO_RCVLOWAT@*/
322 /*@constant int SO_SNDTIMEO@*/
323 /*@constant int SO_RCVTIMEO@*/
324 /*@constant int SO_ERROR@*/
325 /*@constant int SO_TYPE@*/
326 /*@constant int SOL_SOCKET@*/
327 /*@constant int AF_UNSPEC@*/
328 /*@constant int AF_LOCAL@*/
329 /*@constant int AF_UNIX@*/
330 /*@constant int AF_INET@*/
331 /*@constant int AF_IMPLINK@*/
332 /*@constant int AF_PUP@*/
333 /*@constant int AF_CHAOS@*/
334 /*@constant int AF_NS@*/
335 /*@constant int AF_ISO@*/
336 /*@constant int AF_OSI@*/
337 /*@constant int AF_ECMA@*/
338 /*@constant int AF_DATAKIT@*/
339 /*@constant int AF_CCITT@*/
340 /*@constant int AF_SNA@*/
341 /*@constant int AF_DECnet@*/
342 /*@constant int AF_DLI@*/
343 /*@constant int AF_LAT@*/
344 /*@constant int AF_HYLINK@*/
345 /*@constant int AF_APPLETALK@*/
346 /*@constant int AF_ROUTE@*/
347 /*@constant int AF_LINK@*/
348 /*@constant int pseudo_AF_XTP@*/
349 /*@constant int AF_COIP@*/
350 /*@constant int AF_CNT@*/
351 /*@constant int pseudo_AF_RTIP@*/
352 /*@constant int AF_IPX@*/
353 /*@constant int AF_SIP@*/
354 /*@constant int pseudo_AF_PIP@*/
355 /*@constant int AF_ISDN@*/
356 /*@constant int AF_E164@*/
357 /*@constant int AF_MAX@*/
358 /*@constant int MSG_OOB@*/
359 /*@constant int MSG_PEEK@*/
360 /*@constant int MSG_DONTROUTE@*/
361 /*@constant int MSG_EOR@*/
362 /*@constant int MSG_TRUNC@*/
363 /*@constant int MSG_CTRUNC@*/
364 /*@constant int MSG_WAITALL@*/
365 /*@constant int MSG_DONTWAIT@*/
366 /*@constant int MSG_EOF@*/
367 /*@constant int MSG_COMPAT@*/
368 /*@constant int PF_UNSPEC@*/
369 /*@constant int PF_LOCAL@*/
370 /*@constant int PF_UNIX@*/
371 /*@constant int PF_INET@*/
372 /*@constant int PF_IMPLINK@*/
373 /*@constant int PF_PUP@*/
374 /*@constant int PF_CHAOS@*/
375 /*@constant int PF_NS@*/
376 /*@constant int PF_ISO@*/
377 /*@constant int PF_OSI@*/
378 /*@constant int PF_ECMA@*/
379 /*@constant int PF_DATAKIT@*/
380 /*@constant int PF_CCITT@*/
381 /*@constant int PF_SNA@*/
382 /*@constant int PF_DECnet@*/
383 /*@constant int PF_DLI@*/
384 /*@constant int PF_LAT@*/
385 /*@constant int PF_HYLINK@*/
386 /*@constant int PF_APPLETALK@*/
387 /*@constant int PF_ROUTE@*/
388 /*@constant int PF_LINK@*/
389 /*@constant int PF_XTP@*/
390 /*@constant int PF_COIP@*/
391 /*@constant int PF_CNT@*/
392 /*@constant int PF_SIP@*/
393 /*@constant int PF_IPX@*/
394 /*@constant int PF_RTIP@*/
395 /*@constant int PF_PIP@*/
396 /*@constant int PF_ISDN@*/
397 /*@constant int PF_MAX@*/
398 /*@constant int NET_MAXID@*/
399 /*@constant int NET_RT_DUMP@*/
400 /*@constant int NET_RT_FLAGS@*/
401 /*@constant int NET_RT_IFLIST@*/
402 /*@constant int NET_RT_MAXID@*/
403 /*@constant int SOMAXCONN@*/
404 /*@constant int SCM_RIGHTS@*/
407 u_char sa_len; /* total length */
408 u_char sa_family; /* address family */
409 char sa_data[14]; /* actually longer; address value */
413 int l_onoff; /* option on/off */
414 int l_linger; /* linger time */
418 u_short sp_family; /* address family */
419 u_short sp_protocol; /* protocol */
422 caddr_t msg_name; /* optional address */
423 u_int msg_namelen; /* size of address */
424 struct iovec *msg_iov; /* scatter/gather array */
425 u_int msg_iovlen; /* # elements in msg_iov */
426 caddr_t msg_control; /* ancillary data, see below */
427 u_int msg_controllen; /* ancillary data buffer len */
428 int msg_flags; /* flags on received message */
432 u_int cmsg_len; /* data byte count, including hdr */
433 int cmsg_level; /* originating protocol */
434 int cmsg_type; /* protocol-specific type */
435 /* followed by u_char cmsg_data[]; */
439 accept (int s, struct sockaddr *addr, int *addrlen)
440 /*@modifies *addrlen, errno@*/;
443 bind (int s, struct sockaddr *name, int namelen)
444 /*@modifies errno, fileSystem@*/;
447 connect (int s, struct sockaddr *name, int namelen)
448 /*@modifies errno, internalState@*/;
450 int getpeername (int s, /*@out@*/ struct sockaddr *name, size_t *namelen)
451 /*@modifies *name, *namelen, errno@*/;
453 int getsockname (int s, struct sockaddr *address, size_t *address_len)
454 /*?requires maxSet(address) > *address_len@*/
455 /*@modifies *address, *address_len, errno@*/;
457 int getsockopt (int s, int level, int optname, /*@out@*/ void *optval, size_t *optlen)
458 /*@modifies *optval, *optlen, errno@*/;
461 listen (int s, int backlog)
462 /*@modifies errno, internalState@*/;
465 recv (int s, /*@out@*/ void *buf, size_t len, int flags)
466 /*@modifies *buf, errno@*/;
469 recvfrom (int s, void *buf, size_t len, int flags, /*@null@*/ struct sockaddr *from, int *fromlen)
470 /*@modifies *buf, *from, *fromlen, errno@*/;
473 recvmsg (int s, struct msghdr *msg, int flags)
474 /*@modifies msg->msg_iov->iov_base[], errno@*/;
477 send (int s, const void *msg, size_t len, int flags)
478 /*@modifies errno@*/;
481 sendto (int s, const void *msg, size_t len, int flags, const struct sockaddr *to, int tolen)
482 /*@modifies errno@*/;
485 sendmsg (int s, const struct msghdr *msg, int flags)
486 /*@modifies errno@*/;
489 setsockopt (int s, int level, int optname, const void *optval, int optlen)
490 /*@modifies internalState, errno@*/;
493 shutdown (int s, int how)
494 /*@modifies errno@*/;
497 socket (int domain, int type, int protocol)
498 /*@modifies errno@*/;
501 socketpair (int d, int type, int protocol, /*@out@*/ int *sv)
502 /*@modifies errno@*/;
504 /*@constant int BADSIG@*/
505 /*@constant int SA_ONSTACK@*/
506 /*@constant int SA_RESTART@*/
507 /*@constant int SA_DISABLE@*/
508 /*@constant int SIGBUS@*/
509 /*@constant int SIGEMT@*/
510 /*@constant int SIGINFO@*/
511 /*@constant int SIGIO@*/
512 /*@constant int SIGIOT@*/
513 /*@constant int SIGPOLL@*/
514 /*@constant int SIGPROF@*/
515 /*@constant int SIGPWR@*/
516 /*@constant int SIGSYS@*/
517 /*@constant int SIGTRAP@*/
518 /*@constant int SIGURG@*/
519 /*@constant int SIGVTALRM@*/
520 /*@constant int SIGWINCH@*/
521 /*@constant int SIGXCPU@*/
522 /*@constant int SIGXFSZ@*/
524 extern void psignal (int sig, const char *msg)
525 /*@modifies fileSystem@*/;
527 /*@unchecked@*/ extern char *optarg;
528 /*@unchecked@*/ extern int optind;
529 /*@unchecked@*/ extern int optopt;
530 /*@unchecked@*/ extern int opterr;
531 /*@unchecked@*/ extern int optreset;
534 getopt (int argc, char * const *argv, const char *optstring)
535 /*@globals optarg, optind, optopt, opterr, optreset@*/
536 /*@modifies optarg, optind, optopt@*/;
539 setenv (const char *name, const char *value, int overwrite)
540 /*@globals environ@*/
541 /*@modifies *environ, errno@*/;
544 putenv (const char *string)
545 /*@globals environ@*/
546 /*@modifies *environ, errno@*/;
549 unsetenv (const char *name)
550 /*@globals environ@*/
551 /*@modifies *environ@*/;
553 /*________________________________________________________________________
562 W_EXITCODE (int ret, int sig)
569 /*@constant int WAIT_ANY@*/
570 /*@constant int WAIT_MYPGRP@*/
571 /*@constant int WSTOPPED@*/
574 wait3 (int *statloc, int options, /*@null@*/ /*@out@*/ struct rusage *rusage)
575 /*@modifies *statloc, *rusage, errno@*/;
578 wait4 (pid_t p, int *statloc, int opt, /*@null@*/ /*@out@*/ struct rusage *r)
579 /*@modifies *statloc, *r, errno@*/;
596 /*@constant int DST_NONE@*/
597 /*@constant int DST_USA@*/
598 /*@constant int DST_AUST@*/
599 /*@constant int DST_WET@*/
600 /*@constant int DST_MET@*/
601 /*@constant int DST_EET@*/
602 /*@constant int DST_CAN@*/
604 /*@constant int ITIMER_PROF@*/
605 /*@constant int ITIMER_REAL@*/
606 /*@constant int ITIMER_VIRTUAL@*/
609 struct timeval it_interval;
610 struct timeval it_value;
621 adjtime (const struct timeval *delta, /*@null@*/ /*@out@*/ struct timeval *olddelta)
622 /*@modifies internalState, *olddelta, errno@*/;
625 getitimer (int which, /*@out@*/ struct itimerval *value)
626 /*@modifies errno, *value*/;
629 gettimeofday (/*@null@*/ /*@out@*/ struct timeval *tp, /*@null@*/ /*@out@*/ struct timezone *tzp)
630 /*@modifies *tp, *tzp, errno@*/;
633 setitimer (int which, struct itimerval *val, /*@null@*/ /*@out@*/ struct itimerval *oval)
634 /*@modifies *oval, errno, internalState*/;
637 settimeofday (const struct timeval *t, const struct timezone *z)
638 /*@modifies internalState, errno@*/;
641 utimes (const char *file, /*@null@*/ const struct timeval *times)
642 /*@modifies fileSystem, errno*/;
644 /*________________________________________________________________________
648 /*@constant int PROT_READ@*/
649 /*@constant int PROT_WRITE@*/
650 /*@constant int PROT_EXEC@*/
651 /*@constant int MAP_SHARED@*/
652 /*@constant int MAP_PRIVATE@*/
653 /*@constant int MAP_COPY@*/
654 /*@constant int MAP_FIXED@*/
655 /*@constant int MAP_RENAME@*/
656 /*@constant int MAP_NORESERVE@*/
657 /*@constant int MAP_INHERIT@*/
658 /*@constant int MAP_NOEXTEND@*/
659 /*@constant int MAP_HASSEMAPHORE@*/
660 /*@constant int MS_ASYNC@*/
661 /*@constant int MS_INVALIDATE@*/
662 /*@constant int MAP_FILE@*/
663 /*@constant int MAP_ANON@*/
664 /*@constant int MADV_NORMAL@*/
665 /*@constant int MADV_RANDOM@*/
666 /*@constant int MADV_SEQUENTIAL@*/
667 /*@constant int MADV_WILLNEED@*/
668 /*@constant int MADV_DONTNEED@*/
671 mmap (/*@null@*/ /*@returned@*/ caddr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
675 madvise (caddr_t addr, int len, int behav)
679 mprotect (caddr_t addr, int len, int prot)
683 munmap (caddr_t addr, size_t len)
687 msync (caddr_t addr, int len, int flags)
691 mlock (caddr_t addr, size_t len)
695 munlock (caddr_t addr, size_t len)
699 /*________________________________________________________________________
704 unsigned short ws_row;
705 unsigned short ws_col;
706 unsigned short ws_xpixel;
707 unsigned short ws_ypixel;
710 /*@constant int TIOCMODG@*/
711 /*@constant int TIOCMODS@*/
712 /*@constant int TIOCM_LE@*/
713 /*@constant int TIOCM_DTR@*/
714 /*@constant int TIOCM_RTS@*/
715 /*@constant int TIOCM_ST@*/
716 /*@constant int TIOCM_SR@*/
717 /*@constant int TIOCM_CTS@*/
718 /*@constant int TIOCM_CAR@*/
719 /*@constant int TIOCM_CD@*/
720 /*@constant int TIOCM_RNG@*/
721 /*@constant int TIOCM_RI@*/
722 /*@constant int TIOCM_DSR@*/
723 /*@constant int TIOCEXCL@*/
724 /*@constant int TIOCNXCL@*/
725 /*@constant int TIOCFLUSH@*/
726 /*@constant int TIOCGETA@*/
727 /*@constant int TIOCSETA@*/
728 /*@constant int TIOCSETAW@*/
729 /*@constant int TIOCSETAF@*/
730 /*@constant int TIOCGETD@*/
731 /*@constant int TIOCSETD@*/
732 /*@constant int TIOCSBRK@*/
733 /*@constant int TIOCCBRK@*/
734 /*@constant int TIOCSDTR@*/
735 /*@constant int TIOCCDTR@*/
736 /*@constant int TIOCGPGRP@*/
737 /*@constant int TIOCSPGRP@*/
738 /*@constant int TIOCOUTQ@*/
739 /*@constant int TIOCSTI@*/
740 /*@constant int TIOCNOTTY@*/
741 /*@constant int TIOCPKT@*/
742 /*@constant int TIOCPKT_DATA@*/
743 /*@constant int TIOCPKT_FLUSHREAD@*/
744 /*@constant int TIOCPKT_FLUSHWRITE@*/
745 /*@constant int TIOCPKT_STOP@*/
746 /*@constant int TIOCPKT_START@*/
747 /*@constant int TIOCPKT_NOSTOP@*/
748 /*@constant int TIOCPKT_DOSTOP@*/
749 /*@constant int TIOCPKT_IOCTL@*/
750 /*@constant int TIOCSTOP@*/
751 /*@constant int TIOCSTART@*/
752 /*@constant int TIOCMSET@*/
753 /*@constant int TIOCMBIS@*/
754 /*@constant int TIOCMBIC@*/
755 /*@constant int TIOCMGET@*/
756 /*@constant int TIOCREMOTE@*/
757 /*@constant int TIOCGWINSZ@*/
758 /*@constant int TIOCSWINSZ@*/
759 /*@constant int TIOCUCNTL@*/
760 /*@constant int TIOCSTAT@*/
761 /*@constant int TIOCCONS@*/
762 /*@constant int TIOCSCTTY@*/
763 /*@constant int TIOCEXT@*/
764 /*@constant int TIOCSIG@*/
765 /*@constant int TIOCDRAIN@*/
766 /*@constant int TIOCMSDTRWAIT@*/
767 /*@constant int TIOCMGDTRWAIT@*/
768 /*@constant int TIOCTIMESTAMP@*/
769 /*@constant int TIOCSDRAINWAIT@*/
770 /*@constant int TIOCGDRAINWAIT@*/
771 /*@constant int TTYDISC@*/
772 /*@constant int TABLDISC@*/
773 /*@constant int SLIPDISC@*/
774 /*@constant int PPPDISC@*/
776 /*@constant int MAXHOSTNAMELEN@*/
779 FD_CLR (int n, fd_set *p)
783 FD_COPY (fd_set *f, /*@out@*/ fd_set *t)
786 extern int /*@alt lltX_bool@*/
787 FD_ISSET (int n, fd_set *p)
791 FD_SET (int n, fd_set *p)
795 FD_ZERO (fd_set /*@out@*/ *p)
800 /*@modifies internalState, errno@*/;
803 fchown (int fd, uid_t owner, gid_t group)
804 /*@modifies errno, fileSystem@*/;
808 /*@modifies errno, fileSystem@*/;
811 ftruncate (int fd, off_t length)
812 /*@modifies errno, fileSystem@*/;
814 int gethostname (/*@out@*/ char *address, size_t address_len)
816 /*@modifies address@*/ ;
818 int initgroups (const char *name, int basegid)
819 /*@modifies internalState@*/;
822 lchown (const char *path, uid_t owner, gid_t group)
823 /*@modifies errno, fileSystem@*/;
826 readlink (const char *path, /*@out@*/ char *buf, int size)
827 /*@modifies *buf, errno@*/ /*@ensures result <= size @*/;
830 select (int mfd, fd_set /*@null@*/ *r, fd_set /*@null@*/ *w, fd_set /*@null@*/ *e, struct timeval *t)
831 /*@modifies *r, *w, *e, *t, errno@*/;
835 /*@modifies errno, internalState@*/;
839 /*@modifies errno, internalState@*/;
842 setgroups (int ngroups, const gid_t *gidset)
843 /*@modifies errno, internalState@*/;
846 setregid (gid_t rgid, gid_t egid)
847 /*@modifies errno, internalState@*/;
850 setreuid (gid_t ruid, gid_t euid)
851 /*@modifies errno, internalState@*/;
855 /*@modifies fileSystem@*/;
858 symlink (const char *path, const char *path2)
859 /*@modifies fileSystem@*/;
862 truncate (const char *name, off_t length)
863 /*@modifies errno, fileSystem@*/;
865 /*@constant int EBADRPC@*/
866 /*@constant int ERPCMISMATCH@*/
867 /*@constant int EPROGUNAVAIL@*/
868 /*@constant int EPROGMISMATCH@*/
869 /*@constant int EPROCUNAVAIL@*/
870 /*@constant int EFTYPE@*/
871 /*@constant int EAUTH@*/
872 /*@constant int ENEEDAUTH@*/
873 /*@constant int ELAST@*/
875 /*________________________________________________________________________
879 /*@unchecked@*/ extern char *TMAGIC;
880 /*@constant int TMAGLEN@*/
881 /*@unchecked@*/ extern char *TVERSION;
882 /*@constant int TVERSLEN@*/
884 /*@constant int REGTYPE@*/
885 /*@constant int AREGTYPE@*/
886 /*@constant int LNKTYPE@*/
887 /*@constant int SYMTYPE@*/
888 /*@constant int CHRTYPE@*/
889 /*@constant int BLKTYPE@*/
890 /*@constant int DIRTYPE@*/
891 /*@constant int FIFOTYPE@*/
892 /*@constant int CONTTYPE@*/
894 /*@constant int TSUID@*/
895 /*@constant int TSGID@*/
896 /*@constant int TSVTX@*/
898 /*@constant int TUREAD@*/
899 /*@constant int TUWRITE@*/
900 /*@constant int TUEXEC@*/
901 /*@constant int TGREAD@*/
902 /*@constant int TGWRITE@*/
903 /*@constant int TGEXEC@*/
904 /*@constant int TOREAD@*/
905 /*@constant int TOWRITE@*/
906 /*@constant int TOEXEC@*/
909 uid_t uid; /* user id */
910 gid_t gid; /* group id */
911 uid_t cuid; /* creator user id */
912 gid_t cgid; /* creator group id */
913 mode_t mode; /* r/w permission */
914 ulong seq; /* slot usage sequence number */
915 key_t key; /* user specified msg/sem/shm key */
918 /*@constant int IPC_R@*/
919 /*@constant int IPC_W@*/
920 /*@constant int IPC_M@*/
921 /*@constant int IPC_CREAT@*/
922 /*@constant int IPC_EXCL@*/
923 /*@constant int IPC_NOWAIT@*/
924 /*@constant key_t IPC_PRIVATE@*/
925 /*@constant int IPC_RMID@*/
926 /*@constant int IPC_SET@*/
927 /*@constant int IPC_STAT@*/
929 /*________________________________________________________________________
934 struct ipc_perm msg_perm; /* msg queue permission bits */
935 struct msg *msg_first; /* first message in the queue */
936 struct msg *msg_last; /* last message in the queue */
937 u_long msg_cbytes; /* number of bytes in use on the queue */
938 u_long msg_qnum; /* number of msgs in the queue */
939 u_long msg_qbytes; /* max # of bytes on the queue */
940 pid_t msg_lspid; /* pid of last msgsnd() */
941 pid_t msg_lrpid; /* pid of last msgrcv() */
942 time_t msg_stime; /* time of last msgsnd() */
943 time_t msg_rtime; /* time of last msgrcv() */
944 time_t msg_ctime; /* time of last msgctl() */
948 long mtype; /* message type (+ve integer) */
949 char mtext[]; /* message body */
952 /*@constant int MSG_NOERROR@*/
953 /*@constant int MSGMAX@*/
954 /*@constant int MSGMNB@*/
955 /*@constant int MSGMNI@*/
956 /*@constant int MSGTQL@*/
959 msgctl (int id , int cmd, /*@out@*/ struct msqid_ds *buf)
960 /*@modifies errno, *buf@*/;
963 msgget (key_t key, int flag)
964 /*@modifies errno@*/;
967 msgrcv (int id, /*@out@*/ void *ptr, size_t nbytes, long type, int flags)
968 /*@modifies errno, *ptr@*/;
971 msgsnd (int id, const void *ptr, size_t nbytes, int flag)
972 /*@modifies errno@*/;
974 /*________________________________________________________________________
979 struct ipc_perm sem_perm;
980 struct sem *sem_base;
995 struct semid_ds *buf;
1005 /*@constant int SEM_A@*/
1006 /*@constant int SEMAEM@*/
1007 /*@constant int SEMMNI@*/
1008 /*@constant int SEMMNS@*/
1009 /*@constant int SEMMNU@*/
1010 /*@constant int SEMMSL@*/
1011 /*@constant int SEMOPN@*/
1012 /*@constant int SEM_R@*/
1013 /*@constant int SEMUME@*/
1014 /*@constant int SEM_UNDO@*/
1015 /*@constant int SEMVMX@*/
1016 /*@constant int GETVAL@*/
1017 /*@constant int SETVAL@*/
1018 /*@constant int GETPID@*/
1019 /*@constant int GETNCNT@*/
1020 /*@constant int GETZCNT@*/
1021 /*@constant int GETALL@*/
1022 /*@constant int SETALL@*/
1024 /*@constant int ERMID@*/
1027 semctl (int id, int semnum, int cmd, union semun arg)
1028 /*@modifies errno@*/;
1031 semget (key_t key, int nsems, int flag)
1032 /*@modifies errno@*/;
1035 semop (int id, struct sembuf *semoparray, size_t nops)
1036 /*@modifies errno@*/;
1038 /*________________________________________________________________________
1043 struct ipc_perm shm_perm;
1055 /*@constant int SHMLBA@*/
1056 /*@constant int SHM_LOCK@*/
1057 /*@constant int SHMMAX@*/
1058 /*@constant int SHMMIN@*/
1059 /*@constant int SHMMNI@*/
1060 /*@constant int SHM_R@*/
1061 /*@constant int SHM_RDONLY@*/
1062 /*@constant int SHM_RND@*/
1063 /*@constant int SHMSEG@*/
1064 /*@constant int SHM_W@*/
1065 /*@constant int SHM_UNLOCK@*/
1068 shmat (int id, /*@null@*/ void *addr, int flag)
1069 /*@modifies errno@*/;
1072 shmctl (int id, int cmd, /*@out@*/ struct shmid_ds *buf)
1073 /*@modifies errno, *buf@*/;
1077 /*@modifies errno@*/;
1080 shmget (key_t key, int size, int flag)
1081 /*@modifies errno@*/;
1083 /*________________________________________________________________________
1087 /*@constant int LOG_EMERG@*/
1088 /*@constant int LOG_ALERT@*/
1089 /*@constant int LOG_CRIT@*/
1090 /*@constant int LOG_ERR@*/
1091 /*@constant int LOG_WARNING@*/
1092 /*@constant int LOG_NOTICE@*/
1093 /*@constant int LOG_INFO@*/
1094 /*@constant int LOG_DEBUG@*/
1096 /*@constant int LOG_KERN@*/
1097 /*@constant int LOG_USER@*/
1098 /*@constant int LOG_MAIL@*/
1099 /*@constant int LOG_DAEMON@*/
1100 /*@constant int LOG_AUTH@*/
1101 /*@constant int LOG_SYSLOG@*/
1102 /*@constant int LOG_LPR@*/
1103 /*@constant int LOG_NEWS@*/
1104 /*@constant int LOG_UUCP@*/
1105 /*@constant int LOG_CRON@*/
1106 /*@constant int LOG_AUTHPRIV@*/
1107 /*@constant int LOG_FTP@*/
1108 /*@constant int LOG_LOCAL0@*/
1109 /*@constant int LOG_LOCAL1@*/
1110 /*@constant int LOG_LOCAL2@*/
1111 /*@constant int LOG_LOCAL3@*/
1112 /*@constant int LOG_LOCAL4@*/
1113 /*@constant int LOG_LOCAL5@*/
1114 /*@constant int LOG_LOCAL6@*/
1115 /*@constant int LOG_LOCAL7@*/
1117 /*@constant int LOG_PID@*/
1118 /*@constant int LOG_CONS@*/
1119 /*@constant int LOG_ODELAY@*/
1120 /*@constant int LOG_NDELAY@*/
1121 /*@constant int LOG_NOWAIT@*/
1122 /*@constant int LOG_PERROR@*/
1134 /*@modifies fileSystem@*/;
1137 openlog (const char *ident, int logopt, int facility)
1138 /*@modifies fileSystem@*/;
1141 setlogmask (int maskpri)
1142 /*@modifies internalState@*/;
1144 extern void /*@printflike@*/
1145 syslog (int priority, const char *message, ...)
1146 /*@modifies fileSystem@*/;
1149 vsyslog (int priority, const char *message, va_list args)
1150 /*@modifies fileSystem@*/;
1152 /*________________________________________________________________________
1158 /*@modifies internalState@*/;
1160 extern /*@null@*/ struct passwd *
1162 /*@modifies internalState@*/;
1165 setpassent (int stayopen)
1166 /*@modifies internalState@*/;
1170 /*@modifies internalState@*/;
1172 /*________________________________________________________________________
1178 /*@modifies internalState@*/;
1180 extern /*@null@*/ struct group *
1182 /*@modifies internalState@*/;
1186 /*@modifies internalState@*/;
1189 setgrfile (const char *name)
1190 /*@modifies internalState@*/;
1193 setgroupent (int stayopen)
1194 /*@modifies internalState@*/;
1196 /*________________________________________________________________________
1200 /*@constant int S_ISTXT@*/
1201 /*@constant int S_IREAD@*/
1202 /*@constant int S_IWRITE@*/
1203 /*@constant int S_IEXEC@*/
1204 /*@constant int S_IFMT@*/
1205 /*@constant int S_IFIFO@*/
1206 /*@constant int S_IFCHR@*/
1207 /*@constant int S_IFDIR@*/
1208 /*@constant int S_IFBLK@*/
1209 /*@constant int S_IFREG@*/
1210 /*@constant int S_IFLNK@*/
1211 /*@constant int S_IFSOCK@*/
1212 /*@constant int S_ISVTX@*/
1213 /*@constant int S_ISVTX@*/
1214 /*@constant int SF_SETTABLE@*/
1215 /*@constant int SF_ARCHIVED@*/
1216 /*@constant int ACCESSPERMS@*/
1217 /*@constant int ALLPERMS@*/
1218 /*@constant int DEFFILEMODE@*/
1219 /*@constant int S_BLKSIZE@*/
1220 /*@constant int SF_IMMUTABLE@*/
1221 /*@constant int SF_APPEND@*/
1222 /*@constant int UF_NODUMP@*/
1223 /*@constant int UF_IMMUTABLE@*/
1224 /*@constant int UF_APPEND@*/
1226 extern int /*@alt lltX_bool@*/
1227 S_ISLNK (/*@sef@*/ mode_t m)
1230 extern int /*@alt lltX_bool@*/
1231 S_ISSOCK (/*@sef@*/ mode_t m)
1235 chflags (const char *path, u_long flags)
1236 /*@modifies fileSystem, errno@*/;
1239 fchflags (int fd, u_long flags)
1240 /*@modifies fileSystem, errno@*/;
1243 fchmod (int fd, mode_t mode)
1244 /*@modifies fileSystem, errno@*/;
1247 lstat (const char *path, /*@out@*/ struct stat *buf)
1248 /*@modifies errno, *buf@*/;
1250 /*________________________________________________________________________
1254 /*@constant int FMNAMESZ@*/
1255 /*@constant int MSG_BAND@*/
1256 /*@constant int MSG_HIPRI@*/
1257 /*@constant int RS_HIPRI@*/
1258 /*@constant int S_INPUT@*/
1259 /*@constant int S_RDNORM@*/
1260 /*@constant int S_RDBAND@*/
1261 /*@constant int S_BANDURG@*/
1262 /*@constant int S_HIPRI@*/
1263 /*@constant int S_OUTPUT@*/
1264 /*@constant int S_WRNORM@*/
1265 /*@constant int S_WRBAND@*/
1266 /*@constant int S_MSG@*/
1267 /*@constant int S_ERROR@*/
1268 /*@constant int S_HANGUP@*/
1282 struct str_mlist *sl_modlist;
1286 getmsg (int fd, /*@out@*/ struct strbuf *c, /*@out@*/ struct strbuf *d, int *f)
1287 /*@modifies *c, *d, errno@*/;
1290 getpmsg (int fd, /*@out@*/ struct strbuf *c, /*@out@*/ struct strbuf *d, int *b, int *f)
1291 /*@modifies *b, *c, *d, errno@*/;
1294 putmsg (int fd, const struct strbuf *c, const struct strbuf *d, int *f)
1295 /*@modifies internalState, errno@*/;
1298 putpmsg (int fd, const struct strbuf *c, const struct strbuf *d, int b, int *f)
1299 /*@modifies internalState, errno@*/;
1301 /*________________________________________________________________________
1305 /*@constant int RLIMIT_CPU@*/
1306 /*@constant int RLIMIT_FSIZE@*/
1307 /*@constant int RLIMIT_DATA@*/
1308 /*@constant int RLIMIT_STACK@*/
1309 /*@constant int RLIMIT_CORE@*/
1310 /*@constant int RLIMIT_RSS@*/
1311 /*@constant int RLIMIT_MEMLOCK@*/
1312 /*@constant int RLIMIT_NPROC@*/
1313 /*@constant int RLIMIT_NOFILE@*/
1314 /*@constant int RLIM_NLIMITS@*/
1315 /*@constant int RLIM_INFINITY@*/
1316 /*@constant int PRIO_MIN@*/
1317 /*@constant int PRIO_MAX@*/
1318 /*@constant int PRIO_PROCESS@*/
1319 /*@constant int PRIO_PGRP@*/
1320 /*@constant int PRIO_USER@*/
1321 /*@constant int RUSAGE_SELF@*/
1322 /*@constant int RUSAGE_CHILDREN@*/
1325 struct timeval ru_utime; /* user time used */
1326 struct timeval ru_stime; /* system time used */
1327 long ru_maxrss; /* max resident set size */
1328 long ru_ixrss; /* integral shared memory size */
1329 long ru_idrss; /* integral unshared data " */
1330 long ru_isrss; /* integral unshared stack " */
1331 long ru_minflt; /* page reclaims */
1332 long ru_majflt; /* page faults */
1333 long ru_nswap; /* swaps */
1334 long ru_inblock; /* block input operations */
1335 long ru_oublock; /* block output operations */
1336 long ru_msgsnd; /* messages sent */
1337 long ru_msgrcv; /* messages received */
1338 long ru_nsignals; /* signals received */
1339 long ru_nvcsw; /* voluntary context switches */
1340 long ru_nivcsw; /* involuntary " */
1349 unsigned long ldavg[3];
1354 getpriority (int which, int who)
1355 /*@modifies errno@*/;
1358 getrlimit (int res, /*@out@*/ struct rlimit *rlp)
1359 /*@modifies *rlp, errno@*/;
1362 getrusage (int who, /*@out@*/ struct rusage *rusage)
1363 /*@modifies *rusage, errno@*/;
1366 setpriority (int which, int who, int prio)
1367 /*@modifies errno, internalState@*/;
1370 setrlimit (int resource, const struct rlimit *rlp)
1371 /*@modifies errno, internalState@*/;
1380 /*@observer@*/ char *s_name; /* Official service name. */
1381 /*@observer@*/ char **s_aliases; /* Alias list. */
1382 int s_port; /* Port number. */
1383 /*@observer@*/ char *s_proto; /* Protocol to use. */
1386 /*@observer@*/ /*@dependent@*/ /*@null@*/ struct servent *getservbyname (const char *name, /*@null@*/ const char *proto)
1387 /*@warn multithreaded "Unsafe in multithreaded applications, use getsrvbyname_r instead"@*/ ;
1389 struct servent *getservbyname_r (const char *name, /*@null@*/ const char *proto, /*@out@*/ /*@returned@*/ struct servent *result, /*@out@*/ char *buffer, int buflen)
1390 /*@requires maxSet (buffer) >= buflen@*/ ;
1393 /*@observer@*/ /*@dependent@*/ struct servent *getservbyport (int port, /*@null@*/ const char *proto)
1394 /*@warn multithreaded "Unsafe in multithreaded applications, use getservbyport_r instead"@*/ ;
1396 struct servent *getservbyport_r (int port, /*@null@*/ const char *proto, /*@out@*/ /*@returned@*/ struct servent *result, /*@out@*/ char *buffer, int buflen)
1397 /*@requires maxSet (buffer) >= buflen@*/ ;
1399 /*@null@*/ struct servent *getservent (void);
1401 /*@null@*/ struct servent *getservent_r (struct servent *result, char *buffer, int buflen);
1403 int setservent (int stayopen);
1405 int endservent (void);
1410 /*@null@*/ /*@observer@*/ struct hostent *gethostbyname (/*@nullterminated@*/ /*@notnull@*/ const char *name)
1411 /*@warn multithreaded "Unsafe in multithreaded applications, use gethostbyname_r instead"@*/
1412 /*@modifies h_errno@*/ ;
1414 struct hostent *gethostbyname_r (/*@nullterminated@*/ const char *name, /*@notnull@*/ /*@returned@*/ struct hostent *hent, /*@out@*/ /*@exposed@*/ char *buffer, int bufsize, /*@out@*/ int *h_errnop)
1415 /*@requires maxSet(buffer) >= bufsize@*/ ;
1417 /*@null@*/ /*@observer@*/ struct hostent *gethostbyaddr (/*@notnull@*/ const void *addr, size_t addrlen, int type)
1418 /*@requires maxRead(addr) == addrlen@*/ /*@i534 ??? is this right? */
1419 /*@warn multithreaded "Unsafe in multithreaded applications, use gethostbyaddr_r instead"@*/
1420 /*@modifies h_errno@*/ ;
1422 struct hostent *gethostbyaddr_r (/*@notnull@*/ const void *addr, size_t addrlen, int type,
1423 /*@returned@*/ /*@out@*/ struct hostent *hent,
1424 /*@exposed@*/ /*@out@*/ char *buffer, int bufsize, /*@out@*/ int *h_errnop)
1425 /*@requires maxRead(addr) == addrlen
1426 /\ maxSet(buffer) >= bufsize@*/ /*@i534 ??? is this right? */ ;
1428 /*@observer@*/ /*@null@*/ struct hostent *gethostent (void)
1429 /*@warn multithreaded "Unsafe in multithreaded applications, use gethostent_r instead"@*/ ;
1431 struct hostent *gethostent_r (/*@out@*/ /*@returned@*/ struct hostent *hent, /*@exposed@*/ /*@out@*/ char *buffer, int bufsize)
1432 /*@requires maxSet(buffer) >= bufsize@*/ ;
1434 /*@i534 need to annotate these: */
1435 struct hostent *fgethostent(FILE *f);
1437 struct hostent *fgethostent_r(FILE*f, struct hostent *hent, char buffer, int bufsize);
1439 void sethostent(int stayopen);
1441 void endhostent(void);
1443 void herror(const char *string);
1445 char *hstrerror(int err);
1448 /*@observer@*/ /*@nullterminated@*/ char *h_name; /* official name of host */
1449 /*@observer@*/ /*@nullterminated@*/ char * /*:observer@*/ /*:nullterminated@*/ *h_aliases; /* alias list */
1450 int h_addrtype; /* host address type*/
1451 int h_length; /* length ofaddress*/
1452 /*@observer@*/ /*@nullterminated@*/ char * /*:observer@*/ /*:nullterminated@*/ *h_addr_list; /* list of addressesfrom name server */
1453 /*@observer@*/ /*@nullterminated@*/ char *h_addr; /* first address in list (backward compatibility) */
1460 typedef uint32_t in_addr_t;
1467 typedef uint16_t in_port_t;
1469 in_addr_t htonl (in_addr_t hostlong) /*@*/ ;
1470 in_port_t htons (in_port_t hostshort) /*@*/ ;
1471 in_addr_t ntohl (in_addr_t netlong) /*@*/ ;
1472 in_port_t ntohs (in_port_t netshort) /*@*/ ;
1478 int chroot (/*@notnull@*/ /*@nullterminated@*/ const char *path)
1480 /*@warn superuser "Only super-user processes may call chroot."@*/
1481 /*: other wanings? */ ;
1483 int fchroot (int fildes)
1485 /*@warn superuser "Only super-user processes may call fchroot."@*/ ;