diff options
author | Tushar Pankaj <tushar.s.pankaj@gmail.com> | 2018-11-12 17:13:32 -0600 |
---|---|---|
committer | Tushar Pankaj <tushar.s.pankaj@gmail.com> | 2018-11-12 17:13:32 -0600 |
commit | 5d717e37baaa9882ea2356fa24a2b85beaf51558 (patch) | |
tree | 1e0d243960a62af56528c8e1ecdcb2d08c18046c /protocol.capnp.h | |
parent | Style fixes (diff) | |
download | wg-dynamic-5d717e37baaa9882ea2356fa24a2b85beaf51558.tar.xz wg-dynamic-5d717e37baaa9882ea2356fa24a2b85beaf51558.zip |
Add IP addr structs to protocol
Signed-off-by: Tushar Pankaj <tushar.s.pankaj@gmail.com>
Diffstat (limited to 'protocol.capnp.h')
-rw-r--r-- | protocol.capnp.h | 50 |
1 files changed, 44 insertions, 6 deletions
diff --git a/protocol.capnp.h b/protocol.capnp.h index ea2f2e2..bf8a949 100644 --- a/protocol.capnp.h +++ b/protocol.capnp.h @@ -21,12 +21,18 @@ extern "C" { #endif struct WgClientMsg; +struct WgIpv4Addr; +struct WgIpv6Addr; struct WgServerSimpleMsg; typedef struct {capn_ptr p;} WgClientMsg_ptr; +typedef struct {capn_ptr p;} WgIpv4Addr_ptr; +typedef struct {capn_ptr p;} WgIpv6Addr_ptr; typedef struct {capn_ptr p;} WgServerSimpleMsg_ptr; typedef struct {capn_ptr p;} WgClientMsg_list; +typedef struct {capn_ptr p;} WgIpv4Addr_list; +typedef struct {capn_ptr p;} WgIpv6Addr_list; typedef struct {capn_ptr p;} WgServerSimpleMsg_list; enum WgClientMsg_WgClientRequestType { @@ -43,36 +49,68 @@ static const size_t WgClientMsg_pointer_count = 0; static const size_t WgClientMsg_struct_bytes_count = 8; +struct WgIpv4Addr { + uint32_t addr; + uint8_t cidr; +}; + +static const size_t WgIpv4Addr_word_count = 1; + +static const size_t WgIpv4Addr_pointer_count = 0; + +static const size_t WgIpv4Addr_struct_bytes_count = 8; + +struct WgIpv6Addr { + capn_data addr; + uint8_t cidr; +}; + +static const size_t WgIpv6Addr_word_count = 1; + +static const size_t WgIpv6Addr_pointer_count = 1; + +static const size_t WgIpv6Addr_struct_bytes_count = 16; + struct WgServerSimpleMsg { - uint32_t leasedIpv4; - uint32_t leasedIpv4Cidr; + WgIpv4Addr_ptr leasedIpv4; uint32_t leaseTimeout; - uint32_t route; - uint32_t routeCidr; + WgIpv4Addr_list ipv4Routes; }; -static const size_t WgServerSimpleMsg_word_count = 3; +static const size_t WgServerSimpleMsg_word_count = 1; -static const size_t WgServerSimpleMsg_pointer_count = 0; +static const size_t WgServerSimpleMsg_pointer_count = 2; static const size_t WgServerSimpleMsg_struct_bytes_count = 24; WgClientMsg_ptr new_WgClientMsg(struct capn_segment*); +WgIpv4Addr_ptr new_WgIpv4Addr(struct capn_segment*); +WgIpv6Addr_ptr new_WgIpv6Addr(struct capn_segment*); WgServerSimpleMsg_ptr new_WgServerSimpleMsg(struct capn_segment*); WgClientMsg_list new_WgClientMsg_list(struct capn_segment*, int len); +WgIpv4Addr_list new_WgIpv4Addr_list(struct capn_segment*, int len); +WgIpv6Addr_list new_WgIpv6Addr_list(struct capn_segment*, int len); WgServerSimpleMsg_list new_WgServerSimpleMsg_list(struct capn_segment*, int len); void read_WgClientMsg(struct WgClientMsg*, WgClientMsg_ptr); +void read_WgIpv4Addr(struct WgIpv4Addr*, WgIpv4Addr_ptr); +void read_WgIpv6Addr(struct WgIpv6Addr*, WgIpv6Addr_ptr); void read_WgServerSimpleMsg(struct WgServerSimpleMsg*, WgServerSimpleMsg_ptr); void write_WgClientMsg(const struct WgClientMsg*, WgClientMsg_ptr); +void write_WgIpv4Addr(const struct WgIpv4Addr*, WgIpv4Addr_ptr); +void write_WgIpv6Addr(const struct WgIpv6Addr*, WgIpv6Addr_ptr); void write_WgServerSimpleMsg(const struct WgServerSimpleMsg*, WgServerSimpleMsg_ptr); void get_WgClientMsg(struct WgClientMsg*, WgClientMsg_list, int i); +void get_WgIpv4Addr(struct WgIpv4Addr*, WgIpv4Addr_list, int i); +void get_WgIpv6Addr(struct WgIpv6Addr*, WgIpv6Addr_list, int i); void get_WgServerSimpleMsg(struct WgServerSimpleMsg*, WgServerSimpleMsg_list, int i); void set_WgClientMsg(const struct WgClientMsg*, WgClientMsg_list, int i); +void set_WgIpv4Addr(const struct WgIpv4Addr*, WgIpv4Addr_list, int i); +void set_WgIpv6Addr(const struct WgIpv6Addr*, WgIpv6Addr_list, int i); void set_WgServerSimpleMsg(const struct WgServerSimpleMsg*, WgServerSimpleMsg_list, int i); #ifdef __cplusplus |