# # posix limits,unistd,confstr,fpathconf,pathconf,sysconf macro table # # @(#)conf.tab (AT&T Bell Laboratories) 05/09/95 # # name index standard section call flags [ value ... ] # [ _LOCAL_name macro definition ... ] # # name: sans prefix # index: starts at 1, must not change or be reused # standard: AST, C, POSIX, SVID, XOPEN, { SUN, SGI, ... } # section: section number in standard # call: CS=confstr PC=pathconf SC=sysconf XX=none # flags: 0 no flags # F feature for unistd.h # L constant for limits.h # M has _
_ minmax value # N __ # S __
_ # U
_ prefixed by underscore # X define even if local is indeterminant (ast special) # # default names if
<= 1 # # __ # _ # # default names if
> 1 # # __
_ #
_ # # the [ENSU] flags modify the default names # # NOTE: 132 is the next index # AIO_LISTIO_MAX 1 POSIX SC 1 LMU 2 AIO_MAX 2 POSIX SC 1 LMU 1 AIO_PRIO_DELTA_MAX 3 POSIX SC 1 LMU ARG_MAX 4 POSIX SC 1 LMU NCARGS 4096 ASYNCHRONOUS_IO 5 POSIX SC 1 FU ASYNC_IO 6 POSIX PC 1 FU ATEXIT_MAX 82 XOPEN SC 1 LMU 32 AVPHYS_PAGES 121 SUN SC 1 0 BC_BASE_MAX 7 POSIX SC 2 LMN 99 BC_DIM_MAX 8 POSIX SC 2 LMN 2048 BC_SCALE_MAX 9 POSIX SC 2 LMN 99 BC_STRING_MAX 10 POSIX SC 2 LMN 1000 CHARCLASS_NAME_MAX 102 XOPEN XX 1 L 14 CHAR_BIT 13 C XX 1 L 8 CHAR_MAX 14 C XX 1 L CHAR_MIN 15 C XX 1 L CHAR_TERM 16 POSIX SC 2 F CHILD_MAX 17 POSIX SC 1 LMU 6 #define _LOCAL_CHILD_MAX local_child_max() #if _lib_fork #define child() fork() #else #ifdef _map_spawnve #define _map_spawnve _map_spawnve #endif extern int spawnve(const char*, char* const[], char* const[]); static char* cmd[] = { "/bin/echo", 0 }; #define child() spawnve(cmd[0],cmd,(char**)0) #endif static int local_child_max(void) { int i; int n; for (i = 3; i < 512 && (n = child()) >= 0; i++) if (!n) _exit(0); while (wait((int*)0) > 0); for (n = 8; n < i; n <<= 1); return(n); } CHOWN_RESTRICTED 18 POSIX PC 1 FU CKPT 97 POSIX SC 1 FU CLK_TCK 19 AST SC 1 MU HZ 60 CLOCKRES_MIN 20 POSIX SC 1 MU 1 COLL_WEIGHTS_MAX 21 POSIX SC 2 LMN 2 CRYPT 116 XOPEN SC 1 FSU C_BIND 11 POSIX SC 2 F C_DEV 12 POSIX SC 2 F C_VERSION 98 POSIX SC 2 F DELAYTIMER_MAX 22 POSIX SC 1 LMU 32 ENH_I18N 117 XOPEN SC 1 FSU EXPR_NEST_MAX 23 POSIX SC 2 LMN 32 FCHR_MAX 24 SVID SC 1 LMU LONG_MAX 2147483647 FORT_DEV 25 POSIX SC 2 F FORT_RUN 26 POSIX SC 2 F FSYNC 27 POSIX SC 1 FU _lib_fsync INT_MAX 28 C XX 1 L 32767 INT_MIN 29 C XX 1 L -32767 IOV_MAX 100 XOPEN SC 1 LMU 16 JOB_CONTROL 30 POSIX SC 1 FU #include "FEATURE/wait" #ifdef WUNTRACED #define _LOCAL_JOB_CONTROL 1 #endif LINE_MAX 31 POSIX SC 2 LMN 2048 LINK_MAX 32 POSIX PC 1 LMU MAXLINK SHRT_MAX 8 LOCALEDEF 99 POSIX SC 1 FU LOCALEDEF 33 POSIX SC 2 F LOGNAME_MAX 129 SVID SC 1 MU 8 LONG_BIT 56 XOPEN XX 1 L 32 #ifdef CHAR_BIT #define _LOCAL_LONG_BIT (CHAR_BIT*sizeof(long)) #else #define _LOCAL_LONG_BIT (8*sizeof(int)) #endif LONG_MAX 34 C XX 1 L 2147483647 LONG_MIN 35 C XX 1 L -2147483647 MAPPED_FILES 36 POSIX SC 1 FU _lib_mmap MAX_CANON 37 POSIX PC 1 LMU CANBSIZ 255 MAX_INPUT 38 POSIX PC 1 LMU MAX_CANON 255 MB_LEN_MAX 39 C XX 1 L 1 MEMLOCK 40 POSIX SC 1 FU MEMLOCK_RANGE 41 POSIX SC 1 FU MEMORY_PROTECTION 42 POSIX SC 1 FU MESSAGE_PASSING 43 POSIX SC 1 FU MQ_OPEN_MAX 44 POSIX SC 1 LMU 8 MQ_PRIO_MAX 45 POSIX SC 1 LMU 32 NACLS_MAX 122 SVID SC 1 0 NAME_MAX 46 POSIX PC 1 LMU 14 #ifdef MAXNAMLEN #define _LOCAL_NAME_MAX MAXNAMLEN #else #define _LOCAL_NAME_MAX local_name_max() #if !_lib_remove || _lib_unlink #define remove unlink #endif static int local_name_max(void) { int i; int n; int v; char name[256]; for (i = 0; i < sizeof(name); i++) name[i] = 'F'; name[8] = '.'; name[sizeof(name) - 1] = 0; if ((n = creat(name, 0666)) >= 0) { close(n); for (v = 12; v < sizeof(name); v++) { name[v] = 0; if (remove(name) >= 0) break; name[v] = 'F'; } } else for (v = 12; v < sizeof(name); v++) { name[v] = 0; if ((n = creat(name, 0666)) >= 0) { close(n); remove(name); name[v] = 'F'; } else { v--; break; } } return(v); } #endif NGROUPS_MAX 47 POSIX SC 1 LMU 0 #if _lib_getgroups #define _LOCAL_NGROUPS_MAX local_ngroups_max() static int local_ngroups_max() { int n; gid_t g; if ((n = getgroups(0, &g)) < 0) #ifdef NGROUPS n = NGROUPS; #else n = 0; #endif return(n); } #endif NL_ARGMAX 103 XOPEN XX 1 L 9 NL_LANGMAX 104 XOPEN XX 1 L 14 NL_MSGMAX 105 XOPEN XX 1 L 32767 NL_NMAX 106 XOPEN XX 1 L NL_SETMAX 107 XOPEN XX 1 L 255 NL_TEXTMAX 108 XOPEN XX 1 L LINE_MAX NO_TRUNC 48 POSIX PC 1 FU NPROCESSORS_CONF 123 SVID SC 1 0 NPROCESSORS_ONLN 124 SVID SC 1 0 NZERO 109 XOPEN XX 1 L 20 OPEN_MAX 49 POSIX SC 1 LMU 16 #if _lib_getdtablesize extern int getdtablesize(void); #define _LOCAL_OPEN_MAX getdtablesize() #else #define _LOCAL_OPEN_MAX local_open_max() #if _lib_getrlimit && _sys_resource #include #include #endif #ifdef RLIMIT_NOFILE static int local_open_max(void) { struct rlimit rlim; if (getrlimit(RLIMIT_NOFILE, &rlim)) return(-1); return(rlim.rlim_cur); } #else static int local_open_max(void) { int i; int n; int v; n = 0; v = 2; while ((i = dup(0)) >= 0) { if (!n) n = i; if (i > v) v = i; } while (n <= v) close(n++); return(v + 1); } #endif #endif OPEN_MAX_CEIL 50 AST XX 1 L OPEN_MAX OS_VERSION 119 AES SC 1 FSU PAGESIZE 51 POSIX SC 1 L PAGE_SIZE 4096 #if _lib_getpagesize #if defined(linux) extern int getpagesize(void); #else extern ssize_t getpagesize(void); #endif #define _LOCAL_PAGESIZE getpagesize() #endif PAGE_SIZE 101 XOPEN SC 1 L PAGESIZE PASS_MAX 130 SVID SC 1 MU 8 PATH 52 POSIX CS 1 MU "/bin:/usr/bin" PATH_MAX 53 POSIX PC 1 LMUX MAXPATHLEN 1024 256 PHYS_PAGES 125 SUN SC 1 0 PID_MAX 54 SVID SC 1 LMU 30000 PIPE_BUF 55 POSIX PC 1 LMU 512 PRIORITIZED_IO 57 POSIX SC 1 FU PRIORITY_SCHEDULING 58 POSIX SC 1 FU PRIO_IO 59 POSIX PC 1 FU REALTIME_SIGNALS 60 POSIX SC 1 FU REGEXP 95 POSIX SC 1 FU RESOURCE_LIMITS 96 POSIX SC 1 FU RE_DUP_MAX 61 POSIX SC 2 LMN 255 RTSIG_MAX 62 POSIX SC 1 LMU 8 SAVED_IDS 63 POSIX SC 1 FU #if _lib_setuid && !_lib_setreuid #define _LOCAL_SAVED_IDS 1 #endif SCHAR_MAX 64 C XX 1 L 127 SCHAR_MIN 65 C XX 1 L -127 SEMAPHORES 66 POSIX SC 1 FU SEM_NSEMS_MAX 67 POSIX SC 1 LMU 256 SEM_VALUE_MAX 68 POSIX SC 1 LMU 32767 SHARED_MEMORY_OBJECTS 69 POSIX SC 1 FU SHELL 120 AST CS 1 MU "/bin/sh" SHM 118 XOPEN SC 1 FSU SHRT_MAX 70 C XX 1 L 32767 SHRT_MIN 71 C XX 1 L -32767 SIGQUEUE_MAX 72 POSIX SC 1 LMU 32 SIGRT_MAX 126 SVID SC 1 0 SIGRT_MIN 127 SVID SC 1 0 SSIZE_MAX 73 POSIX XX 1 LMU INT_MAX 32767 STD_BLK 74 SVID SC 1 LMU 1024 STREAM_MAX 75 POSIX SC 1 LMU OPEN_MAX 8 SW_DEV 76 POSIX SC 2 F SYMLINK_MAX 93 POSIX PC 1 LMU 255 #if PATH_MAX #define _LOCAL_SYMLINK_MAX (PATH_MAX-1) #endif SYMLOOP_MAX 94 POSIX PC 1 LMU 8 SYNCHRONIZED_IO 77 POSIX SC 1 FU SYNC_IO 78 POSIX PC 1 FU SYSPID_MAX 79 SVID SC 1 LMU 2 TIMERS 80 POSIX SC 1 FU TIMER_MAX 81 POSIX SC 1 LMU 32 TMP 131 AST CS 1 MU "/tmp" TMP_MAX 128 C SC 1 MU 10000 TZNAME_MAX 83 POSIX SC 1 LMU 6 UCHAR_MAX 84 C XX 1 L 255 UID_MAX 85 SVID SC 1 LMU 60002 UINT_MAX 86 C XX 1 L 65535 ULONG_MAX 87 C XX 1 L 4294967295 UNIX 115 XOPEN SC 1 FSU UPE 89 POSIX SC 2 F USHRT_MAX 88 C XX 1 L 65535 VDISABLE 90 POSIX PC 1 FU VERSION 91 POSIX SC 1 FU 199009 VERSION 92 POSIX SC 2 F 199209 VERSION 110 XOPEN SC 1 FSU 4 WORD_BIT 56 XOPEN XX 1 L 16 #ifdef CHAR_BIT #define _LOCAL_WORD_BIT (CHAR_BIT*sizeof(int)) #else #define _LOCAL_WORD_BIT (8*sizeof(int)) #endif XCU_VERSION 111 XOPEN SC 1 FSU XPG2 112 XOPEN XX 1 FU XPG3 113 XOPEN XX 1 FU XPG4 114 XOPEN XX 1 FU