* Fixed some misunderstanding regarding the _POSIX_* macros. They are

not supposed to be passed to pathconf() or sysconf().
* Added POSIX semaphore related macros.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25361 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2008-05-08 01:27:31 +00:00
parent 6806f7f873
commit 01b1098795
3 changed files with 28 additions and 16 deletions
+11 -6
View File
@@ -28,7 +28,14 @@
#define F_TEST 3 /* test a section for locks by other processes */
/* POSIX version support */
#define _POSIX_VERSION (199009L)
#define _POSIX_VERSION (199009L) /* TODO: Update! */
#define _POSIX_CHOWN_RESTRICTED 1
#define _POSIX_JOB_CONTROL 1
#define _POSIX_NO_TRUNC 0
#define _POSIX_SAVED_IDS 1
#define _POSIX_VDISABLE ((char)-2) /* TODO: Check this! */
#define _POSIX_SEMAPHORES (200112L)
/* pathconf() constants */
#define _PC_CHOWN_RESTRICTED 1
@@ -40,11 +47,6 @@
#define _PC_PIPE_BUF 7
#define _PC_VDISABLE 8
#define _PC_LINK_MAX 25
#define _POSIX_CHOWN_RESTRICTED 9
#define _POSIX_JOB_CONTROL 10
#define _POSIX_NO_TRUNC 11
#define _POSIX_SAVED_IDS 12
#define _POSIX_VDISABLE ((cc_t) - 2)
/* sysconf() constants */
#define _SC_ARG_MAX 15
@@ -61,6 +63,9 @@
#define _SC_GETPW_R_SIZE_MAX 26
#define _SC_PAGE_SIZE 27
#define _SC_PAGESIZE _SC_PAGE_SIZE
#define _SC_SEM_NSEMS_MAX 28
#define _SC_SEM_VALUE_MAX 29
#define _SC_SEMAPHORES 30
/* lseek() constants */
#ifndef SEEK_SET
+6 -1
View File
@@ -15,6 +15,11 @@
struct realtime_sem_context;
#define MAX_POSIX_SEMS_PER_TEAM 128
#define MAX_POSIX_SEMS 1024
#define MAX_POSIX_SEM_VALUE INT_MAX
__BEGIN_DECLS
void realtime_sem_init();
@@ -22,7 +27,7 @@ void delete_realtime_sem_context(struct realtime_sem_context* context);
struct realtime_sem_context* clone_realtime_sem_context(
struct realtime_sem_context* context);
status_t _user_realtime_sem_open(const char* name, int openFlags,
status_t _user_realtime_sem_open(const char* name, int openFlagsOrShared,
mode_t mode, uint32 semCount, sem_t* userSem,
sem_t** _usedUserSem);
status_t _user_realtime_sem_close(sem_id semID, sem_t** _deleteUserSem);