MCPcopy Create free account
hub / github.com/F-Stack/f-stack / crypto_cursor_segbase

Function crypto_cursor_segbase

freebsd/opencrypto/criov.c:339–362  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

337}
338
339void *
340crypto_cursor_segbase(struct crypto_buffer_cursor *cc)
341{
342 switch (cc->cc_type) {
343 case CRYPTO_BUF_CONTIG:
344 return (cc->cc_buf);
345 case CRYPTO_BUF_MBUF:
346 if (cc->cc_mbuf == NULL)
347 return (NULL);
348 KASSERT((cc->cc_mbuf->m_flags & M_EXTPG) == 0,
349 ("%s: not supported for unmapped mbufs", __func__));
350 return (mtod(cc->cc_mbuf, char *) + cc->cc_offset);
351 case CRYPTO_BUF_VMPAGE:
352 return ((char *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(
353 *cc->cc_vmpage)) + cc->cc_offset);
354 case CRYPTO_BUF_UIO:
355 return ((char *)cc->cc_iov->iov_base + cc->cc_offset);
356 default:
357#ifdef INVARIANTS
358 panic("%s: invalid buffer type %d", __func__, cc->cc_type);
359#endif
360 return (NULL);
361 }
362}
363
364size_t
365crypto_cursor_seglen(struct crypto_buffer_cursor *cc)

Callers 4

swcr_encdecFunction · 0.85
swcr_gmacFunction · 0.85
swcr_gcmFunction · 0.85
swcr_ccmFunction · 0.85

Calls 1

panicFunction · 0.50

Tested by

no test coverage detected