X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=secnet.h;h=6ac64e30a7b517986faeb25fda9d32bca78b196c;hb=efacf9e0049ac05c817a88158d0cce5ea9d81b09;hp=5f8e43bc5545b5f2a3ba2e9daf4178cca5ffb283;hpb=ff7cdc9ea887dfef812d914ba4f0a3e62f4c0e58;p=secnet.git 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;