NAME
upscli_list_next - retrieve list items from a UPS
SYNOPSIS
#include <upsclient.h>
int upscli_list_next(UPSCONN *ups, int numq, const char **query,
int *numa, char ***answer)
DESCRIPTION
The upscli_list_next() function takes the pointer ups to a UPSCONN
state structure, and the pointer query to an array of numq query
elements. It performs a read from the network and expects to find
either another list item or the end of a list.
You must call upscli_list_start(3) before calling this function.
This function will return 1 and set values in numa and answer if a list
item is received. If the list is done, it will return 0, and the
values in numa and answer are undefined.
Calling this function after it returns something other than 1 is
undefined.
QUERY FORMATTING
You may not change the values of numq or query between the call to
upscli_list_start(3) and the first call to this function. You also may
not change the values between calls to this function.
ANSWER FORMATTING
The contents of numa and answer work just like a call to upscli_get(3).
The values returned by upsd are identical to a single item request, so
this is not surprising.
ERROR CHECKING
This function checks the response from upsd against your query. If the
response is not part of the list you have requested, it will return an
error code.
When this happens, upscli_upserror(3) will return UPSCLI_ERR_PROTOCOL.
RETURN VALUE
The upscli_list_next() function returns 1 when list data is present, 0
if the list is finished, or -1 if an error occurs.
It is possible to have an empty list. The function will return 0 for
its first call in that case.
SEE ALSO
upscli_list_start(3), upscli_strerror(3), upscli_upserror(3)
Tue May 13 2003