1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
#ifndef __UNISTD_H
#define __UNISTD_H
#ifndef _POSIX_SOURCE
This header file is not defined in pure ANSI
#endif
#pragma lib "/$M/lib/ape/libap.a"
#define _POSIX_VERSION 199309L
#define _POSIX_ASYNC_IO -1
#define _POSIX_CHOWN_RESTRICTED 1
#define _POSIX_NO_TRUNC 1
#define _POSIX_PRIO_IO -1
#define _POSIX_SYNC_IO -1
#define _POSIX_VDISABLE -1
#ifndef _SIZE_T
#define _SIZE_T
typedef unsigned long size_t;
#endif
#ifndef _SSIZE_T
#define _SSIZE_T
typedef long ssize_t;
#endif
#ifndef NULL
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void*)0)
#endif
#endif
#endif
/* access */
#define R_OK 4
#define W_OK 2
#define X_OK 1
#define F_OK 0 /* test for existence */
/* lockf */
#define F_ULOCK 0 /* unlock a previously locked region */
#define F_LOCK 1 /* lock a region for exclusive use */
#define F_TLOCK 2 /* test and lock a region for exclusive use */
#define F_TEST 3 /* test a region for a previous lock */
/* lseek */
#ifndef SEEK_SET /* also defined in stdio.h */
#define SEEK_SET 0
#define SEEK_CUR 1
#define SEEK_END 2
#endif
/* sysconf argument */
#define _SC_ARG_MAX 1 /* max chars in args to exec */
#define _SC_CHILD_MAX 2 /* max child process per process */
#define _SC_CLK_TCK 3 /* number of clock() units per second */
#define _SC_NGROUPS_MAX 4 /* max supplementary groups per process */
#define _SC_OPEN_MAX 5
#define _SC_STREAM_MAX 6
#define _SC_TZNAME_MAX 7
#define _SC_JOB_CONTROL 8 /* posix job control */
#define _SC_SAVED_IDS 9 /* saved suid/sgid per process */
#define _SC_VERSION 10 /* this version */
#define _SC_LOGIN_NAME_MAX 11 /* max length of a login name */
/* pathconf argument */
#define _PC_LINK_MAX 1
#define _PC_MAX_CANON 2
#define _PC_MAX_INPUT 3
#define _PC_NAME_MAX 4
#define _PC_PATH_MAX 5
#define _PC_PIPE_BUF 6
#define _PC_CHOWN_RESTRICTED 7
#define _PC_NO_TRUNC 8
#define _PC_VDISABLE 9
/* standard filenos */
#define STDIN_FILENO 0
#define STDOUT_FILENO 1
#define STDERR_FILENO 2
#ifdef __cplusplus
extern "C" {
#endif
/* process primitives */
extern int execl(const char *, const char *, ...);
extern int execv(const char *, const char **);
extern int execle(const char *, const char *, const char *, ...);
extern int execve(const char *, const char **, const char **);
extern int execlp(const char *, const char *, ...);
extern int execvp(const char *, const char **);
extern void _exit(int);
extern unsigned int alarm(unsigned int);
extern int pause(void);
extern unsigned int sleep(unsigned int);
#ifdef __TYPES_H
extern pid_t fork(void);
#endif
/* process environment */
extern char *getlogin(void);
extern char *cuserid(char *);
extern char *ttyname(int);
extern int isatty(int);
extern long sysconf(int);
#ifdef __TYPES_H
extern pid_t getpid(void);
extern pid_t getppid(void);
extern uid_t getuid(void);
extern uid_t geteuid(void);
extern gid_t getgid(void);
extern gid_t getegid(void);
extern int setuid(uid_t);
extern int setgid(gid_t);
extern int getgroups(int, gid_t *);
extern pid_t getpgrp(void);
extern int setpgid(pid_t, pid_t);
extern pid_t setsid(void);
#endif
/* files and directories */
extern int chdir(const char *);
extern int link(const char *, const char *);
extern char *getcwd(char *, size_t);
extern int unlink(const char *);
extern int rmdir(const char *);
extern int rename(const char *, const char *);
extern int access(const char *, int);
extern long pathconf(const char *, int);
extern long fpathconf(int, int);
#ifdef __TYPES_H
extern int chown(const char *, uid_t, gid_t);
#endif
/* input and output primitives */
extern int pipe(int *);
extern int dup(int);
extern int dup2(int, int);
extern int close(int);
extern ssize_t read(int, void *, size_t);
extern ssize_t write(int, const void *, size_t);
#ifdef __TYPES_H
extern int ftruncate(int, off_t);
extern off_t lseek(int, off_t, int);
#endif
/* device- and class-specific functions */
#ifdef __TYPES_H
extern pid_t tcgetpgrp(int);
extern int tcsetpgrp(int, pid_t);
#endif
#ifdef _REENTRANT_SOURCE
extern char *getlogin_r(char *, int);
#endif
/* berkeley specific functions */
#ifdef _BSD_EXTENSION
#include <bsd.h>
#endif
#ifdef __cplusplus
}
#endif
#endif
|