/*
- * vim:ts=8:expandtab
+ * vim:ts=4:sw=4:expandtab
*
* i3 - an improved dynamic tiling window manager
+ * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
*
- * © 2009-2010 Michael Stapelberg and contributors
- *
- * See file LICENSE for license information.
+ * ipc.c: UNIX domain socket IPC (initialization, client handling, protocol).
*
*/
-
#ifndef _IPC_H
#define _IPC_H
#include <ev.h>
+#include <stdbool.h>
+#include <yajl/yajl_gen.h>
+#include <yajl/yajl_parse.h>
+
+#include "data.h"
+#include "tree.h"
#include "i3/ipc.h"
+extern char *current_socketpath;
+
typedef struct ipc_client {
int fd;
*/
void ipc_send_event(const char *event, uint32_t message_type, const char *payload);
+/**
+ * Calls shutdown() on each socket and closes it. This function to be called
+ * when exiting or restarting only!
+ *
+ */
+void ipc_shutdown(void);
+
+void dump_node(yajl_gen gen, Con *con, bool inplace_restart);
#endif