HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //usr/share/gtk-doc/html/libuser/libuser-user.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>user</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="libuser Reference Manual">
<link rel="up" href="ch01.html" title="libuser">
<link rel="prev" href="libuser-prompt.html" title="prompt">
<link rel="next" href="libuser-fs.html" title="fs">
<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="libuser-prompt.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-fs.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libuser-user.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#libuser-user.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="libuser-user"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libuser-user.top_of_page"></a>user</span></h2>
<p>user — Functions for initializing the library, looking up
information, and making changes to the system information store.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="libuser-user.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;libuser/user.h&gt;

struct              <a class="link" href="libuser-user.html#lu-context" title="struct lu_context">lu_context</a>;
typedef             <a class="link" href="libuser-user.html#lu-context-t" title="lu_context_t">lu_context_t</a>;
struct <a class="link" href="libuser-user.html#lu-context" title="struct lu_context"><span class="returnvalue">lu_context</span></a> * <a class="link" href="libuser-user.html#lu-start" title="lu_start ()">lu_start</a>                            (<em class="parameter"><code>const <span class="type">char</span> *authname</code></em>,
                                                         <em class="parameter"><code><span class="type">enum lu_entity_type</span> auth_type</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *modules</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *create_modules</code></em>,
                                                         <em class="parameter"><code><span class="type">lu_prompt_fn</span> *prompter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> callback_data</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libuser-user.html#lu-end" title="lu_end ()">lu_end</a>                              (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libuser-user.html#lu-set-prompter" title="lu_set_prompter ()">lu_set_prompter</a>                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">lu_prompt_fn</span> *prompter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> callback_data</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libuser-user.html#lu-get-prompter" title="lu_get_prompter ()">lu_get_prompter</a>                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">lu_prompt_fn</span> **prompter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *callback_data</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-set-modules" title="lu_set_modules ()">lu_set_modules</a>                      (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *list</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libuser-user.html#lu-get-modules" title="lu_get_modules ()">lu_get_modules</a>                      (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-uses-elevated-privileges" title="lu_uses_elevated_privileges ()">lu_uses_elevated_privileges</a>         (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-lookup-name" title="lu_user_lookup_name ()">lu_user_lookup_name</a>                 (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-lookup-id" title="lu_user_lookup_id ()">lu_user_lookup_id</a>                   (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">uid_t</span> uid</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-default" title="lu_user_default ()">lu_user_default</a>                     (<em class="parameter"><code><span class="type">struct lu_context</span> *ctx</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> system_account</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-add" title="lu_user_add ()">lu_user_add</a>                         (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-modify" title="lu_user_modify ()">lu_user_modify</a>                      (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-delete" title="lu_user_delete ()">lu_user_delete</a>                      (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-setpass" title="lu_user_setpass ()">lu_user_setpass</a>                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *newpass</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> crypted</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-removepass" title="lu_user_removepass ()">lu_user_removepass</a>                  (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-lock" title="lu_user_lock ()">lu_user_lock</a>                        (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-unlock" title="lu_user_unlock ()">lu_user_unlock</a>                      (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-unlock-nonempty" title="lu_user_unlock_nonempty ()">lu_user_unlock_nonempty</a>             (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-user-islocked" title="lu_user_islocked ()">lu_user_islocked</a>                    (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *       <a class="link" href="libuser-user.html#lu-users-enumerate" title="lu_users_enumerate ()">lu_users_enumerate</a>                  (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *       <a class="link" href="libuser-user.html#lu-users-enumerate-by-group" title="lu_users_enumerate_by_group ()">lu_users_enumerate_by_group</a>         (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *group</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *         <a class="link" href="libuser-user.html#lu-users-enumerate-full" title="lu_users_enumerate_full ()">lu_users_enumerate_full</a>             (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *         <a class="link" href="libuser-user.html#lu-users-enumerate-by-group-full" title="lu_users_enumerate_by_group_full ()">lu_users_enumerate_by_group_full</a>    (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *group</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-lookup-name" title="lu_group_lookup_name ()">lu_group_lookup_name</a>                (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-lookup-id" title="lu_group_lookup_id ()">lu_group_lookup_id</a>                  (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">gid_t</span> gid</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-default" title="lu_group_default ()">lu_group_default</a>                    (<em class="parameter"><code><span class="type">struct lu_context</span> *ctx</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> system_account</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-add" title="lu_group_add ()">lu_group_add</a>                        (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-modify" title="lu_group_modify ()">lu_group_modify</a>                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-delete" title="lu_group_delete ()">lu_group_delete</a>                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-setpass" title="lu_group_setpass ()">lu_group_setpass</a>                    (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *newpass</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> crypted</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-removepass" title="lu_group_removepass ()">lu_group_removepass</a>                 (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-lock" title="lu_group_lock ()">lu_group_lock</a>                       (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-unlock" title="lu_group_unlock ()">lu_group_unlock</a>                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-unlock-nonempty" title="lu_group_unlock_nonempty ()">lu_group_unlock_nonempty</a>            (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libuser-user.html#lu-group-islocked" title="lu_group_islocked ()">lu_group_islocked</a>                   (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *       <a class="link" href="libuser-user.html#lu-groups-enumerate" title="lu_groups_enumerate ()">lu_groups_enumerate</a>                 (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *       <a class="link" href="libuser-user.html#lu-groups-enumerate-by-user" title="lu_groups_enumerate_by_user ()">lu_groups_enumerate_by_user</a>         (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *user</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *         <a class="link" href="libuser-user.html#lu-groups-enumerate-full" title="lu_groups_enumerate_full ()">lu_groups_enumerate_full</a>            (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *         <a class="link" href="libuser-user.html#lu-groups-enumerate-by-user-full" title="lu_groups_enumerate_by_user_full ()">lu_groups_enumerate_by_user_full</a>    (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *user</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="libuser-user.description"></a><h2>Description</h2>
<p>
<code class="filename">user.h</code> contains declarations for functions which start
up and shut down the libuser library, and for functions which perform lookup
queries and modifications of the system information store.
</p>
</div>
<div class="refsect1">
<a name="libuser-user.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="lu-context"></a><h3>struct lu_context</h3>
<pre class="programlisting">struct lu_context;</pre>
<p>
An opaque structure manipulated by the library, containing caller-related
state (to allow several independent callers in a single process).
</p>
</div>
<hr>
<div class="refsect2">
<a name="lu-context-t"></a><h3>lu_context_t</h3>
<pre class="programlisting">typedef struct lu_context lu_context_t;
</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">lu_context_t</code> has been deprecated since version 0.57.3 and should not be used in newly-written code. Use struct <a class="link" href="libuser-user.html#lu-context" title="struct lu_context"><span class="type">lu_context</span></a> directly.</p>
</div>
<p>
An alias for struct <a class="link" href="libuser-user.html#lu-context" title="struct lu_context"><span class="type">lu_context</span></a>.
</p>
</div>
<hr>
<div class="refsect2">
<a name="lu-start"></a><h3>lu_start ()</h3>
<pre class="programlisting">struct <a class="link" href="libuser-user.html#lu-context" title="struct lu_context"><span class="returnvalue">lu_context</span></a> * lu_start                            (<em class="parameter"><code>const <span class="type">char</span> *authname</code></em>,
                                                         <em class="parameter"><code><span class="type">enum lu_entity_type</span> auth_type</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *modules</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *create_modules</code></em>,
                                                         <em class="parameter"><code><span class="type">lu_prompt_fn</span> *prompter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> callback_data</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Initializes the libuser library.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>authname</code></em> :</span></p></td>
<td>Suggested client name to use when connecting to servers, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>auth_type</code></em> :</span></p></td>
<td>Whether auth_name is a user or a group</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>modules</code></em> :</span></p></td>
<td>A list of modules to use for queries (separated by whitespace or
commas), or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to use modules specified in the config file</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>create_modules</code></em> :</span></p></td>
<td>A list of modules to use for entity creation (separated by
whitespace or commas), or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to use modules specified in the config file</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>prompter</code></em> :</span></p></td>
<td>A function to use for getting information from the user</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
<td>Data for <em class="parameter"><code>prompter</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a context which should be freed by <a class="link" href="libuser-user.html#lu-end" title="lu_end ()"><code class="function">lu_end()</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on
failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-end"></a><h3>lu_end ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                lu_end                              (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>);</pre>
<p>
Destroys a libuser library context
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>a context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-set-prompter"></a><h3>lu_set_prompter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                lu_set_prompter                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">lu_prompt_fn</span> *prompter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> callback_data</code></em>);</pre>
<p>
Changes the prompter function in a context
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>prompter</code></em> :</span></p></td>
<td>A new function to user for getting information from the user</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
<td>Data for <em class="parameter"><code>prompter</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-get-prompter"></a><h3>lu_get_prompter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                lu_get_prompter                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">lu_prompt_fn</span> **prompter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *callback_data</code></em>);</pre>
<p>
Gets current prompter function from a context.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>prompter</code></em> :</span></p></td>
<td>If not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, points to a place where the current prompter
function will be stored</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
<td>If not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, points to a place where the current prompter
function data will be stored</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-set-modules"></a><h3>lu_set_modules ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_set_modules                      (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *list</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Replaces the current set of modules for queries in <em class="parameter"><code>context</code></em> to <em class="parameter"><code>list</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
<td>A list of modules (separated by whitespace or commas)</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-get-modules"></a><h3>lu_get_modules ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        lu_get_modules                      (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>);</pre>
<p>
Returns a list of modules for queries in <em class="parameter"><code>context</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A list of modules separated by spaces, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the list of
modules is empty.  The list should not be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-uses-elevated-privileges"></a><h3>lu_uses_elevated_privileges ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_uses_elevated_privileges         (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>);</pre>
<p>
Checks if any module uses elevated privileges (e.g. modifies files that
normal users can't modify).
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if at least one module uses elevated privileges</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-lookup-name"></a><h3>lu_user_lookup_name ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_lookup_name                 (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Looks up an user by name.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>User name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity filled with received information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.  If the user doesn't exist, returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> without
setting <em class="parameter"><code>error</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-lookup-id"></a><h3>lu_user_lookup_id ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_lookup_id                   (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">uid_t</span> uid</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Looks up an user by UID.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>uid</code></em> :</span></p></td>
<td>User ID</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity filled with received information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.  If the user doesn't exist, returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> without
setting <em class="parameter"><code>error</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-default"></a><h3>lu_user_default ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_default                     (<em class="parameter"><code><span class="type">struct lu_context</span> *ctx</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> system_account</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>);</pre>
<p>
Fills out an user entity as specified by the config file and modules
to prepare for creation of the user.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>New user name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>system_account</code></em> :</span></p></td>
<td>Non-zero if the user is a system user</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-add"></a><h3>lu_user_add ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_add                         (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Creates an user in all modules specified for entity creation.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the user, on success updated with resulting
account</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-modify"></a><h3>lu_user_modify ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_modify                      (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Modifies an user entity.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity with pending modifications, on success updated with current
information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-delete"></a><h3>lu_user_delete ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_delete                      (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Deletes an user.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the user</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-setpass"></a><h3>lu_user_setpass ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_setpass                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *newpass</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> crypted</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Changes an user's password.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the user, on success updated with current
information and <a class="link" href="libuser-entity.html#LU-SHADOWLASTCHANGE:CAPS" title="LU_SHADOWLASTCHANGE"><code class="literal">LU_SHADOWLASTCHANGE</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>newpass</code></em> :</span></p></td>
<td>New password</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>crypted</code></em> :</span></p></td>
<td>Non-zero if <em class="parameter"><code>newpass</code></em> is already encrypted</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with an <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-removepass"></a><h3>lu_user_removepass ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_removepass                  (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Changes an user's password to an empty string.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the user, on success updated with current
information and <a class="link" href="libuser-entity.html#LU-SHADOWLASTCHANGE:CAPS" title="LU_SHADOWLASTCHANGE"><code class="literal">LU_SHADOWLASTCHANGE</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with an <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-lock"></a><h3>lu_user_lock ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_lock                        (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Locks an user account.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the user, on success updated with current
information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-unlock"></a><h3>lu_user_unlock ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_unlock                      (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Unlocks an user account.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the user, on success updated with current
information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-unlock-nonempty"></a><h3>lu_user_unlock_nonempty ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_unlock_nonempty             (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Unlocks an user account.  If unlocking the account would result in an empty
password field, it fails with <code class="literal">lu_error_unlock_empty</code>.  Note that the
password can still be empty.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the user, on success updated with current
information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-islocked"></a><h3>lu_user_islocked ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_user_islocked                    (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Checks if an user account is locked.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the user</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the account is locked in at least one module</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-users-enumerate"></a><h3>lu_users_enumerate ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *       lu_users_enumerate                  (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Returns a list of all users matching a pattern.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>pattern</code></em> :</span></p></td>
<td>A glob-like pattern for user name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>An array of strings, each representing one user name.  The array
should be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-users-enumerate-by-group"></a><h3>lu_users_enumerate_by_group ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *       lu_users_enumerate_by_group         (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *group</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Returns a list of all members of a group <em class="parameter"><code>group</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>group</code></em> :</span></p></td>
<td>Group name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>An array of strings, each representing one user name.  The array
should be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-users-enumerate-full"></a><h3>lu_users_enumerate_full ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *         lu_users_enumerate_full             (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Returns a list of entities, one for each user matching a pattern.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>pattern</code></em> :</span></p></td>
<td>A glob-like pattern for user name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A list of pointers to user entities.  The entities and the
list should be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-users-enumerate-by-group-full"></a><h3>lu_users_enumerate_by_group_full ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *         lu_users_enumerate_by_group_full    (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *group</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Returns a list of entities, one for each member of a group <em class="parameter"><code>group</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>group</code></em> :</span></p></td>
<td>Group name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A list of pointers to user entities.  The entities and the
list should be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-lookup-name"></a><h3>lu_group_lookup_name ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_lookup_name                (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Looks up a group by name.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>Group name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity filled with received information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.  If the group doesn't exist, returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
without setting <em class="parameter"><code>error</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-lookup-id"></a><h3>lu_group_lookup_id ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_lookup_id                  (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">gid_t</span> gid</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Looks up a group by GID.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>gid</code></em> :</span></p></td>
<td>Group ID</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity filled with received information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.  If the group doesn't exist, returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
without setting <em class="parameter"><code>error</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-default"></a><h3>lu_group_default ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_default                    (<em class="parameter"><code><span class="type">struct lu_context</span> *ctx</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> system_account</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>);</pre>
<p>
Fills out a group entity as specified by the config file and modules
to prepare for creation of the group.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>New group name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>system_account</code></em> :</span></p></td>
<td>Non-zero if the group is a system group</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-add"></a><h3>lu_group_add ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_add                        (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Creates a group in all modules specified for entity creation.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the group, on success updated with resulting
account</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-modify"></a><h3>lu_group_modify ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_modify                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Modifies a group entity.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity with pending modifications, on success updated with current
information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-delete"></a><h3>lu_group_delete ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_delete                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Deletes a group.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the group</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-setpass"></a><h3>lu_group_setpass ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_setpass                    (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *newpass</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> crypted</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Changes a group password.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the group, on success updated with current
information and <a class="link" href="libuser-entity.html#LU-SHADOWLASTCHANGE:CAPS" title="LU_SHADOWLASTCHANGE"><code class="literal">LU_SHADOWLASTCHANGE</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>newpass</code></em> :</span></p></td>
<td>New password</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>crypted</code></em> :</span></p></td>
<td>Non-zero if <em class="parameter"><code>newpass</code></em> is already encrypted</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with an <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-removepass"></a><h3>lu_group_removepass ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_removepass                 (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Changes a group password to an empty string.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the group, on success udpated with current
information and <a class="link" href="libuser-entity.html#LU-SHADOWLASTCHANGE:CAPS" title="LU_SHADOWLASTCHANGE"><code class="literal">LU_SHADOWLASTCHANGE</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with in <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-lock"></a><h3>lu_group_lock ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_lock                       (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Locks a group account
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the group, on success updated with current
information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-unlock"></a><h3>lu_group_unlock ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_unlock                     (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Unlocks a group account.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the group, on success updated with current
information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-unlock-nonempty"></a><h3>lu_group_unlock_nonempty ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_unlock_nonempty            (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Unlocks a group account.  If unlocking the account would result in an empty
password field, it fails with <code class="literal">lu_error_unlock_empty</code>.  Note that the
password can still be empty.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the group, on success updated with current
information</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-islocked"></a><h3>lu_group_islocked ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            lu_group_islocked                   (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Checks if a group account is locked.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ent</code></em> :</span></p></td>
<td>An entity describing the group</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the account is locked in at least one module</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-groups-enumerate"></a><h3>lu_groups_enumerate ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *       lu_groups_enumerate                 (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Returns a list of all groups matching a pattern.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>pattern</code></em> :</span></p></td>
<td>A glob-like pattern for group name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>An array of strings, each representing one group name.  The array
should be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-groups-enumerate-by-user"></a><h3>lu_groups_enumerate_by_user ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *       lu_groups_enumerate_by_user         (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *user</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Returns a list of all groups containing an user <em class="parameter"><code>user</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user</code></em> :</span></p></td>
<td>User name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>An array of strings, each representing one group name.  The array
should be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-groups-enumerate-full"></a><h3>lu_groups_enumerate_full ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *         lu_groups_enumerate_full            (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Returns a list of entities, one for each group matching a pattern.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>pattern</code></em> :</span></p></td>
<td>A glob-like pattern for group name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a list of pointers to group entities.  The entities and the
list should be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="lu-groups-enumerate-by-user-full"></a><h3>lu_groups_enumerate_by_user_full ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *         lu_groups_enumerate_by_user_full    (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *user</code></em>,
                                                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>
Returns a list of entities, one for each group containing an user <em class="parameter"><code>user</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
<td>A context</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user</code></em> :</span></p></td>
<td>User name</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a list of pointers to group entities.  The entities and the
list should be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.19</div>
</body>
</html>