xref: /plan9/sys/src/ape/cmd/pax/limits.h (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1 /* $Source: /u/mark/src/pax/RCS/limits.h,v $
2  *
3  * $Revision: 1.2 $
4  *
5  * 	limits.h - POSIX compatible defnitions for some of <limits.h>
6  *
7  * DESCRIPTION
8  *
9  * 	We need to include <limits.h> if this system is being compiled with an
10  * 	ANSI standard C compiler, or if we are running on a POSIX confomrming
11  * 	system.  If the manifest constant _POSIX_SOURCE is not defined when
12  * 	<limits.h> is included, then none of the POSIX constants are defined
13  *	and we need to define them here.  It's a bit wierd, but it works.
14  *
15  * 	These values where taken from the IEEE P1003.1 standard, draft 12.
16  * 	All of the values below are the MINIMUM values allowed by the standard.
17  * 	Not all values are used by the PAX program, but they are included for
18  * 	completeness, and for support of future enhancements.  Please see
19  * 	section 2.9 of the draft standard for more information on the following
20  * 	constants.
21  *
22  * AUTHOR
23  *
24  *     Mark H. Colburn, NAPS International (mark@jhereg.mn.org)
25  *
26  * Sponsored by The USENIX Association for public distribution.
27  *
28  * Copyright (c) 1989 Mark H. Colburn.
29  * All rights reserved.
30  *
31  * Redistribution and use in source and binary forms are permitted
32  * provided that the above copyright notice and this paragraph are
33  * duplicated in all such forms and that any documentation,
34  * advertising materials, and other materials related to such
35  * distribution and use acknowledge that the software was developed
36  * by Mark H. Colburn and sponsored by The USENIX Association.
37  *
38  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
39  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
40  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
41  */
42 
43 #ifndef _PAX_LIMITS_H
44 #define _PAX_LIMITS_H
45 
46 /* Headers */
47 
48 #if defined(__STDC__) || defined(_POSIX_SOURCE)
49 #   include <limits.h>
50 #endif
51 
52 
53 /* Defines */
54 
55 #ifndef _POSIX_SOURCE
56 
57 #define MAX_INPUT	256	/* Max numbef of bytes in terminal input */
58 #define NGROUPS_MAX	1	/* Max number of suplemental group id's */
59 #define PASS_MAX	8	/* Max number of bytes in a password */
60 #define PID_MAX		30000	/* Max value for a process ID */
61 #define UID_MAX		32000	/* Max value for a user or group ID */
62 #define ARG_MAX		4096	/* Nax number of bytes passed to exec */
63 #define CHILD_MAX	6	/* Max number of simultaneous processes */
64 #define MAX_CANON	256	/* Max numbef of bytes in a cononical queue */
65 #define OPEN_MAX	16	/* Nax number of open files per process */
66 #define NAME_MAX	14	/* Max number of bytes in a file name */
67 #define PATH_MAX	255	/* Max number of bytes in pathname */
68 #define LINK_MAX	8	/* Max value of a file's link count */
69 #define PIPE_BUF	512	/* Max number of bytes for pipe reads */
70 
71 #endif /* _POSIX_SOURCE */
72 #endif /* _PAX_LIMITS_H */
73