aboutsummaryrefslogtreecommitdiff
path: root/src/netcosm.h
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2015-12-07 17:48:32 -0500
committerFranklin Wei <git@fwei.tk>2015-12-07 17:48:32 -0500
commit0f3bd99c40594c46b5b4bb0603085ec9cc111e0e (patch)
tree0533aa2d245a8bc8aaa652c8c4c039c27504f0f9 /src/netcosm.h
parent8bc78787a99efdf4c64032d7fe55905ff995cd98 (diff)
downloadnetcosm-0f3bd99c40594c46b5b4bb0603085ec9cc111e0e.zip
netcosm-0f3bd99c40594c46b5b4bb0603085ec9cc111e0e.tar.gz
netcosm-0f3bd99c40594c46b5b4bb0603085ec9cc111e0e.tar.bz2
netcosm-0f3bd99c40594c46b5b4bb0603085ec9cc111e0e.tar.xz
child-parent communication
Diffstat (limited to 'src/netcosm.h')
-rw-r--r--src/netcosm.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/netcosm.h b/src/netcosm.h
index be6d1a2..f9f0fc4 100644
--- a/src/netcosm.h
+++ b/src/netcosm.h
@@ -12,6 +12,8 @@
#include <stdlib.h>
#include <string.h>
#include <sys/file.h>
+#include <sys/ipc.h>
+#include <sys/mman.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/wait.h>
@@ -34,7 +36,7 @@ struct authinfo_t {
int authlevel;
};
-void client_main(int fd, struct sockaddr_in *addr, int);
+void client_main(int sock, struct sockaddr_in *addr, int, int to_parent, int from_parent);
void __attribute__((noreturn)) error(const char *fmt, ...);
void first_run_setup(void);
struct authinfo_t auth_check(const char*, const char*);
@@ -48,3 +50,24 @@ void telnet_handle_command(const unsigned char*);
void out(const char *fmt, ...) __attribute__((format(printf,1,2)));
void out_raw(const unsigned char*, size_t);
void telnet_init(void);
+void telnet_echo_on(void);
+void telnet_echo_off(void);
+#define MSG_MAX 512
+
+void remove_cruft(char*);
+
+/* child->master commands */
+#define REQ_INVALID 0
+#define REQ_BCASTMSG 1
+#define REQ_LISTCLIENTS 2
+#define REQ_CHANGESTATE 3
+#define REQ_CHANGEUSER 4
+
+#define STATE_INIT 0
+#define STATE_AUTH 1
+#define STATE_CHECKING 2
+#define STATE_LOGGEDIN 3
+#define STATE_ADMIN 4
+#define STATE_FAILED 5
+
+void auth_list_users(void);