Remove __P macros from src/usr.bin and src/usr.sbin.
[dragonfly.git] / usr.sbin / cron / cron / externs.h
1 /* Copyright 1993,1994 by Paul Vixie
2  * All rights reserved
3  *
4  * Distribute freely, except: don't remove my name from the source or
5  * documentation (don't take credit for my work), mark your changes (don't
6  * get me blamed for your possible bugs), don't alter or remove this
7  * notice.  May be sold if buildable source is provided to buyer.  No
8  * warrantee of any kind, express or implied, is included with this
9  * software; use at your own risk, responsibility for damages (if any) to
10  * anyone resulting from the use of this software rests entirely with the
11  * user.
12  *
13  * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
14  * I'll try to keep a version up to date.  I can be reached as follows:
15  * Paul Vixie          <paul@vix.com>          uunet!decwrl!vixie!paul
16  *
17  * $DragonFly: src/usr.sbin/cron/cron/externs.h,v 1.3 2003/11/03 19:31:36 eirikn Exp $
18  */
19
20 #if defined(POSIX) || defined(ATT)
21 # include <stdlib.h>
22 # include <unistd.h>
23 # include <string.h>
24 # include <dirent.h>
25 # define DIR_T  struct dirent
26 # define WAIT_T int
27 # define WAIT_IS_INT 1
28 extern char *tzname[2];
29 # define TZONE(tm) tzname[(tm).tm_isdst]
30 #endif
31
32 #if defined(UNIXPC)
33 # undef WAIT_T
34 # undef WAIT_IS_INT
35 # define WAIT_T union wait
36 #endif
37
38 #if defined(POSIX)
39 # define SIG_T  sig_t
40 # define TIME_T time_t
41 # define PID_T pid_t
42 #endif
43
44 #if defined(ATT)
45 # define SIG_T  void
46 # define TIME_T long
47 # define PID_T int
48 #endif
49
50 #if !defined(POSIX) && !defined(ATT)
51 /* classic BSD */
52 extern  time_t          time();
53 extern  unsigned        sleep();
54 extern  struct tm       *localtime();
55 extern  struct passwd   *getpwnam();
56 extern  int             errno;
57 extern  void            perror(), exit(), free();
58 extern  char            *getenv(), *strcpy(), *strchr(), *strtok();
59 extern  void            *malloc(), *realloc();
60 # define SIG_T  void
61 # define TIME_T long
62 # define PID_T int
63 # define WAIT_T union wait
64 # define DIR_T  struct direct
65 # include <sys/dir.h>
66 # define TZONE(tm) (tm).tm_zone
67 #endif
68
69 /* getopt() isn't part of POSIX.  some systems define it in <stdlib.h> anyway.
70  * of those that do, some complain that our definition is different and some
71  * do not.  to add to the misery and confusion, some systems define getopt()
72  * in ways that we cannot predict or comprehend, yet do not define the adjunct
73  * external variables needed for the interface.
74  */
75 #if (!defined(BSD) || (BSD < 198911)) && !defined(ATT) && !defined(UNICOS)
76 int     getopt(int, char * const *, const char *);
77 #endif
78
79 #if (!defined(BSD) || (BSD < 199103))
80 extern  char *optarg;
81 extern  int optind, opterr, optopt;
82 #endif
83
84 #if WAIT_IS_INT
85 # ifndef WEXITSTATUS
86 #  define WEXITSTATUS(x) (((x) >> 8) & 0xff)
87 # endif
88 # ifndef WTERMSIG
89 #  define WTERMSIG(x)   ((x) & 0x7f)
90 # endif
91 # ifndef WCOREDUMP
92 #  define WCOREDUMP(x)  ((x) & 0x80)
93 # endif
94 #else /*WAIT_IS_INT*/
95 # ifndef WEXITSTATUS
96 #  define WEXITSTATUS(x) ((x).w_retcode)
97 # endif
98 # ifndef WTERMSIG
99 #  define WTERMSIG(x)   ((x).w_termsig)
100 # endif
101 # ifndef WCOREDUMP
102 #  define WCOREDUMP(x)  ((x).w_coredump)
103 # endif
104 #endif /*WAIT_IS_INT*/
105
106 #ifndef WIFSIGNALED
107 #define WIFSIGNALED(x)  (WTERMSIG(x) != 0)
108 #endif
109 #ifndef WIFEXITED
110 #define WIFEXITED(x)    (WTERMSIG(x) == 0)
111 #endif
112
113 #ifdef NEED_STRCASECMP
114 extern  int             strcasecmp(char *, char *);
115 #endif
116
117 #ifdef NEED_STRDUP
118 extern  char            *strdup(char *);
119 #endif
120
121 #ifdef NEED_STRERROR
122 extern  char            *strerror(int);
123 #endif
124
125 #ifdef NEED_FLOCK
126 extern  int             flock(int, int);
127 # define LOCK_SH 1
128 # define LOCK_EX 2
129 # define LOCK_NB 4
130 # define LOCK_UN 8
131 #endif
132
133 #ifdef NEED_SETSID
134 extern  int             setsid(void);
135 #endif
136
137 #ifdef NEED_GETDTABLESIZE
138 extern  int             getdtablesize(void);
139 #endif
140
141 #ifdef NEED_SETENV
142 extern  int             setenv(char *, char *, int);
143 #endif
144
145 #ifdef NEED_VFORK
146 extern  PID_T           vfork(void);
147 #endif