| 
									
										
										
										
											2017-07-27 01:18:50 +08:00
										 |  |  | =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); | 
					
						
							| 
									
										
										
										
											2020-05-15 03:32:59 +08:00
										 |  |  |  ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); | 
					
						
							| 
									
										
										
										
											2017-07-27 01:18:50 +08:00
										 |  |  |  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 | 
					
						
							| 
									
										
										
										
											2019-09-28 14:07:18 +08:00
										 |  |  | local ASN1 string table based on the I<nid> along with other parameters. | 
					
						
							| 
									
										
										
										
											2017-07-27 01:18:50 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | If the item is already in the table, fields of B<ASN1_STRING_TABLE> are | 
					
						
							| 
									
										
										
										
											2019-09-28 14:07:18 +08:00
										 |  |  | 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, | 
					
						
							| 
									
										
										
										
											2017-07-27 01:18:50 +08:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2019-09-28 14:07:18 +08:00
										 |  |  | on I<nid>. It will search the local table first, then the standard one. | 
					
						
							| 
									
										
										
										
											2017-07-27 01:18:50 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2019-09-28 14:07:18 +08:00
										 |  |  | or NULL if nothing is found. | 
					
						
							| 
									
										
										
										
											2017-07-27 01:18:50 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | ASN1_STRING_TABLE_cleanup() does not return a value. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 SEE ALSO | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | L<ERR_get_error(3)> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 COPYRIGHT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-04 21:33:57 +08:00
										 |  |  | Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. | 
					
						
							| 
									
										
										
										
											2017-07-27 01:18:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-06 21:04:44 +08:00
										 |  |  | Licensed under the Apache License 2.0 (the "License").  You may not use | 
					
						
							| 
									
										
										
										
											2017-07-27 01:18:50 +08:00
										 |  |  | 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 |