# LIBNUTCLIENT_COMMANDS(3)

## NAME

libnutclient_commands, nutclient_get_device_commands, nutclient_has_device_command, nutclient_get_device_command_description, nutclient_execute_device_command - Instant command related functions in Network UPS Tools high-level client access library

## SYNOPSIS

            #include <nutclient.h>

            typedef void* NUTCLIENT_t;

            typedef char** strarr;

            strarr nutclient_get_device_commands(
                    NUTCLIENT_t client,
                    const char* dev);

            int nutclient_has_device_command(
                    NUTCLIENT_t client,
                    const char* dev, const char* cmd);

            char* nutclient_get_device_command_description(
                    NUTCLIENT_t client,
                    const char* dev, const char* cmd);

            void nutclient_execute_device_command(
                    NUTCLIENT_t client,
                    const char* dev, const char* cmd,
                    const char* param="");

## DESCRIPTION

These functions allow to manage instant commands of devices.

- The nutclient_get_device_commands() function retrieves the list of command names for a device.

  The returned strarr must be freed by strarr_free.

- The nutclient_has_device_command function tests if the specified command is supported by the device.

  Return 1 if supported and 0 if not.

- The nutclient_get_device_command_description function retrieves the command description, if any.

  The returned string must be freed by free(3) (see libnutclient_general(3)).

- The nutclient_execute_device_command intends to execute the instant command, with an optional parameter.

Common arguments:

- dev is the device name.

- cmd is the instant command name.

## SEE ALSO

libnutclient(3) libnutclient_devices(3) libnutclient_general(3)