LL2_READ_ALL(3)

NAME
ll2_read_all - Reads all entries from database and calls the callback function for each entry.

SYNOPSIS

#include <lastlog2.h> int ll2_read_all (struct ll2_context *context, int (*callback)(const char *user, int64_t ll_time, const char *tty, const char *rhost, const char *pam_service, const char *cb_error), char **error);

DESCRIPTION

Reads all entries from database, defined in context, and calls callback fuction callback for each entry. If context is NULL, the default database, defined in LL2_DEFAULT_DATABASE, will be taken.

    char  *error = NULL;
    const char *user = "root";

    static int
    callback (const char *res_user, int64_t ll_time, const char *res_tty,
              const char *res_rhost, const char *res_service, const char *cb_error)
    {
       /* returning != 0 if no further entry has to be handled by the callback */
       return 0;
    }

    int ret = ll2_read_all (NULL, callback, &error);

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 has been set and can be checked.

AUTHORS

Thorsten Kukuk (

SEE ALSO

lastlog2(3), ll2_new_context(3), *ll2_unref_context(3), *ll2_write_entry(3), ll2_read_entry(3), ll2_update_login_time(3), ll2_remove_entry(3), ll2_rename_user(3), ll2_import_lastlog(3)

REPORTING BUGS

For bug reports, use the issue tracker at

AVAILABILITY

The liblastlog2 library is part of the util-linux package since version 2.40. It can be downloaded from