X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/ff7cdc9ea887dfef812d914ba4f0a3e62f4c0e58..e8a0782f42c256c06905e0006ba4473b08ba3bf7:/secnet.h diff --git a/secnet.h b/secnet.h index 5f8e43b..6ac64e3 100644 --- a/secnet.h +++ b/secnet.h @@ -387,15 +387,21 @@ struct site_if { typedef struct transform_inst_if *transform_createinstance_fn(void *st); typedef bool_t transform_setkey_fn(void *st, uint8_t *key, int32_t keylen); +typedef bool_t transform_valid_fn(void *st); /* 0: no key; 1: ok */ typedef void transform_delkey_fn(void *st); typedef void transform_destroyinstance_fn(void *st); -/* Returns 0 for 'all is well', any other value for a problem */ +/* Returns: + * 0: all is well + * 1: for any other problem + * 2: message decrypted but sequence number was out of range + */ typedef uint32_t transform_apply_fn(void *st, struct buffer_if *buf, const char **errmsg); struct transform_inst_if { void *st; transform_setkey_fn *setkey; + transform_valid_fn *valid; transform_delkey_fn *delkey; transform_apply_fn *forwards; transform_apply_fn *reverse;