Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

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