*/
#define STROKE_SOCKET "/var/run/charon.ctl"
+#define STROKE_BUF_LEN 2048
+
+typedef struct stroke_end_t stroke_end_t;
+
+struct stroke_end_t {
+ char *id;
+ char *cert;
+ char *ca;
+ char *address;
+ char *subnet;
+ int subnet_mask;
+ certpolicy_t sendcert;
+};
typedef struct stroke_msg_t stroke_msg_t;
*/
struct stroke_msg_t {
/* length of this message with all strings */
- u_int16_t length;
+ u_int length;
/* type of the message */
enum {
} type;
union {
- /* data for STR_INITIATE, STR_INSTALL, STR_UP, STR_DOWN */
+ /* data for STR_INITIATE, STR_INSTALL, STR_UP, STR_DOWN, ... */
struct {
char *name;
- } initiate, install, terminate, status;
+ } initiate, install, terminate, status, del_conn;
+
/* data for STR_ADD_CONN */
struct {
char *name;
- /* is this connection handled by charon? */
- int ikev2;
- struct {
- char *id;
- char *cert;
- char *address;
- char *subnet;
- int subnet_mask;
- } me, other;
+ bool ikev2;
+ stroke_end_t me, other;
} add_conn;
+
struct {
char *context;
char *type;
int enable;
} logtype;
+
struct {
char *context;
int level;
} loglevel;
};
- u_int8_t buffer[];
+ char buffer[STROKE_BUF_LEN];
};
#endif /* STROKE_H_ */