4 #ifndef RUDIMENTS_SEMAPHORESET_H
5 #define RUDIMENTS_SEMAPHORESET_H
7 #include <rudiments/private/semaphoresetincludes.h>
9 class semaphoresetprivate;
59 bool supportsTimedSemaphoreOperations();
71 int32_t semcount,
const int32_t *values);
76 bool attach(key_t key, int32_t semcount);
82 bool createOrAttach(key_t key, mode_t permissions,
83 int32_t semcount,
const int32_t *values);
99 int32_t getId()
const;
102 bool wait(int32_t index);
109 bool wait(int32_t index, int32_t seconds,
110 int32_t nanoseconds);
113 bool signal(int32_t index);
118 bool waitWithUndo(int32_t index);
126 bool waitWithUndo(int32_t index,
127 int32_t seconds, int32_t nanoseconds);
131 bool signalWithUndo(int32_t index);
135 bool setValue(int32_t index, int32_t value);
138 int32_t getValue(int32_t index);
147 bool setUserName(
const char *username);
156 bool setGroupName(
const char *groupname);
160 bool setUserId(uid_t uid);
164 bool setGroupId(gid_t gid);
168 bool setPermissions(mode_t permissions);
182 const char *getUserName();
195 const char *getGroupName();
206 mode_t getPermissions();
211 int32_t getWaitingForZero(int32_t index);
215 int32_t getWaitingForIncrement(int32_t index);
220 void retryInterruptedOperations();
225 void dontRetryInterruptedOperations();
227 #include <rudiments/private/semaphoreset.h>
Definition: semaphoreset.h:46
Definition: permissions.h:28