Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/include/sys/unistd.h')
-rw-r--r--newlib/libc/include/sys/unistd.h130
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