|
@@ -186,18 +186,189 @@ MODULE LinLibc ["libc.so.66.0"];
|
|
|
MAP_TRYFIXED* = {10}; (* attempt hint address, even within heap *)
|
|
|
MAP_COPY* = {2}; (* "copy" region at mmap time *)
|
|
|
|
|
|
+ MAP_FAILED* = -1;
|
|
|
+
|
|
|
(* OpenBSD 5.2 /usr/include/i386/param.h *)
|
|
|
PAGE_SHIFT* = 12;
|
|
|
PAGE_SIZE* = 4096; (* LSL(1, PAGE_SHIFT) *)
|
|
|
PAGE_MASK* = PAGE_SIZE - 1;
|
|
|
|
|
|
+ (* OpenBSD 5.2: /usr/include/fcntl.h *)
|
|
|
+ O_RDONLY* = {};
|
|
|
+ O_WRONLY* = {0};
|
|
|
+ O_RDWR* = {1};
|
|
|
+ O_ACCMODE* = {0,1};
|
|
|
+
|
|
|
+ O_NONBLOCK* = {2}; (* Do not block on open or for data to become available *)
|
|
|
+ O_APPEND* = {3}; (* Append on each write *)
|
|
|
+ O_CREAT* = {9}; (* Create file if it does not exist *)
|
|
|
+ O_TRUNC* = {10}; (* Truncate size to 0 *)
|
|
|
+ O_EXCL* = {11}; (* Error if create and file exists *)
|
|
|
+ O_SYNC* = {7}; (* Perform synchronous I/O operations *)
|
|
|
+ O_SHLOCK* = {4}; (* Atomically obtain a shared lock *)
|
|
|
+ O_EXLOCK* = {5}; (* Atomically obtain an exclusive lock *)
|
|
|
+ O_NOFOLLOW* = {8}; (* If last path element is a symlink, don't follow it *)
|
|
|
+ O_CLOEXEC* = {16}; (* Set FD_CLOEXEC on the new file descriptor *)
|
|
|
+ O_DIRECTORY* = {17}; (* Error if path does not name a directory *)
|
|
|
+
|
|
|
+ (* OpenBSD 5.2 /usr/include/unistd.h *)
|
|
|
+ _SC_ARG_MAX* = 1;
|
|
|
+ _SC_CHILD_MAX* = 2;
|
|
|
+ _SC_CLK_TCK* = 3;
|
|
|
+ _SC_NGROUPS_MAX* = 4;
|
|
|
+ _SC_OPEN_MAX* = 5;
|
|
|
+ _SC_JOB_CONTROL* = 6;
|
|
|
+ _SC_SAVED_IDS* = 7;
|
|
|
+ _SC_VERSION* = 8;
|
|
|
+ _SC_BC_BASE_MAX* = 9;
|
|
|
+ _SC_BC_DIM_MAX* = 10;
|
|
|
+ _SC_BC_SCALE_MAX* = 11;
|
|
|
+ _SC_BC_STRING_MAX* = 12;
|
|
|
+ _SC_COLL_WEIGHTS_MAX* = 13;
|
|
|
+ _SC_EXPR_NEST_MAX* = 14;
|
|
|
+ _SC_LINE_MAX* = 15;
|
|
|
+ _SC_RE_DUP_MAX* = 16;
|
|
|
+ _SC_2_VERSION* = 17;
|
|
|
+ _SC_2_C_BIND* = 18;
|
|
|
+ _SC_2_C_DEV* = 19;
|
|
|
+ _SC_2_CHAR_TERM* = 20;
|
|
|
+ _SC_2_FORT_DEV* = 21;
|
|
|
+ _SC_2_FORT_RUN* = 22;
|
|
|
+ _SC_2_LOCALEDEF* = 23;
|
|
|
+ _SC_2_SW_DEV* = 24;
|
|
|
+ _SC_2_UPE* = 25;
|
|
|
+ _SC_STREAM_MAX* = 26;
|
|
|
+ _SC_TZNAME_MAX* = 27;
|
|
|
+ _SC_PAGESIZE* = 28;
|
|
|
+ _SC_PAGE_SIZE* = _SC_PAGESIZE; (* 1170 compatibility *)
|
|
|
+ _SC_FSYNC* = 29;
|
|
|
+ _SC_XOPEN_SHM* = 30;
|
|
|
+ _SC_SEM_NSEMS_MAX* = 31;
|
|
|
+ _SC_SEM_VALUE_MAX* = 32;
|
|
|
+ _SC_HOST_NAME_MAX* = 33;
|
|
|
+ _SC_MONOTONIC_CLOCK* = 34;
|
|
|
+ _SC_2_PBS* = 35;
|
|
|
+ _SC_2_PBS_ACCOUNTING* = 36;
|
|
|
+ _SC_2_PBS_CHECKPOINT* = 37;
|
|
|
+ _SC_2_PBS_LOCATE* = 38;
|
|
|
+ _SC_2_PBS_MESSAGE* = 39;
|
|
|
+ _SC_2_PBS_TRACK* = 40;
|
|
|
+ _SC_ADVISORY_INFO* = 41;
|
|
|
+ _SC_AIO_LISTIO_MAX* = 42;
|
|
|
+ _SC_AIO_MAX* = 43;
|
|
|
+ _SC_AIO_PRIO_DELTA_MAX* = 44;
|
|
|
+ _SC_ASYNCHRONOUS_IO* = 45;
|
|
|
+ _SC_ATEXIT_MAX* = 46;
|
|
|
+ _SC_BARRIERS* = 47;
|
|
|
+ _SC_CLOCK_SELECTION* = 48;
|
|
|
+ _SC_CPUTIME* = 49;
|
|
|
+ _SC_DELAYTIMER_MAX* = 50;
|
|
|
+ _SC_IOV_MAX* = 51;
|
|
|
+ _SC_IPV6* = 52;
|
|
|
+ _SC_MAPPED_FILES* = 53;
|
|
|
+ _SC_MEMLOCK* = 54;
|
|
|
+ _SC_MEMLOCK_RANGE* = 55;
|
|
|
+ _SC_MEMORY_PROTECTION* = 56;
|
|
|
+ _SC_MESSAGE_PASSING* = 57;
|
|
|
+ _SC_MQ_OPEN_MAX* = 58;
|
|
|
+ _SC_MQ_PRIO_MAX* = 59;
|
|
|
+ _SC_PRIORITIZED_IO* = 60;
|
|
|
+ _SC_PRIORITY_SCHEDULING* = 61;
|
|
|
+ _SC_RAW_SOCKETS* = 62;
|
|
|
+ _SC_READER_WRITER_LOCKS* = 63;
|
|
|
+ _SC_REALTIME_SIGNALS* = 64;
|
|
|
+ _SC_REGEXP* = 65;
|
|
|
+ _SC_RTSIG_MAX* = 66;
|
|
|
+ _SC_SEMAPHORES* = 67;
|
|
|
+ _SC_SHARED_MEMORY_OBJECTS* = 68;
|
|
|
+ _SC_SHELL* = 69;
|
|
|
+ _SC_SIGQUEUE_MAX* = 70;
|
|
|
+ _SC_SPAWN* = 71;
|
|
|
+ _SC_SPIN_LOCKS* = 72;
|
|
|
+ _SC_SPORADIC_SERVER* = 73;
|
|
|
+ _SC_SS_REPL_MAX* = 74;
|
|
|
+ _SC_SYNCHRONIZED_IO* = 75;
|
|
|
+ _SC_SYMLOOP_MAX* = 76;
|
|
|
+ _SC_THREAD_ATTR_STACKADDR* = 77;
|
|
|
+ _SC_THREAD_ATTR_STACKSIZE* = 78;
|
|
|
+ _SC_THREAD_CPUTIME* = 79;
|
|
|
+ _SC_THREAD_DESTRUCTOR_ITERATIONS* = 80;
|
|
|
+ _SC_THREAD_KEYS_MAX* = 81;
|
|
|
+ _SC_THREAD_PRIO_INHERIT* = 82;
|
|
|
+ _SC_THREAD_PRIO_PROTECT* = 83;
|
|
|
+ _SC_THREAD_PRIORITY_SCHEDULING* = 84;
|
|
|
+ _SC_THREAD_PROCESS_SHARED* = 85;
|
|
|
+ _SC_THREAD_ROBUST_PRIO_INHERIT* = 86;
|
|
|
+ _SC_THREAD_ROBUST_PRIO_PROTECT* = 87;
|
|
|
+ _SC_THREAD_SPORADIC_SERVER* = 88;
|
|
|
+ _SC_THREAD_STACK_MIN* = 89;
|
|
|
+ _SC_THREAD_THREADS_MAX* = 90;
|
|
|
+ _SC_THREADS* = 91;
|
|
|
+ _SC_TIMEOUTS* = 92;
|
|
|
+ _SC_TIMER_MAX* = 93;
|
|
|
+ _SC_TIMERS* = 94;
|
|
|
+ _SC_TRACE* = 95;
|
|
|
+ _SC_TRACE_EVENT_FILTER* = 96;
|
|
|
+ _SC_TRACE_EVENT_NAME_MAX* = 97;
|
|
|
+ _SC_TRACE_INHERIT* = 98;
|
|
|
+ _SC_TRACE_LOG* = 99;
|
|
|
+ _SC_GETGR_R_SIZE_MAX* = 100;
|
|
|
+ _SC_GETPW_R_SIZE_MAX* = 101;
|
|
|
+ _SC_LOGIN_NAME_MAX* = 102;
|
|
|
+ _SC_THREAD_SAFE_FUNCTIONS* = 103;
|
|
|
+ _SC_TRACE_NAME_MAX* = 104;
|
|
|
+ _SC_TRACE_SYS_MAX* = 105;
|
|
|
+ _SC_TRACE_USER_EVENT_MAX* = 106;
|
|
|
+ _SC_TTY_NAME_MAX* = 107;
|
|
|
+ _SC_TYPED_MEMORY_OBJECTS* = 108;
|
|
|
+ _SC_V6_ILP32_OFF32* = 109;
|
|
|
+ _SC_V6_ILP32_OFFBIG* = 110;
|
|
|
+ _SC_V6_LP64_OFF64* = 111;
|
|
|
+ _SC_V6_LPBIG_OFFBIG* = 112;
|
|
|
+ _SC_V7_ILP32_OFF32* = 113;
|
|
|
+ _SC_V7_ILP32_OFFBIG* = 114;
|
|
|
+ _SC_V7_LP64_OFF64* = 115;
|
|
|
+ _SC_V7_LPBIG_OFFBIG* = 116;
|
|
|
+ _SC_XOPEN_CRYPT* = 117;
|
|
|
+ _SC_XOPEN_ENH_I18N* = 118;
|
|
|
+ _SC_XOPEN_LEGACY* = 119;
|
|
|
+ _SC_XOPEN_REALTIME* = 120;
|
|
|
+ _SC_XOPEN_REALTIME_THREADS* = 121;
|
|
|
+ _SC_XOPEN_STREAMS* = 122;
|
|
|
+ _SC_XOPEN_UNIX* = 123;
|
|
|
+ _SC_XOPEN_UUCP* = 124;
|
|
|
+ _SC_XOPEN_VERSION* = 125;
|
|
|
+ _SC_PHYS_PAGES* = 500;
|
|
|
+ _SC_AVPHYS_PAGES* = 501;
|
|
|
+ _SC_NPROCESSORS_CONF* = 502;
|
|
|
+ _SC_NPROCESSORS_ONLN* = 503;
|
|
|
+
|
|
|
+
|
|
|
+ (* OpenBSD 5.2 /usr/include/sys/mman.h *)
|
|
|
+ POSIX_MADV_NORMAL* = 0; (* no further special treatment *)
|
|
|
+ POSIX_MADV_RANDOM* = 1; (* expect random page references *)
|
|
|
+ POSIX_MADV_SEQUENTIAL* = 2; (* expect sequential page references *)
|
|
|
+ POSIX_MADV_WILLNEED* = 3; (* will need these pages *)
|
|
|
+ POSIX_MADV_DONTNEED* = 4; (* don't need these pages *)
|
|
|
+ MADV_SPACEAVAIL* = 5; (* insure that resources are reserved *)
|
|
|
+ MADV_FREE* = 6; (* pages are empty, free them *)
|
|
|
+
|
|
|
+ MADV_NORMAL* = POSIX_MADV_NORMAL;
|
|
|
+ MADV_RANDOM* = POSIX_MADV_RANDOM;
|
|
|
+ MADV_SEQUENTIAL* = POSIX_MADV_SEQUENTIAL;
|
|
|
+ MADV_WILLNEED* = POSIX_MADV_WILLNEED;
|
|
|
+ MADV_DONTNEED* = POSIX_MADV_DONTNEED;
|
|
|
+
|
|
|
+ (* OpenBSD 5.2 /usr/include/sys/signal.h *)
|
|
|
+ MINSIGSTKSZ* = 8192; (* minimum allowable stack *)
|
|
|
+ SIGSTKSZ* = MINSIGSTKSZ + 32768; (* recommended stack size *)
|
|
|
|
|
|
TYPE
|
|
|
(* OpenBSD OK *)
|
|
|
__ftw_func_t* = PROCEDURE (fileName: PtrSTR; VAR [nil] stat: stat_t; flag: INTEGER): INTEGER; (* OpenBSD 5.2: OK *)
|
|
|
PtrVoid* = INTEGER;
|
|
|
PtrSTR* = POINTER TO ARRAY [untagged] OF SHORTCHAR;
|
|
|
- (* PtrWSTR* = POINTER TO ARRAY [untagged] OF CHAR; *) (* OpenBSD *)
|
|
|
+ (* PtrWSTR* = POINTER TO ARRAY [untagged] OF CHAR; *)
|
|
|
PtrInt* = INTEGER;
|
|
|
StrArray* = POINTER TO ARRAY [untagged] OF PtrSTR;
|
|
|
PtrFILE* = INTEGER;
|
|
@@ -472,6 +643,13 @@ MODULE LinLibc ["libc.so.66.0"];
|
|
|
wchar_t* = INTEGER; (* OpenBSD 5.2: 32-bit *)
|
|
|
PtrWSTR* = POINTER TO ARRAY [untagged] OF wchar_t;
|
|
|
|
|
|
+ (* OpenBSD 5.2 *)
|
|
|
+ sigaltstack_t* = RECORD [untagged]
|
|
|
+ ss_sp*: PtrVoid;
|
|
|
+ ss_size*: size_t;
|
|
|
+ ss_flags*: INTEGER;
|
|
|
+ END;
|
|
|
+
|
|
|
VAR
|
|
|
(* timezone*: INTEGER; (* seconds from GMT *) *) (* OpenBSD: not present *)
|
|
|
(* stdin*, stdout*, stderr* : PtrFILE; (* OpenBSD: not present *) *)
|
|
@@ -571,4 +749,12 @@ MODULE LinLibc ["libc.so.66.0"];
|
|
|
PROCEDURE [ccall] mbtowc* (pwc: PtrWSTR; s: PtrSTR; n: size_t): INTEGER;
|
|
|
PROCEDURE [ccall] mbstowcs* (pwcs: PtrWSTR; s: PtrSTR; n: size_t): size_t;
|
|
|
|
|
|
+ (* OpenBSD 5.2 *)
|
|
|
+ PROCEDURE [ccall] sysconf* (name: INTEGER): INTEGER;
|
|
|
+
|
|
|
+ (* OpenBSD 5.2 *)
|
|
|
+ PROCEDURE [ccall] madvise* (addr: PtrVoid; len: size_t; behav: INTEGER): INTEGER;
|
|
|
+
|
|
|
+ PROCEDURE [ccall] sigaltstack* (VAR [nil] ss: sigaltstack_t; VAR [nil] oss: sigaltstack_t): INTEGER;
|
|
|
+
|
|
|
END LinLibc.
|