GATE
C/C++ Framework
Loading...
Searching...
No Matches
accounts.h File Reference

OS user account utilities. More...

Data Structures

struct  gate_account_user_class
 user account record More...
struct  gate_account_group_class
 account group record More...

Typedefs

typedef struct gate_account_user_class gate_account_user_t
 user account record
typedef struct gate_account_group_class gate_account_group_t
 account group record
typedef gate_bool_t(* gate_account_enum_users_callback_t) (gate_account_user_t const *account_user, void *userparam)
 Callback function type to enumerate user accounts.
typedef gate_bool_t(* gate_account_enum_groups_callback_t) (gate_account_group_t const *account_group, void *userparam)
 Callback function type to enumerate account groups.

Functions

GATE_SYSTEM_API gate_result_t gate_account_enum_users (gate_account_enum_users_callback_t callback, void *param)
 Enumerate all available system user accounts.
GATE_SYSTEM_API gate_result_t gate_account_enum_groups (gate_account_enum_groups_callback_t callback, void *userparam)
 Enumerate all available system account groups.
GATE_SYSTEM_API gate_result_t gate_account_enum_group_members (gate_account_group_t const *group, gate_account_enum_users_callback_t callback, void *param)
 Enumerate all user accounts in a group.
GATE_SYSTEM_API gate_result_t gate_account_enum_user_memberships (gate_account_user_t const *user, gate_account_enum_groups_callback_t callback, void *param)
 Enumerate all group memberships a user account is connected with.
GATE_SYSTEM_API gate_result_t gate_account_get_user (gate_string_t const *user_id, gate_account_user_t *user)
 Resolves a user account by its unique ID.
GATE_SYSTEM_API gate_result_t gate_account_resolve_user (gate_string_t const *user_name, gate_account_user_t *user)
 Resolves a user account by its login name.
GATE_SYSTEM_API gate_result_t gate_account_get_group (gate_string_t const *group_id, gate_account_group_t *group)
 Resolves an account group by its unique ID.
GATE_SYSTEM_API gate_result_t gate_account_resolve_group (gate_string_t const *group_name, gate_account_group_t *group)
 Resolves an account group by its group name.
GATE_SYSTEM_API gate_result_t gate_account_create_user (gate_string_t const *user_name, gate_string_t const *password)
 Create an new default system user account.
GATE_SYSTEM_API gate_result_t gate_account_delete_user (gate_account_user_t const *user)
 Deletes an existing user account.
GATE_SYSTEM_API gate_result_t gate_account_create_group (gate_string_t const *group_name)
 Creates a new default system account group.
GATE_SYSTEM_API gate_result_t gate_account_delete_group (gate_account_group_t const *group)
 Deletes an existing account group.
GATE_SYSTEM_API gate_result_t gate_account_add_user_to_group (gate_account_user_t const *user, gate_account_group_t const *group)
 Adds a user account to an account group.
GATE_SYSTEM_API gate_result_t gate_account_remove_user_from_group (gate_account_user_t const *user, gate_account_group_t const *group)
 Removes a user account from a group membership.
GATE_SYSTEM_API gate_result_t gate_account_get_user_properties (gate_account_user_t const *user, gate_property_t *properties)
 Read advanced user properties.
GATE_SYSTEM_API gate_result_t gate_account_set_user_property (gate_account_user_t const *user, gate_string_t const *key, gate_property_t const *value)
 Changes an advanced user property.

Detailed Description

OS user account utilities.

Function Documentation

◆ gate_account_enum_users()

GATE_SYSTEM_API gate_result_t gate_account_enum_users ( gate_account_enum_users_callback_t callback,
void * param )

Enumerate all available system user accounts.

Parameters
[in]callbackCallback function to be invoked with each found account
[in]userparamUser parameter to be attached to each callback call
Returns
GATE_RESULT_* result code

◆ gate_account_enum_groups()

GATE_SYSTEM_API gate_result_t gate_account_enum_groups ( gate_account_enum_groups_callback_t callback,
void * userparam )

Enumerate all available system account groups.

Parameters
[in]callbackCallback function to be invoked with each found group
[in]userparamUser parameter to be attached to each callback call
Returns
GATE_RESULT_* result code

◆ gate_account_enum_group_members()

GATE_SYSTEM_API gate_result_t gate_account_enum_group_members ( gate_account_group_t const * group,
gate_account_enum_users_callback_t callback,
void * param )

Enumerate all user accounts in a group.

Parameters
[in]groupPointer to group record to be accessed
[in]callbackCallback function to be invoked with each found account in a group
[in]userparamUser parameter to be attached to each callback call
Returns
GATE_RESULT_* result code

