2 #ifndef TRANSFORM_COMMON_H
3 #define TRANSFORM_COMMON_H
5 #define KEYED_CHECK do{ \
7 *errmsg="transform unkeyed"; \
12 #define SEQNUM_CHECK(seqnum, max_skew) do{ \
13 uint32_t skew=seqnum-ti->lastrecvseq; \
14 if (skew<0x8fffffff) { \
16 ti->lastrecvseq=seqnum; \
17 } else if ((0-skew)<max_skew) { \
21 *errmsg="seqnum: too much skew"; \
26 #define TRANSFORM_VALID \
27 static bool_t transform_valid(void *sst) \
29 struct transform_inst *ti=sst; \
34 #define TRANSFORM_DESTROY \
35 static void transform_destroy(void *sst) \
37 struct transform_inst *st=sst; \
39 FILLZERO(*st); /* Destroy key material */ \
43 #define TRANSFORM_CREATE_CORE \
44 struct transform_inst *ti; \
45 ti=safe_malloc(sizeof(*ti),"transform_create"); \
48 ti->ops.setkey=transform_setkey; \
49 ti->ops.valid=transform_valid; \
50 ti->ops.delkey=transform_delkey; \
51 ti->ops.forwards=transform_forward; \
52 ti->ops.reverse=transform_reverse; \
53 ti->ops.destroy=transform_destroy; \
56 #endif /*TRANSFORM_COMMON_H*/