Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#ifndef __LIMITS
2
#define __LIMITS
3
/* 8 bit chars (signed), 16 bit shorts, 32 bit ints/longs */
4
 
5
#define CHAR_BIT	8
6
#define MB_LEN_MAX	4
7
 
8
#define UCHAR_MAX	0xff
9
#define USHRT_MAX	0xffff
10
#define UINT_MAX	0xffffffffU
11
#define ULONG_MAX	0xffffffffUL
12
 
13
#define CHAR_MAX	SCHAR_MAX
14
#define SCHAR_MAX	0x7f
15
#define SHRT_MAX	0x7fff
16
#define INT_MAX		0x7fffffff
17
#define LONG_MAX	0x7fffffffL
18
 
19
#define CHAR_MIN	SCHAR_MIN
20
#define SCHAR_MIN	(-SCHAR_MAX-1)
21
#define SHRT_MIN	(-SHRT_MAX-1)
22
#define INT_MIN		(-INT_MAX-1)
23
#define LONG_MIN	(-LONG_MAX-1)
24
 
25
#ifdef _POSIX_SOURCE
26
 
27
#define _POSIX_AIO_LISTIO_MAX	2
28
#define _POSIX_AIO_MAX			1
29
#define _POSIX_ARG_MAX			4096
30
#define _POSIX_CHILD_MAX		6
31
#define	_POSIX_CLOCKRES_MIN		20000000
32
#define	_POSIX_DELAYTIMER_MAX	32
33
#define _POSIX_LINK_MAX			8
34
#define _POSIX_MAX_CANON		255
35
#define _POSIX_MAX_INPUT		255
36
#define _POSIX_MQ_OPEN_MAX		8
37
#define	_POSIX_MQ_PRIO_MAX		32
38
#define _POSIX_NAME_MAX			14
39
#define _POSIX_NGROUPS_MAX		0
40
#define _POSIX_OPEN_MAX			16
41
#define _POSIX_PATH_MAX			255
42
#define _POSIX_PIPE_BUF			512
43
#define	_POSIX_RTSIG_MAX		8
44
#define	_POSIX_SEM_NSEMS_MAX	256
45
#define	_POSIX_SEM_VALUE_MAX	32767
46
#define	_POSIX_SIGQUEUE_MAX		32
47
#define _POSIX_SSIZE_MAX		32767
48
#define _POSIX_STREAM_MAX		8
49
#define	_POSIX_TIMER_MAX		32
50
#define _POSIX_TZNAME_MAX		3
51
 
52
 
53
/* pedagogy: those that standard allows omitting are commented out */
54
/*#define AIO_LIST_MAX _POSIX_AIO_LIST_MAX */
55
/*#define AIO_MAX _POSIX_AIO_MAX */
56
/*#define AIO_PRIO_DELTA_MAX 0 */
57
/*#define ARG_MAX _POSIX_ARG_MAX */
58
/*#define CHILD_MAX _POSIX_CHILD_MAX */
59
/*#define DELAYTIMER_MAX _POSIX_DELAYTIMER_MAX */
60
/*#define LINK_MAX _POSIX_LINK_MAX */
61
/*#define MAX_CANON _POSIX_MAX_CANON */
62
/*#define MAX_INPUT _POSIX_MAX_INPUT */
63
/*#define MQ_OPEN_MAX _POSIX_MQ_OPEN_MAX */
64
/*#define MQ_PRIO_MAX _POSIX_MQ_PRIO_MAX */
65
/*#define NAME_MAX _POSIX_NAME_MAX */
66
#define NGROUPS_MAX 10
67
/*#define OPEN_MAX _POSIX_OPEN_MAX */
68
/*#define PAGESIZE 1 */
69
#define PASS_MAX	64
70
/*#define PATH_MAX _POSIX_PATH_MAX */
71
/*#define PIPE_BUF _POSIX_PIPE_BUF */
72
/*#define RTSIG_MAX _POSIX_RTSIG_MAX */
73
/*#define SEM_NSEMS_MAX _POSIX_SEM_NSEMS_MAX */
74
/*#define SEM_VALUE_MAX _POSIX_SEM_VALUE_MAX */
75
/*#define SIGQUEUE_MAX _POSIX_SIGQUEUE_MAX */
76
#define SSIZE_MAX LONG_MAX
77
/*#define STREAM_MAX _POSIX_STREAM_MAX */
78
/*#define TIMER_MAX _POSIX_TIMER_MAX */
79
#define TZNAME_MAX _POSIX_TZNAME_MAX
80
 
81
#ifdef _LIMITS_EXTENSION
82
/* some things are just too big for pedagogy (X!) */
83
#include <sys/limits.h>
84
#endif
85
#endif /* _POSIX_SOURCE */
86
 
87
#endif /* __LIMITS */