27 #define MAX_RECV_LEN 1024
30 int port = *(
int*)v_port;
32 void *context = zmq_ctx_new();
33 if (context == NULL) {
34 log_error(
"Error instantiating ZMQ context");
37 void *socket = zmq_socket(context, ZMQ_REP);
39 log_error(
"Error instantiating ZMQ socket");
45 rtn = zmq_bind(socket,
"ipc:///tmp/dedosipc");
54 sprintf(port_str,
"tcp://*:%d", port);
55 rtn = zmq_bind(socket, port_str);
57 log_perror(
"Error binding ZMQ socket to %s", port_str);
60 log_info(
"Bound control socket: %s", port_str);
73 log_info(
"Received over socket: %s", buf);
77 sprintf(cmd_rtn_c,
"%d", cmd_rtn);
79 zmq_send(socket, cmd_rtn_c, strlen(cmd_rtn_c), 0);
85 int *p_port = malloc(
sizeof(*p_port));
87 int err = pthread_create(thread, NULL,
socket_loop, p_port);
89 log_error(
"ERROR: can't create thread: %s", strerror(err));
91 log_info(
"Socket Control Thread created successfully");
#define log_info(fmt,...)
#define log_perror(fmt,...)
Logging of status messages to the terminal.
static void * socket_loop(void *v_port)
#define log_error(fmt,...)
int start_socket_interface_thread(pthread_t *thread, int port)
int parse_cmd_action(char *cmd)