private.h revision 2709
1#ifndef PRIVATE_H
2
3#define PRIVATE_H
4
5/*
6** This header is for use ONLY with the time conversion code.
7** There is no guarantee that it will remain unchanged,
8** or that it will remain at all.
9** Do NOT copy it to any system include directory.
10** Thank you!
11*/
12
13/*
14** ID
15*/
16
17#ifndef lint
18#ifndef NOID
19static char	privatehid[] = "@(#)private.h	7.5";
20#endif /* !defined NOID */
21#endif /* !defined lint */
22
23/*
24** const
25*/
26
27#ifndef const
28#ifndef __STDC__
29#define const
30#endif /* !defined __STDC__ */
31#endif /* !defined const */
32
33/*
34** void
35*/
36
37#ifndef void
38#ifndef __STDC__
39#ifndef vax
40#ifndef sun
41#define void	char
42#endif /* !defined sun */
43#endif /* !defined vax */
44#endif /* !defined __STDC__ */
45#endif /* !defined void */
46
47/*
48** P((args))
49*/
50
51#ifndef P
52#ifdef __STDC__
53#define P(x)	x
54#endif /* defined __STDC__ */
55#ifndef __STDC__
56#define ASTERISK	*
57#define P(x)	( /ASTERISK x ASTERISK/ )
58#endif /* !defined __STDC__ */
59#endif /* !defined P */
60
61/*
62** genericptr_t
63*/
64
65#ifdef __STDC__
66typedef void *		genericptr_t;
67#endif /* defined __STDC__ */
68#ifndef __STDC__
69typedef char *		genericptr_t;
70#endif /* !defined __STDC__ */
71
72#include "sys/types.h"	/* for time_t */
73#include "stdio.h"
74#include "ctype.h"
75#include "errno.h"
76#include "string.h"
77#include "limits.h"	/* for CHAR_BIT */
78#ifndef _TIME_
79#include "time.h"
80#endif /* !defined _TIME_ */
81
82#ifndef remove
83extern int	unlink P((const char * filename));
84#define remove	unlink
85#endif /* !defined remove */
86
87#ifndef FILENAME_MAX
88
89#ifndef MAXPATHLEN
90#ifdef unix
91#include "sys/param.h"
92#endif /* defined unix */
93#endif /* !defined MAXPATHLEN */
94
95#ifdef MAXPATHLEN
96#define FILENAME_MAX	MAXPATHLEN
97#endif /* defined MAXPATHLEN */
98#ifndef MAXPATHLEN
99#define FILENAME_MAX	1024		/* Pure guesswork */
100#endif /* !defined MAXPATHLEN */
101
102#endif /* !defined FILENAME_MAX */
103
104#ifndef EXIT_SUCCESS
105#define EXIT_SUCCESS	0
106#endif /* !defined EXIT_SUCCESS */
107
108#ifndef EXIT_FAILURE
109#define EXIT_FAILURE	1
110#endif /* !defined EXIT_FAILURE */
111
112#ifdef __STDC__
113
114#define alloc_size_t	size_t
115#define qsort_size_t	size_t
116#define fwrite_size_t	size_t
117
118#endif /* defined __STDC__ */
119#ifndef __STDC__
120
121#ifndef alloc_size_t
122#define alloc_size_t	unsigned
123#endif /* !defined alloc_size_t */
124
125#ifndef qsort_size_t
126#ifdef USG
127#define qsort_size_t	unsigned
128#endif /* defined USG */
129#ifndef USG
130#define qsort_size_t	int
131#endif /* !defined USG */
132#endif /* !defined qsort_size_t */
133
134#ifndef fwrite_size_t
135#define fwrite_size_t	int
136#endif /* !defined fwrite_size_t */
137
138#ifndef USG
139extern char *		sprintf P((char * buf, const char * format, ...));
140#endif /* !defined USG */
141
142#endif /* !defined __STDC__ */
143
144/*
145** Ensure that these are declared--redundantly declaring them shouldn't hurt.
146*/
147
148extern char *		getenv P((const char * name));
149extern genericptr_t	malloc P((alloc_size_t size));
150extern genericptr_t	calloc P((alloc_size_t nelem, alloc_size_t elsize));
151extern genericptr_t	realloc P((genericptr_t oldptr, alloc_size_t newsize));
152
153#ifdef USG
154extern void		exit P((int s));
155extern void		qsort P((genericptr_t base, qsort_size_t nelem,
156				qsort_size_t elsize, int (*comp)()));
157extern void		perror P((const char * string));
158extern void		free P((char * buf));
159#endif /* defined USG */
160
161#ifndef TRUE
162#define TRUE	1
163#endif /* !defined TRUE */
164
165#ifndef FALSE
166#define FALSE	0
167#endif /* !defined FALSE */
168
169#ifndef INT_STRLEN_MAXIMUM
170/*
171** 302 / 1000 is log10(2.0) rounded up.
172** Subtract one for the sign bit;
173** add one for integer division truncation;
174** add one more for a minus sign.
175*/
176#define INT_STRLEN_MAXIMUM(type) \
177	((sizeof(type) * CHAR_BIT - 1) * 302 / 1000 + 2)
178#endif /* !defined INT_STRLEN_MAXIMUM */
179
180/*
181** UNIX is a registered trademark of AT&T.
182** VAX is a trademark of Digital Equipment Corporation.
183*/
184
185#endif /* !defined PRIVATE_H */
186