xref: /onnv-gate/usr/src/lib/libast/common/features/sys (revision 10898:1883b621b3ea)
1*4887Schinset	prototyped
2*4887Schiniff	AST_SYS
3*4887Schinref	-D_def_map_ast
4*4887Schin
5*4887Schinprint	#if __mips == 2 && !defined(_NO_LARGEFILE64_SOURCE)
6*4887Schinprint	#define	_NO_LARGEFILE64_SOURCE	1
7*4887Schinprint	#endif
8*4887Schinprint	#if !defined(_NO_LARGEFILE64_SOURCE) && _typ_off64_t && _lib_lseek64 && _lib_stat64
9*4887Schinprint	#if !defined(_LARGEFILE64_SOURCE)
10*4887Schinprint	#define _LARGEFILE64_SOURCE	1
11*4887Schinprint	#endif
12*4887Schinprint	#if !defined(_LARGEFILE_SOURCE)
13*4887Schinprint	#define _LARGEFILE_SOURCE	1
14*4887Schinprint	#endif
15*4887Schinprint	#else
16*4887Schinprint	#undef	_LARGEFILE64_SOURCE
17*4887Schinprint	#undef	_LARGEFILE_SOURCE
18*4887Schinprint	#undef	_typ_off64_t
19*4887Schinprint	#undef	_typ_struct_dirent64
20*4887Schinprint	#undef	_lib_creat64
21*4887Schinprint	#undef	_lib_fstat64
22*4887Schinprint	#undef	_lib_fstatvfs64
23*4887Schinprint	#undef	_lib_ftruncate64
24*4887Schinprint	#undef	_lib_lseek64
25*4887Schinprint	#undef	_lib_lstat64
26*4887Schinprint	#undef	_lib_mmap64
27*4887Schinprint	#undef	_lib_open64
28*4887Schinprint	#undef	_lib_readdir64
29*4887Schinprint	#undef	_lib_stat64
30*4887Schinprint	#undef	_lib_statvfs64
31*4887Schinprint	#undef	_lib_truncate64
32*4887Schinprint	#endif
33*4887Schin
34*4887Schinprint	#if defined(__STDC__) && !defined(__USE_FIXED_PROTOTYPES__)
35*4887Schinprint	#define __USE_FIXED_PROTOTYPES__	1	/* kick gcc out of the past */
36*4887Schinprint	#endif
37*4887Schin
38*4887Schinheader	stdlib.h
39*4887Schinheader	stddef.h
40*4887Schinheader	sys/types.h
41*4887Schinheader	stdint.h
42*4887Schinheader	inttypes.h
43*4887Schinheader	string.h
44*4887Schinheader	unistd.h
45*4887Schinheader	limits.h
46*4887Schinheader	fcntl.h
47*4887Schinheader	locale.h
48*4887Schin
49*4887Schintyp dev_t,nlink_t fail{
50*4887Schin	echo "#ifndef $m"
51*4887Schin	echo "#define $m	1"
52*4887Schin	echo "typedef short $v;"
53*4887Schin	echo "#endif"
54*4887Schin}end
55*4887Schintyp gid_t,mode_t,uid_t fail{
56*4887Schin	echo "#ifndef $m"
57*4887Schin	echo "#define $m	1"
58*4887Schin	echo "typedef unsigned short $v;"
59*4887Schin	echo "#endif"
60*4887Schin}end
61*4887Schintyp wchar_t stdio.h wchar.h fail{
62*4887Schin	echo "#ifndef $m"
63*4887Schin	echo "#define $m	1"
64*4887Schin	echo "typedef unsigned short $v;"
65*4887Schin	echo "#endif"
66*4887Schin}end
67*4887Schintyp pid_t,ssize_t fail{
68*4887Schin	echo "#ifndef $m"
69*4887Schin	echo "#define $m	1"
70*4887Schin	echo "typedef int $v;"
71*4887Schin	echo "#endif"
72*4887Schin}end
73*4887Schintyp wint_t stdio.h wchar.h fail{
74*4887Schin	echo "#ifndef $m"
75*4887Schin	echo "#define $m	1"
76*4887Schin	echo "typedef int $v;"
77*4887Schin	echo "#endif"
78*4887Schin}end
79*4887Schintyp socklen_t sys/socket.h fail{
80*4887Schin	echo "#ifndef $m"
81*4887Schin	echo "#define $m	1"
82*4887Schin	echo "typedef int $v;"
83*4887Schin	echo "#endif"
84*4887Schin}end
85*4887Schintyp size_t fail{
86*4887Schin	echo "#ifndef $m"
87*4887Schin	echo "#define $m	1"
88*4887Schin	echo "typedef unsigned int $v;"
89*4887Schin	echo "#endif"
90*4887Schin}end
91*4887Schintyp clock_t,ino_t,off_t,ptrdiff_t fail{
92*4887Schin	echo "#ifndef $m"
93*4887Schin	echo "#define $m	1"
94*4887Schin	echo "typedef long $v;"
95*4887Schin	echo "#endif"
96*4887Schin}end
97*4887Schintyp time_t fail{
98*4887Schin	echo "#ifndef $m"
99*4887Schin	echo "#define $m	1"
100*4887Schin	echo "typedef unsigned long $v;"
101*4887Schin	echo "#endif"
102*4887Schin}end
103*4887Schintyp div_t fail{
104*4887Schin	echo "#ifndef $m"
105*4887Schin	echo "#define $m	1"
106*4887Schin	echo "typedef struct { int quot; int rem; } $v;"
107*4887Schin	echo "#endif"
108*4887Schin}end
109*4887Schintyp ldiv_t fail{
110*4887Schin	echo "#ifndef $m"
111*4887Schin	echo "#define $m	1"
112*4887Schin	echo "typedef struct { long quot; long rem; } $v;"
113*4887Schin	echo "#endif"
114*4887Schin}end
115*4887Schintst	typ_signed_size_t output{
116*4887Schin	#include <sys/types.h>
117*4887Schin	int
118*4887Schin	main()
119*4887Schin	{
120*4887Schin		unsigned long u = ~0;
121*4887Schin		size_t s = ~0;
122*4887Schin		if (s >= 0)
123*4887Schin			return 1;
124*4887Schin		printf("#if !defined(__cplusplus) && !defined(c_plusplus) && !defined(_typ_signed_size_t)\n/* what dipsticks made size_t signed? sun. */\ntypedef unsigned %s _ast_size_t;\n#undef\tsize_t\n#define size_t\t_ast_size_t\n#endif\n", u == (unsigned long)s ? "long" : "int");
125*4887Schin		return 0;
126*4887Schin	}
127*4887Schin}end
128*4887Schin
129*4887Schindefine	offsetof	(type,member)	((size_t)&(((type*)0)->member))
130*4887Schindefine	EXIT_FAILURE	1
131*4887Schindefine	EXIT_SUCCESS	0
132*4887Schindefine	MB_CUR_MAX	1
133*4887Schindefine	RAND_MAX	32767
134*4887Schin
135*4887Schindefine	STDIN_FILENO	0
136*4887Schindefine	STDOUT_FILENO	1
137*4887Schindefine	STDERR_FILENO	2
138*4887Schin
139*4887Schindefine	NULL		0
140*4887Schin
141*4887Schindefine	SEEK_SET	0
142*4887Schindefine	SEEK_CUR	1
143*4887Schindefine	SEEK_END	2
144*4887Schin
145*4887Schindefine	F_OK		0
146*4887Schindefine	X_OK		1
147*4887Schindefine	W_OK		2
148*4887Schindefine	R_OK		4
149*4887Schin
150*4887Schinprint	#if _BLD_ast && defined(__EXPORT__)
151*4887Schinprint	#define extern	__EXPORT__
152*4887Schinprint	#endif
153*4887Schin
154*4887Schinextern	_exit		void		(int)
155*4887Schinextern	abort		void		(void)
156*4887Schinextern	abs		int		(int)
157*4887Schinextern	access		int		(const char*, int)
158*4887Schinextern	alarm		unsigned	(unsigned)
159*4887Schinextern	atexit		int		(void(*)(void))
160*4887Schinextern	atof		double		(const char*)
161*4887Schinextern	atoi		int		(const char*)
162*4887Schinextern	atol		long		(const char*)
163*4887Schinextern	bsearch		void*		(const void*, const void*, size_t, size_t, int(*)(const void*, const void*))
164*4887Schinextern	calloc		void*		(size_t, size_t)
165*4887Schinextern	cfree		void		(void*)
166*4887Schinextern	chdir		int		(const char*)
167*4887Schinextern	chown		int		(const char*, uid_t, gid_t)
168*4887Schinextern	close		int		(int)
169*4887Schinextern	confstr		size_t		(int, char*, size_t)
170*4887Schinextern	div		div_t		(int, int)
171*4887Schinextern	dup		int		(int)
172*4887Schinextern	dup2		int		(int, int)
173*4887Schinextern	eaccess		int		(const char*, int)
174*4887Schinextern	execl		int		(const char*, const char*, ...)
175*4887Schinextern	execle		int		(const char*, const char*, ...)
176*4887Schinextern	execlp		int		(const char*, const char*, ...)
177*4887Schinextern	execv		int		(const char*, char* const[])
178*4887Schinextern	execve		int		(const char*, char* const[], char* const[])
179*4887Schinextern	execve		int		(const char*, char* const[], char* const[])
180*4887Schinextern	execvp		int		(const char*, char* const[])
181*4887Schinextern	execvpe		int		(const char*, char* const[], char* const[])
182*4887Schinextern	exit		void		(int)
183*4887Schinextern	fork		pid_t		(void)
184*4887Schinextern	fpathconf	long		(int, int)
185*4887Schinextern	free		void		(void*)
186*4887Schinextern	fsync		int		(int)
187*4887Schinextern	ftruncate	int		(int, off_t)
188*4887Schinextern	getcwd		char*		(char*, size_t)
189*4887Schinextern	getegid		gid_t		(void)
190*4887Schinextern	getenv		char*		(const char*)
191*4887Schinextern	geteuid		uid_t		(void)
192*4887Schinextern	getgid		gid_t		(void)
193*4887Schinextern	getgroups	int		(int, gid_t[])
194*4887Schinextern	getlogin	char*		(void)
195*4887Schinextern	getpgrp		pid_t		(void)
196*4887Schinextern	getpid		pid_t		(void)
197*4887Schinextern	getppid		pid_t		(void)
198*4887Schinextern	gettxt		char*		(const char*, const char*)
199*4887Schinextern	getuid		uid_t		(void)
200*4887Schinextern	isatty		int		(int)
201*4887Schinextern	labs		long		(long)
202*4887Schinextern	ldiv		ldiv_t		(long, long)
203*4887Schinextern	link		int		(const char*, const char*)
204*4887Schinextern	lseek		off_t		(int, off_t, int)
205*4887Schinextern	malloc		void*		(size_t)
206*4887Schinextern	mblen		int		(const char*, size_t)
207*4887Schinextern	mbstowcs	size_t		(wchar_t*, const char*, size_t)
208*4887Schinextern	mbtowc		int		(wchar_t*, const char*, size_t)
209*4887Schinextern	memalign	void*		(size_t, size_t)
210*4887Schinextern	memccpy		void*		(void*, const void*, int, size_t)
211*4887Schinextern	memchr		void*		(const void*, int, size_t)
212*4887Schinextern	memcmp		int		(const void*, const void*, size_t)
213*4887Schinextern	memcpy		void*		(void*, const void*, size_t)
214*4887Schinextern	memmove		void*		(void*, const void*, size_t)
215*4887Schinextern	memset		void*		(void*, int, size_t)
216*4887Schinextern	pathconf	long		(const char*, int)
217*4887Schinextern	pause		int		(void)
218*4887Schinextern	pipe		int		(int[])
219*4887Schinextern	pvalloc		void*		(size_t)
220*4887Schinextern	qsort		void		(void*, size_t, size_t, int(*)(const void*, const void*))
221*4887Schinextern	rand		int		(void)
222*4887Schinextern	read		ssize_t		(int, void*, size_t)
223*4887Schinextern	realloc		void*		(void*, size_t)
224*4887Schinextern	realpath	char*		(const char*, char*)
225*4887Schinextern	resolvepath	char*		(const char*, char*, size_t)
226*4887Schinextern	rmdir		int		(const char*)
227*4887Schinextern	setgid		int		(gid_t)
228*4887Schinextern	setpgid		int		(pid_t, pid_t)
229*4887Schinextern	setsid		pid_t		(void)
230*4887Schinextern	setuid		int		(uid_t)
231*4887Schinextern	sleep		unsigned		(unsigned int)
232*4887Schinextern	spawnveg	pid_t		(const char*, char* const[], char* const[], pid_t)
233*4887Schinextern	srand		void		(unsigned int)
234*4887Schinextern	strcasecmp	int		(const char*, const char*)
235*4887Schinextern	strcat		char*		(char*, const char*)
236*4887Schinextern	strchr		char*		(const char*, int)
237*4887Schinextern	strcmp		int		(const char*, const char*)
238*4887Schinextern	strcoll		int		(const char*, const char*)
239*4887Schinextern	strcpy		char*		(char*, const char*)
240*4887Schinextern	strcspn		size_t		(const char*, const char*)
241*4887Schinextern	strdup		char*		(const char*)
242*4887Schinextern	strlcat		size_t		(char*, const char*, size_t)
243*4887Schinextern	strlcpy		size_t		(char*, const char*, size_t)
244*4887Schinextern	strlen		size_t		(const char*)
245*4887Schinextern	strncasecmp	int		(const char*, const char*, size_t)
246*4887Schinextern	strncat		char*		(char*, const char*, size_t)
247*4887Schinextern	strncmp		int		(const char*, const char*, size_t)
248*4887Schinextern	strncpy		char*		(char*, const char*, size_t)
249*4887Schinextern	strpbrk		char*		(const char*, const char*)
250*4887Schinextern	strrchr		char*		(const char*, int)
251*4887Schinextern	strspn		size_t		(const char*, const char*)
252*4887Schinextern	strstr		char*		(const char*, const char*)
253*4887Schinextern	strtok		char*		(char*, const char*)
254*4887Schinextern	strxfrm		size_t		(char*, const char*, size_t)
255*4887Schinextern	swab		void		(const void*, void*, ssize_t)
256*4887Schinextern	sysconf		long		(int)
257*4887Schinextern	system		int		(const char*)
258*4887Schinextern	tcgetpgrp	pid_t		(int)
259*4887Schinextern	tcsetpgrp	int		(int, pid_t)
260*4887Schinextern	truncate	int		(const char*, off_t)
261*4887Schinextern	ttyname		char*		(int)
262*4887Schinextern	unlink		int		(const char*)
263*4887Schinextern	valloc		void*		(size_t)
264*4887Schinextern	wcstombs	size_t		(char*, const wchar_t*, size_t)
265*4887Schinextern	wctomb		int		(char*, wchar_t)
266*4887Schinextern	write		ssize_t		(int, const void*, size_t)
267*4887Schin
268*4887Schinprint	#undef	extern
269*4887Schin
270*4887Schin# <stdarg.h> is handled by proto so this must be after the last test
271*4887Schin
272*4887Schinprint	#include <stdarg.h>
273