diff options
Diffstat (limited to 'sysexec.h')
-rw-r--r-- | sysexec.h | 54 |
1 files changed, 31 insertions, 23 deletions
@@ -1,41 +1,49 @@ /* - * uAnytun + * rhdropbox * - * uAnytun is a tiny implementation of SATP. Unlike Anytun which is a full - * featured implementation uAnytun has no support for multiple connections - * or synchronisation. It is a small single threaded implementation intended - * to act as a client on small platforms. - * The secure anycast tunneling protocol (satp) defines a protocol used - * for communication between any combination of unicast and anycast - * tunnel endpoints. It has less protocol overhead than IPSec in Tunnel - * mode and allows tunneling of every ETHER TYPE protocol (e.g. - * ethernet, ip, arp ...). satp directly includes cryptography and - * message authentication based on the methodes used by SRTP. It is - * intended to deliver a generic, scaleable and secure solution for - * tunneling and relaying of packets of any protocol. - * + * Copyright (C) 2009 Christian Pointner <equinox@helsinki.at> * - * Copyright (C) 2007-2008 Christian Pointner <equinox@anytun.org> + * This file is part of rhdropbox. * - * This file is part of uAnytun. - * - * uAnytun is free software: you can redistribute it and/or modify + * rhdropbox is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * - * uAnytun is distributed in the hope that it will be useful, + * rhdropbox is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with uAnytun. If not, see <http://www.gnu.org/licenses/>. + * along with rhdropbox. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef UANYTUN_sysexec_h_INCLUDED -#define UANYTUN_sysexec_h_INCLUDED +#ifndef RHDROPBOX_sysexec_h_INCLUDED +#define RHDROPBOX_sysexec_h_INCLUDED + +#include <sys/types.h> + +struct child_list_element_struct { + pid_t pid_; + char* script_; + int err_fd_; + struct child_list_element_struct* next_; +}; +typedef struct child_list_element_struct child_list_element_t; + +struct child_list_struct { + child_list_element_t* first_; +}; +typedef struct child_list_struct child_list_t; + +void child_list_init(child_list_t* list); +void child_list_clear(child_list_t* list); +int child_list_add(child_list_t* list, pid_t pid, const char* script, int err_fd); +void child_list_rm(child_list_t* list, pid_t pid); +child_list_element_t* child_list_find(child_list_t* list, pid_t pid); -int uanytun_exec(const char* script, char* const argv[], char* const evp[]); +int rh_exec(const char* script, char* const argv[], char* const evp[], child_list_t* child_lst); +int rh_waitpid(child_list_t* child_lst); #endif |