1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
.\" $NetBSD: OSSL_IETF_ATTR_SYNTAX.3,v 1.5 2026/04/08 17:06:45 christos Exp $
.\"
.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" 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'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\"
.\" Required to disable full justification in groff 1.23.0.
.if n .ds AD l
.\" ========================================================================
.\"
.IX Title "OSSL_IETF_ATTR_SYNTAX 3"
.TH OSSL_IETF_ATTR_SYNTAX 3 2026-04-07 3.5.6 OpenSSL
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH 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
.SH SYNOPSIS
.IX 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
.SH DESCRIPTION
.IX Header "DESCRIPTION"
\&\fBOSSL_IETF_ATTR_SYNTAX\fR is an opaque structure that represents the
IetfAttrSyntax type defined in RFC 5755 (Section 4.4) for use
as an AttributeValue.
.PP
\&\fBOSSL_IETF_ATTR_SYNTAX_get0_policyAuthority()\fR and \fBOSSL_IETF_ATTR_SYNTAX_set0_policyAuthority()\fR
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.
.PP
An \fBOSSL_IETF_ATTR_SYNTAX\fR object also holds a sequence of values.
\&\fBOSSL_IETF_ATTR_SYNTAX_get_value_num()\fR returns the number of values in the
sequence. \fBOSSL_IETF_ATTR_SYNTAX_add1_value()\fR, adds a copy of \fIdata\fR of a specified
\&\fItype\fR to the sequence. The caller should free the \fIdata\fR after use.
.PP
\&\fBOSSL_IETF_ATTR_SYNTAX_get0_value()\fR will return the value and a specific index \fIind\fR
in the sequence or NULL on error. If \fItype\fR is not NULL, the type of the
value will be written to this location.
.PP
The \fItype\fR of the values stored in the \fBOSSL_IETF_ATTR_SYNTAX\fR value sequence is
one of the following:
.IP OSSL_IETFAS_OCTETS 4
.IX Item "OSSL_IETFAS_OCTETS"
A pointer to an ASN1_OCTET_STRING
.IP OSSL_IETFAS_OID 4
.IX Item "OSSL_IETFAS_OID"
A pointer to an ASN1_OBJECT
.IP OSSL_IETFAS_STRING 4
.IX Item "OSSL_IETFAS_STRING"
A pointer to an ASN1_UTF8STRING
.SH "RETURN VALUES"
.IX Header "RETURN VALUES"
\&\fBOSSL_IETF_ATTR_SYNTAX_get0_policyAuthority()\fR returns an pointer to a
\&\fBGENERAL_NAMES\fR structure or \fBNULL\fR if the policy authority has not been
set.
.PP
\&\fBOSSL_IETF_ATTR_SYNTAX_get_value_num()\fR returns the number of entries in the value
sequence or \-1 on error.
.PP
\&\fBOSSL_IETF_ATTR_SYNTAX_get0_value()\fR returns a pointer to the value at the given index
or NULL if the index is out of range.
.PP
\&\fBOSSL_IETF_ATTR_SYNTAX_add1_value()\fR returns 1 on success and 0 on failure.
.SH HISTORY
.IX Header "HISTORY"
\&\fBOSSL_IETF_ATTR_SYNTAX_get0_policyAuthority()\fR, \fBOSSL_IETF_ATTR_SYNTAX_set0_policyAuthority()\fR,
\&\fBOSSL_IETF_ATTR_SYNTAX_get_value_num()\fR, \fBOSSL_IETF_ATTR_SYNTAX_get0_value()\fR, and
\&\fBOSSL_IETF_ATTR_SYNTAX_add1_value()\fR were added in OpenSSL 3.4.
.SH COPYRIGHT
.IX Header "COPYRIGHT"
Copyright 2021\-2024 The OpenSSL Project Authors. All Rights Reserved.
.PP
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>.
|