mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-07 13:14:51 +00:00
opencrypto: Add a routine to copy a crypto buffer cursor
This was useful in converting armv8crypto to use buffer cursors. There are some cases where one wants to make two passes over data, and this provides a way to "reset" a cursor. Reviewed by: jhb MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D28949
This commit is contained in:
parent
6baea3312d
commit
09bfa5cf16
@ -30,7 +30,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 16, 2021
|
||||
.Dd Feburary 11, 2022
|
||||
.Dt CRYPTO_BUFFER 9
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -95,6 +95,11 @@
|
||||
.Fc
|
||||
.Ft void *
|
||||
.Fn crypto_cursor_segment "struct crypto_buffer_cursor *cc" "size_t *len"
|
||||
.Ft void
|
||||
.Fo crypto_cursor_copy
|
||||
.Fa "const struct crypto_buffer_cursor *fromc"
|
||||
.Fa "struct crypto_buffer_cursor *toc"
|
||||
.Fc
|
||||
.Ft bool
|
||||
.Fn CRYPTO_HAS_OUTPUT_BUFFER "struct cryptop *crp"
|
||||
.Sh DESCRIPTION
|
||||
@ -315,6 +320,12 @@ returns the length of a buffer in bytes.
|
||||
.Fn crypto_cursor_seglen
|
||||
returns the length in bytes of a contiguous segment.
|
||||
.Pp
|
||||
.Fn crypto_cursor_copy
|
||||
makes a deep copy of the cursor
|
||||
.Fa fromc .
|
||||
The two copies do not share any state and can thus be used
|
||||
independently.
|
||||
.Pp
|
||||
.Fn CRYPTO_HAS_OUTPUT_BUFFER
|
||||
returns true if the request uses a separate output buffer.
|
||||
.Sh SEE ALSO
|
||||
|
@ -685,6 +685,13 @@ void crypto_cursor_copydata(struct crypto_buffer_cursor *cc, int size,
|
||||
void crypto_cursor_copydata_noadv(struct crypto_buffer_cursor *cc, int size,
|
||||
void *vdst);
|
||||
|
||||
static __inline void
|
||||
crypto_cursor_copy(const struct crypto_buffer_cursor *fromc,
|
||||
struct crypto_buffer_cursor *toc)
|
||||
{
|
||||
memcpy(toc, fromc, sizeof(*toc));
|
||||
}
|
||||
|
||||
static __inline void
|
||||
crypto_read_iv(struct cryptop *crp, void *iv)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user