//po4a: entry man manual = ll2_read_all(3) :doctype: manpage :man manual: Programmer's Manual :man source: util-linux {release-version} :page-layout: base :lib: liblastlog2 :firstversion: 2.40 == NAME ll2_read_all - Reads all entries from database and calls the callback function for each entry. == SYNOPSIS *#include * *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 (kukuk@suse.de) == 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) include::man-common/bugreports.adoc[] include::man-common/footer-lib.adoc[] ifdef::translation[] include::man-common/translation.adoc[] endif::[]