OSSL_ITEM(3) | OpenSSL | OSSL_ITEM(3)

# NAME

OSSL_ITEM - OpenSSL Core type for generic itemized data

# SYNOPSIS

     #include <openssl/core.h>
     typedef struct ossl_item_st OSSL_ITEM;
     struct ossl_item_st {
         unsigned int id;
         void *ptr;
     };

# DESCRIPTION

This type is a tuple of integer and pointer. It's a generic type used as a generic descriptor, its exact meaning being defined by how it's used. Arrays of this type are passed between the OpenSSL libraries and the providers, and must be terminated with a tuple where the integer is zero and the pointer NULL.

This is currently mainly used for the return value of the provider's error reason strings array, see "Provider Functions" in provider-base(7).

# SEE ALSO

crypto(7), provider-base(7), openssl-core.h(7)

# HISTORY

OSSL_ITEM was added in OpenSSL 3.0

# COPYRIGHT

Copyright 2022 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

2026-06-09 | 3.5.7