]> git.meshlink.io Git - meshlink/blobdiff - src/sptps.h
Add support for sendmmsg().
[meshlink] / src / sptps.h
index 23066846d56d4f8f7c0ca09c32d820a42b573502..5d567116a87e14a6a37cea2011b5c9c9127f5851 100644 (file)
@@ -53,7 +53,7 @@ typedef struct sptps {
 
        // Main member variables
        char *inbuf;
-       size_t buflen;
+       size_t inbuflen;
 
        chacha_poly1305_ctx_t *incipher;
        uint32_t replaywin;
@@ -61,11 +61,17 @@ typedef struct sptps {
        uint32_t received;
        uint16_t reclen;
 
+       char *outbuf;
+       size_t outbuflen;
+
        chacha_poly1305_ctx_t *outcipher;
        uint32_t outseqno;
 
        char *late;
 
+       char *decrypted_buffer;
+       size_t decrypted_buffer_len;
+
        // Callbacks
        void *handle;
        send_data_t send_data;
@@ -87,11 +93,12 @@ typedef struct sptps {
 extern void sptps_log_quiet(sptps_t *s, int s_errno, const char *format, va_list ap);
 extern void sptps_log_stderr(sptps_t *s, int s_errno, const char *format, va_list ap);
 extern void (*sptps_log)(sptps_t *s, int s_errno, const char *format, va_list ap);
-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_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) __attribute__((__warn_unused_result__));
 extern bool sptps_stop(sptps_t *s);
 extern bool sptps_send_record(sptps_t *s, uint8_t type, const void *data, uint16_t len);
-extern bool sptps_receive_data(sptps_t *s, const void *data, size_t len);
-extern bool sptps_force_kex(sptps_t *s);
-extern bool sptps_verify_datagram(sptps_t *s, const void *data, size_t len);
+extern bool sptps_receive_data(sptps_t *s, const void *data, size_t len) __attribute__((__warn_unused_result__));
+extern bool sptps_force_kex(sptps_t *s) __attribute__((__warn_unused_result__));
+extern bool sptps_verify_datagram(sptps_t *s, const void *data, size_t len) __attribute__((__warn_unused_result__));
+extern void sptps_set_send_buffer(sptps_t *s, void *data, size_t len);
 
 #endif