LL2_READ_ALL(3) Programmers Manual LL2_READ_ALL(3)

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

#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);

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);

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.

Thorsten Kukuk ( <kukuk@suse.de>)

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)

For bug reports, use the issue tracker at https://github.com/util-linux/util-linux/issues.

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

2024-05-06 util-linux 2.40.1