E2kSid

E2kSid

Synopsis

struct              E2kSid;
enum                E2kSidType;

E2kSid *            e2k_sid_new_from_string_sid         (E2kSidType type,
                                                         const gchar *string_sid,
                                                         const gchar *display_name);
E2kSid *            e2k_sid_new_from_binary_sid         (E2kSidType type,
                                                         const guint8 *binary_sid,
                                                         const gchar *display_name);
#define             E2K_SID_WKS_EVERYONE
#define             E2K_SID_WKS_ANONYMOUS

E2kSidType          e2k_sid_get_sid_type                (E2kSid *sid);
const gchar *       e2k_sid_get_string_sid              (E2kSid *sid);
const guint8 *      e2k_sid_get_binary_sid              (E2kSid *sid);
const gchar *       e2k_sid_get_display_name            (E2kSid *sid);

#define             E2K_SID_BINARY_SID_LEN              (bsid)
guint               e2k_sid_binary_sid_hash             (gconstpointer key);
gint                e2k_sid_binary_sid_equal            (gconstpointer a,
                                                         gconstpointer b);

Description

Details

struct E2kSid

struct E2kSid {
	GObject parent;

	E2kSidPrivate *priv;
};


enum E2kSidType

typedef enum {
	E2K_SID_TYPE_INVALID,
	E2K_SID_TYPE_USER,
	E2K_SID_TYPE_ALIAS,
	E2K_SID_TYPE_GROUP,
	E2K_SID_TYPE_WELL_KNOWN_GROUP,
	E2K_SID_TYPE_DOMAIN,
	E2K_SID_TYPE_DELETED_ACCOUNT,
	E2K_SID_TYPE_UNKNOWN,
	E2K_SID_TYPE_COMPUTER
} E2kSidType;


e2k_sid_new_from_string_sid ()

E2kSid *            e2k_sid_new_from_string_sid         (E2kSidType type,
                                                         const gchar *string_sid,
                                                         const gchar *display_name);

Creates an E2kSid from the given information

type :

the type of SID that string_sid is

string_sid :

the string form of a Windows Security Identifier

display_name :

UTF-8 display name of the user/group/etc identified by string_sid

Returns :

the new SID

e2k_sid_new_from_binary_sid ()

E2kSid *            e2k_sid_new_from_binary_sid         (E2kSidType type,
                                                         const guint8 *binary_sid,
                                                         const gchar *display_name);

Creates an E2kSid from the given information

type :

the type of SID that binary_sid is

binary_sid :

the binary form of a Windows Security Identifier

display_name :

UTF-8 display name of the user/group/etc identified by string_sid

Returns :

the new SID

E2K_SID_WKS_EVERYONE

#define E2K_SID_WKS_EVERYONE       "S-1-1-0"


E2K_SID_WKS_ANONYMOUS

#define E2K_SID_WKS_ANONYMOUS      "S-1-5-7"


e2k_sid_get_sid_type ()

E2kSidType          e2k_sid_get_sid_type                (E2kSid *sid);

Returns the type of sid (user, group, etc)

sid :

a SID

Returns :

the E2kSidType

e2k_sid_get_string_sid ()

const gchar *       e2k_sid_get_string_sid              (E2kSid *sid);

Returns the string form of sid

sid :

a SID

Returns :

the string SID

e2k_sid_get_binary_sid ()

const guint8 *      e2k_sid_get_binary_sid              (E2kSid *sid);

Returns the binary form of sid. Since the SID data is self-delimiting, no length value is needed. Use E2K_SID_BINARY_SID_LEN() if you need to know the size of the binary data.

sid :

a SID

Returns :

the binary SID

e2k_sid_get_display_name ()

const gchar *       e2k_sid_get_display_name            (E2kSid *sid);

Returns the display name of the entity identified by sid

sid :

a SID

Returns :

the UTF-8 display name

E2K_SID_BINARY_SID_LEN()

#define E2K_SID_BINARY_SID_LEN(bsid) (8 + ((guint8 *)bsid)[1] * 4)


e2k_sid_binary_sid_hash ()

guint               e2k_sid_binary_sid_hash             (gconstpointer key);

Hashes key, a binary SID. For use with GHashTable.

key :

pointer to a binary SID

Returns :

the hash value

e2k_sid_binary_sid_equal ()

gint                e2k_sid_binary_sid_equal            (gconstpointer a,
                                                         gconstpointer b);

Determines if a and b contain the same SID data. For use with GHashTable.

a :

pointer to a binary SID

b :

pointer to another binary SID

Returns :

TRUE or FALSE