return (&key->k); \
} \
\
+static int gcszok(size_t nsz, size_t hsz, size_t msz, size_t tsz) \
+{ \
+ ccm_params p; \
+ \
+ if (!gaead_szokcommon(&pre##_ccm, nsz, hsz, msz, tsz)) return (0); \
+ p.hsz = hsz; p.msz = msz; p.bsz = PRE##_BLKSZ; p.nsz = nsz; p.tsz = tsz; \
+ if (!ccm_check(&p)) return (0); \
+ return (1); \
+} \
+ \
const gcaead pre##_ccm = { \
name "-ccm", \
pre##_keysz, pre##_ccmnoncesz, pre##_ccmtagsz, \
PRE##_BLKSZ, 0, 0, \
AEADF_PCHSZ | AEADF_PCMSZ | AEADF_PCTSZ | \
AEADF_AADNDEP | AEADF_AADFIRST, \
- gckey \
+ gckey, gcszok \
}; \
\
CCM_TESTX(PRE, pre, name, fname)