1/*
2 * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
3 * Use is subject to license terms.
4 */
5
6#ifndef	_PRIVATE_H
7#define	_PRIVATE_H
8
9#pragma ident	"%Z%%M%	%I%	%E% SMI"
10
11/*
12 * This file is in the public domain, so clarified as of
13 * June 5, 1996 by Arthur David Olson (arthur_david_olson@nih.gov).
14 */
15
16/*
17 * This header is for use ONLY with the time conversion code.
18 * There is no guarantee that it will remain unchanged,
19 * or that it will remain at all.
20 * Do NOT copy it to any system include directory.
21 * Thank you!
22 */
23
24#ifdef	__cplusplus
25extern "C" {
26#endif
27
28/*
29 * Nested includes
30 */
31#include <sys/types.h>	/* for time_t */
32#include <stdio.h>
33#include <errno.h>
34#include <string.h>
35#include <limits.h>	/* for CHAR_BIT */
36#include <time.h>
37#include <stdlib.h>
38#include <libintl.h>	/* for F_OK and R_OK */
39#include <unistd.h>
40#include <sys/wait.h>
41
42/* static char	privatehid[] = "@(#)private.h	7.55"; */
43
44#define	GRANDPARENTED	"Local time zone must be set--see zic manual page"
45
46/* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX.  */
47#define	is_digit(c)		((unsigned)(c) - '0' <= 9)
48
49/*
50 * Private function declarations.
51 */
52char 	*icatalloc(char *old, const char *new);
53char 	*icpyalloc(const char *string);
54char 	*imalloc(int n);
55void 	*irealloc(void *pointer, int size);
56void	ifree(char *pointer);
57const char	*scheck(const char *string, const char *format);
58
59/*
60 * Finally, some convenience items.
61 */
62
63#ifndef TRUE
64#define	TRUE	1
65#endif /* !defined TRUE */
66
67#ifndef FALSE
68#define	FALSE	0
69#endif /* !defined FALSE */
70
71#ifndef TYPE_BIT
72#define	TYPE_BIT(type)	(sizeof (type) * CHAR_BIT)
73#endif /* !defined TYPE_BIT */
74
75#ifndef TYPE_SIGNED
76#define	TYPE_SIGNED(type) (((type) -1) < 0)
77#endif /* !defined TYPE_SIGNED */
78
79/*
80 * INITIALIZE(x)
81 */
82
83#ifndef INITIALIZE
84#ifdef lint
85#define	INITIALIZE(x)	((x) = 0)
86#endif /* defined lint */
87#ifndef lint
88#define	INITIALIZE(x)
89#endif /* !defined lint */
90#endif /* !defined INITIALIZE */
91
92#ifdef	__cplusplus
93}
94#endif
95
96#endif	/* _PRIVATE_H */
97