NAME
upscli_authenticate, upscli_authenticate_authconf - Common methods to supply USERNAME and PASSWORD during the server dialog.
SYNOPSIS
#include <upsclient.h>
int upscli_authenticate(UPSCONN_t *ups,
const char *username, const char *password,
int check_os_user, int ask_password);
int upscli_authenticate_authconf(UPSCONN_t *ups, upscli_authconf_t *ac);
DESCRIPTION
The upscli_authenticate() function takes the pointer ups to a UPSCONN_t state, and attempts to submit credentials to the server.
If username is NULL and check_os_user is 1, it tries to detect the
username from the OS and queries the user to confirm this finding or enter
a different name on standard input.
If password is NULL and ask_password is 1, it queries for the password
interactively.
The upscli_authenticate_authconf() function is an equivalent wrapper for upscli_authenticate() that uses the user and pass fields from the upscli_authconf_t structure ac, without the fallback toggle arguments.
RETURN VALUE
The upscli_authenticate() and upscli_authenticate_authconf() functions return 0 on success, -1 if an error occurs during fallback input of username or password, or -2 if an error occurs during dialog with the data server.
In case of errors (negative returns), use upscli_upserror(3) and
upscli_strerror(3) to determine the problem code or description.
Note that the upscli_authenticate() function itself reports any details
it knows about the situation (typically to stderr and/or syslog) with
upslogx(LOG_ERR, ...) calls.