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);