Home | History | Annotate | Line # | Download | only in include
unistd.h revision 1.93
      1  1.93  kristerw /*	$NetBSD: unistd.h,v 1.93 2003/07/08 01:43:28 kristerw Exp $	*/
      2  1.22       cgd 
      3   1.1       cgd /*-
      4  1.77    kleink  * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
      5  1.55    kleink  * All rights reserved.
      6  1.55    kleink  *
      7  1.55    kleink  * This code is derived from software contributed to The NetBSD Foundation
      8  1.55    kleink  * by Klaus Klein.
      9  1.55    kleink  *
     10  1.55    kleink  * Redistribution and use in source and binary forms, with or without
     11  1.55    kleink  * modification, are permitted provided that the following conditions
     12  1.55    kleink  * are met:
     13  1.55    kleink  * 1. Redistributions of source code must retain the above copyright
     14  1.55    kleink  *    notice, this list of conditions and the following disclaimer.
     15  1.55    kleink  * 2. Redistributions in binary form must reproduce the above copyright
     16  1.55    kleink  *    notice, this list of conditions and the following disclaimer in the
     17  1.55    kleink  *    documentation and/or other materials provided with the distribution.
     18  1.55    kleink  * 3. All advertising materials mentioning features or use of this software
     19  1.55    kleink  *    must display the following acknowledgement:
     20  1.55    kleink  *        This product includes software developed by the NetBSD
     21  1.55    kleink  *        Foundation, Inc. and its contributors.
     22  1.55    kleink  * 4. Neither the name of The NetBSD Foundation nor the names of its
     23  1.55    kleink  *    contributors may be used to endorse or promote products derived
     24  1.55    kleink  *    from this software without specific prior written permission.
     25  1.55    kleink  *
     26  1.55    kleink  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     27  1.55    kleink  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     28  1.55    kleink  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     29  1.55    kleink  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     30  1.55    kleink  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     31  1.55    kleink  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     32  1.55    kleink  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     33  1.55    kleink  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     34  1.55    kleink  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     35  1.55    kleink  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     36  1.55    kleink  * POSSIBILITY OF SUCH DAMAGE.
     37  1.55    kleink  */
     38  1.55    kleink 
     39  1.55    kleink /*
     40  1.49     perry  * Copyright (c) 1991, 1993, 1994
     41  1.49     perry  *	The Regents of the University of California.  All rights reserved.
     42   1.1       cgd  *
     43   1.1       cgd  * Redistribution and use in source and binary forms, with or without
     44   1.1       cgd  * modification, are permitted provided that the following conditions
     45   1.1       cgd  * are met:
     46   1.1       cgd  * 1. Redistributions of source code must retain the above copyright
     47   1.1       cgd  *    notice, this list of conditions and the following disclaimer.
     48   1.1       cgd  * 2. Redistributions in binary form must reproduce the above copyright
     49   1.1       cgd  *    notice, this list of conditions and the following disclaimer in the
     50   1.1       cgd  *    documentation and/or other materials provided with the distribution.
     51   1.1       cgd  * 3. All advertising materials mentioning features or use of this software
     52   1.1       cgd  *    must display the following acknowledgement:
     53   1.1       cgd  *	This product includes software developed by the University of
     54   1.1       cgd  *	California, Berkeley and its contributors.
     55   1.1       cgd  * 4. Neither the name of the University nor the names of its contributors
     56   1.1       cgd  *    may be used to endorse or promote products derived from this software
     57   1.1       cgd  *    without specific prior written permission.
     58   1.1       cgd  *
     59   1.1       cgd  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     60   1.1       cgd  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     61   1.1       cgd  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     62   1.1       cgd  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     63   1.1       cgd  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     64   1.1       cgd  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     65   1.1       cgd  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     66   1.1       cgd  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     67   1.1       cgd  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     68   1.1       cgd  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     69   1.1       cgd  * SUCH DAMAGE.
     70   1.1       cgd  *
     71  1.49     perry  *	@(#)unistd.h	8.12 (Berkeley) 4/27/95
     72   1.1       cgd  */
     73   1.1       cgd 
     74   1.1       cgd #ifndef _UNISTD_H_
     75   1.1       cgd #define	_UNISTD_H_
     76   1.1       cgd 
     77  1.77    kleink #include <machine/ansi.h>
     78  1.85    kleink #include <machine/int_types.h>
     79   1.1       cgd #include <sys/cdefs.h>
     80  1.64   mycroft #include <sys/featuretest.h>
     81   1.1       cgd #include <sys/types.h>
     82   1.1       cgd #include <sys/unistd.h>
     83  1.50    kleink 
     84  1.55    kleink 
     85  1.55    kleink /*
     86  1.55    kleink  * IEEE Std 1003.1-90
     87  1.55    kleink  */
     88   1.4       jtc #define	STDIN_FILENO	0	/* standard input file descriptor */
     89   1.1       cgd #define	STDOUT_FILENO	1	/* standard output file descriptor */
     90   1.1       cgd #define	STDERR_FILENO	2	/* standard error file descriptor */
     91   1.1       cgd 
     92  1.80    kleink #include <sys/null.h>
     93   1.1       cgd 
     94   1.1       cgd __BEGIN_DECLS
     95  1.66   mycroft __dead	 void _exit __P((int)) __attribute__((__noreturn__));
     96   1.1       cgd int	 access __P((const char *, int));
     97  1.65   mycroft unsigned int alarm __P((unsigned int));
     98   1.1       cgd int	 chdir __P((const char *));
     99  1.55    kleink #if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)
    100  1.55    kleink int	chown __P((const char *, uid_t, gid_t)) __RENAME(__posix_chown);
    101  1.55    kleink #else
    102  1.55    kleink int	chown __P((const char *, uid_t, gid_t));
    103  1.55    kleink #endif /* defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) */
    104   1.1       cgd int	 close __P((int));
    105   1.9       jtc size_t	 confstr __P((int, char *, size_t));
    106  1.86  christos #ifndef __CUSERID_DECLARED
    107  1.86  christos #define __CUSERID_DECLARED
    108  1.86  christos /* also declared in stdio.h */
    109  1.55    kleink char	*cuserid __P((char *));	/* obsolete */
    110  1.86  christos #endif /* __CUSERID_DECLARED */
    111   1.1       cgd int	 dup __P((int));
    112   1.1       cgd int	 dup2 __P((int, int));
    113   1.1       cgd int	 execl __P((const char *, const char *, ...));
    114   1.1       cgd int	 execle __P((const char *, const char *, ...));
    115   1.1       cgd int	 execlp __P((const char *, const char *, ...));
    116   1.1       cgd int	 execv __P((const char *, char * const *));
    117   1.1       cgd int	 execve __P((const char *, char * const *, char * const *));
    118   1.1       cgd int	 execvp __P((const char *, char * const *));
    119   1.1       cgd pid_t	 fork __P((void));
    120  1.49     perry long	 fpathconf __P((int, int));
    121   1.1       cgd char	*getcwd __P((char *, size_t));
    122   1.1       cgd gid_t	 getegid __P((void));
    123   1.1       cgd uid_t	 geteuid __P((void));
    124   1.1       cgd gid_t	 getgid __P((void));
    125  1.49     perry int	 getgroups __P((int, gid_t []));
    126  1.62   mycroft __aconst char *getlogin __P((void));
    127   1.3       cgd pid_t	 getpgrp __P((void));
    128   1.1       cgd pid_t	 getpid __P((void));
    129   1.1       cgd pid_t	 getppid __P((void));
    130   1.1       cgd uid_t	 getuid __P((void));
    131   1.1       cgd int	 isatty __P((int));
    132   1.1       cgd int	 link __P((const char *, const char *));
    133  1.49     perry long	 pathconf __P((const char *, int));
    134   1.1       cgd int	 pause __P((void));
    135   1.1       cgd int	 pipe __P((int *));
    136   1.1       cgd ssize_t	 read __P((int, void *, size_t));
    137   1.1       cgd int	 rmdir __P((const char *));
    138   1.1       cgd int	 setgid __P((gid_t));
    139   1.1       cgd int	 setpgid __P((pid_t, pid_t));
    140   1.1       cgd pid_t	 setsid __P((void));
    141   1.1       cgd int	 setuid __P((uid_t));
    142  1.49     perry unsigned int	 sleep __P((unsigned int));
    143  1.49     perry long	 sysconf __P((int));
    144   1.1       cgd pid_t	 tcgetpgrp __P((int));
    145   1.1       cgd int	 tcsetpgrp __P((int, pid_t));
    146  1.62   mycroft __aconst char *ttyname __P((int));
    147   1.1       cgd int	 unlink __P((const char *));
    148   1.1       cgd ssize_t	 write __P((int, const void *, size_t));
    149   1.1       cgd 
    150  1.55    kleink 
    151  1.55    kleink /*
    152  1.83  christos  * IEEE Std 1003.2-92, adopted in X/Open Portability Guide Issue 4 and later
    153  1.83  christos  */
    154  1.92     bjh21 #if (_POSIX_C_SOURCE - 0) >= 2 || (_XOPEN_SOURCE - 0) >= 4 || \
    155  1.92     bjh21     defined(_NETBSD_SOURCE)
    156  1.83  christos int	 getopt __P((int, char * const [], const char *));
    157  1.83  christos 
    158  1.83  christos extern	 char *optarg;			/* getopt(3) external variables */
    159  1.83  christos extern	 int opterr;
    160  1.83  christos extern	 int optind;
    161  1.83  christos extern	 int optopt;
    162  1.83  christos #endif
    163  1.83  christos 
    164  1.89  jdolecek /*
    165  1.91    kleink  * The Open Group Base Specifications, Issue 6; IEEE Std 1003.1-2001 (POSIX)
    166  1.89  jdolecek  */
    167  1.92     bjh21 #if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 600 || \
    168  1.92     bjh21     defined(_NETBSD_SOURCE)
    169  1.89  jdolecek int	 setegid __P((gid_t));
    170  1.89  jdolecek int	 seteuid __P((uid_t));
    171  1.89  jdolecek #endif
    172  1.83  christos 
    173  1.83  christos /*
    174  1.86  christos  * The following three syscalls are also defined in <sys/types.h>
    175  1.86  christos  * We protect them against double declarations.
    176  1.86  christos  */
    177  1.86  christos #ifndef __OFF_T_SYSCALLS_DECLARED
    178  1.86  christos #define __OFF_T_SYSCALLS_DECLARED
    179  1.86  christos off_t	 lseek __P((int, off_t, int));
    180  1.86  christos int	 truncate __P((const char *, off_t));
    181  1.86  christos /*
    182  1.55    kleink  * IEEE Std 1003.1b-93,
    183  1.55    kleink  * also found in X/Open Portability Guide >= Issue 4 Verion 2
    184  1.55    kleink  */
    185  1.92     bjh21 #if (_POSIX_C_SOURCE - 0) >= 199309L || \
    186  1.55    kleink     (defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED)) || \
    187  1.92     bjh21     (_XOPEN_SOURCE - 0) >= 500 || defined(_NETBSD_SOURCE)
    188  1.55    kleink int	 ftruncate __P((int, off_t));
    189  1.55    kleink #endif
    190  1.86  christos #endif /* __OFF_T_SYSCALLS_DECLARED */
    191  1.55    kleink 
    192  1.55    kleink 
    193  1.55    kleink /*
    194  1.55    kleink  * IEEE Std 1003.1b-93, adopted in X/Open CAE Specification Issue 5 Version 2
    195  1.55    kleink  */
    196  1.92     bjh21 #if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
    197  1.92     bjh21     defined(_NETBSD_SOURCE)
    198  1.56    kleink int	 fdatasync __P((int));
    199  1.55    kleink int	 fsync __P((int));
    200  1.49     perry #endif
    201  1.55    kleink 
    202  1.55    kleink 
    203  1.55    kleink /*
    204  1.55    kleink  * X/Open Portability Guide, all issues
    205  1.55    kleink  */
    206  1.92     bjh21 #if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
    207   1.1       cgd int	 chroot __P((const char *));
    208  1.55    kleink int	 nice __P((int));
    209  1.55    kleink #endif
    210  1.55    kleink 
    211  1.55    kleink 
    212  1.55    kleink /*
    213  1.55    kleink  * X/Open Portability Guide <= Issue 3
    214  1.55    kleink  */
    215  1.55    kleink #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0) <= 3
    216  1.55    kleink int	 rename __P((const char *, const char *)) __RENAME(__posix_rename);
    217  1.55    kleink #endif
    218  1.55    kleink 
    219  1.55    kleink 
    220  1.55    kleink /*
    221  1.55    kleink  * X/Open Portability Guide >= Issue 4
    222  1.55    kleink  */
    223  1.92     bjh21 #if (_XOPEN_SOURCE - 0) >= 4 || defined(_NETBSD_SOURCE)
    224  1.62   mycroft __aconst char *crypt __P((const char *, const char *));
    225  1.55    kleink int	 encrypt __P((char *, int));
    226  1.65   mycroft char	*getpass __P((const char *));
    227  1.55    kleink pid_t	 getsid __P((pid_t));
    228  1.55    kleink #endif
    229  1.55    kleink 
    230  1.55    kleink 
    231  1.55    kleink /*
    232  1.55    kleink  * X/Open Portability Guide >= Issue 4 Version 2
    233  1.55    kleink  */
    234  1.92     bjh21 #if (defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED)) || \
    235  1.92     bjh21     (_XOPEN_SOURCE - 0) >= 500 || defined(_NETBSD_SOURCE)
    236  1.85    kleink #ifndef	intptr_t
    237  1.85    kleink typedef	__intptr_t	intptr_t;
    238  1.87    kleink #define	intptr_t	__intptr_t
    239  1.77    kleink #endif
    240  1.77    kleink 
    241  1.55    kleink #define F_ULOCK		0
    242  1.55    kleink #define F_LOCK		1
    243  1.55    kleink #define F_TLOCK		2
    244  1.55    kleink #define F_TEST		3
    245  1.55    kleink 
    246  1.71    kleink int	 brk __P((void *));
    247  1.55    kleink int	 fchdir __P((int));
    248  1.55    kleink #if defined(_XOPEN_SOURCE)
    249  1.63   mycroft int	 fchown __P((int, uid_t, gid_t)) __RENAME(__posix_fchown);
    250  1.55    kleink #else
    251  1.63   mycroft int	 fchown __P((int, uid_t, gid_t));
    252  1.55    kleink #endif
    253  1.55    kleink int	 getdtablesize __P((void));
    254  1.55    kleink long	 gethostid __P((void));
    255  1.55    kleink int	 gethostname __P((char *, size_t));
    256  1.55    kleink __pure int
    257  1.55    kleink 	 getpagesize __P((void));		/* legacy */
    258  1.68    kleink pid_t	 getpgid __P((pid_t));
    259  1.55    kleink #if defined(_XOPEN_SOURCE)
    260  1.63   mycroft int	 lchown __P((const char *, uid_t, gid_t)) __RENAME(__posix_lchown);
    261  1.55    kleink #else
    262  1.63   mycroft int	 lchown __P((const char *, uid_t, gid_t));
    263  1.55    kleink #endif
    264  1.55    kleink int	 lockf __P((int, int, off_t));
    265  1.55    kleink int	 readlink __P((const char *, char *, size_t));
    266  1.77    kleink void	*sbrk __P((intptr_t));
    267  1.55    kleink /* XXX prototype wrong! */
    268  1.93  kristerw int	 setpgrp __P((pid_t, pid_t));		/* obsoleted by setpgid() */
    269  1.55    kleink int	 setregid __P((gid_t, gid_t));
    270  1.55    kleink int	 setreuid __P((uid_t, uid_t));
    271  1.55    kleink void	 swab __P((const void *, void *, size_t));
    272  1.55    kleink int	 symlink __P((const char *, const char *));
    273  1.55    kleink void	 sync __P((void));
    274  1.55    kleink useconds_t ualarm __P((useconds_t, useconds_t));
    275  1.55    kleink int	 usleep __P((useconds_t));
    276  1.55    kleink #ifdef __LIBC12_SOURCE__
    277  1.55    kleink pid_t	 vfork __P((void));
    278  1.55    kleink pid_t	 __vfork14 __P((void));
    279  1.55    kleink #else
    280  1.55    kleink pid_t	 vfork __P((void))			__RENAME(__vfork14);
    281  1.55    kleink #endif
    282  1.55    kleink 
    283  1.63   mycroft #ifndef __AUDIT__
    284  1.63   mycroft char	*getwd __P((char *));			/* obsoleted by getcwd() */
    285  1.63   mycroft #endif
    286  1.63   mycroft 
    287  1.55    kleink /* FIXME: this should go to <sys/time.h>! */
    288  1.74    kleink #if __STDC__
    289  1.55    kleink struct timeval;				/* select(2) XXX */
    290  1.55    kleink #endif
    291  1.55    kleink int	 select __P((int, fd_set *, fd_set *, fd_set *, struct timeval *));
    292  1.92     bjh21 #endif /* _XOPEN_SOURCE_EXTENDED || _XOPEN_SOURCE >= 500 || _NETBSD_SOURCE */
    293  1.58    kleink 
    294  1.58    kleink 
    295  1.58    kleink /*
    296  1.58    kleink  * X/Open CAE Specification Issue 5 Version 2
    297  1.58    kleink  */
    298  1.92     bjh21 #if (_XOPEN_SOURCE - 0) >= 500 || defined(_NETBSD_SOURCE)
    299  1.58    kleink ssize_t	 pread __P((int, void *, size_t, off_t));
    300  1.58    kleink ssize_t	 pwrite __P((int, const void *, size_t, off_t));
    301  1.58    kleink #endif
    302  1.55    kleink 
    303  1.55    kleink 
    304  1.55    kleink /*
    305  1.55    kleink  * Implementation-defined extensions
    306  1.55    kleink  */
    307  1.92     bjh21 #if defined(_NETBSD_SOURCE)
    308  1.55    kleink int	 acct __P((const char *));
    309   1.1       cgd int	 des_cipher __P((const char *, char *, long, int));
    310  1.88       wiz int	 des_setkey __P((const char *));
    311   1.1       cgd void	 endusershell __P((void));
    312   1.1       cgd int	 exect __P((const char *, char * const *, char * const *));
    313  1.72  sommerfe int	 fchroot __P((int));
    314  1.53    kleink int	 getdomainname __P((char *, size_t));
    315  1.55    kleink int	 getgrouplist __P((const char *, gid_t, gid_t *, int *));
    316   1.1       cgd mode_t	 getmode __P((const void *, mode_t));
    317  1.83  christos int	 getsubopt __P((char **, char * const *, char **));
    318  1.61   mycroft __aconst char *getusershell __P((void));
    319  1.36    kleink int	 initgroups __P((const char *, gid_t));
    320  1.27       mrg int	 iruserok __P((u_int32_t, int, const char *, const char *));
    321  1.84   minoura int      issetugid __P((void));
    322  1.20   mycroft int	 nfssvc __P((int, void *));
    323  1.55    kleink int	 profil __P((char *, size_t, u_long, u_int));
    324  1.86  christos #ifndef __PSIGNAL_DECLARED
    325  1.86  christos #define __PSIGNAL_DECLARED
    326  1.86  christos /* also in signal.h */
    327  1.86  christos void	psignal __P((unsigned int, const char *));
    328  1.86  christos #endif /* __PSIGNAL_DECLARED */
    329   1.1       cgd int	 rcmd __P((char **, int, const char *,
    330  1.63   mycroft 	    const char *, const char *, int *));
    331  1.29       mrg int	 reboot __P((int, char *));
    332   1.1       cgd int	 revoke __P((const char *));
    333   1.1       cgd int	 rresvport __P((int *));
    334   1.1       cgd int	 ruserok __P((const char *, int, const char *, const char *));
    335  1.53    kleink int	 setdomainname __P((const char *, size_t));
    336  1.16       jtc int	 setgroups __P((int, const gid_t *));
    337  1.32       cgd int	 sethostid __P((long));
    338  1.53    kleink int	 sethostname __P((const char *, size_t));
    339   1.1       cgd int	 setlogin __P((const char *));
    340   1.1       cgd void	*setmode __P((const char *));
    341   1.1       cgd int	 setrgid __P((gid_t));
    342   1.1       cgd int	 setruid __P((uid_t));
    343   1.1       cgd void	 setusershell __P((void));
    344  1.42  christos void	 strmode __P((mode_t, char *));
    345  1.61   mycroft __aconst char *strsignal __P((int));
    346  1.35       mrg int	 swapctl __P((int, const void *, int));
    347  1.37  christos int	 swapon __P((const char *));		/* obsoleted by swapctl() */
    348   1.1       cgd int	 syscall __P((int, ...));
    349  1.33       cgd quad_t	 __syscall __P((quad_t, ...));
    350  1.24   mycroft int	 undelete __P((const char *));
    351   1.1       cgd 
    352  1.76    kleink #if 1 /*INET6*/
    353  1.81    itojun int	 rcmd_af __P((char **, int, const char *,
    354  1.81    itojun 	    const char *, const char *, int *, int));
    355  1.76    kleink int	 rresvport_af __P((int *, int));
    356  1.81    itojun int	 iruserok_sa __P((const void *, int, int, const char *, const char *));
    357  1.76    kleink #endif
    358  1.76    kleink 
    359  1.86  christos #ifndef __SYS_SIGLIST_DECLARED
    360  1.86  christos #define __SYS_SIGLIST_DECLARED
    361  1.86  christos /* also in signal.h */
    362  1.69   thorpej extern __const char *__const *sys_siglist __RENAME(__sys_siglist14);
    363  1.86  christos #endif /* __SYS_SIGLIST_DECLARED */
    364  1.83  christos extern	 int optreset;		/* getopt(3) external variable */
    365  1.83  christos extern	 char *suboptarg;	/* getsubopt(3) external variable */
    366  1.54    kleink #endif
    367  1.46    kleink 
    368   1.1       cgd __END_DECLS
    369   1.1       cgd 
    370   1.1       cgd #endif /* !_UNISTD_H_ */
    371