1 /*
2  * Copyright (c) 1992-1998 Michael A. Cooper.
3  * This software may be freely used and distributed provided it is not
4  * sold for profit or used in part or in whole for commercial gain
5  * without prior written agreement, and the author is credited
6  * appropriately.
7  */
8 
9 /*
10  * $Id: os-irix5.h,v 1.4 1998/11/10 03:59:58 mcooper Exp $
11  */
12 
13 /*
14  * IRIX 5.x - System V Release 4 (SVR4)
15  */
16 
17 /*
18  * Define the following name for use in #ifdef's.
19  * The value should be all upper-case with no periods (.).
20  */
21 #if	!defined(SVR4)
22 #define SVR4
23 #endif
24 
25 /*
26  * Set process args to messages that show up when running ps(1)
27  *
28  * Under some OS's, the SETARGS code will cause ": is not an identifier"
29  * errors for "special" commands.
30  */
31 #define SETARGS
32 
33 /*
34  * Define the type of directory routines your system has.
35  */
36 #define DIR_TYPE	DIR_DIRENT
37 
38 /*
39  * Determine what routines we have to get filesystem info.
40  */
41 #define FSI_TYPE	FSI_GETMNTENT
42 
43 /*
44  * Type of non-blocking I/O.
45  */
46 #define NBIO_TYPE	NBIO_FCNTL
47 
48 /*
49  * Type of wait() function to use.
50  */
51 #define WAIT_TYPE	WAIT_WAITPID
52 
53 /*
54  * Type of argument passed to wait() (above).
55  */
56 #define WAIT_ARG_TYPE	int
57 
58 /*
59  * Select the type of executable file format.
60  */
61 #define EXE_TYPE	EXE_ELF
62 
63 /*
64  * Select the type of statfs() system call (if any).
65  */
66 #define STATFS_TYPE	STATFS_BSD
67 
68 /*
69  * Type of arg functions we have.
70  */
71 #define ARG_TYPE	ARG_STDARG
72 
73 /*
74  * Do we have select()?
75  */
76 #define HAVE_SELECT
77 
78 /*
79  * Type of signal handling functions.
80  */
81 #if	!defined(POSIX_SIGNALS)
82 #define POSIX_SIGNALS
83 #endif
84 
85 #include <signal.h>
86 #define signal(s,a) sigset(s,(void(*)())a)
87 
88 /*
89  * System V compatibility
90  */
91 #include <string.h>
92 
93 #define bcopy(a,b,c) 	memcpy(b,a,c)
94 #define bzero(a,b) 	memset(a,0,b)
95 #define setlinebuf(a)	setvbuf(a, NULL, _IOLBF, BUFSIZ)
96 
97 /*
98  * UID argument type for chown()
99  */
100 typedef uid_t CHOWN_UID_T;
101 
102 /*
103  * GID argument type for chown()
104  */
105 typedef gid_t CHOWN_GID_T;
106 
107 /*
108  * Our types
109  */
110 typedef uid_t UID_T;	/* Must be signed */
111 typedef gid_t GID_T;	/* Must be signed */
112 
113 /*
114  * Generic pointer, used by memcpy, malloc, etc.  Usually char or void.
115  */
116 typedef void POINTER;
117 
118 /*
119  * Type of set file time function available
120  */
121 #define SETFTIME_TYPE	SETFTIME_UTIMES
122 
123 /*
124  * We have fchown()
125  */
126 #define HAVE_FCHOWN
127 
128 /*
129  * We have fchmod()
130  */
131 #define HAVE_FCHMOD
132 
133 /*
134  * We have ftruncate()
135  */
136 #define HAVE_FTRUNCATE
137 
138 /*
139  * Path to remote shell command
140  */
141 #define _PATH_REMSH	"/usr/bsd/rsh"
142 
143