Lines Matching refs:fcr
381 struct fcrypt *fcr = fp->f_data;
582 cse = csecreate(fcr, sid, crie.cri_key, crie.cri_klen,
621 error = csedelete(fcr, ses);
634 cse = csefind(fcr, cop->ses);
701 cse = csefind(fcr, caead->ses);
1320 struct fcrypt *fcr = fp->f_data;
1323 while ((cse = TAILQ_FIRST(&fcr->csessions))) {
1324 TAILQ_REMOVE(&fcr->csessions, cse, next);
1330 free(fcr, M_XDATA);
1344 csefind(struct fcrypt *fcr, u_int ses)
1348 mtx_lock(&fcr->lock);
1349 TAILQ_FOREACH(cse, &fcr->csessions, next) {
1352 mtx_unlock(&fcr->lock);
1356 mtx_unlock(&fcr->lock);
1361 csedelete(struct fcrypt *fcr, u_int ses)
1365 mtx_lock(&fcr->lock);
1366 TAILQ_FOREACH(cse, &fcr->csessions, next) {
1368 TAILQ_REMOVE(&fcr->csessions, cse, next);
1369 mtx_unlock(&fcr->lock);
1373 mtx_unlock(&fcr->lock);
1378 csecreate(struct fcrypt *fcr, u_int64_t sid, caddr_t key, u_int64_t keylen,
1398 mtx_lock(&fcr->lock);
1399 TAILQ_INSERT_TAIL(&fcr->csessions, cse, next);
1400 cse->ses = fcr->sesn++;
1401 mtx_unlock(&fcr->lock);
1444 struct fcrypt *fcr;
1449 fcr = malloc(sizeof(struct fcrypt), M_XDATA, M_WAITOK | M_ZERO);
1450 TAILQ_INIT(&fcr->csessions);
1451 mtx_init(&fcr->lock, "fcrypt", NULL, MTX_DEF);
1456 mtx_destroy(&fcr->lock);
1457 free(fcr, M_XDATA);
1461 finit(f, FREAD | FWRITE, DTYPE_CRYPTO, fcr, &cryptofops);