◆ gate_account_enum_user_memberships()

GATE_SYSTEM_API gate_result_t gate_account_enum_user_memberships ( gate_account_user_t const * user,
gate_account_enum_groups_callback_t callback,
void * param )

Enumerate all group memberships a user account is connected with.

Parameters
[in]userPointer to user record to be accessed
[in]callbackCallback function to be invoked with each found group membership
[in]userparamUser parameter to be attached to each callback call
Returns
GATE_RESULT_* result code

◆ gate_account_get_user()

GATE_SYSTEM_API gate_result_t gate_account_get_user ( gate_string_t const * user_id,
gate_account_user_t * user )

Resolves a user account by its unique ID.

Parameters
[in]user_idID of user to be resolved
[out]userPointer to user account record to be initialized with resolved data
Returns
GATE_RESULT_* result code

◆ gate_account_resolve_user()

GATE_SYSTEM_API gate_result_t gate_account_resolve_user ( gate_string_t const * user_name,
gate_account_user_t * user )

Resolves a user account by its login name.

Parameters
[in]user_nameLogin name of user to be resolved
[out]userPointer to user account record to be initialized with resolved data
Returns
GATE_RESULT_* result code

◆ gate_account_get_group()

GATE_SYSTEM_API gate_result_t gate_account_get_group ( gate_string_t const * group_id,
gate_account_group_t * group )

Resolves an account group by its unique ID.

Parameters
[in]group_idID of group to be resolved
[out]userPointer to group account record to be initialized with resolved data
Returns
GATE_RESULT_* result code

◆ gate_account_resolve_group()

GATE_SYSTEM_API gate_result_t gate_account_resolve_group ( gate_string_t const * group_name,
gate_account_group_t * group )

Resolves an account group by its group name.

Parameters
[in]group_namename of group to be resolved
[out]userPointer to group account record to be initialized with resolved data
Returns
GATE_RESULT_* result code

◆ gate_account_create_user()

GATE_SYSTEM_API gate_result_t gate_account_create_user ( gate_string_t const * user_name,
gate_string_t const * password )

Create an new default system user account.

Parameters
[in]user_nameUser login name
[in]passowrdUser login password
Returns
GATE_RESULT_* result code

◆ gate_account_delete_user()

GATE_SYSTEM_API gate_result_t gate_account_delete_user ( gate_account_user_t const * user)

Deletes an existing user account.

Parameters
[in]userPointer to user record to be accessed
Returns
GATE_RESULT_* result code

◆ gate_account_create_group()

GATE_SYSTEM_API gate_result_t gate_account_create_group ( gate_string_t const * group_name)

Creates a new default system account group.

Parameters
[in]group_nameName of group to be created
Returns
GATE_RESULT_* result code

◆ gate_account_delete_group()

GATE_SYSTEM_API gate_result_t gate_account_delete_group ( gate_account_group_t const * group)

Deletes an existing account group.

Parameters
[in]groupPointer to group record to be accessed
Returns
GATE_RESULT_* result code

◆ gate_account_add_user_to_group()

GATE_SYSTEM_API gate_result_t gate_account_add_user_to_group ( gate_account_user_t const * user,
gate_account_group_t const * group )

Adds a user account to an account group.

Parameters
[in]userPointer to user to be added to a group
[in]groupPointer to group to add the user as a member
Returns
GATE_RESULT_* result code

◆ gate_account_remove_user_from_group()

GATE_SYSTEM_API gate_result_t gate_account_remove_user_from_group ( gate_account_user_t const * user,
gate_account_group_t const * group )

Removes a user account from a group membership.

Parameters
[in]userPointer to user to be removed from a group
[in]groupPointer to group to remove the user as member
Returns
GATE_RESULT_* result code

◆ gate_account_get_user_properties()

GATE_SYSTEM_API gate_result_t gate_account_get_user_properties ( gate_account_user_t const * user,
gate_property_t * properties )

Read advanced user properties.

Parameters
[in]userPointer to user record to be accessed
[out]propertiesPointer to property object to be initialized with a property-mapping
Returns
GATE_RESULT_* result code

◆ gate_account_set_user_property()

GATE_SYSTEM_API gate_result_t gate_account_set_user_property ( gate_account_user_t const * user,
gate_string_t const * key,
gate_property_t const * value )

Changes an advanced user property.

Parameters
[in]userPointer to user record to be accessed
[in]keyName of property to update
[in]valueNew value of property to be applied
Returns
GATE_RESULT_* result code