cse 143 crypto/cryptodev.c struct csession *cse;
cse 257 crypto/cryptodev.c cse = csecreate(fcr, sid, crie.cri_key, crie.cri_klen,
cse 261 crypto/cryptodev.c if (cse == NULL) {
cse 266 crypto/cryptodev.c sop->ses = cse->ses;
cse 278 crypto/cryptodev.c cse = csefind(fcr, ses);
cse 279 crypto/cryptodev.c if (cse == NULL)
cse 281 crypto/cryptodev.c csedelete(fcr, cse);
cse 282 crypto/cryptodev.c error = csefree(cse);
cse 286 crypto/cryptodev.c cse = csefind(fcr, cop->ses);
cse 287 crypto/cryptodev.c if (cse == NULL)
cse 289 crypto/cryptodev.c error = cryptodev_op(cse, cop, p);
cse 304 crypto/cryptodev.c cryptodev_op(struct csession *cse, struct crypt_op *cop, struct proc *p)
cse 314 crypto/cryptodev.c if (cse->txform) {
cse 315 crypto/cryptodev.c if (cop->len == 0 || (cop->len % cse->txform->blocksize) != 0)
cse 319 crypto/cryptodev.c bzero(&cse->uio, sizeof(cse->uio));
cse 320 crypto/cryptodev.c cse->uio.uio_iovcnt = 1;
cse 321 crypto/cryptodev.c cse->uio.uio_resid = 0;
cse 322 crypto/cryptodev.c cse->uio.uio_segflg = UIO_SYSSPACE;
cse 323 crypto/cryptodev.c cse->uio.uio_rw = UIO_WRITE;
cse 324 crypto/cryptodev.c cse->uio.uio_procp = p;
cse 325 crypto/cryptodev.c cse->uio.uio_iov = cse->iovec;
cse 326 crypto/cryptodev.c bzero(&cse->iovec, sizeof(cse->iovec));
cse 327 crypto/cryptodev.c cse->uio.uio_iov[0].iov_len = cop->len;
cse 328 crypto/cryptodev.c cse->uio.uio_iov[0].iov_base = malloc(cop->len, M_XDATA, M_WAITOK);
cse 329 crypto/cryptodev.c for (i = 0; i < cse->uio.uio_iovcnt; i++)
cse 330 crypto/cryptodev.c cse->uio.uio_resid += cse->uio.uio_iov[0].iov_len;
cse 333 crypto/cryptodev.c crp = crypto_getreq((cse->txform != NULL) + (cse->thash != NULL));
cse 339 crypto/cryptodev.c if (cse->thash) {
cse 341 crypto/cryptodev.c if (cse->txform)
cse 344 crypto/cryptodev.c if (cse->txform)
cse 352 crypto/cryptodev.c if ((error = copyin(cop->src, cse->uio.uio_iov[0].iov_base, cop->len)))
cse 360 crypto/cryptodev.c crda->crd_alg = cse->mac;
cse 361 crypto/cryptodev.c crda->crd_key = cse->mackey;
cse 362 crypto/cryptodev.c crda->crd_klen = cse->mackeylen * 8;
cse 373 crypto/cryptodev.c crde->crd_alg = cse->cipher;
cse 374 crypto/cryptodev.c crde->crd_key = cse->key;
cse 375 crypto/cryptodev.c crde->crd_klen = cse->keylen * 8;
cse 379 crypto/cryptodev.c crp->crp_buf = (caddr_t)&cse->uio;
cse 381 crypto/cryptodev.c crp->crp_sid = cse->sid;
cse 382 crypto/cryptodev.c crp->crp_opaque = cse;
cse 389 crypto/cryptodev.c if (cse->cipher == CRYPTO_ARC4) { /* XXX use flag? */
cse 393 crypto/cryptodev.c if ((error = copyin(cop->iv, cse->tmp_iv, cse->txform->blocksize)))
cse 395 crypto/cryptodev.c bcopy(cse->tmp_iv, crde->crd_iv, cse->txform->blocksize);
cse 398 crypto/cryptodev.c } else if (cse->cipher == CRYPTO_ARC4) { /* XXX use flag? */
cse 402 crypto/cryptodev.c crde->crd_skip = cse->txform->blocksize;
cse 403 crypto/cryptodev.c crde->crd_len -= cse->txform->blocksize;
cse 411 crypto/cryptodev.c crp->crp_mac = cse->tmp_mac;
cse 436 crypto/cryptodev.c error = tsleep(cse, PSOCK, "crydev", 0);
cse 444 crypto/cryptodev.c if (cse->error) {
cse 445 crypto/cryptodev.c error = cse->error;
cse 455 crypto/cryptodev.c (error = copyout(cse->uio.uio_iov[0].iov_base, cop->dst, cop->len)))
cse 459 crypto/cryptodev.c (error = copyout(crp->crp_mac, cop->mac, cse->thash->authsize)))
cse 465 crypto/cryptodev.c if (cse->uio.uio_iov[0].iov_base)
cse 466 crypto/cryptodev.c free(cse->uio.uio_iov[0].iov_base, M_XDATA);
cse 474 crypto/cryptodev.c struct csession *cse = crp->crp_opaque;
cse 476 crypto/cryptodev.c cse->error = crp->crp_etype;
cse 481 crypto/cryptodev.c wakeup(cse);
cse 620 crypto/cryptodev.c struct csession *cse;
cse 622 crypto/cryptodev.c while ((cse = TAILQ_FIRST(&fcr->csessions))) {
cse 623 crypto/cryptodev.c TAILQ_REMOVE(&fcr->csessions, cse, next);
cse 624 crypto/cryptodev.c (void)csefree(cse);
cse 708 crypto/cryptodev.c struct csession *cse;
cse 710 crypto/cryptodev.c TAILQ_FOREACH(cse, &fcr->csessions, next)
cse 711 crypto/cryptodev.c if (cse->ses == ses)
cse 712 crypto/cryptodev.c return (cse);
cse 719 crypto/cryptodev.c struct csession *cse;
cse 721 crypto/cryptodev.c TAILQ_FOREACH(cse, &fcr->csessions, next) {
cse 722 crypto/cryptodev.c if (cse == cse_del) {
cse 723 crypto/cryptodev.c TAILQ_REMOVE(&fcr->csessions, cse, next);
cse 731 crypto/cryptodev.c cseadd(struct fcrypt *fcr, struct csession *cse)
cse 733 crypto/cryptodev.c TAILQ_INSERT_TAIL(&fcr->csessions, cse, next);
cse 734 crypto/cryptodev.c cse->ses = fcr->sesn++;
cse 735 crypto/cryptodev.c return (cse);
cse 743 crypto/cryptodev.c struct csession *cse;
cse 745 crypto/cryptodev.c MALLOC(cse, struct csession *, sizeof(struct csession),
cse 747 crypto/cryptodev.c if (cse == NULL)
cse 749 crypto/cryptodev.c cse->key = key;
cse 750 crypto/cryptodev.c cse->keylen = keylen/8;
cse 751 crypto/cryptodev.c cse->mackey = mackey;
cse 752 crypto/cryptodev.c cse->mackeylen = mackeylen/8;
cse 753 crypto/cryptodev.c cse->sid = sid;
cse 754 crypto/cryptodev.c cse->cipher = cipher;
cse 755 crypto/cryptodev.c cse->mac = mac;
cse 756 crypto/cryptodev.c cse->txform = txform;
cse 757 crypto/cryptodev.c cse->thash = thash;
cse 758 crypto/cryptodev.c cseadd(fcr, cse);
cse 759 crypto/cryptodev.c return (cse);
cse 763 crypto/cryptodev.c csefree(struct csession *cse)
cse 767 crypto/cryptodev.c error = crypto_freesession(cse->sid);
cse 768 crypto/cryptodev.c if (cse->key)
cse 769 crypto/cryptodev.c FREE(cse->key, M_XDATA);
cse 770 crypto/cryptodev.c if (cse->mackey)
cse 771 crypto/cryptodev.c FREE(cse->mackey, M_XDATA);
cse 772 crypto/cryptodev.c FREE(cse, M_XDATA);