Top | ![]() |
![]() |
![]() |
![]() |
entityentity — Functions for manipulating lu_ent structures. |
struct lu_ent * | lu_ent_new () |
void | lu_ent_free () |
void | lu_ent_copy () |
void | lu_ent_commit () |
void | lu_ent_revert () |
void | lu_ent_add () |
void | lu_ent_add_current () |
void | lu_ent_clear () |
void | lu_ent_clear_all () |
void | lu_ent_clear_all_current () |
void | lu_ent_clear_current () |
void | lu_ent_del () |
void | lu_ent_del_current () |
void | lu_ent_dump () |
GValueArray * | lu_ent_get () |
const char * | lu_ent_get_first_string () |
const char * | lu_ent_get_first_string_current () |
char * | lu_ent_get_first_value_strdup () |
char * | lu_ent_get_first_value_strdup_current () |
id_t | lu_ent_get_first_id () |
id_t | lu_ent_get_first_id_current () |
GList * | lu_ent_get_attributes () |
GList * | lu_ent_get_attributes_current () |
GValueArray * | lu_ent_get_current () |
gboolean | lu_ent_has () |
gboolean | lu_ent_has_current () |
void | lu_ent_set () |
void | lu_ent_set_current () |
void | lu_ent_set_string () |
void | lu_ent_set_string_current () |
void | lu_ent_set_id () |
void | lu_ent_set_id_current () |
void | lu_ent_set_long () |
void | lu_ent_set_long_current () |
struct | lu_ent |
typedef | lu_ent_t |
#define | LU_USERNAME |
#define | LU_USERPASSWORD |
#define | LU_UIDNUMBER |
#define | LU_GIDNUMBER |
#define | LU_GECOS |
#define | LU_HOMEDIRECTORY |
#define | LU_LOGINSHELL |
#define | LU_GROUPNAME |
#define | LU_GROUPPASSWORD |
#define | LU_MEMBERNAME |
#define | LU_ADMINISTRATORNAME |
#define | LU_SHADOWNAME |
#define | LU_SHADOWPASSWORD |
#define | LU_SHADOWLASTCHANGE |
#define | LU_SHADOWMIN |
#define | LU_SHADOWMAX |
#define | LU_SHADOWWARNING |
#define | LU_SHADOWINACTIVE |
#define | LU_SHADOWEXPIRE |
#define | LU_SHADOWFLAG |
#define | LU_COMMONNAME |
#define | LU_GIVENNAME |
#define | LU_SN |
#define | LU_ROOMNUMBER |
#define | LU_TELEPHONENUMBER |
#define | LU_HOMEPHONE |
#define | LU_EMAIL |
entity.h
declares functions for manipulating lu_ent
structures, which are used by libuser, its modules, and applications to hold
data about a particular user or group account.
void
lu_ent_free (struct lu_ent *ent
);
Frees an struct lu_ent, including all strings it owns.
void lu_ent_copy (struct lu_ent *source
,struct lu_ent *dest
);
Copies one struct lu_ent over another.
source |
The entity to copy |
|
dest |
The destination space, must be already allocated by |
void
lu_ent_commit (struct lu_ent *ent
);
Sets pending attribute changes as current values of the entity.
void
lu_ent_revert (struct lu_ent *ent
);
Replaces all attributes with changes pending by their current values, forgetting the pending changes.
void lu_ent_add (struct lu_ent *ent
,const char *attr
,const GValue *value
);
Appends value
to pending attribute attr
in a struct lu_ent if value
is
not yet in the list of attr
values.
void lu_ent_add_current (struct lu_ent *ent
,const char *attr
,const GValue *value
);
Appends value
to current attribute attr
in a struct lu_ent if value
is
not yet in the list of attr
values.
void lu_ent_clear (struct lu_ent *ent
,const char *attr
);
Removes all values of pending attribute attribute
from a struct lu_ent.
void
lu_ent_clear_all (struct lu_ent *ent
);
Removes all pending attributes from a struct lu_ent.
void
lu_ent_clear_all_current (struct lu_ent *ent
);
Removes all current attributes from a struct lu_ent.
void lu_ent_clear_current (struct lu_ent *ent
,const char *attr
);
Removes all values of current attribute attribute
from a struct lu_ent.
void lu_ent_del (struct lu_ent *ent
,const char *attr
,const GValue *value
);
Removes a pending attribute attr
value value
from a struct lu_ent, if
present.
void lu_ent_del_current (struct lu_ent *ent
,const char *attr
,const GValue *value
);
Removes a current attribute attr
value value
from a struct lu_ent, if
present.
void lu_ent_dump (struct lu_ent *ent
,FILE *fp
);
Dumps a struct lu_ent to a file in text form, for debugging.
GValueArray * lu_ent_get (struct lu_ent *ent
,const char *attribute
);
Returns values associated with a pending attribute in a struct lu_ent.
const char * lu_ent_get_first_string (struct lu_ent *ent
,const char *attribute
);
Returns the first string associated with a pending attribute in a struct lu_ent.
const char * lu_ent_get_first_string_current (struct lu_ent *ent
,const char *attribute
);
Returns the first string associated with a current attribute in a struct lu_ent.
char * lu_ent_get_first_value_strdup (struct lu_ent *ent
,const char *attribute
);
Returns a string representation (as if by lu_value_strdup()
) of the first
value associated with a pending attribute in a struct lu_ent.
char * lu_ent_get_first_value_strdup_current (struct lu_ent *ent
,const char *attribute
);
Returns a string representation (as if by lu_value_strdup()
) of the first
value associated with a current attribute in a struct lu_ent.
id_t lu_ent_get_first_id (struct lu_ent *ent
,const char *attribute
);
Returns the first id_t value associated with a pending attribute in a struct lu_ent.
ID value the attribute is present and can be converted into id_t.
Returns LU_VALUE_INVALID_ID
if the attribute is not present, the first
value cannot be converted, or on error.
id_t lu_ent_get_first_id_current (struct lu_ent *ent
,const char *attribute
);
Returns the first id_t value associated with a current attribute in a struct lu_ent.
ID value the attribute is present and can be converted into id_t.
Returns LU_VALUE_INVALID_ID
if the attribute is not present, the first
value cannot be converted, or on error.
GList *
lu_ent_get_attributes (struct lu_ent *ent
);
Returns a list of all pending attributes in a struct lu_ent.
GList *
lu_ent_get_attributes_current (struct lu_ent *ent
);
Returns a list of all current attributes in a struct lu_ent.
GValueArray * lu_ent_get_current (struct lu_ent *ent
,const char *attribute
);
Returns values associated with a current attribute in a struct lu_ent.
gboolean lu_ent_has (struct lu_ent *ent
,const char *attribute
);
Checks if a struct lu_ent has at least one pending attribute attribute
.
gboolean lu_ent_has_current (struct lu_ent *ent
,const char *attribute
);
Checks if a struct lu_ent has at least one current attribute attribute
.
void lu_ent_set (struct lu_ent *ent
,const char *attr
,const GValueArray *values
);
Replaces all pending attributes attr
in a struct lu_ent by a copy of
values
. If values
is empty, it removes the pending attribute completely.
void lu_ent_set_current (struct lu_ent *ent
,const char *attr
,const GValueArray *values
);
Replaces all current attributes attr
in a struct lu_ent by a copy of
values
. If values
is empty, it removes the pending attribute completely.
void lu_ent_set_string (struct lu_ent *ent
,const char *attr
,const char *value
);
Replaces all pending attributes attr
in a struct lu_ent by a copy of
string value
.
void lu_ent_set_string_current (struct lu_ent *ent
,const char *attr
,const char *value
);
Replaces all current attributes attr
in a struct lu_ent by a copy of
string value
.
void lu_ent_set_id (struct lu_ent *ent
,const char *attr
,id_t value
);
Replaces all pending attributes attr
in a struct lu_ent by an id_t value
.
void lu_ent_set_id_current (struct lu_ent *ent
,const char *attr
,id_t value
);
Replaces all current attributes attr
in a struct lu_ent by an id_t value
.
void lu_ent_set_long (struct lu_ent *ent
,const char *attr
,long int value
);
Replaces all pending attributes attr
in a struct lu_ent by a long value
.
void lu_ent_set_long_current (struct lu_ent *ent
,const char *attr
,long int value
);
Replaces all current attributes attr
in a struct lu_ent by a long value
.
struct lu_ent;
An opaque structure used to hold data about a particular user or group account.
Each struct lu_ent contains two sets of attributes: pending and current. The pending attributes are modified by default, the current attributes are modified by functions ending with _current.
Each attribute contains a list of values. The list is never empty; removing the last entry from the list removes the list completely.
typedef struct lu_ent lu_ent_t;
lu_ent_t
has been deprecated since version 0.57.3 and should not be used in newly-written code.
Use struct lu_ent directly.
An alias for struct lu_ent.
#define LU_USERPASSWORD "pw_passwd"
User password, a G_TYPE_STRING
. If shadow passwords are used, this is the
placeholder password.
Don't modify passwords by changing this attribute directly, use one of the specialized functions.
#define LU_GECOS "pw_gecos"
Usually user's real name, a G_TYPE_STRING
. Often contains user's real name,
office name, office phone, home phone, separated by commas.
#define LU_GROUPPASSWORD "gr_passwd"
Group password, a G_TYPE_STRING
.
Don't modify passwords by changing this attribute directly, use one of the specialized functions.
#define LU_MEMBERNAME "gr_mem"
Group member names; each member is represented by a separate G_TYPE_STRING
value.
#define LU_ADMINISTRATORNAME "gr_adm"
Group administrator names; each administrator is represented by a separate
G_TYPE_STRING
value.
#define LU_SHADOWNAME LU_USERNAME
User name, a G_TYPE_STRING
. Note that LU_SHADOWNAME
is not distinct from
LU_USERNAME
.
#define LU_SHADOWPASSWORD "sp_pwdp"
User password in the shadow file, a G_TYPE_STRING
.
Don't modify passwords by changing this attribute directly, use one of the specialized functions.
#define LU_SHADOWLASTCHANGE "sp_lstchg"
The number of days since the epoch to the day when the password was last
changed, a G_TYPE_LONG
.
May be -1 to indicate that the field exists without a value. This should be handled the same as if the attribute was missing altogether, and consistently with shadow(5).
#define LU_SHADOWMIN "sp_min"
Minimum password lifetime in days before it can be changed, a G_TYPE_LONG
.
May be -1 to indicate that the field exists without a value. This should be handled the same as if the attribute was missing altogether, and consistently with shadow(5).
#define LU_SHADOWMAX "sp_max"
Maximum password lifetime in days before it must be changed, a G_TYPE_LONG
.
May be -1 to indicate that the field exists without a value. This should be handled the same as if the attribute was missing altogether, and consistently with shadow(5).
#define LU_SHADOWWARNING "sp_warn"
Days before the password lifetime expires when the user should start to be
warned, a G_TYPE_LONG
.
May be -1 to indicate that the field exists without a value. This should be handled the same as if the attribute was missing altogether, and consistently with shadow(5).
#define LU_SHADOWINACTIVE "sp_inact"
Days after the password lifetime expires when the user account is disabled
(because it is considered inactive), a G_TYPE_LONG
. -1 to disable inactive
account disabling.
#define LU_SHADOWEXPIRE "sp_expire"
The number of days since the epoch to the day when the account expires and
is disabled, a G_TYPE_LONG
. -1 to disable account expiration.
#define LU_SHADOWFLAG "sp_flag"
A reserved value "for future use", a G_TYPE_LONG
. In most cases the value
is -1.
#define LU_TELEPHONENUMBER "telephoneNumber"
User's telephone number, a G_TYPE_STRING
.