Rudiments
groupentry.h
1 // Copyright (c) 2002 David Muse
2 // See the COPYING file for more information.
3 
4 #ifndef RUDIMENTS_GROUPENTRY_H
5 #define RUDIMENTS_GROUPENTRY_H
6 
7 #include <rudiments/private/groupentryincludes.h>
8 
11 class RUDIMENTS_DLLSPEC groupentry {
12  public:
13 
15  groupentry();
16 
19  groupentry(const groupentry &g);
20 
23  groupentry &operator=(const groupentry &g);
24 
26  ~groupentry();
27 
30  bool initialize(const char *groupname);
31 
34  bool initialize(gid_t groupid);
35 
37  const char *getName() const;
38 
49  gid_t getGroupId() const;
50 
58  const char *getSidString() const;
59  const void *getSid() const;
60  uint64_t getSidSize() const;
61 
64  const char * const *getMembers() const;
65 
71  static gid_t getGroupId(const char *groupname);
72 
80  static char *getName(gid_t groupid);
81 
92  static char *getSidString(const char *groupname);
93 
99  static bool platformSupportsFormalSid();
100 
103  static bool needsMutex();
104 
108  static void setMutex(threadmutex *mtx);
109 
110  #include <rudiments/private/groupentry.h>
111 };
112 
113 #endif
Definition: threadmutex.h:11
Definition: groupentry.h:11