xref: /freebsd/contrib/tcpdump/lbl/os-solaris2.h (revision 4edb46e9a85ca35d3bed523171d11a748861ce82)
14edb46e9SPaul Traina /*
24edb46e9SPaul Traina  * Copyright (c) 1993, 1994, 1995, 1996
34edb46e9SPaul Traina  *	The Regents of the University of California.  All rights reserved.
44edb46e9SPaul Traina  *
54edb46e9SPaul Traina  * Redistribution and use in source and binary forms, with or without
64edb46e9SPaul Traina  * modification, are permitted provided that: (1) source code distributions
74edb46e9SPaul Traina  * retain the above copyright notice and this paragraph in its entirety, (2)
84edb46e9SPaul Traina  * distributions including binary code include the above copyright notice and
94edb46e9SPaul Traina  * this paragraph in its entirety in the documentation or other materials
104edb46e9SPaul Traina  * provided with the distribution, and (3) all advertising materials mentioning
114edb46e9SPaul Traina  * features or use of this software display the following acknowledgement:
124edb46e9SPaul Traina  * ``This product includes software developed by the University of California,
134edb46e9SPaul Traina  * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
144edb46e9SPaul Traina  * the University nor the names of its contributors may be used to endorse
154edb46e9SPaul Traina  * or promote products derived from this software without specific prior
164edb46e9SPaul Traina  * written permission.
174edb46e9SPaul Traina  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
184edb46e9SPaul Traina  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
194edb46e9SPaul Traina  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
204edb46e9SPaul Traina  *
214edb46e9SPaul Traina  * @(#) $Header: os-solaris2.h,v 1.16 96/07/05 22:11:23 leres Exp $ (LBL)
224edb46e9SPaul Traina  */
234edb46e9SPaul Traina 
244edb46e9SPaul Traina /* Signal routines are this type */
254edb46e9SPaul Traina #define SIGRET void
264edb46e9SPaul Traina /* Signal routines use "return SIGRETVAL;" */
274edb46e9SPaul Traina #define SIGRETVAL
284edb46e9SPaul Traina /* The wait() status variable is this type */
294edb46e9SPaul Traina #define WAITSTATUS int
304edb46e9SPaul Traina 
314edb46e9SPaul Traina #define major(x)	((int)(((unsigned)(x)>>8)&0377))
324edb46e9SPaul Traina #define minor(x)	((int)((x)&0377))
334edb46e9SPaul Traina 
344edb46e9SPaul Traina /* Prototypes missing in SunOS 5 */
354edb46e9SPaul Traina int	daemon(int, int);
364edb46e9SPaul Traina int	dn_expand(u_char *, u_char *, u_char *, u_char *, int);
374edb46e9SPaul Traina int	dn_skipname(u_char *, u_char *);
384edb46e9SPaul Traina int	getdtablesize(void);
394edb46e9SPaul Traina int	gethostname(char *, int);
404edb46e9SPaul Traina char	*getusershell(void);
414edb46e9SPaul Traina char	*getwd(char *);
424edb46e9SPaul Traina int	iruserok(u_int, int, char *, char *);
434edb46e9SPaul Traina #ifdef __STDC__
444edb46e9SPaul Traina struct	utmp;
454edb46e9SPaul Traina void	login(struct utmp *);
464edb46e9SPaul Traina #endif
474edb46e9SPaul Traina int	logout(const char *);
484edb46e9SPaul Traina int	res_query(char *, int, int, u_char *, int);
494edb46e9SPaul Traina int	setenv(const char *, const char *, int);
504edb46e9SPaul Traina #if defined(_STDIO_H) && defined(HAVE_SETLINEBUF)
514edb46e9SPaul Traina int	setlinebuf(FILE *);
524edb46e9SPaul Traina #endif
534edb46e9SPaul Traina int	sigblock(int);
544edb46e9SPaul Traina int	sigsetmask(int);
554edb46e9SPaul Traina char    *strerror(int);
564edb46e9SPaul Traina int	snprintf(char *, size_t, const char *, ...);
574edb46e9SPaul Traina int	strcasecmp(const char *, const char *);
584edb46e9SPaul Traina void	unsetenv(const char *);
594edb46e9SPaul Traina #ifdef __STDC__
604edb46e9SPaul Traina struct	timeval;
614edb46e9SPaul Traina #endif
624edb46e9SPaul Traina int	utimes(const char *, struct timeval *);
634edb46e9SPaul Traina 
644edb46e9SPaul Traina /* Solaris signal compat */
654edb46e9SPaul Traina #ifndef sigmask
664edb46e9SPaul Traina #define sigmask(m)	(1 << ((m)-1))
674edb46e9SPaul Traina #endif
684edb46e9SPaul Traina #ifndef signal
694edb46e9SPaul Traina #define signal(s, f)	sigset(s, f)
704edb46e9SPaul Traina #endif
714edb46e9SPaul Traina 
724edb46e9SPaul Traina /* Solaris random compat */
734edb46e9SPaul Traina #ifndef srandom
744edb46e9SPaul Traina #define srandom(seed) srand48((long)seed)
754edb46e9SPaul Traina #endif
764edb46e9SPaul Traina #ifndef random
774edb46e9SPaul Traina #define random() lrand48()
784edb46e9SPaul Traina #endif
794edb46e9SPaul Traina 
804edb46e9SPaul Traina #ifndef CBREAK
814edb46e9SPaul Traina #define CBREAK	O_CBREAK
824edb46e9SPaul Traina #define CRMOD	O_CRMOD
834edb46e9SPaul Traina #define RAW	O_RAW
844edb46e9SPaul Traina #define TBDELAY	O_TBDELAY
854edb46e9SPaul Traina #endif
864edb46e9SPaul Traina 
874edb46e9SPaul Traina #ifndef TIOCPKT_DATA
884edb46e9SPaul Traina #define		TIOCPKT_DATA		0x00	/* data packet */
894edb46e9SPaul Traina #define		TIOCPKT_FLUSHREAD	0x01	/* flush packet */
904edb46e9SPaul Traina #define		TIOCPKT_FLUSHWRITE	0x02	/* flush packet */
914edb46e9SPaul Traina #define		TIOCPKT_STOP		0x04	/* stop output */
924edb46e9SPaul Traina #define		TIOCPKT_START		0x08	/* start output */
934edb46e9SPaul Traina #define		TIOCPKT_NOSTOP		0x10	/* no more ^S, ^Q */
944edb46e9SPaul Traina #define		TIOCPKT_DOSTOP		0x20	/* now do ^S ^Q */
954edb46e9SPaul Traina #define		TIOCPKT_IOCTL		0x40	/* state change of pty driver */
964edb46e9SPaul Traina #endif
974edb46e9SPaul Traina 
984edb46e9SPaul Traina #ifndef STDERR_FILENO
994edb46e9SPaul Traina #define STDERR_FILENO 2
1004edb46e9SPaul Traina #define STDOUT_FILENO 1
1014edb46e9SPaul Traina #define STDIN_FILENO 0
1024edb46e9SPaul Traina #endif
1034edb46e9SPaul Traina 
1044edb46e9SPaul Traina #ifndef FD_SET
1054edb46e9SPaul Traina #define FD_SET(n, p)	((p)->fds_bits[0] |= (1<<(n)))
1064edb46e9SPaul Traina #define FD_CLR(n, p)	((p)->fds_bits[0] &= ~(1<<(n)))
1074edb46e9SPaul Traina #define FD_ISSET(n, p)	((p)->fds_bits[0] & (1<<(n)))
1084edb46e9SPaul Traina #define FD_ZERO(p)	((p)->fds_bits[0] = 0)
1094edb46e9SPaul Traina #endif
1104edb46e9SPaul Traina 
1114edb46e9SPaul Traina #ifndef S_ISTXT
1124edb46e9SPaul Traina #define S_ISTXT S_ISVTX
1134edb46e9SPaul Traina #endif
114