X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fprotocol.h;fp=src%2Fprotocol.h;h=02c22666c91f559d327d06fa7962baadba72324d;hb=f3014d25c8b6f8cc1cf8ab48cabf6fbc8e8311d0;hp=ed7e5dfffc86e3acb32be5a750f914b2a8dbd928;hpb=51726faeea70c12caf2540d62dbdc135c5dfaf18;p=meshlink-tiny diff --git a/src/protocol.h b/src/protocol.h index ed7e5df..02c2266 100644 --- a/src/protocol.h +++ b/src/protocol.h @@ -57,6 +57,10 @@ typedef enum request_error_t { BLACKLISTED = 1, } request_error_t; +/* Protocol support flags */ + +static const uint32_t PROTOCOL_TINY = 1; // Peer is using meshlink-tiny + /* Maximum size of strings in a request. * scanf terminates %2048s with a NUL character, * but the NUL character can be written after the 2048th non-NUL character. @@ -82,8 +86,8 @@ bool send_error(struct meshlink_handle *mesh, struct connection_t *, request_err bool send_ping(struct meshlink_handle *mesh, struct connection_t *); bool send_pong(struct meshlink_handle *mesh, struct connection_t *); bool send_add_edge(struct meshlink_handle *mesh, struct connection_t *, int); -bool send_req_key(struct meshlink_handle *mesh, struct node_t *); bool send_canonical_address(struct meshlink_handle *mesh, struct node_t *); +bool send_raw_packet(struct meshlink_handle *mesh, struct connection_t *, const vpn_packet_t *); /* Request handlers */ @@ -99,5 +103,6 @@ bool del_edge_h(struct meshlink_handle *mesh, struct connection_t *, const char bool key_changed_h(struct meshlink_handle *mesh, struct connection_t *, const char *); bool req_key_h(struct meshlink_handle *mesh, struct connection_t *, const char *); bool ans_key_h(struct meshlink_handle *mesh, struct connection_t *, const char *); +bool raw_packet_h(struct meshlink_handle *mesh, struct connection_t *, const char *); #endif