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() 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.
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/>.