Subversion Repositories planix.SVN

Rev

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

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