remctl_command - Man Page

Send a command to a remctl server


#include <remctl.h>

int remctl_command(struct remctl *r, const char **command);

#include <sys/uio.h>

int remctl_commandv(struct remctl *r, const struct iovec *iov,
                   size_t count);


remctl_command() and remctl_commandv() send a command to a remote remctl server.  The remctl client object r, created with remctl_new(), should have previously been passed to remctl_open() to open a connection to the server.

remctl_command() takes the command as a NULL-terminated array of NUL-terminated strings (the same layout as an argv array).  This function is most convenient when passing simple text commands.

remctl_commandv() takes the command as an array of iovec structs of length count.  This function is most convenient when passing arbitrary data to the command, since the iovec struct takes a pointer and a length for each chunk of data.  See writev(2) for the layout of the iovec struct.

To control the network timeout for sending the command, see the remctl_set_timeout(3) function.

After calling one of these functions, call remctl_output() to get the results of the command.

Return Value

remctl_command() and remctl_commandv() return true on success and false on failure.  On failure, the caller should call remctl_error() to retrieve the error message.


These interfaces have been provided by the remctl client library since its initial release in version 2.0.


Russ Allbery <>

See Also

remctl_new(3), remctl_open(3), remctl_output(3), remctl_error(3)

The current version of the remctl library and complete details of the remctl protocol are available from its web page at <>.

Referenced By

remctl(3), remctl_error(3), remctl_new(3), remctl_noop(3), remctl_output(3), remctl_set_timeout(3).

The man page remctl_commandv(3) is an alias of remctl_command(3).

2020-12-13 3.17 remctl Library Reference