2086
|
1 /* This file is part of the Project Athena Zephyr Notification System.
|
|
2 * It contains system-dependent header code.
|
|
3 *
|
|
4 * Created by: Greg Hudson
|
|
5 *
|
|
6 * $Source$
|
10867
|
7 * $Author: thekingant $
|
2086
|
8 * $Zephyr: /mit/zephyr/src/include/zephyr/RCS/zephyr_conf.h,v 1.8 90/12/21 17:40:40 raeburn Exp $
|
|
9 *
|
|
10 * Copyright (c) 1988,1991 by the Massachusetts Institute of Technology.
|
|
11 * For copying and distribution information, see the file
|
|
12 * "mit-copyright.h".
|
|
13 */
|
|
14
|
|
15 #ifndef __SYSDEP_H__
|
|
16 #define __SYSDEP_H__
|
|
17
|
|
18 #include <config.h>
|
|
19 #include <stdio.h>
|
|
20 #include <errno.h>
|
|
21 #include <ctype.h>
|
|
22 #include <time.h>
|
|
23 #include <signal.h>
|
10867
|
24 #ifndef WIN32
|
2086
|
25 #include <syslog.h>
|
10867
|
26 #endif
|
|
27
|
2086
|
28 #include <sys/types.h>
|
|
29 #include <sys/stat.h>
|
|
30 #include <sys/param.h>
|
|
31 #include <sys/time.h>
|
|
32
|
|
33 #ifdef STDC_HEADERS
|
|
34 # include <stdlib.h>
|
|
35 #else
|
|
36 # ifdef HAVE_MALLOC_H
|
|
37 # include <malloc.h>
|
|
38 # else
|
|
39 char *malloc(), *realloc();
|
|
40 # endif
|
|
41 char *getenv(), *strerror(), *ctime(), *strcpy();
|
|
42 time_t time();
|
|
43 ZEPHYR_INT32 random();
|
|
44 #endif
|
|
45
|
|
46 #ifndef HAVE_RANDOM
|
|
47 #ifdef HAVE_LRAND48
|
|
48 #define random lrand48
|
|
49 #define srandom srand48
|
|
50 #else
|
|
51 #define random rand
|
|
52 #define srandom srand
|
|
53 #endif
|
|
54 #endif
|
|
55
|
|
56 #ifndef HAVE_STRERROR
|
|
57 extern char *sys_errlist[];
|
|
58 # define strerror(x) (sys_errlist[(x)])
|
|
59 #endif
|
|
60
|
|
61 /* Strings. */
|
|
62 #ifdef STDC_HEADERS
|
|
63 # include <string.h>
|
|
64 #else
|
|
65 # ifndef HAVE_STRCHR
|
|
66 # define strchr index
|
|
67 # define strrchr rindex
|
|
68 # endif
|
|
69 char *strchr(), *strrchr();
|
|
70 # ifndef HAVE_MEMCPY
|
|
71 # define memcpy(d, s, n) bcopy ((s), (d), (n))
|
|
72 # define memcmp bcmp
|
|
73 # endif
|
|
74 # ifndef HAVE_MEMMOVE
|
|
75 # define memmove(d, s, n) bcopy ((s), (d), (n))
|
|
76 # endif
|
|
77 #endif
|
|
78
|
|
79 /* Exit status handling and wait(). */
|
|
80 #ifdef HAVE_SYS_WAIT_H
|
|
81 # include <sys/wait.h>
|
|
82 #endif
|
|
83 #ifndef WEXITSTATUS
|
|
84 # define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
|
|
85 #endif
|
|
86 #ifndef WIFEXITED
|
|
87 # define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
|
|
88 #endif
|
|
89
|
|
90 #ifdef HAVE_SYS_CDEFS_H
|
|
91 #include <sys/cdefs.h>
|
|
92 #endif
|
|
93
|
|
94 /* Because we have public header files (and our prototypes need to agree with
|
|
95 * those header files, use __STDC__ to guess whether the compiler can handle
|
|
96 * stdarg, const, and prototypes. */
|
|
97 #ifdef __STDC__
|
|
98 # include <stdarg.h>
|
|
99 # define VA_START(ap, last) va_start(ap, last)
|
|
100 # ifndef __P
|
|
101 # define __P(x) x
|
|
102 # endif
|
|
103 #else
|
|
104 # include <varargs.h>
|
|
105 # define VA_START(ap, last) va_start(ap)
|
|
106 # define const
|
|
107 # ifndef __P
|
|
108 # define __P(x) ()
|
|
109 # endif
|
|
110 #endif
|
|
111
|
|
112 /* openlog(). */
|
|
113 #ifdef LOG_AUTH
|
|
114 /* A decent syslog */
|
|
115 #define OPENLOG(str, opts, facility) openlog(str, opts, facility)
|
|
116 #else
|
|
117 /* Probably a 4.2-type syslog */
|
|
118 #define OPENLOG(str, opts, facility) openlog(str, opts)
|
|
119 #endif
|
|
120
|
|
121 #ifdef HAVE_FCNTL_H
|
|
122 # include <fcntl.h>
|
|
123 #endif
|
|
124
|
|
125 #ifdef HAVE_PATHS_H
|
|
126 # include <paths.h>
|
|
127 # define TEMP_DIRECTORY _PATH_VARTMP
|
|
128 #else
|
|
129 # define TEMP_DIRECTORY FOUND_TMP
|
|
130 #endif
|
|
131
|
|
132 #ifdef HAVE_UNISTD_H
|
|
133 # include <unistd.h>
|
|
134 #else
|
|
135 # ifdef HAVE_SYS_FILE_H
|
|
136 # include <sys/file.h>
|
|
137 # endif
|
|
138 uid_t getuid();
|
|
139 char *ttyname();
|
|
140 #ifdef HAVE_GETHOSTID
|
|
141 ZEPHYR_INT32 gethostid();
|
|
142 #endif
|
|
143 #endif
|
|
144
|
|
145 #ifndef STDIN_FILENO
|
|
146 #define STDIN_FILENO 0
|
|
147 #define STDOUT_FILENO 1
|
|
148 #define STDERR_FILENO 2
|
|
149 #endif
|
|
150
|
|
151 #ifdef HAVE_TERMIOS_H
|
|
152 # include <termios.h>
|
|
153 #else
|
|
154 # ifdef HAVE_SYS_FILIO_H
|
|
155 # include <sys/filio.h>
|
|
156 # else
|
|
157 # ifdef HAVE_SGTTY_H
|
|
158 # include <sgtty.h>
|
|
159 # endif
|
|
160 # ifdef HAVE_SYS_IOCTL_H
|
|
161 # include <sys/ioctl.h>
|
|
162 # endif
|
|
163 # endif
|
|
164 #endif
|
|
165
|
|
166 /* Kerberos compatibility. */
|
|
167 #ifdef ZEPHYR_USES_KERBEROS
|
|
168 # include <krb.h>
|
10867
|
169 #ifdef WIN32
|
|
170
|
|
171 #else
|
2086
|
172 # include <krb_err.h>
|
10867
|
173 #endif /* WIN32 */
|
2086
|
174 # include <des.h>
|
10867
|
175 #ifndef WIN32
|
2086
|
176 # ifndef HAVE_KRB_GET_ERR_TEXT
|
|
177 # define krb_get_err_text(n) krb_err_txt[n]
|
|
178 # endif
|
10867
|
179 #endif /* WIN32 */
|
2086
|
180 # ifndef HAVE_KRB_LOG
|
|
181 # define krb_log log
|
|
182 # endif
|
10867
|
183 #endif /* ZEPHYR_USES_KERBEROS */
|
2086
|
184
|
|
185 #ifdef HAVE_SYS_UIO_H
|
|
186 # include <sys/uio.h>
|
|
187 #endif
|
|
188
|
|
189 #ifdef HAVE_SYS_UTSNAME_H
|
|
190 # include <sys/utsname.h>
|
|
191 #endif
|
|
192
|
|
193 #ifdef HAVE_SYS_SELECT_H
|
|
194 # include <sys/select.h>
|
|
195 #endif
|
|
196
|
|
197 #ifdef HAVE_SYS_MSGBUF_H
|
|
198 #include <sys/msgbuf.h>
|
|
199 #endif
|
|
200
|
|
201 #ifndef MSG_BSIZE
|
|
202 #define MSG_BSIZE BUFSIZ
|
|
203 #endif
|
|
204
|
|
205 #endif /* __SYSDEP_H__ */
|
|
206
|