embox
39 строк · 743.0 Байт
1/**
2* @file
3* @brief
4*
5* @author Anton Kozlov
6* @date 17.02.2015
7*/
8
9#include <string.h>10#include <stdlib.h>11#include <unistd.h>12#include <stdio.h>13
14#include "cnc_ipc.h"15
16static int cnc_ctrl_ipc_init(void) {17const char *cnc_out = getenv(CNCIPC_OUT);18return cnc_out ? atoi(cnc_out) : -1;19}
20
21int main(int argc, char *argv[]) {22
23if (0 == strncmp(getenv("QUERY_STRING"), "run", strlen("run"))) {24char *arg[] = { "cnc_control", "test", NULL };25int ipc_fd = cnc_ctrl_ipc_init();26
27printf("HTTP/1.1 %d %s\r\n"28"Content-Type: %s\r\n"29"Connection: close\r\n"30"\r\n", 200, "OK", "text/plain");31
32dup2(ipc_fd, STDOUT_FILENO);33close(STDIN_FILENO);34dup2(ipc_fd, STDERR_FILENO);35
36return execv(arg[0], arg);37}38return 0;39}
40