40179197bef09f854d501940b00a57449852f0f9
[ppp.git] / pppd / plugins / radius / radiusclient / include / includes.h
1 /*
2  * $Id: includes.h,v 1.1 2002/01/22 16:03:01 dfs Exp $
3  *
4  * Copyright (C) 1997 Lars Fenneberg
5  *
6  * Copyright 1992 Livingston Enterprises, Inc.
7  *
8  * Copyright 1992,1993, 1994,1995 The Regents of the University of Michigan 
9  * and Merit Network, Inc. All Rights Reserved
10  *
11  * See the file COPYRIGHT for the respective terms and conditions. 
12  * If the file is missing contact me at lf@elemental.net 
13  * and I'll send you a copy.
14  *
15  */
16
17 #include "config.h"
18
19 #include <sys/types.h>
20
21 #include <ctype.h>
22 #include <stdio.h>
23 #include <errno.h>
24 #include <netdb.h>
25 #include <syslog.h>
26
27 #ifdef STDC_HEADERS
28 # include <stdlib.h>
29 # include <string.h>
30 # include <stdarg.h>
31 #else
32 # include <stdarg.h>
33 # ifndef HAVE_STRCHR
34 #  define strchr index
35 #  define strrchr rindex
36 # endif
37 #endif
38
39 /* I realize that this is ugly and unsafe.. :( */
40 #ifndef HAVE_SNPRINTF
41 # define snprintf(buf, len, format, args...) sprintf(buf, format, ## args)
42 #endif
43 #ifndef HAVE_VSNPRINTF
44 # define vsnprintf(buf, len, format, ap) vsprintf(buf, format, ap)
45 #endif
46
47 #ifdef HAVE_UNISTD_H
48 # include <unistd.h>
49 #endif /* HAVE_UNISTD_H */
50
51 #ifdef HAVE_FCNTL_H
52 # include <fcntl.h>
53 #endif
54
55 #ifdef HAVE_SYS_FCNTL_H
56 # include <sys/fcntl.h>
57 #endif
58
59 #ifdef HAVE_SYS_FILE_H
60 # include <sys/file.h>
61 #endif
62
63 #ifdef HAVE_SYS_STAT_H
64 # include <sys/stat.h>
65 #endif
66
67 #ifdef HAVE_SYS_UTSNAME_H
68 # include <sys/utsname.h>
69 #endif
70
71 #ifdef HAVE_SYS_IOCTL_H
72 # include <sys/ioctl.h>
73 #endif
74
75 #ifdef HAVE_CRYPT_H
76 # include <crypt.h>
77 #endif
78
79 #ifdef HAVE_LIMITS_H
80 # include <limits.h>
81 #endif
82
83 #ifdef HAVE_TERMIOS_H
84 # include <termios.h>
85 #endif
86
87 #ifndef PATH_MAX
88 #define PATH_MAX        1024
89 #endif
90
91 #ifndef UCHAR_MAX
92 # ifdef  __STDC__
93 #  define UCHAR_MAX       255U
94 # else
95 #  define UCHAR_MAX       255
96 # endif
97 #endif
98
99 #include <pwd.h>
100 #include <sys/socket.h>
101 #include <netinet/in.h>
102 #include <arpa/inet.h>
103
104 #if defined(HAVE_SIGNAL_H)
105 # include <signal.h>
106 #endif
107 #if defined(HAVE_SYS_SIGNAL_H)
108 # include <sys/signal.h>
109 #endif
110
111 #ifdef NEED_SIG_PROTOTYPES
112 int sigemptyset(sigset_t *);
113 int sigaddset(sigset_t *, int);
114 int sigprocmask (int, sigset_t *, sigset_t *);
115 #endif
116
117 #if HAVE_GETOPT_H
118 # include <getopt.h>
119 #endif
120
121 #if defined(HAVE_SHADOW_H) && defined(HAVE_SHADOW_PASSWORDS)
122 # include <shadow.h>
123 #endif
124
125 #if TIME_WITH_SYS_TIME
126 # include <sys/time.h>
127 # include <time.h>
128 #else
129 # if HAVE_SYS_TIME_H
130 #  include <sys/time.h>
131 # else
132 #  include <time.h>
133 # endif
134 #endif
135
136 /*
137  * prefer srandom/random over srand/rand as there generator has a
138  * better distribution of the numbers on certain systems.
139  * on Linux both generators are identical.
140  */ 
141 #ifndef HAVE_RANDOM
142 # ifdef HAVE_RAND
143 # define srandom        srand
144 # define random         rand
145 # endif
146 #endif
147
148 /* rlib/lock.c */
149 int do_lock_exclusive(int);
150 int do_unlock(int);