| < remctl_open | Russ Allbery > Software > remctl | remctl_output > |
(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.
After calling one of these functions, call remctl_output() to get the results of the command.
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.
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 <http://www.eyrie.org/~eagle/software/remctl/>.
Russ Allbery <rra@stanford.edu>
| < remctl_open | Russ Allbery > Software > remctl | remctl_output > |