chiark / gitweb /
serialmgrd: Support recent versions of perl
[sympathy.git] / src / ipc.h
index 1820511b70ce0a7afc7d03ba23217781ceb54a3e..1ad2154b35f8b5628615a9760c865198de43d886 100644 (file)
--- a/src/ipc.h
+++ b/src/ipc.h
@@ -1,17 +1,41 @@
-/*
+/* 
  * ipc.h:
  *
- * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
+ * Copyright (c) 2008 James McKenzie <sympathy@madingley.org>,
  * All rights reserved.
  *
  */
 
-/*
- * $Id$
+/* 
+ * $Id: ipc.h,v 1.12 2008/03/10 11:49:33 james Exp $
  */
 
-/*
- * $Log$
+/* 
+ * $Log: ipc.h,v $
+ * Revision 1.12  2008/03/10 11:49:33  james
+ * *** empty log message ***
+ *
+ * Revision 1.11  2008/03/07 14:13:40  james
+ * *** empty log message ***
+ *
+ * Revision 1.10  2008/03/07 13:16:02  james
+ * *** empty log message ***
+ *
+ * Revision 1.9  2008/03/07 12:37:04  james
+ * *** empty log message ***
+ *
+ * Revision 1.8  2008/03/03 06:04:42  james
+ * *** empty log message ***
+ *
+ * Revision 1.7  2008/03/02 10:37:56  james
+ * *** empty log message ***
+ *
+ * Revision 1.6  2008/02/28 11:27:48  james
+ * *** empty log message ***
+ *
+ * Revision 1.5  2008/02/23 11:48:37  james
+ * *** empty log message ***
+ *
  * Revision 1.4  2008/02/22 17:07:00  james
  * *** empty log message ***
  *
 
 #define IPC_MSG_TYPE_NOOP  0
 #define IPC_MSG_TYPE_DEBUG 1
-#define IPC_MSG_TYPE_VT102 2
-#define IPC_MSG_TYPE_HISTORY 3
-#define IPC_MSG_TYPE_KEY 4
-#define IPC_MSG_TYPE_TERM 5
-#define IPC_MSG_TYPE_STATUS 6
-#define IPC_MSG_TYPE_SETBAUD 7
-#define IPC_MSG_TYPE_SENDBREAK 8
-#define IPC_MSG_TYPE_SETFLOW 9
-#define IPC_MSG_TYPE_SETANSI 10
-#define IPC_MSG_TYPE_HANGUP 11
-
-typedef struct
-{
+#define IPC_MSG_TYPE_INITIALIZE 2
+#define IPC_MSG_TYPE_VT102 3
+#define IPC_MSG_TYPE_HISTORY 4
+#define IPC_MSG_TYPE_KEY 5
+#define IPC_MSG_TYPE_TERM 6
+#define IPC_MSG_TYPE_STATUS 7
+#define IPC_MSG_TYPE_SETBAUD 8
+#define IPC_MSG_TYPE_SENDBREAK 9
+#define IPC_MSG_TYPE_SETFLOW 10
+#define IPC_MSG_TYPE_SETANSI 11
+#define IPC_MSG_TYPE_HANGUP 12
+#define IPC_MSG_TYPE_SETSIZE 13
+#define IPC_MSG_TYPE_RESET 14
+#define IPC_MSG_TYPE_KILLME 15
+
+typedef struct {
   int32_t size;
   int32_t type;
   uint8_t payload[0];
 } IPC_Msg_hdr;
 
 
-typedef struct
-{
+typedef struct {
   int32_t size;
   int32_t type;
 } IPC_Msg_noop;
 
 
-typedef struct
-{
+typedef struct {
   int32_t size;
   int32_t type;
   char msg[0];
 } IPC_Msg_debug;
 
-typedef struct 
-{
+typedef struct {
+  int32_t size;
+  int32_t type;
+  char msg[0];
+} IPC_Msg_initialize;
+
+typedef struct {
   int32_t size;
   int32_t type;
   History_ent history;
 } IPC_Msg_history;
 
-typedef struct 
-{
+typedef struct {
   int32_t size;
   int32_t type;
   int32_t len;
@@ -82,15 +111,13 @@ typedef struct
 } IPC_Msg_VT102;
 
 
-typedef struct 
-{
+typedef struct {
   int32_t size;
   int32_t type;
   int32_t key;
 } IPC_Msg_key;
 
-typedef struct 
-{
+typedef struct {
   int32_t size;
   int32_t type;
   int32_t len;
@@ -98,67 +125,83 @@ typedef struct
 } IPC_Msg_term;
 
 
-typedef struct 
-{
+typedef struct {
   int32_t size;
   int32_t type;
-  char  status[0];
+  char status[0];
 } IPC_Msg_status;
 
-typedef struct 
-{
+typedef struct {
   int32_t size;
   int32_t type;
   int32_t baud;
 } IPC_Msg_setbaud;
 
 
-typedef struct 
-{
+typedef struct {
   int32_t size;
   int32_t type;
 } IPC_Msg_sendbreak;
 
 
-typedef struct 
-{
+typedef struct {
   int32_t size;
   int32_t type;
   int32_t flow;
 } IPC_Msg_setflow;
 
 
-typedef struct 
-{
+typedef struct {
   int32_t size;
   int32_t type;
   int32_t ansi;
 } IPC_Msg_setansi;
 
 
-typedef struct 
-{
+typedef struct {
   int32_t size;
   int32_t type;
 } IPC_Msg_hangup;
 
 
+typedef struct {
+  int32_t size;
+  int32_t type;
+  CRT_Pos winsize;
+} IPC_Msg_setsize;
 
-typedef union 
-{
-IPC_Msg_hdr hdr;
-IPC_Msg_noop noop;
-IPC_Msg_debug debug;
-IPC_Msg_history history;
-IPC_Msg_VT102 vt102;
-IPC_Msg_key key;
-IPC_Msg_term term;
-IPC_Msg_status status;
-IPC_Msg_setbaud setbaud;
-IPC_Msg_sendbreak sendbreak;
-IPC_Msg_setflow setflow;
-IPC_Msg_setansi setansi;
-IPC_Msg_hangup hangup;
+
+typedef struct {
+  int32_t size;
+  int32_t type;
+} IPC_Msg_reset;
+
+
+typedef struct {
+  int32_t size;
+  int32_t type;
+} IPC_Msg_killme;
+
+
+
+typedef union {
+  IPC_Msg_hdr hdr;
+  IPC_Msg_noop noop;
+  IPC_Msg_debug debug;
+  IPC_Msg_initialize initialize;
+  IPC_Msg_history history;
+  IPC_Msg_VT102 vt102;
+  IPC_Msg_key key;
+  IPC_Msg_term term;
+  IPC_Msg_status status;
+  IPC_Msg_setbaud setbaud;
+  IPC_Msg_sendbreak sendbreak;
+  IPC_Msg_setflow setflow;
+  IPC_Msg_setansi setansi;
+  IPC_Msg_hangup hangup;
+  IPC_Msg_setsize setsize;
+  IPC_Msg_reset reset;
+  IPC_Msg_killme killme;
 } IPC_Msg;