- NAME
- SYNOPSIS
- DESCRIPTION
  - Types
  - Functions
- RETURN VALUES
- SEE ALSO
- COPYRIGHT

# NAME

ASN1_STRING_TABLE, ASN1_STRING_TABLE_add, ASN1_STRING_TABLE_get, ASN1_STRING_TABLE_cleanup - ASN1_STRING_TABLE manipulation functions

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

# DESCRIPTION

## Types

ASN1_STRING_TABLE is a table which holds string information (basically minimum size, maximum size, type and etc) for a NID object.

## Functions

ASN1_STRING_TABLE_add() adds a new ASN1_STRING_TABLE item into the local ASN1 string table based on the nid along with other parameters.

If the item is already in the table, fields of ASN1_STRING_TABLE are updated (depending on the values of those parameters, e.g., minsize and maxsize >= 0, mask and flags != 0). If the nid is standard, a copy of the standard ASN1_STRING_TABLE is created and updated with other parameters.

ASN1_STRING_TABLE_get() searches for an ASN1_STRING_TABLE item based on nid. It will search the local table first, then the standard one.

ASN1_STRING_TABLE_cleanup() frees all ASN1_STRING_TABLE items added by ASN1_STRING_TABLE_add().

# RETURN VALUES

ASN1_STRING_TABLE_add() returns 1 on success, 0 if an error occurred.

ASN1_STRING_TABLE_get() returns a valid ASN1_STRING_TABLE structure or NULL if nothing is found.

ASN1_STRING_TABLE_cleanup() does not return a value.

# SEE ALSO

ERR_get_error(3)

# COPYRIGHT

Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the OpenSSL license (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.