xref: /freebsd/secure/lib/libcrypto/man/man3/OSSL_IETF_ATTR_SYNTAX.3 (revision 4757b351ea9d59d71d4a38b82506d2d16fcd560d)
-*- mode: troff; coding: utf-8 -*-
Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45)

Standard preamble:
========================================================================
..
..
.. \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
. ds C` "" . ds C' "" 'br\} . ds C` . ds C' 'br\}
Escape single quotes in literal strings from groff's Unicode transform.

If the F register is >0, we'll generate index entries on stderr for
titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
entries marked with X<> in POD. Of course, you'll have to process the
output yourself in some meaningful fashion.

Avoid warning from groff about undefined register 'F'.
.. .nr rF 0 . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF ========================================================================

Title "OSSL_IETF_ATTR_SYNTAX 3ossl"
OSSL_IETF_ATTR_SYNTAX 3ossl 2025-07-01 3.5.1 OpenSSL
For nroff, turn off justification. Always turn off hyphenation; it makes
way too many mistakes in technical documents.
NAME
OSSL_IETF_ATTR_SYNTAX, OSSL_IETF_ATTR_SYNTAX_get0_policyAuthority, OSSL_IETF_ATTR_SYNTAX_set0_policyAuthority, OSSL_IETF_ATTR_SYNTAX_get_value_num, OSSL_IETF_ATTR_SYNTAX_get0_value, OSSL_IETF_ATTR_SYNTAX_add1_value \- Accessors and setters for OSSL_IETF_ATTR_SYNTAX
SYNOPSIS
Header "SYNOPSIS" .Vb 1 #include <openssl/x509_acert.h> \& typedef struct OSSL_IETF_ATTR_SYNTAX_st OSSL_IETF_ATTR_SYNTAX; \& const GENERAL_NAMES * OSSL_IETF_ATTR_SYNTAX_get0_policyAuthority(const OSSL_IETF_ATTR_SYNTAX *a); void OSSL_IETF_ATTR_SYNTAX_set0_policyAuthority(OSSL_IETF_ATTR_SYNTAX *a, GENERAL_NAMES *names); \& int OSSL_IETF_ATTR_SYNTAX_get_value_num(const OSSL_IETF_ATTR_SYNTAX *a); void *OSSL_IETF_ATTR_SYNTAX_get0_value(const OSSL_IETF_ATTR_SYNTAX *a, int ind, int *type); int OSSL_IETF_ATTR_SYNTAX_add1_value(OSSL_IETF_ATTR_SYNTAX *a, int type, void *data); .Ve
DESCRIPTION
Header "DESCRIPTION" \fBOSSL_IETF_ATTR_SYNTAX is an opaque structure that represents the IetfAttrSyntax type defined in RFC 5755 (Section 4.4) for use as an AttributeValue.

\fBOSSL_IETF_ATTR_SYNTAX_get0_policyAuthority() and OSSL_IETF_ATTR_SYNTAX_set0_policyAuthority() get and set the policyAuthority field of the structure. Both routines act on internal pointers of the structure and must not be freed by the application.

An OSSL_IETF_ATTR_SYNTAX object also holds a sequence of values. \fBOSSL_IETF_ATTR_SYNTAX_get_value_num() returns the number of values in the sequence. OSSL_IETF_ATTR_SYNTAX_add1_value(), adds a copy of data of a specified \fItype to the sequence. The caller should free the data after use.

\fBOSSL_IETF_ATTR_SYNTAX_get0_value() will return the value and a specific index ind in the sequence or NULL on error. If type is not NULL, the type of the value will be written to this location.

The type of the values stored in the OSSL_IETF_ATTR_SYNTAX value sequence is one of the following:

OSSL_IETFAS_OCTETS 4
Item "OSSL_IETFAS_OCTETS" A pointer to an ASN1_OCTET_STRING
OSSL_IETFAS_OID 4
Item "OSSL_IETFAS_OID" A pointer to an ASN1_OBJECT
OSSL_IETFAS_STRING 4
Item "OSSL_IETFAS_STRING" A pointer to an ASN1_UTF8STRING
"RETURN VALUES"
Header "RETURN VALUES" \fBOSSL_IETF_ATTR_SYNTAX_get0_policyAuthority() returns an pointer to a \fBGENERAL_NAMES structure or NULL if the policy authority has not been set.

\fBOSSL_IETF_ATTR_SYNTAX_get_value_num() returns the number of entries in the value sequence or -1 on error.

\fBOSSL_IETF_ATTR_SYNTAX_get0_value() returns a pointer to the value at the given index or NULL if the index is out of range.

\fBOSSL_IETF_ATTR_SYNTAX_add1_value() returns 1 on success and 0 on failure.

HISTORY
Header "HISTORY" \fBOSSL_IETF_ATTR_SYNTAX_get0_policyAuthority(), OSSL_IETF_ATTR_SYNTAX_set0_policyAuthority(), \fBOSSL_IETF_ATTR_SYNTAX_get_value_num(), OSSL_IETF_ATTR_SYNTAX_get0_value(), and \fBOSSL_IETF_ATTR_SYNTAX_add1_value() were added in OpenSSL 3.4.
COPYRIGHT
Header "COPYRIGHT" Copyright 2021-2024 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>.