Lines Matching refs:fcr
333 cse_create(struct fcrypt *fcr, struct session2_op *sop) in cse_create() argument
521 mtx_lock(&fcr->lock); in cse_create()
522 TAILQ_INSERT_TAIL(&fcr->csessions, cse, next); in cse_create()
523 cse->ses = fcr->sesn++; in cse_create()
524 mtx_unlock(&fcr->lock); in cse_create()
539 cse_find(struct fcrypt *fcr, u_int ses) in cse_find() argument
543 mtx_lock(&fcr->lock); in cse_find()
544 TAILQ_FOREACH(cse, &fcr->csessions, next) { in cse_find()
547 mtx_unlock(&fcr->lock); in cse_find()
551 mtx_unlock(&fcr->lock); in cse_find()
571 cse_delete(struct fcrypt *fcr, u_int ses) in cse_delete() argument
575 mtx_lock(&fcr->lock); in cse_delete()
576 TAILQ_FOREACH(cse, &fcr->csessions, next) { in cse_delete()
578 TAILQ_REMOVE(&fcr->csessions, cse, next); in cse_delete()
579 mtx_unlock(&fcr->lock); in cse_delete()
584 mtx_unlock(&fcr->lock); in cse_delete()
1091 struct fcrypt *fcr = data; in fcrypt_dtor() local
1094 while ((cse = TAILQ_FIRST(&fcr->csessions))) { in fcrypt_dtor()
1095 TAILQ_REMOVE(&fcr->csessions, cse, next); in fcrypt_dtor()
1101 mtx_destroy(&fcr->lock); in fcrypt_dtor()
1102 free(fcr, M_CRYPTODEV); in fcrypt_dtor()
1108 struct fcrypt *fcr; in crypto_open() local
1111 fcr = malloc(sizeof(struct fcrypt), M_CRYPTODEV, M_WAITOK | M_ZERO); in crypto_open()
1112 TAILQ_INIT(&fcr->csessions); in crypto_open()
1113 mtx_init(&fcr->lock, "fcrypt", NULL, MTX_DEF); in crypto_open()
1114 error = devfs_set_cdevpriv(fcr, fcrypt_dtor); in crypto_open()
1116 fcrypt_dtor(fcr); in crypto_open()
1124 struct fcrypt *fcr; in crypto_ioctl() local
1177 devfs_get_cdevpriv((void **)&fcr); in crypto_ioctl()
1203 error = cse_create(fcr, sop); in crypto_ioctl()
1209 if (!cse_delete(fcr, ses)) { in crypto_ioctl()
1216 cse = cse_find(fcr, cop->ses); in crypto_ioctl()
1229 cse = cse_find(fcr, caead->ses); in crypto_ioctl()