Lines Matching refs:crd
83 swcr_encdec(struct cryptodesc *crd, struct swcr_data *sw, caddr_t buf, in swcr_encdec() argument
103 if (crd->crd_len % blks) in swcr_encdec()
106 if (crd->crd_alg == CRYPTO_AES_ICM && in swcr_encdec()
107 (crd->crd_flags & CRD_F_IV_EXPLICIT) == 0) in swcr_encdec()
111 if (crd->crd_flags & CRD_F_ENCRYPT) { in swcr_encdec()
113 if (crd->crd_flags & CRD_F_IV_EXPLICIT) in swcr_encdec()
114 bcopy(crd->crd_iv, iv, ivlen); in swcr_encdec()
119 if (!(crd->crd_flags & CRD_F_IV_PRESENT)) in swcr_encdec()
120 crypto_copyback(flags, buf, crd->crd_inject, ivlen, iv); in swcr_encdec()
124 if (crd->crd_flags & CRD_F_IV_EXPLICIT) in swcr_encdec()
125 bcopy(crd->crd_iv, iv, ivlen); in swcr_encdec()
128 crypto_copydata(flags, buf, crd->crd_inject, ivlen, iv); in swcr_encdec()
132 if (crd->crd_flags & CRD_F_KEY_EXPLICIT) { in swcr_encdec()
139 crd->crd_key, crd->crd_klen / 8); in swcr_encdec()
159 iov[0].iov_len = crd->crd_skip + crd->crd_len; in swcr_encdec()
174 count = crd->crd_skip; in swcr_encdec()
181 i = crd->crd_len; in swcr_encdec()
194 if (crd->crd_flags & CRD_F_ENCRYPT) { in swcr_encdec()
201 } else if (crd->crd_flags & CRD_F_ENCRYPT) { in swcr_encdec()
260 if ((crd->crd_flags & CRD_F_ENCRYPT) != 0 && in swcr_encdec()
264 else if ((crd->crd_flags & CRD_F_ENCRYPT) != 0) { in swcr_encdec()
276 } else if (crd->crd_flags & CRD_F_ENCRYPT) { in swcr_encdec()
407 swcr_authcompute(struct cryptodesc *crd, struct swcr_data *sw, caddr_t buf, in swcr_authcompute() argument
420 if (crd->crd_flags & CRD_F_KEY_EXPLICIT) { in swcr_authcompute()
421 err = swcr_authprepare(axf, sw, crd->crd_key, crd->crd_klen); in swcr_authcompute()
428 err = crypto_apply(flags, buf, crd->crd_skip, crd->crd_len, in swcr_authcompute()
484 crypto_copyback(flags, buf, crd->crd_inject, in swcr_authcompute()
505 struct cryptodesc *crd, *crda = NULL, *crde = NULL; in swcr_authenc() local
518 for (crd = crp->crp_desc; crd; crd = crd->crd_next) { in swcr_authenc()
520 ses->swcr_algorithms[i].sw_alg != crd->crd_alg; i++) in swcr_authenc()
531 crde = crd; in swcr_authenc()
543 crda = crd; in swcr_authenc()
733 swcr_compdec(struct cryptodesc *crd, struct swcr_data *sw, in swcr_compdec() argument
748 data = malloc(crd->crd_len, M_CRYPTO_DATA, M_NOWAIT); in swcr_compdec()
751 crypto_copydata(flags, buf, crd->crd_skip, crd->crd_len, data); in swcr_compdec()
753 if (crd->crd_flags & CRD_F_COMP) in swcr_compdec()
754 result = cxf->compress(data, crd->crd_len, &out); in swcr_compdec()
756 result = cxf->decompress(data, crd->crd_len, &out); in swcr_compdec()
767 if (crd->crd_flags & CRD_F_COMP) { in swcr_compdec()
768 if (result >= crd->crd_len) { in swcr_compdec()
775 crypto_copyback(flags, buf, crd->crd_skip, result, out); in swcr_compdec()
776 if (result < crd->crd_len) { in swcr_compdec()
777 adj = result - crd->crd_len; in swcr_compdec()
779 adj = result - crd->crd_len; in swcr_compdec()
785 adj = crd->crd_len - result; in swcr_compdec()
1195 struct cryptodesc *crd; in swcr_process() local
1212 for (crd = crp->crp_desc; crd; crd = crd->crd_next) { in swcr_process()
1224 ses->swcr_algorithms[i].sw_alg != crd->crd_alg; i++) in swcr_process()
1244 if ((crp->crp_etype = swcr_encdec(crd, sw, in swcr_process()
1270 if ((crp->crp_etype = swcr_authcompute(crd, sw, in swcr_process()
1286 if ((crp->crp_etype = swcr_compdec(crd, sw, in swcr_process()