ctl_cmd
struct ctl_cmd cc;
} ctl_cmd;
n = read(fd, (char*)&ctl_cmd + ctl_cmd_bytes,
sizeof(ctl_cmd) - ctl_cmd_bytes);
if (ctl_cmd_bytes < sizeof(ctl_cmd))
if (ntohl(ctl_cmd.version) != CTL_VERSION) {
if (memchr(ctl_cmd.logname, '\0', sizeof(ctl_cmd.logname)) == NULL) {
ctl_cmd.cmd = ntohl(ctl_cmd.cmd);
log_debug("ctlcmd %x logname \"%s\"", ctl_cmd.cmd, ctl_cmd.logname);
switch (ctl_cmd.cmd) {
f = find_membuf_log(ctl_cmd.logname);
if (ctl_cmd.cmd != CMD_FLAGS) {
if (ctl_cmd.cmd == CMD_READ_CLEAR) {
if (ctl_cmd.cmd == CMD_READ_CONT) {
ctl_cmd.lines > 0 ? ctl_cmd.lines : 10);
} else if (ctl_cmd.lines > 0) {
tailify_replytext(reply_text, ctl_cmd.lines);
f = find_membuf_log(ctl_cmd.logname);
ctl_state = (ctl_cmd.cmd == CMD_READ_CONT) ?