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
|
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2001 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* Copyright (c) 1984 AT&T */
/* All Rights Reserved */
#ifndef _BC_SYS_UNISTD_H
#define _BC_SYS_UNISTD_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
/* WARNING: _SC_CLK_TCK and sysconf() are also defined/declared in <time.h>. */
#define _SC_ARG_MAX 1 /* space for argv & envp */
#define _SC_CHILD_MAX 2 /* maximum children per process??? */
#define _SC_CLK_TCK 3 /* clock ticks/sec */
#define _SC_NGROUPS_MAX 4 /* number of groups if multple supp. */
#define _SC_OPEN_MAX 5 /* max open files per process */
#define _SC_JOB_CONTROL 6 /* do we have job control */
#define _SC_SAVED_IDS 7 /* do we have saved uid/gids */
#define _SC_VERSION 8 /* POSIX version supported */
#define _POSIX_JOB_CONTROL 1
#define _POSIX_SAVED_IDS 1
#define _POSIX_VERSION 198808
#define _PC_LINK_MAX 1 /* max links to file/dir */
#define _PC_MAX_CANON 2 /* max line length */
#define _PC_MAX_INPUT 3 /* max "packet" to a tty device */
#define _PC_NAME_MAX 4 /* max pathname component length */
#define _PC_PATH_MAX 5 /* max pathname length */
#define _PC_PIPE_BUF 6 /* size of a pipe */
#define _PC_CHOWN_RESTRICTED 7 /* can we give away files */
#define _PC_NO_TRUNC 8 /* trunc or error on >NAME_MAX */
#define _PC_VDISABLE 9 /* best char to shut off tty c_cc */
#define _PC_LAST 9 /* highest value of any _PC_* */
#define STDIN_FILENO 0
#define STDOUT_FILENO 1
#define STDERR_FILENO 2
#ifndef NULL
#define NULL 0
#endif
#ifndef _POSIX_SOURCE
/*
* SVID lockf() requests
*/
#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 other processes locks */
/* Path names: */
#define GF_PATH "/etc/group"
#define PF_PATH "/etc/passwd"
#endif /* !_POSIX_SOURCE */
/*
* lseek & access args
*
* SEEK_* have to track L_* in sys/file.h & SEEK_* in 5include/stdio.h
* ?_OK have to track ?_OK in sys/file.h
*/
#ifndef SEEK_SET
#define SEEK_SET 0 /* Set file pointer to "offset" */
#define SEEK_CUR 1 /* Set file pointer to current plus "offset" */
#define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
#endif
#define F_OK 0 /* does file exist */
#define X_OK 1 /* is it executable by caller */
#define W_OK 2 /* is it writable by caller */
#define R_OK 4 /* is it readable by caller */
#include <sys/types.h>
extern void _exit(int);
extern int access(char *, int);
extern unsigned alarm(unsigned);
extern int chdir(char *);
extern int chmod(char *, mode_t);
extern int chown(char *, uid_t, gid_t);
extern int close(int);
extern char *ctermid(char *);
extern char *cuserid(char *);
extern int dup(int);
extern int dup2(int, int);
extern int execl(char *, ...);
extern int execle(char *, ...);
extern int execlp(char *, ...);
extern int execv(char *, char *[]);
extern int execve(char *, char *[], char *[]);
extern int execvp(char *, char *[]);
extern pid_t fork(void);
extern long fpathconf(int, int);
extern char *getcwd(char *, int);
extern gid_t getegid(void);
extern uid_t geteuid(void);
extern gid_t getgid(void);
extern int getgroups(int, gid_t []);
extern char *getlogin(void);
extern pid_t getpgrp(void);
extern pid_t getpid(void);
extern pid_t getppid(void);
extern uid_t getuid(void);
extern int isatty(int);
extern int link(char *, char *);
extern off_t lseek(int, off_t, int);
extern long pathconf(char *, int);
extern int pause(void);
extern int pipe(int [2]);
extern int read(int, char *, int);
extern int rmdir(char *);
extern int setgid(gid_t);
extern int setpgid(pid_t, pid_t);
extern pid_t setsid(void);
extern int setuid(uid_t);
extern unsigned sleep(unsigned int);
extern long sysconf(int);
extern pid_t tcgetpgrp(int);
extern int tcsetpgrp(int, pid_t);
extern char *ttyname(int);
extern int unlink(char *);
extern int write(int, char *, int);
#ifdef __cplusplus
}
#endif
#endif /* _BC_SYS_UNISTD_H */
|