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 <libuser/user.h>
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>