//po4a: entry man manual
= ll2_write_entry(3)
:doctype: manpage
:man manual: Programmer's Manual
:man source: util-linux {release-version}
:page-layout: base
:lib: liblastlog2
:firstversion: 2.40

== NAME

ll2_write_entry -  Writes a new entry into the database.

== SYNOPSIS

*#include <lastlog2.h>*

*int ll2_write_entry (struct ll2_context *__context__, const char *__user__,
		      int64_t __ll_time__, const char *__tty__,
		      const char *__rhost__, const char *__pam_service__,
		      char **__error__);*

== DESCRIPTION

Writes a new entry into database, which is defined in _context_.
If _context_ is NULL, the default database, defined in _LL2_DEFAULT_DATABASE_,
will be taken.


--------------------------------------
time_t login_time = time(0); // Get the system time
char   *error = NULL;
const  char *user = "root";

int ret = ll2_write_entry (NULL, user, login_time, "pts/0",
 	                   "192.168.122.1", NULL, &error);
--------------------------------------

_pam_service_ is the service or instance name which has generated the entry (optional).

== 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.

== AUTHORS

mailto:kukuk@suse.de[Thorsten Kukuk]

== SEE ALSO

*lastlog2*(3),
*ll2_new_context*(3),
*ll2_unref_context*(3),
*ll2_read_all*(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::[]
