]> git.meshlink.io Git - meshlink-tiny/blobdiff - src/protocol.h
Remove all support for channels.
[meshlink-tiny] / src / protocol.h
index fb1e10960cc25539971a4250f8c9f358a1e87556..02c22666c91f559d327d06fa7962baadba72324d 100644 (file)
@@ -57,10 +57,9 @@ typedef enum request_error_t {
        BLACKLISTED = 1,
 } request_error_t;
 
-typedef struct past_request_t {
-       const char *request;
-       time_t firstseen;
-} past_request_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,
@@ -70,21 +69,15 @@ typedef struct past_request_t {
 #define MAX_STRING_SIZE 2049
 #define MAX_STRING "%2048s"
 
-#include "edge.h"
 #include "net.h"
 #include "node.h"
 
 /* Basic functions */
 
-bool send_request(struct meshlink_handle *mesh, struct connection_t *, const struct submesh_t *s, const char *, ...) __attribute__((__format__(printf, 4, 5)));
-void forward_request(struct meshlink_handle *mesh, struct connection_t *, const struct submesh_t *, const char *);
+bool send_request(struct meshlink_handle *mesh, struct connection_t *, const char *, ...) __attribute__((__format__(printf, 3, 4)));
 bool receive_request(struct meshlink_handle *mesh, struct connection_t *, const char *);
 bool check_id(const char *);
 
-void init_requests(struct meshlink_handle *mesh);
-void exit_requests(struct meshlink_handle *mesh);
-bool seen_request(struct meshlink_handle *mesh, const char *);
-
 /* Requests */
 
 bool send_id(struct meshlink_handle *mesh, struct connection_t *);
@@ -92,10 +85,9 @@ bool send_ack(struct meshlink_handle *mesh, struct connection_t *);
 bool send_error(struct meshlink_handle *mesh, struct connection_t *, request_error_t, const char *);
 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 *, const struct edge_t *, int contradictions);
-bool send_del_edge(struct meshlink_handle *mesh, struct connection_t *, const struct edge_t *, int contradictions);
-bool send_req_key(struct meshlink_handle *mesh, struct node_t *);
+bool send_add_edge(struct meshlink_handle *mesh, struct connection_t *, int);
 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  */
 
@@ -111,6 +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 tcppacket_h(struct meshlink_handle *mesh, struct connection_t *, const char *);
+bool raw_packet_h(struct meshlink_handle *mesh, struct connection_t *, const char *);
 
 #endif