Skip to main content
  • Home
  • login
  • Browse the archive

    swh mirror partner logo
swh logo
SoftwareHeritage
Software
Heritage
Mirror
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • 2cd25d4
  • /
  • man3
  • /
  • OSSL_IETF_ATTR_SYNTAX.pod
Raw File
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge Iframe embedding
swh:1:cnt:f2a040e4767889cc5656cf39c6e291d38f095a06
directory badge Iframe embedding
swh:1:dir:e72ef10f5660b1676bea7a66f410ad096241641f
OSSL_IETF_ATTR_SYNTAX.pod
=pod

=head1 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

=head1 SYNOPSIS

 #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);

=head1 DESCRIPTION

B<OSSL_IETF_ATTR_SYNTAX> is an opaque structure that represents the
IetfAttrSyntax type defined in RFC 5755 (Section 4.4) for use
as an AttributeValue.

OSSL_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 B<OSSL_IETF_ATTR_SYNTAX> object also holds a sequence of values.
OSSL_IETF_ATTR_SYNTAX_get_value_num() returns the number of values in the
sequence.  OSSL_IETF_ATTR_SYNTAX_add1_value(), adds a copy of I<data> of a specified
I<type> to the sequence.  The caller should free the I<data> after use.

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

The I<type> of the values stored in the B<OSSL_IETF_ATTR_SYNTAX> value sequence is
one of the following:

=over 4

=item OSSL_IETFAS_OCTETS

A pointer to an ASN1_OCTET_STRING

=item OSSL_IETFAS_OID

A pointer to an ASN1_OBJECT

=item OSSL_IETFAS_STRING

A pointer to an ASN1_UTF8STRING

=back

=head1 RETURN VALUES

OSSL_IETF_ATTR_SYNTAX_get0_policyAuthority() returns an pointer to a
B<GENERAL_NAMES> structure or B<NULL> if the policy authority has not been
set.

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

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

OSSL_IETF_ATTR_SYNTAX_add1_value() returns 1 on success and 0 on failure.

=head1 HISTORY

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(), and
OSSL_IETF_ATTR_SYNTAX_add1_value() were added in OpenSSL 3.4.

=head1 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
L<https://www.openssl.org/source/license.html>.

=cut

ENEA — Copyright (C), ENEA. License: GNU AGPLv3+.
Legal notes  ::  JavaScript license information ::  Web API

back to top