xref: /freebsd/crypto/openssl/doc/man3/OSSL_ITEM.pod (revision 9f23cbd6cae82fd77edfad7173432fa8dccd0a95)
1=pod
2
3=head1 NAME
4
5OSSL_ITEM - OpenSSL Core type for generic itemized data
6
7=head1 SYNOPSIS
8
9 #include <openssl/core.h>
10
11 typedef struct ossl_item_st OSSL_ITEM;
12 struct ossl_item_st {
13     unsigned int id;
14     void *ptr;
15 };
16
17=head1 DESCRIPTION
18
19This type is a tuple of integer and pointer.
20It's a generic type used as a generic descriptor, its exact meaning
21being defined by how it's used.
22Arrays of this type are passed between the OpenSSL libraries and the
23providers, and must be terminated with a tuple where the integer is
24zero and the pointer NULL.
25
26This is currently mainly used for the return value of the provider's error
27reason strings array, see L<provider-base(7)/Provider Functions>.
28
29=begin comment RETURN VALUES doesn't make sense for a manual that only
30describes a type, but document checkers still want that section, and
31to have more than just the section title.
32
33=head1 RETURN VALUES
34
35txt
36
37=end comment
38
39=head1 SEE ALSO
40
41L<crypto(7)>, L<provider-base(7)>, L<openssl-core.h(7)>
42
43=head1 HISTORY
44
45B<OSSL_ITEM> was added in OpenSSL 3.0
46
47=head1 COPYRIGHT
48
49Copyright 2022 The OpenSSL Project Authors. All Rights Reserved.
50
51Licensed under the Apache License 2.0 (the "License").  You may not use
52this file except in compliance with the License.  You can obtain a copy
53in the file LICENSE in the source distribution or at
54L<https://www.openssl.org/source/license.html>.
55
56=cut
57