semaphoreset.h
// Copyright (c) 1999-2002 David Muse
// See the COPYING file for more information.
#ifndef RUDIMENTS_SEMAPHORESET_H
#define RUDIMENTS_SEMAPHORESET_H
#include <rudiments/private/semaphoresetincludes.h>
class semaphoresetprivate;
class RUDIMENTS_DLLSPEC semaphoreset {
public:
semaphoreset();
~semaphoreset();
bool supportsTimedSemaphoreOperations();
bool supportsUndoSemaphoreOperations();
bool create(key_t key, mode_t permissions,
int32_t semcount, const int32_t *values);
bool attach(key_t key, int32_t semcount);
bool createOrAttach(key_t key, mode_t permissions,
int32_t semcount, const int32_t *values);
void dontRemove();
bool forceRemove();
int32_t getId() const;
bool wait(int32_t index);
bool wait(int32_t index, int32_t seconds,
int32_t nanoseconds);
bool signal(int32_t index);
bool waitWithUndo(int32_t index);
bool waitWithUndo(int32_t index,
int32_t seconds, int32_t nanoseconds);
bool signalWithUndo(int32_t index);
bool setValue(int32_t index, int32_t value);
int32_t getValue(int32_t index);
bool setUserName(const char *username);
bool setGroupName(const char *groupname);
bool setUserId(uid_t uid);
bool setGroupId(gid_t gid);
bool setPermissions(mode_t permissions);
const char *getUserName();
const char *getGroupName();
uid_t getUserId();
gid_t getGroupId();
mode_t getPermissions();
int32_t getWaitingForZero(int32_t index);
int32_t getWaitingForIncrement(int32_t index);
void retryInterruptedOperations();
void dontRetryInterruptedOperations();
#include <rudiments/private/semaphoreset.h>
};
#endif
semaphoreset
Definition: semaphoreset.h:46
permissions
Definition: permissions.h:28