]> git.meshlink.io Git - meshlink/blobdiff - src/sptps.h
Use datagram SPTPS for packet exchange between nodes.
[meshlink] / src / sptps.h
index 065c6a099d24d146a2120e4cf489b4d2005e88d0..d8ce3dae8d2372def8ad6bce5924a3e82578dd75 100644 (file)
 #define SPTPS_SIG 2           // Waiting for a SIGnature record
 #define SPTPS_ACK 3           // Waiting for an ACKnowledgement record
 
-typedef bool (*send_data_t)(void *handle, const char *data, size_t len);
+typedef bool (*send_data_t)(void *handle, uint8_t type, const char *data, size_t len);
 typedef bool (*receive_record_t)(void *handle, uint8_t type, const char *data, uint16_t len);
 
 typedef struct sptps {
        bool initiator;
+       bool datagram;
        int state;
 
        char *inbuf;
@@ -76,7 +77,7 @@ typedef struct sptps {
        receive_record_t receive_record;
 } sptps_t;
 
-extern bool sptps_start(sptps_t *s, void *handle, bool initiator, ecdsa_t mykey, ecdsa_t hiskey, const char *label, size_t labellen, send_data_t send_data, receive_record_t receive_record);
+extern bool sptps_start(sptps_t *s, void *handle, bool initiator, bool datagram, ecdsa_t mykey, ecdsa_t hiskey, const char *label, size_t labellen, send_data_t send_data, receive_record_t receive_record);
 extern bool sptps_stop(sptps_t *s);
 extern bool sptps_send_record(sptps_t *s, uint8_t type, const char *data, uint16_t len);
 extern bool sptps_receive_data(sptps_t *s, const char *data, size_t len);