| =pod |
| |
| =head1 NAME |
| |
| ASN1_STRING_TABLE, ASN1_STRING_TABLE_add, ASN1_STRING_TABLE_get, |
| ASN1_STRING_TABLE_cleanup - ASN1_STRING_TABLE manipulation functions |
| |
| =head1 SYNOPSIS |
| |
| #include <openssl/asn1.h> |
| |
| typedef struct asn1_string_table_st ASN1_STRING_TABLE; |
| |
| int ASN1_STRING_TABLE_add(int nid, long minsize, long maxsize, |
| unsigned long mask, unsigned long flags); |
| ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); |
| void ASN1_STRING_TABLE_cleanup(void); |
| |
| =head1 DESCRIPTION |
| |
| =head2 Types |
| |
| B<ASN1_STRING_TABLE> is a table which holds string information |
| (basically minimum size, maximum size, type and etc) for a NID object. |
| |
| =head2 Functions |
| |
| ASN1_STRING_TABLE_add() adds a new B<ASN1_STRING_TABLE> item into the |
| local ASN1 string table based on the I<nid> along with other parameters. |
| |
| If the item is already in the table, fields of B<ASN1_STRING_TABLE> are |
| updated (depending on the values of those parameters, e.g., I<minsize> |
| and I<maxsize> >= 0, I<mask> and I<flags> != 0). If the I<nid> is standard, |
| a copy of the standard B<ASN1_STRING_TABLE> is created and updated with |
| other parameters. |
| |
| ASN1_STRING_TABLE_get() searches for an B<ASN1_STRING_TABLE> item based |
| on I<nid>. It will search the local table first, then the standard one. |
| |
| ASN1_STRING_TABLE_cleanup() frees all B<ASN1_STRING_TABLE> items added |
| by ASN1_STRING_TABLE_add(). |
| |
| =head1 RETURN VALUES |
| |
| ASN1_STRING_TABLE_add() returns 1 on success, 0 if an error occurred. |
| |
| ASN1_STRING_TABLE_get() returns a valid B<ASN1_STRING_TABLE> structure |
| or NULL if nothing is found. |
| |
| ASN1_STRING_TABLE_cleanup() does not return a value. |
| |
| =head1 SEE ALSO |
| |
| L<ERR_get_error(3)> |
| |
| =head1 COPYRIGHT |
| |
| Copyright 2017-2020 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 |