1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>entity</title><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="index.html" title="libuser Reference Manual"><link rel="up" href="ch01.html" title="libuser"><link rel="prev" href="libuser-value.html" title="value"><link rel="next" href="libuser-error.html" title="error"><meta name="generator" content="GTK-Doc V1.3 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="ch01.html" title="libuser"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libuser-value.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">libuser Reference Manual</th><td><a accesskey="n" href="libuser-error.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="libuser-entity"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle">entity</span></h2><p>entity —
2
Functions for manipulating lu_ent structures.</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
6
#define <a href="libuser-entity.html#LU-USERNAME:CAPS">LU_USERNAME</a>
7
#define <a href="libuser-entity.html#LU-USERPASSWORD:CAPS">LU_USERPASSWORD</a>
8
#define <a href="libuser-entity.html#LU-UIDNUMBER:CAPS">LU_UIDNUMBER</a>
9
#define <a href="libuser-entity.html#LU-GIDNUMBER:CAPS">LU_GIDNUMBER</a>
10
#define <a href="libuser-entity.html#LU-GECOS:CAPS">LU_GECOS</a>
11
#define <a href="libuser-entity.html#LU-HOMEDIRECTORY:CAPS">LU_HOMEDIRECTORY</a>
12
#define <a href="libuser-entity.html#LU-LOGINSHELL:CAPS">LU_LOGINSHELL</a>
13
#define <a href="libuser-entity.html#LU-GROUPNAME:CAPS">LU_GROUPNAME</a>
14
#define <a href="libuser-entity.html#LU-GROUPPASSWORD:CAPS">LU_GROUPPASSWORD</a>
15
#define <a href="libuser-entity.html#LU-MEMBERNAME:CAPS">LU_MEMBERNAME</a>
16
#define <a href="libuser-entity.html#LU-ADMINISTRATORNAME:CAPS">LU_ADMINISTRATORNAME</a>
17
#define <a href="libuser-entity.html#LU-SHADOWNAME:CAPS">LU_SHADOWNAME</a>
18
#define <a href="libuser-entity.html#LU-SHADOWPASSWORD:CAPS">LU_SHADOWPASSWORD</a>
19
#define <a href="libuser-entity.html#LU-SHADOWLASTCHANGE:CAPS">LU_SHADOWLASTCHANGE</a>
20
#define <a href="libuser-entity.html#LU-SHADOWMIN:CAPS">LU_SHADOWMIN</a>
21
#define <a href="libuser-entity.html#LU-SHADOWMAX:CAPS">LU_SHADOWMAX</a>
22
#define <a href="libuser-entity.html#LU-SHADOWWARNING:CAPS">LU_SHADOWWARNING</a>
23
#define <a href="libuser-entity.html#LU-SHADOWINACTIVE:CAPS">LU_SHADOWINACTIVE</a>
24
#define <a href="libuser-entity.html#LU-SHADOWEXPIRE:CAPS">LU_SHADOWEXPIRE</a>
25
#define <a href="libuser-entity.html#LU-SHADOWFLAG:CAPS">LU_SHADOWFLAG</a>
26
#define <a href="libuser-entity.html#LU-COMMONNAME:CAPS">LU_COMMONNAME</a>
27
#define <a href="libuser-entity.html#LU-GIVENNAME:CAPS">LU_GIVENNAME</a>
28
#define <a href="libuser-entity.html#LU-SN:CAPS">LU_SN</a>
29
#define <a href="libuser-entity.html#LU-ROOMNUMBER:CAPS">LU_ROOMNUMBER</a>
30
#define <a href="libuser-entity.html#LU-TELEPHONENUMBER:CAPS">LU_TELEPHONENUMBER</a>
31
#define <a href="libuser-entity.html#LU-HOMEPHONE:CAPS">LU_HOMEPHONE</a>
32
#define <a href="libuser-entity.html#LU-EMAIL:CAPS">LU_EMAIL</a>
33
lu_ent_t* <a href="libuser-entity.html#lu-ent-new">lu_ent_new</a> (void);
34
void <a href="libuser-entity.html#lu-ent-free">lu_ent_free</a> (lu_ent_t *ent);
35
void <a href="libuser-entity.html#lu-ent-copy">lu_ent_copy</a> (lu_ent_t *source,
37
void <a href="libuser-entity.html#lu-ent-commit">lu_ent_commit</a> (lu_ent_t *ent);
38
void <a href="libuser-entity.html#lu-ent-revert">lu_ent_revert</a> (lu_ent_t *ent);
39
void <a href="libuser-entity.html#lu-ent-add">lu_ent_add</a> (lu_ent_t *ent,
42
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
44
void <a href="libuser-entity.html#lu-ent-add-current">lu_ent_add_current</a> (lu_ent_t *ent,
47
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
49
void <a href="libuser-entity.html#lu-ent-clear">lu_ent_clear</a> (lu_ent_t *ent,
51
void <a href="libuser-entity.html#lu-ent-clear-all">lu_ent_clear_all</a> (lu_ent_t *ent);
52
void <a href="libuser-entity.html#lu-ent-clear-all-current">lu_ent_clear_all_current</a> (lu_ent_t *ent);
53
void <a href="libuser-entity.html#lu-ent-clear-current">lu_ent_clear_current</a> (lu_ent_t *ent,
55
void <a href="libuser-entity.html#lu-ent-del">lu_ent_del</a> (lu_ent_t *ent,
58
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
60
void <a href="libuser-entity.html#lu-ent-del-current">lu_ent_del_current</a> (lu_ent_t *ent,
63
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
65
void <a href="libuser-entity.html#lu-ent-dump">lu_ent_dump</a> (lu_ent_t *ent,
68
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
69
>GValueArray</a>* <a href="libuser-entity.html#lu-ent-get">lu_ent_get</a> (lu_ent_t *ent,
70
const char *attribute);
72
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
73
>GList</a>* <a href="libuser-entity.html#lu-ent-get-attributes">lu_ent_get_attributes</a> (lu_ent_t *ent);
75
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
76
>GList</a>* <a href="libuser-entity.html#lu-ent-get-attributes-current">lu_ent_get_attributes_current</a> (lu_ent_t *ent);
78
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
79
>GValueArray</a>* <a href="libuser-entity.html#lu-ent-get-current">lu_ent_get_current</a> (lu_ent_t *ent,
80
const char *attribute);
82
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
83
>gboolean</a> <a href="libuser-entity.html#lu-ent-has">lu_ent_has</a> (lu_ent_t *ent,
84
const char *attribute);
86
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
87
>gboolean</a> <a href="libuser-entity.html#lu-ent-has-current">lu_ent_has_current</a> (lu_ent_t *ent,
88
const char *attribute);
89
void <a href="libuser-entity.html#lu-ent-set">lu_ent_set</a> (lu_ent_t *ent,
92
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
93
>GValueArray</a> *values);
94
void <a href="libuser-entity.html#lu-ent-set-current">lu_ent_set_current</a> (lu_ent_t *ent,
97
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
98
>GValueArray</a> *values);
99
</pre></div><div class="refsect1" lang="en"><a name="id2719089"></a><h2>Description</h2><p>
100
entity.h declares functions for manipulating lu_ent structures, which are used
101
by libuser, its modules, and applications to hold data about a particular
102
user or group account.
104
Each struct lu_ent contains two sets of attributes: pending and current.
105
The pending attributes are modified by default, the current attributes
106
are modified by functions ending with _current.
108
Each attribute contains a list of values. The list is never empty; removing
109
the last entry from the list removes the list completely.
110
</p></div><div class="refsect1" lang="en"><a name="id2719114"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2719120"></a><h3><a name="LU-USERNAME:CAPS"></a>LU_USERNAME</h3><a class="indexterm" name="id2719130"></a><pre class="programlisting">#define LU_USERNAME "pw_name"
113
</p></div><hr><div class="refsect2" lang="en"><a name="id2719145"></a><h3><a name="LU-USERPASSWORD:CAPS"></a>LU_USERPASSWORD</h3><a class="indexterm" name="id2719156"></a><pre class="programlisting">#define LU_USERPASSWORD "pw_passwd"
116
</p></div><hr><div class="refsect2" lang="en"><a name="id2719171"></a><h3><a name="LU-UIDNUMBER:CAPS"></a>LU_UIDNUMBER</h3><a class="indexterm" name="id2719181"></a><pre class="programlisting">#define LU_UIDNUMBER "pw_uid"
119
</p></div><hr><div class="refsect2" lang="en"><a name="id2719196"></a><h3><a name="LU-GIDNUMBER:CAPS"></a>LU_GIDNUMBER</h3><a class="indexterm" name="id2719207"></a><pre class="programlisting">#define LU_GIDNUMBER "pw_gid"
122
</p></div><hr><div class="refsect2" lang="en"><a name="id2719222"></a><h3><a name="LU-GECOS:CAPS"></a>LU_GECOS</h3><a class="indexterm" name="id2719233"></a><pre class="programlisting">#define LU_GECOS "pw_gecos"
125
</p></div><hr><div class="refsect2" lang="en"><a name="id2719248"></a><h3><a name="LU-HOMEDIRECTORY:CAPS"></a>LU_HOMEDIRECTORY</h3><a class="indexterm" name="id2719258"></a><pre class="programlisting">#define LU_HOMEDIRECTORY "pw_dir"
128
</p></div><hr><div class="refsect2" lang="en"><a name="id2719274"></a><h3><a name="LU-LOGINSHELL:CAPS"></a>LU_LOGINSHELL</h3><a class="indexterm" name="id2719283"></a><pre class="programlisting">#define LU_LOGINSHELL "pw_shell"
131
</p></div><hr><div class="refsect2" lang="en"><a name="id2719299"></a><h3><a name="LU-GROUPNAME:CAPS"></a>LU_GROUPNAME</h3><a class="indexterm" name="id2719309"></a><pre class="programlisting">#define LU_GROUPNAME "gr_name"
134
</p></div><hr><div class="refsect2" lang="en"><a name="id2719324"></a><h3><a name="LU-GROUPPASSWORD:CAPS"></a>LU_GROUPPASSWORD</h3><a class="indexterm" name="id2719335"></a><pre class="programlisting">#define LU_GROUPPASSWORD "gr_passwd"
137
</p></div><hr><div class="refsect2" lang="en"><a name="id2719351"></a><h3><a name="LU-MEMBERNAME:CAPS"></a>LU_MEMBERNAME</h3><a class="indexterm" name="id2719360"></a><pre class="programlisting">#define LU_MEMBERNAME "gr_mem"
140
</p></div><hr><div class="refsect2" lang="en"><a name="id2719376"></a><h3><a name="LU-ADMINISTRATORNAME:CAPS"></a>LU_ADMINISTRATORNAME</h3><a class="indexterm" name="id2719387"></a><pre class="programlisting">#define LU_ADMINISTRATORNAME "gr_adm"
143
</p></div><hr><div class="refsect2" lang="en"><a name="id2719402"></a><h3><a name="LU-SHADOWNAME:CAPS"></a>LU_SHADOWNAME</h3><a class="indexterm" name="id2719413"></a><pre class="programlisting">#define LU_SHADOWNAME LU_USERNAME
146
</p></div><hr><div class="refsect2" lang="en"><a name="id2719428"></a><h3><a name="LU-SHADOWPASSWORD:CAPS"></a>LU_SHADOWPASSWORD</h3><a class="indexterm" name="id2719439"></a><pre class="programlisting">#define LU_SHADOWPASSWORD "sp_pwdp"
149
</p></div><hr><div class="refsect2" lang="en"><a name="id2719455"></a><h3><a name="LU-SHADOWLASTCHANGE:CAPS"></a>LU_SHADOWLASTCHANGE</h3><a class="indexterm" name="id2719465"></a><pre class="programlisting">#define LU_SHADOWLASTCHANGE "sp_lstchg"
152
</p></div><hr><div class="refsect2" lang="en"><a name="id2719480"></a><h3><a name="LU-SHADOWMIN:CAPS"></a>LU_SHADOWMIN</h3><a class="indexterm" name="id2719490"></a><pre class="programlisting">#define LU_SHADOWMIN "sp_min"
155
</p></div><hr><div class="refsect2" lang="en"><a name="id2719505"></a><h3><a name="LU-SHADOWMAX:CAPS"></a>LU_SHADOWMAX</h3><a class="indexterm" name="id2719516"></a><pre class="programlisting">#define LU_SHADOWMAX "sp_max"
158
</p></div><hr><div class="refsect2" lang="en"><a name="id2719531"></a><h3><a name="LU-SHADOWWARNING:CAPS"></a>LU_SHADOWWARNING</h3><a class="indexterm" name="id2719542"></a><pre class="programlisting">#define LU_SHADOWWARNING "sp_warn"
161
</p></div><hr><div class="refsect2" lang="en"><a name="id2719557"></a><h3><a name="LU-SHADOWINACTIVE:CAPS"></a>LU_SHADOWINACTIVE</h3><a class="indexterm" name="id2719568"></a><pre class="programlisting">#define LU_SHADOWINACTIVE "sp_inact"
164
</p></div><hr><div class="refsect2" lang="en"><a name="id2719583"></a><h3><a name="LU-SHADOWEXPIRE:CAPS"></a>LU_SHADOWEXPIRE</h3><a class="indexterm" name="id2719594"></a><pre class="programlisting">#define LU_SHADOWEXPIRE "sp_expire"
167
</p></div><hr><div class="refsect2" lang="en"><a name="id2719609"></a><h3><a name="LU-SHADOWFLAG:CAPS"></a>LU_SHADOWFLAG</h3><a class="indexterm" name="id2719619"></a><pre class="programlisting">#define LU_SHADOWFLAG "sp_flag"
170
</p></div><hr><div class="refsect2" lang="en"><a name="id2719634"></a><h3><a name="LU-COMMONNAME:CAPS"></a>LU_COMMONNAME</h3><a class="indexterm" name="id2719644"></a><pre class="programlisting">#define LU_COMMONNAME "cn"
173
</p></div><hr><div class="refsect2" lang="en"><a name="id2719660"></a><h3><a name="LU-GIVENNAME:CAPS"></a>LU_GIVENNAME</h3><a class="indexterm" name="id2719670"></a><pre class="programlisting">#define LU_GIVENNAME "givenName"
176
</p></div><hr><div class="refsect2" lang="en"><a name="id2719685"></a><h3><a name="LU-SN:CAPS"></a>LU_SN</h3><a class="indexterm" name="id2719695"></a><pre class="programlisting">#define LU_SN "sn"
179
</p></div><hr><div class="refsect2" lang="en"><a name="id2719710"></a><h3><a name="LU-ROOMNUMBER:CAPS"></a>LU_ROOMNUMBER</h3><a class="indexterm" name="id2719720"></a><pre class="programlisting">#define LU_ROOMNUMBER "roomNumber"
182
</p></div><hr><div class="refsect2" lang="en"><a name="id2719736"></a><h3><a name="LU-TELEPHONENUMBER:CAPS"></a>LU_TELEPHONENUMBER</h3><a class="indexterm" name="id2719747"></a><pre class="programlisting">#define LU_TELEPHONENUMBER "telephoneNumber"
185
</p></div><hr><div class="refsect2" lang="en"><a name="id2719762"></a><h3><a name="LU-HOMEPHONE:CAPS"></a>LU_HOMEPHONE</h3><a class="indexterm" name="id2719772"></a><pre class="programlisting">#define LU_HOMEPHONE "homePhone"
188
</p></div><hr><div class="refsect2" lang="en"><a name="id2719787"></a><h3><a name="LU-EMAIL:CAPS"></a>LU_EMAIL</h3><a class="indexterm" name="id2719798"></a><pre class="programlisting">#define LU_EMAIL "mail"
191
</p></div><hr><div class="refsect2" lang="en"><a name="id2719812"></a><h3><a name="lu-ent-new"></a>lu_ent_new ()</h3><a class="indexterm" name="id2719822"></a><pre class="programlisting">lu_ent_t* lu_ent_new (void);</pre><p>
192
Creates a new, empty struct <span class="type">lu_ent</span>.
193
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>�:</span></td><td>the created entity, which should be deallocated by <a href="libuser-entity.html#lu-ent-free"><code class="function">lu_ent_free()</code></a>
196
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2719878"></a><h3><a name="lu-ent-free"></a>lu_ent_free ()</h3><a class="indexterm" name="id2719888"></a><pre class="programlisting">void lu_ent_free (lu_ent_t *ent);</pre><p>
197
Frees an struct <span class="type">lu_ent</span>, including all strings it owns.
198
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>the entity to free
201
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2719943"></a><h3><a name="lu-ent-copy"></a>lu_ent_copy ()</h3><a class="indexterm" name="id2719953"></a><pre class="programlisting">void lu_ent_copy (lu_ent_t *source,
202
lu_ent_t *dest);</pre><p>
203
Copies one struct <span class="type">lu_ent</span> over another.
204
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>source</code></em>�:</span></td><td>the entity to copy
205
</td></tr><tr><td><span class="term"><em class="parameter"><code>dest</code></em>�:</span></td><td>the destination space, must be already allocated by <a href="libuser-entity.html#lu-ent-new"><code class="function">lu_ent_new()</code></a>
208
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720040"></a><h3><a name="lu-ent-commit"></a>lu_ent_commit ()</h3><a class="indexterm" name="id2720050"></a><pre class="programlisting">void lu_ent_commit (lu_ent_t *ent);</pre><p>
209
Sets pending attribute changes as current values of the entity.
210
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
213
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720097"></a><h3><a name="lu-ent-revert"></a>lu_ent_revert ()</h3><a class="indexterm" name="id2720107"></a><pre class="programlisting">void lu_ent_revert (lu_ent_t *ent);</pre><p>
214
Replaces all attributes with changes pending by their current values,
215
forgetting the pending changes.
216
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
219
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720155"></a><h3><a name="lu-ent-add"></a>lu_ent_add ()</h3><a class="indexterm" name="id2720165"></a><pre class="programlisting">void lu_ent_add (lu_ent_t *ent,
222
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
223
>GValue</a> *value);</pre><p>
224
Appends <em class="parameter"><code>value</code></em> to pending attribute <em class="parameter"><code>attr</code></em> in a struct <span class="type">lu_ent</span> if <em class="parameter"><code>value</code></em>
225
is not yet in the list of <em class="parameter"><code>attr</code></em> values.
226
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
227
</td></tr><tr><td><span class="term"><em class="parameter"><code>attr</code></em>�:</span></td><td>attribute name
228
</td></tr><tr><td><span class="term"><em class="parameter"><code>value</code></em>�:</span></td><td>new attribute value
231
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720287"></a><h3><a name="lu-ent-add-current"></a>lu_ent_add_current ()</h3><a class="indexterm" name="id2720297"></a><pre class="programlisting">void lu_ent_add_current (lu_ent_t *ent,
234
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
235
>GValue</a> *value);</pre><p>
236
Appends <em class="parameter"><code>value</code></em> to current attribute <em class="parameter"><code>attr</code></em> in a struct <span class="type">lu_ent</span> if <em class="parameter"><code>value</code></em>
237
is not yet in the list of <em class="parameter"><code>attr</code></em> values.
238
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
239
</td></tr><tr><td><span class="term"><em class="parameter"><code>attr</code></em>�:</span></td><td>attribute name
240
</td></tr><tr><td><span class="term"><em class="parameter"><code>value</code></em>�:</span></td><td>new attribute value
243
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720419"></a><h3><a name="lu-ent-clear"></a>lu_ent_clear ()</h3><a class="indexterm" name="id2720429"></a><pre class="programlisting">void lu_ent_clear (lu_ent_t *ent,
244
const char *attr);</pre><p>
245
Removes all values of pending attribute <em class="parameter"><code>attribute</code></em> from a struct <span class="type">lu_ent</span>.
246
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
247
</td></tr><tr><td><span class="term"><em class="parameter"><code>attr</code></em>�:</span></td><td>attribute name
250
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720511"></a><h3><a name="lu-ent-clear-all"></a>lu_ent_clear_all ()</h3><a class="indexterm" name="id2720522"></a><pre class="programlisting">void lu_ent_clear_all (lu_ent_t *ent);</pre><p>
251
Removes all pending attributes from a struct <span class="type">lu_ent</span>.
252
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
255
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720576"></a><h3><a name="lu-ent-clear-all-current"></a>lu_ent_clear_all_current ()</h3><a class="indexterm" name="id2720587"></a><pre class="programlisting">void lu_ent_clear_all_current (lu_ent_t *ent);</pre><p>
256
Removes all current attributes from a struct <span class="type">lu_ent</span>.
257
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
260
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720642"></a><h3><a name="lu-ent-clear-current"></a>lu_ent_clear_current ()</h3><a class="indexterm" name="id2720652"></a><pre class="programlisting">void lu_ent_clear_current (lu_ent_t *ent,
261
const char *attr);</pre><p>
262
Removes all values of current attribute <em class="parameter"><code>attribute</code></em> from a struct <span class="type">lu_ent</span>.
263
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
264
</td></tr><tr><td><span class="term"><em class="parameter"><code>attr</code></em>�:</span></td><td>attribute name
267
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720734"></a><h3><a name="lu-ent-del"></a>lu_ent_del ()</h3><a class="indexterm" name="id2720744"></a><pre class="programlisting">void lu_ent_del (lu_ent_t *ent,
270
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
271
>GValue</a> *value);</pre><p>
272
Removes a pending attribute <em class="parameter"><code>attr</code></em> value <em class="parameter"><code>value</code></em> from a struct <span class="type">lu_ent</span>, if
274
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
275
</td></tr><tr><td><span class="term"><em class="parameter"><code>attr</code></em>�:</span></td><td>attribute name
276
</td></tr><tr><td><span class="term"><em class="parameter"><code>value</code></em>�:</span></td><td>attribute value
279
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720854"></a><h3><a name="lu-ent-del-current"></a>lu_ent_del_current ()</h3><a class="indexterm" name="id2720865"></a><pre class="programlisting">void lu_ent_del_current (lu_ent_t *ent,
282
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
283
>GValue</a> *value);</pre><p>
284
Removes a current attribute <em class="parameter"><code>attr</code></em> value <em class="parameter"><code>value</code></em> from a struct <span class="type">lu_ent</span>, if
286
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
287
</td></tr><tr><td><span class="term"><em class="parameter"><code>attr</code></em>�:</span></td><td>attribute name
288
</td></tr><tr><td><span class="term"><em class="parameter"><code>value</code></em>�:</span></td><td>attribute value
291
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2720975"></a><h3><a name="lu-ent-dump"></a>lu_ent_dump ()</h3><a class="indexterm" name="id2720985"></a><pre class="programlisting">void lu_ent_dump (lu_ent_t *ent,
293
Dumps an struct <span class="type">lu_ent</span> to a file in text form, for debugging.
294
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>the entity to dump
295
</td></tr><tr><td><span class="term"><em class="parameter"><code>fp</code></em>�:</span></td><td>destination file
298
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2721061"></a><h3><a name="lu-ent-get"></a>lu_ent_get ()</h3><a class="indexterm" name="id2721071"></a><pre class="programlisting"><a
299
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
300
>GValueArray</a>* lu_ent_get (lu_ent_t *ent,
301
const char *attribute);</pre><p>
302
Returns values associated with a pending attribute in a struct <span class="type">lu_ent</span>.
303
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
304
</td></tr><tr><td><span class="term"><em class="parameter"><code>attribute</code></em>�:</span></td><td>attribute name
305
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>�:</span></td><td>an array of values, valid at least until they are modified or
306
deleted. The array is never empty and it should not be freed by the caller.
307
Returns <code class="literal">NULL</code> if the attribute is not present at all or on error.
310
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2721166"></a><h3><a name="lu-ent-get-attributes"></a>lu_ent_get_attributes ()</h3><a class="indexterm" name="id2721177"></a><pre class="programlisting"><a
311
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
312
>GList</a>* lu_ent_get_attributes (lu_ent_t *ent);</pre><p>
313
Returns a list of all pending attributes in a struct <span class="type">lu_ent</span>.
314
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
315
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>�:</span></td><td>a <a
316
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
317
><span class="type">GList</span></a> of attribute names. The list (but not the strings
318
in the list) should be freed by the caller.
321
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2721252"></a><h3><a name="lu-ent-get-attributes-current"></a>lu_ent_get_attributes_current ()</h3><a class="indexterm" name="id2721263"></a><pre class="programlisting"><a
322
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
323
>GList</a>* lu_ent_get_attributes_current (lu_ent_t *ent);</pre><p>
324
Returns a list of all current attributes in a struct <span class="type">lu_ent</span>.
325
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
326
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>�:</span></td><td>a <a
327
href="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList"
328
><span class="type">GList</span></a> of attribute names. The list (but not the strings
329
in the list) should be freed by the caller.
332
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2721337"></a><h3><a name="lu-ent-get-current"></a>lu_ent_get_current ()</h3><a class="indexterm" name="id2721348"></a><pre class="programlisting"><a
333
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
334
>GValueArray</a>* lu_ent_get_current (lu_ent_t *ent,
335
const char *attribute);</pre><p>
336
Returns values associated with a current attribute in a struct <span class="type">lu_ent</span>.
337
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
338
</td></tr><tr><td><span class="term"><em class="parameter"><code>attribute</code></em>�:</span></td><td>attribute name
339
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>�:</span></td><td>a list of values, valid at least until they are modified or deleted.
340
The list should not be freed by the caller. Returns <code class="literal">NULL</code> if the attribute is
341
not present at all or on error.
344
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2721444"></a><h3><a name="lu-ent-has"></a>lu_ent_has ()</h3><a class="indexterm" name="id2721454"></a><pre class="programlisting"><a
345
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
346
>gboolean</a> lu_ent_has (lu_ent_t *ent,
347
const char *attribute);</pre><p>
348
Checks if a struct <span class="type">lu_ent</span> has at least one pending attribute <em class="parameter"><code>attribute</code></em>.
349
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
350
</td></tr><tr><td><span class="term"><em class="parameter"><code>attribute</code></em>�:</span></td><td>attribute name
351
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>�:</span></td><td><code class="literal">TRUE</code> if <em class="parameter"><code>attribute</code></em> has a value in <em class="parameter"><code>ent</code></em>.
354
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2721563"></a><h3><a name="lu-ent-has-current"></a>lu_ent_has_current ()</h3><a class="indexterm" name="id2721573"></a><pre class="programlisting"><a
355
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
356
>gboolean</a> lu_ent_has_current (lu_ent_t *ent,
357
const char *attribute);</pre><p>
358
Checks if a struct <span class="type">lu_ent</span> has at least one current attribute <em class="parameter"><code>attribute</code></em>.
359
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
360
</td></tr><tr><td><span class="term"><em class="parameter"><code>attribute</code></em>�:</span></td><td>attribute name
361
</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>�:</span></td><td><code class="literal">TRUE</code> if <em class="parameter"><code>attribute</code></em> has a value in <em class="parameter"><code>ent</code></em>.
364
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2721682"></a><h3><a name="lu-ent-set"></a>lu_ent_set ()</h3><a class="indexterm" name="id2721693"></a><pre class="programlisting">void lu_ent_set (lu_ent_t *ent,
367
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
368
>GValueArray</a> *values);</pre><p>
369
Replaces all pending attributes <em class="parameter"><code>attr</code></em> in a struct <span class="type">lu_ent</span> by a copy of
370
<em class="parameter"><code>values</code></em>. If <em class="parameter"><code>values</code></em> is empty, it removes the pending attribute completely.
371
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
372
</td></tr><tr><td><span class="term"><em class="parameter"><code>attr</code></em>�:</span></td><td>attribute name
373
</td></tr><tr><td><span class="term"><em class="parameter"><code>values</code></em>�:</span></td><td>an array of values
376
</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2721809"></a><h3><a name="lu-ent-set-current"></a>lu_ent_set_current ()</h3><a class="indexterm" name="id2721820"></a><pre class="programlisting">void lu_ent_set_current (lu_ent_t *ent,
379
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
380
>GValueArray</a> *values);</pre><p>
381
Replaces all current attributes <em class="parameter"><code>attr</code></em> in a struct <span class="type">lu_ent</span> by a copy of
382
<em class="parameter"><code>values</code></em>. If <em class="parameter"><code>values</code></em> is empty, it removes the current attribute completely.
383
</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>ent</code></em>�:</span></td><td>an entity
384
</td></tr><tr><td><span class="term"><em class="parameter"><code>attr</code></em>�:</span></td><td>attribute name
385
</td></tr><tr><td><span class="term"><em class="parameter"><code>values</code></em>�:</span></td><td>an array of values
388
</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libuser-value.html"><b><<�value</b></a></td><td align="right"><a accesskey="n" href="libuser-error.html"><b>error�>></b></a></td></tr></table></body></html>