4 #ifndef RUDIMENTS_SEMAPHORESET_H 5 #define RUDIMENTS_SEMAPHORESET_H 7 #include <rudiments/private/semaphoresetincludes.h> 9 class semaphoresetprivate;
59 bool supportsTimedSemaphoreOperations();
66 bool supportsUndoSemaphoreOperations();
78 int32_t semcount,
const int32_t *values);
83 bool attach(key_t key, int32_t semcount);
89 bool createOrAttach(key_t key, mode_t permissions,
90 int32_t semcount,
const int32_t *values);
106 int32_t getId()
const;
109 bool wait(int32_t index);
120 bool wait(int32_t index, int32_t seconds,
121 int32_t nanoseconds);
124 bool signal(int32_t index);
129 bool waitWithUndo(int32_t index);
141 bool waitWithUndo(int32_t index,
142 int32_t seconds, int32_t nanoseconds);
146 bool signalWithUndo(int32_t index);
150 bool setValue(int32_t index, int32_t value);
153 int32_t getValue(int32_t index);
162 bool setUserName(
const char *username);
171 bool setGroupName(
const char *groupname);
175 bool setUserId(uid_t uid);
179 bool setGroupId(gid_t gid);
183 bool setPermissions(mode_t permissions);
197 const char *getUserName();
210 const char *getGroupName();
221 mode_t getPermissions();
226 int32_t getWaitingForZero(int32_t index);
230 int32_t getWaitingForIncrement(int32_t index);
235 void retryInterruptedOperations();
240 void dontRetryInterruptedOperations();
244 static bool supported();
246 #include <rudiments/private/semaphoreset.h> Definition: semaphoreset.h:46
Definition: permissions.h:28