Fix headers
[kopensolaris-gnu/glibc.git] / sysdeps / unix / sysv / solaris2 / kopensolaris-gnu / sys / param.h
1 /* Copyright (C) 1995, 1996, 1997, 1998, 2008 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, write to the Free
16    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17    02111-1307 USA.  */
18
19 #ifndef _SYS_PARAM_H
20 #define _SYS_PARAM_H    1
21
22 #include <limits.h>
23 #include <features.h>
24 #include <sys/isa_defs.h>
25
26 /* BSD names for some <limits.h> values.  */
27
28 #define NBBY            CHAR_BIT
29 #ifndef NGROUPS
30 # define NGROUPS                NGROUPS_MAX
31 #endif
32 #define MAXSYMLINKS     20
33 #define CANBSIZ         MAX_CANON
34 #define NCARGS          ARG_MAX
35 #define MAXPATHLEN      PATH_MAX
36 #define NOFILE          OPEN_MAX
37
38
39 #include <sys/types.h>
40
41 /* Bit map related macros.  */
42 #define setbit(a,i)     ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
43 #define clrbit(a,i)     ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
44 #define isset(a,i)      ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
45 #define isclr(a,i)      (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
46
47 /* Macros for counting and rounding.  */
48 #ifndef howmany
49 # define howmany(x, y)  (((x)+((y)-1))/(y))
50 #endif
51 #define roundup(x, y)   ((((x)+((y)-1))/(y))*(y))
52 #define powerof2(x)     ((((x)-1)&(x))==0)
53
54 /* Macros for min/max.  */
55 #ifndef MIN
56 # define MIN(a,b)       (((a)<(b))?(a):(b))
57 #endif
58 #ifndef MAX
59 # define MAX(a,b)       (((a)>(b))?(a):(b))
60 #endif
61
62 #define NODEV   (dev_t)-1
63
64 /* Unit of `st_blocks'.  */
65 #define DEV_BSIZE       512
66
67 /* Maximum hostname length.  */
68 #define MAXHOSTNAMELEN  256
69
70 #include <unistd.h>
71
72 #define PAGESIZE        sysconf(_SC_PAGESIZE)
73 #define MAXPID          (pid_t)sysconf(_SC_MAXPID)
74 #define MAXEPHUID       (uid_t)sysconf(_SC_EPHID_MAX)
75 #define MAXNAMELEN      256
76 #define TYPICALMAXPATHLEN       64
77 #define MAXLINKNAMELEN  32
78
79 #define UID_NOBODY      60001
80 #define GID_NOBODY      UID_NOBODY
81 #define GID_SYS         3
82 #define UID_DLADM       15
83 #define MAXUID          2147483647
84
85 #define NS_PACKETSZ     512
86 #define NS_MAXDNAME     1025
87 #define NS_MAXMSG       65535
88 #define NS_MAXCDNAME    255
89 #define NS_MAXLABEL     63
90 #define NS_HFIXEDSZ     12
91 #define NS_QFIXEDSZ     4
92 #define NS_RRFIXEDSZ    10
93 #define NS_INT32SZ      4
94 #define NS_INT16SZ      2
95 #define NS_INT8SZ       1
96 #define NS_INADDRSZ     4
97 #define NS_IN6ADDRSZ    16
98 #define NS_CMPRSFLGS    0xc0
99 #define NS_DEFAULTPORT  53
100
101 #define NGROUPS_UMIN    0
102 #define NGROUPS_UMAX    32
103 #define NGROUPS_MAX_DEFAULT     16
104
105 #include <sys/isa_defs.h>
106
107 #define MAXBSIZE        8192
108 #define DEV_BSIZE       512
109 #define DEV_BSHIFT      9
110 #define MAXFRAG         8
111 #ifdef  _LP64
112 # define MAXOFF_T       0x7fffffffffffffffl
113 # define MAXOFFSET_T    0x7fffffffffffffffl
114 #else
115 # define MAXOFF_T       0x7fffffffl
116 # define MAXOFFSET_T    0x7fffffffffffffffLL
117 #endif
118
119 #ifdef _LITTLE_ENDIAN
120 # define lobyte(X)      (((unsigned char *)&(X))[0])
121 # define hibyte(X)      (((unsigned char *)&(X))[1])
122 # define loword(X)      (((ushort_t *)&(X))[0])
123 # define hiword(X)      (((ushort_t *)&(X))[1])
124 #endif
125 #ifdef _BIG_ENDIAN
126 # define lobyte(X)      (((unsigned char *)&(X))[1])
127 # define hibyte(X)      (((unsigned char *)&(X))[0])
128 # define loword(X)      (((ushort_t *)&(X))[1])
129 # define hiword(X)      (((ushort_t *)&(X))[0])
130 #endif
131
132 #ifndef __USE_XOPEN
133 # define NZERO  20
134 #endif
135
136 #endif  /* sys/param.h */