LL2\_READ\_ENTRY(3) Programmers Manual LL2\_READ\_ENTRY(3)

# [NAME](#NAME)

ll2\_read\_entry - Reads one entry from database and returns that.

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;lastlog2.h&gt;**

**int ll2\_read\_entry (struct ll2\_context \*context, const char \*user,** **int64\_t \*ll\_time, char tty, char rhost,** *char pam\_service, char error);*

# [DESCRIPTION](#DESCRIPTION)

Reads the first entry from database, defined in *context*, for user *user*. If *context* is NULL, the default database, defined in *LL2\_DEFAULT\_DATABASE*, will be taken.

```
char    *error = NULL;
const   char *user = "root";
int64_t res_time;
char    *res_tty = NULL;
char    *res_rhost = NULL;
char    *res_service = NULL;
int ret = ll2_read_entry (NULL, user, &res_time, &res_tty, &res_rhost, &res_service, &error);
```

# [RETURN VALUE](#RETURN_VALUE)

Returns 0 on success, -ENOMEM or -1 on other failure. *error* contains an error string if the return value is -1. *error* is not guaranteed to contain an error string, could also be NULL. *error* should be freed by the caller. If lastlog2 database does not exist at all, the errno ENOENT is set and can be checked.

The evaluated values are returned by *ll\_time*, *tty*, *rhost* and *pam\_service*.

# [AUTHORS](#AUTHORS)

*Thorsten Kukuk* &lt;kukuk@suse.de&gt;

# [SEE ALSO](#SEE_ALSO)

[**lastlog2**(3)](/man/os/util-linux/lastlog2.3), [**ll2\_new\_context**(3)](/man/os/util-linux/ll2_new_context.3), [**ll2\_unref\_context**(3)](/man/os/util-linux/ll2_unref_context.3), [**ll2\_read\_all**(3)](/man/os/util-linux/ll2_read_all.3), [**ll2\_write\_entry**(3)](/man/os/util-linux/ll2_write_entry.3), [**ll2\_update\_login\_time**(3)](/man/os/util-linux/ll2_update_login_time.3), [**ll2\_remove\_entry**(3)](/man/os/util-linux/ll2_remove_entry.3), [**ll2\_rename\_user**(3)](/man/os/util-linux/ll2_rename_user.3), [**ll2\_import\_lastlog**(3)](/man/os/util-linux/ll2_import_lastlog.3)

# [REPORTING BUGS](#REPORTING_BUGS)

For bug reports, use the *issue tracker* &lt;https://github.com/util-linux/util-linux/issues&gt;.

# [AVAILABILITY](#AVAILABILITY)

The **liblastlog2** library is part of the util-linux package since version 2.40. It can be downloaded from *Linux Kernel Archive* &lt;https://www.kernel.org/pub/linux/utils/util-linux/&gt;.

2026-10-19 util-linux 2.42.4

---

Document: ll2_read_entry(3) from util-linux 2.42.4-r1 (Chainguard OS)
