/* * Usurpation – null (stdio) im proto * * Copyright (C) 2019 Gediminas Jakutis * Copyright (C) 2019 Paulius Ratkevičius * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; version 2.1 * of the License. * * This program 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef USURPATION_PROTO_STDIO_PRIVATE_H #define USURPATION_PROTO_STDIO_PRIVATE_H #include #include #include static struct state { pthread_mutex_t mutex; pthread_t stdio_in; pthread_t stdio_out; pthread_mutex_t in_m; pthread_mutex_t out_m; char *readbuf; char *writebuf; ssize_t readbufsize; ssize_t writebufsize; } state = {PTHREAD_MUTEX_INITIALIZER, 0, 0, PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, NULL, NULL, 0, 0}; static void *read_stdin(void *arg); static void *write_stdout(void *arg); #endif /* USURPATION_PROTO_STDIO_PRIVATE_H */