4 #ifndef RUDIMENTS_SEMAPHORESET_H 5 #define RUDIMENTS_SEMAPHORESET_H 7 #include <rudiments/private/semaphoresetincludes.h> 57 bool supportsTimedSemaphoreOperations();
64 bool supportsUndoSemaphoreOperations();
76 int32_t semcount,
const int32_t *values);
81 bool attach(key_t key, int32_t semcount);
87 bool createOrAttach(key_t key, mode_t permissions,
88 int32_t semcount,
const int32_t *values);
104 int32_t getId()
const;
107 bool wait(int32_t index);
118 bool wait(int32_t index, int32_t seconds,
119 int32_t nanoseconds);
122 bool signal(int32_t index);
127 bool waitWithUndo(int32_t index);
139 bool waitWithUndo(int32_t index,
140 int32_t seconds, int32_t nanoseconds);
144 bool signalWithUndo(int32_t index);
148 bool setValue(int32_t index, int32_t value);
151 int32_t getValue(int32_t index);
160 bool setUserName(
const char *username);
169 bool setGroupName(
const char *groupname);
173 bool setUserId(uid_t uid);
177 bool setGroupId(gid_t gid);
181 bool setPermissions(mode_t permissions);
195 const char *getUserName();
208 const char *getGroupName();
219 mode_t getPermissions();
224 int32_t getWaitingForZero(int32_t index);
228 int32_t getWaitingForIncrement(int32_t index);
233 void retryInterruptedOperations();
238 void dontRetryInterruptedOperations();
242 static bool supported();
244 #include <rudiments/private/semaphoreset.h> Definition: semaphoreset.h:44
Definition: permissions.h:28