- added misssing stroke.h
authorMartin Willi <martin@strongswan.org>
Wed, 5 Apr 2006 05:59:05 +0000 (05:59 -0000)
committerMartin Willi <martin@strongswan.org>
Wed, 5 Apr 2006 05:59:05 +0000 (05:59 -0000)
Source/charon/doc/Todo-list.txt
Source/charon/stroke.h [new file with mode: 0644]
Source/charon/threads/stroke_interface.h

index 91c02e8..404e45e 100644 (file)
@@ -15,8 +15,8 @@
 + stroke up
 + ike_sa_manager checkout_by_hosts
 + stroke down
-- stroke output redirection
-- stroke status
++ stroke output redirection
++ stroke status
 
 - libx509
   - new charon build - libstrong?
diff --git a/Source/charon/stroke.h b/Source/charon/stroke.h
new file mode 100644 (file)
index 0000000..2f75679
--- /dev/null
@@ -0,0 +1,86 @@
+/**
+ * @file stroke.h
+ *
+ * @brief Definition of stroke_msg_t.
+ *
+ */
+
+/*
+ * Copyright (C) 2006 Martin Willi
+ * Hochschule fuer Technik Rapperswil
+ *
+ * This program 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 2 of the License, or (at your
+ * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
+ *
+ * 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 General Public License
+ * for more details.
+ */
+
+#ifndef STROKE_H_
+#define STROKE_H_
+
+#define STROKE_SOCKET "/var/run/charon.ctl"
+
+/**
+ * @brief A stroke message sent over the unix socket.
+ * 
+ */
+typedef struct stroke_msg_t stroke_msg_t;
+
+struct stroke_msg_t {
+       /* length of this message with all strings */
+       u_int16_t length;
+       /* type of the message */
+       enum {
+               /* initiate a connection */
+               STR_INITIATE,
+               /* install SPD entries for a connection */
+               STR_INSTALL,
+               /* add a connection */
+               STR_ADD_CONN,
+               /* delete a connection */
+               STR_DEL_CONN,
+               /* terminate connection */
+               STR_TERMINATE,
+               /* show connection status */
+               STR_STATUS,
+               /* set a log type to log/not log */
+               STR_LOGTYPE,
+               /* set the verbosity of a logging context */
+               STR_LOGLEVEL,
+               /* more to come */
+       } type;
+       union {
+               /* data for STR_INITIATE, STR_INSTALL, STR_UP, STR_DOWN */
+               struct {
+                       char *name;
+               } initiate, install, terminate;
+               /* data for STR_ADD_CONN */
+               struct {
+                       char *name;
+                       struct {
+                               char *id;
+                               char *cert;
+                               char *address;
+                               char *subnet;
+                               u_int8_t subnet_mask;
+                       } me, other;
+               } add_conn;
+               struct {
+                       char *context;
+                       char *type;
+                       int enable;
+               } logtype;
+               struct {
+                       char *context;
+                       u_int level;
+               } loglevel;
+       };
+       u_int8_t buffer[];
+};
+
+#endif /* STROKE_H_ */
index ced887f..0bb0bb4 100644 (file)
@@ -20,8 +20,8 @@
  * for more details.
  */
 
-#ifndef STROKE_H_
-#define STROKE_H_
+#ifndef STROKE_INTERFACE_H_
+#define STROKE_INTERFACE_H_
 
 #include <config/policy_store.h>
 #include <config/connection_store.h>
@@ -93,4 +93,4 @@ struct stroke_t {
  */
 stroke_t *stroke_create();
 
-#endif /* STROKE_H_ */
+#endif /* STROKE_INTERFACE_H_ */