diff options
Diffstat (limited to 'newlib/libc/include/sys/unistd.h')
-rw-r--r-- | newlib/libc/include/sys/unistd.h | 130 |
1 files changed, 87 insertions, 43 deletions
diff --git a/newlib/libc/include/sys/unistd.h b/newlib/libc/include/sys/unistd.h index fa103a91f..9d87365b4 100644 --- a/newlib/libc/include/sys/unistd.h +++ b/newlib/libc/include/sys/unistd.h @@ -8,6 +8,7 @@ extern "C" { #include <_ansi.h> #include <sys/types.h> #define __need_size_t +#define __need_ptrdiff_t #include <stddef.h> extern char **environ; @@ -41,6 +42,9 @@ uid_t _EXFUN(geteuid, (void )); gid_t _EXFUN(getgid, (void )); int _EXFUN(getgroups, (int __gidsetsize, gid_t __grouplist[] )); char _EXFUN(*getlogin, (void )); +#if defined(_POSIX_THREAD_SAFE_FUNCTIONS) +int _EXFUN(getlogin_r, (char *name, size_t namesize) ); +#endif char _EXFUN(*getpass, (__const char *__prompt)); size_t _EXFUN(getpagesize, (void)); pid_t _EXFUN(getpgrp, (void )); @@ -55,9 +59,18 @@ off_t _EXFUN(lseek, (int __fildes, off_t __offset, int __whence )); long _EXFUN(pathconf, (const char *__path, int __name )); int _EXFUN(pause, (void )); int _EXFUN(pipe, (int __fildes[2] )); -int _EXFUN(read, (int __fildes, void *__buf, size_t __nbyte )); +/* POSIX 1003.1b-1993 says read() returns ssize_t */ +#if defined(__rtems__) +ssize_t _EXFUN(read, (int __fildes, void *__buf, size_t __nbyte )); +#else +int _EXFUN(read, (int __fildes, void *__buf, size_t __nbyte )); +#endif int _EXFUN(rmdir, (const char *__path )); -void * _EXFUN(sbrk, (size_t __incr)); +#if defined(__rtems__) +void * _EXFUN(sbrk, (ptrdiff_t __incr)); +#else +void * _EXFUN(sbrk, (size_t __incr)); +#endif #if defined(__CYGWIN__) int _EXFUN(setegid, (gid_t __gid )); int _EXFUN(seteuid, (uid_t __uid )); @@ -73,7 +86,12 @@ pid_t _EXFUN(tcgetpgrp, (int __fildes )); int _EXFUN(tcsetpgrp, (int __fildes, pid_t __pgrp_id )); char _EXFUN(*ttyname, (int __fildes )); int _EXFUN(unlink, (const char *__path )); +/* POSIX 1003.1b-1993 says write() returns ssize_t */ +#if defined(__rtems__) +ssize_t _EXFUN(write, (int __fildes, const void *__buf, size_t __nbyte )); +#else int _EXFUN(write, (int __fildes, const void *__buf, size_t __nbyte )); +#endif #ifndef _POSIX_SOURCE pid_t _EXFUN(vfork, (void )); @@ -114,33 +132,7 @@ int _EXFUN(symlink, (const char *__name1, const char *__name2)); # define SEEK_CUR 1 # define SEEK_END 2 -/* - * RTEMS adheres to a later version of POSIX -- 1003.1b. - * - * XXX this version string should change. - */ - -#ifdef __rtems__ -#ifndef _POSIX_JOB_CONTROL -# define _POSIX_JOB_CONTROL 1 -#endif -#ifndef _POSIX_SAVED_IDS -# define _POSIX_SAVED_IDS 1 -#endif -# define _POSIX_VERSION 199009L -#else -#ifdef __svr4__ -# define _POSIX_JOB_CONTROL 1 -# define _POSIX_SAVED_IDS 1 -# define _POSIX_VERSION 199009L -#endif -#endif - -#ifdef __CYGWIN__ -# define _POSIX_JOB_CONTROL 1 -# define _POSIX_SAVED_IDS 0 -# define _POSIX_VERSION 199009L -#endif +#include <sys/features.h> #define STDIN_FILENO 0 /* standard input file descriptor */ #define STDOUT_FILENO 1 /* standard output file descriptor */ @@ -148,21 +140,73 @@ int _EXFUN(symlink, (const char *__name1, const char *__name2)); long _EXFUN(sysconf, (int __name)); -# define _SC_ARG_MAX 0 -# define _SC_CHILD_MAX 1 -# define _SC_CLK_TCK 2 -# define _SC_NGROUPS_MAX 3 -# define _SC_OPEN_MAX 4 -/* no _SC_STREAM_MAX */ -# define _SC_JOB_CONTROL 5 -# define _SC_SAVED_IDS 6 -# define _SC_VERSION 7 -# define _SC_PAGESIZE 8 -# define _SC_NPROCESSORS_CONF 9 -# define _SC_NPROCESSORS_ONLN 10 -# define _SC_PHYS_PAGES 11 -# define _SC_AVPHYS_PAGES 12 +/* + * 4.8.1 Get Configurable System Variables, P1003.1b-1993, p. 96 + * + * NOTE: Table 4-2, Configurable System Variables, p. 96 + */ + +#define _SC_ARG_MAX 0 +#define _SC_CHILD_MAX 1 +#define _SC_CLK_TCK 2 +#define _SC_NGROUPS_MAX 3 +#define _SC_OPEN_MAX 4 + /* no _SC_STREAM_MAX */ +#define _SC_JOB_CONTROL 5 +#define _SC_SAVED_IDS 6 +#define _SC_VERSION 7 +#define _SC_PAGESIZE 8 +#define _SC_AIO_LISTIO_MAX 9 +#define _SC_AIO_MAX 10 +#define _SC_AIO_PRIO_DELTA_MAX 11 +#define _SC_DELAYTIMER_MAX 12 +#define _SC_MQ_OPEN_MAX 13 +#define _SC_MQ_PRIO_MAX 14 +#define _SC_RTSIG_MAX 15 +#define _SC_SEM_NSEMS_MAX 16 +#define _SC_SEM_VALUE_MAX 17 +#define _SC_SIGQUEUE_MAX 18 +#define _SC_TIMER_MAX 19 +#define _SC_TZNAME_MAX 20 + +#define _SC_ASYNCHRONOUS_IO 21 +#define _SC_FSYNC 22 +#define _SC_MAPPED_FILES 23 +#define _SC_MEMLOCK 24 +#define _SC_MEMLOCK_RANGE 25 +#define _SC_MEMORY_PROTECTION 26 +#define _SC_MESSAGE_PASSING 27 +#define _SC_PRIORITIZED_IO 28 +#define _SC_REALTIME_SIGNALS 29 +#define _SC_SEMAPHORES 30 +#define _SC_SHARED_MEMORY_OBJECTS 31 +#define _SC_SYNCHRONIZED_IO 32 +#define _SC_TIMERS 33 + +/* + * P1003.1c/D10, p. 52 adds the following. + */ +#define _SC_GETGR_R_SIZE_MAX 34 +#define _SC_GETPW_R_SIZE_MAX 35 +#define _SC_LOGIN_NAME_MAX 36 +#define _SC_THREAD_DESTRUCTOR_ITERATIONS 37 +#define _SC_THREAD_KEYS_MAX 38 +#define _SC_THREAD_STACK_MIN 39 +#define _SC_THREAD_THREADS_MAX 40 +#define _SC_TTY_NAME_MAX 41 + +#define _SC_THREADS 42 +#define _SC_THREAD_ATTR_STACKADDR 43 +#define _SC_THREAD_ATTR_STACKSIZE 44 +#define _SC_THREAD_PRIORITY_SCHEDULING 45 +#define _SC_THREAD_PRIO_INHERIT 46 +/* _SC_THREAD_PRIO_PROTECT was _SC_THREAD_PRIO_CEILING in early drafts */ +#define _SC_THREAD_PRIO_PROTECT 47 +#define _SC_THREAD_PRIO_CEILING _SC_THREAD_PRIO_PROTECT +#define _SC_THREAD_PROCESS_SHARED 48 +#define _SC_THREAD_SAFE_FUNCTIONS 49 + # define _PC_LINK_MAX 0 # define _PC_MAX_CANON 1 # define _PC_MAX_INPUT 2 |