1/*
2 * unistd.h --
3 *
4 *      Macros, CONSTants and prototypes for Posix conformance.
5 *
6 * Copyright 1989 Regents of the University of California
7 * Permission to use, copy, modify, and distribute this
8 * software and its documentation for any purpose and without
9 * fee is hereby granted, provided that the above copyright
10 * notice appear in all copies.  The University of California
11 * makes no representations about the suitability of this
12 * software for any purpose.  It is provided "as is" without
13 * express or implied warranty.
14 *
15 * RCS: @(#) $Id: unistd.h,v 1.2 1998/09/14 18:39:45 stanton Exp $
16 */
17
18#ifndef _UNISTD
19#define _UNISTD
20
21#include <sys/types.h>
22#ifndef _TCL
23#   include "tcl.h"
24#endif
25
26#ifndef NULL
27#define NULL    0
28#endif
29
30/*
31 * Strict POSIX stuff goes here.  Extensions go down below, in the
32 * ifndef _POSIX_SOURCE section.
33 */
34
35extern void _exit _ANSI_ARGS_((int status));
36extern int access _ANSI_ARGS_((CONST char *path, int mode));
37extern int chdir _ANSI_ARGS_((CONST char *path));
38extern int chown _ANSI_ARGS_((CONST char *path, uid_t owner, gid_t group));
39extern int close _ANSI_ARGS_((int fd));
40extern int dup _ANSI_ARGS_((int oldfd));
41extern int dup2 _ANSI_ARGS_((int oldfd, int newfd));
42extern int execl _ANSI_ARGS_((CONST char *path, ...));
43extern int execle _ANSI_ARGS_((CONST char *path, ...));
44extern int execlp _ANSI_ARGS_((CONST char *file, ...));
45extern int execv _ANSI_ARGS_((CONST char *path, char **argv));
46extern int execve _ANSI_ARGS_((CONST char *path, char **argv, char **envp));
47extern int execvp _ANSI_ARGS_((CONST char *file, char **argv));
48extern pid_t fork _ANSI_ARGS_((void));
49extern char *getcwd _ANSI_ARGS_((char *buf, size_t size));
50extern gid_t getegid _ANSI_ARGS_((void));
51extern uid_t geteuid _ANSI_ARGS_((void));
52extern gid_t getgid _ANSI_ARGS_((void));
53extern int getgroups _ANSI_ARGS_((int bufSize, int *buffer));
54extern pid_t getpid _ANSI_ARGS_((void));
55extern uid_t getuid _ANSI_ARGS_((void));
56extern int isatty _ANSI_ARGS_((int fd));
57extern long lseek _ANSI_ARGS_((int fd, long offset, int whence));
58extern int pipe _ANSI_ARGS_((int *fildes));
59extern int read _ANSI_ARGS_((int fd, char *buf, size_t size));
60extern int setgid _ANSI_ARGS_((gid_t group));
61extern int setuid _ANSI_ARGS_((uid_t user));
62extern unsigned sleep _ANSI_ARGS_ ((unsigned seconds));
63extern char *ttyname _ANSI_ARGS_((int fd));
64extern int unlink _ANSI_ARGS_((CONST char *path));
65extern int write _ANSI_ARGS_((int fd, CONST char *buf, size_t size));
66
67#ifndef	_POSIX_SOURCE
68extern char *crypt _ANSI_ARGS_((CONST char *, CONST char *));
69extern int fchown _ANSI_ARGS_((int fd, uid_t owner, gid_t group));
70extern int flock _ANSI_ARGS_((int fd, int operation));
71extern int ftruncate _ANSI_ARGS_((int fd, unsigned long length));
72extern int ioctl _ANSI_ARGS_((int fd, int request, ...));
73extern int readlink _ANSI_ARGS_((CONST char *path, char *buf, int bufsize));
74extern int setegid _ANSI_ARGS_((gid_t group));
75extern int seteuid _ANSI_ARGS_((uid_t user));
76extern int setreuid _ANSI_ARGS_((int ruid, int euid));
77extern int symlink _ANSI_ARGS_((CONST char *, CONST char *));
78extern int ttyslot _ANSI_ARGS_((void));
79extern int truncate _ANSI_ARGS_((CONST char *path, unsigned long length));
80extern int vfork _ANSI_ARGS_((void));
81#endif /* _POSIX_SOURCE */
82
83#endif /* _UNISTD */
84
85