Lines Matching refs:cop
835 cryptodev_op(struct csession *cse, const struct crypt_op *cop) in cryptodev_op() argument
843 if (cop->len > 256*1024-4) { in cryptodev_op()
849 if ((cop->len % cse->txform->blocksize) != 0) { in cryptodev_op()
855 if (cop->mac && cse->hashsize == 0) { in cryptodev_op()
865 if (cop->flags & COP_F_CIPHER_FIRST) { in cryptodev_op()
866 if (cop->op != COP_ENCRYPT) { in cryptodev_op()
872 cod = cod_alloc(cse, 0, cop->len + cse->hashsize); in cryptodev_op()
873 dst = cop->dst; in cryptodev_op()
877 error = copyin(cop->src, cod->buf, cop->len); in cryptodev_op()
883 crp->crp_payload_length = cop->len; in cryptodev_op()
885 crp->crp_digest_start = cop->len; in cryptodev_op()
890 switch (cop->op) { in cryptodev_op()
904 if (cop->len == 0 || in cryptodev_op()
905 (cop->iv == NULL && cop->len == cse->ivsize)) { in cryptodev_op()
910 switch (cop->op) { in cryptodev_op()
924 switch (cop->op) { in cryptodev_op()
939 if (cse->ivsize != 0 && cop->iv == NULL) { in cryptodev_op()
946 switch (cop->op) { in cryptodev_op()
967 crp->crp_flags = CRYPTO_F_CBIMM | (cop->flags & COP_F_BATCH); in cryptodev_op()
968 crypto_use_buf(crp, cod->buf, cop->len + cse->hashsize); in cryptodev_op()
970 crypto_use_output_buf(crp, cod->obuf, cop->len + cse->hashsize); in cryptodev_op()
974 if (cop->iv) { in cryptodev_op()
980 error = copyin(cop->iv, crp->crp_iv, cse->ivsize); in cryptodev_op()
1000 error = copyin(cop->mac, cod->buf + crp->crp_digest_start, in cryptodev_op()
1039 if (cop->dst != NULL) { in cryptodev_op()
1049 if (cop->mac != NULL && (crp->crp_op & CRYPTO_OP_VERIFY_DIGEST) == 0) { in cryptodev_op()
1051 crp->crp_digest_start, cop->mac, cse->hashsize); in cryptodev_op()
1450 struct crypt_op *cop; in crypto_ioctl() local
1551 cop = (struct crypt_op *)data; in crypto_ioctl()
1552 cse = cse_find(fcr, cop->ses); in crypto_ioctl()
1557 error = cryptodev_op(cse, cop); in crypto_ioctl()