]> git.meshlink.io Git - meshlink/blobdiff - src/sptps.h
Add support for sendmmsg().
[meshlink] / src / sptps.h
index 66ac564a4a3d6bf6fbfc31d35f926c37af6cd71b..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,6 +61,9 @@ typedef struct sptps {
        uint32_t received;
        uint16_t reclen;
 
+       char *outbuf;
+       size_t outbuflen;
+
        chacha_poly1305_ctx_t *outcipher;
        uint32_t outseqno;
 
@@ -90,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