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