mirror of https://github.com/openssl/openssl.git
				
				
				
			
		
			
	
	
		
			94 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			94 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								=pod
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								=head1 NAME
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX,
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_new,
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_get_encoder,
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_settable_ctx_params,
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_set_params,
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_free
							 | 
						||
| 
								 | 
							
								- Encoder context routines
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								=head1 SYNOPSIS
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 #include <openssl/encoder.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 typedef struct ossl_encoder_ctx_st OSSL_ENCODER_CTX;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 OSSL_ENCODER_CTX *OSSL_ENCODER_CTX_new(OSSL_ENCODER *encoder);
							 | 
						||
| 
								 | 
							
								 const OSSL_ENCODER *OSSL_ENCODER_CTX_get_encoder(OSSL_ENCODER_CTX *ctx);
							 | 
						||
| 
								 | 
							
								 const OSSL_PARAM *OSSL_ENCODER_settable_ctx_params(OSSL_ENCODER *encoder);
							 | 
						||
| 
								 | 
							
								 int OSSL_ENCODER_CTX_set_params(OSSL_ENCODER_CTX *ctx,
							 | 
						||
| 
								 | 
							
								                                 const OSSL_PARAM params[]);
							 | 
						||
| 
								 | 
							
								 void OSSL_ENCODER_CTX_free(OSSL_ENCODER_CTX *ctx);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								=head1 DESCRIPTION
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								B<OSSL_ENCODER_CTX> is a context with which B<OSSL_ENCODER>
							 | 
						||
| 
								 | 
							
								operations are performed.  The context typically holds values, both
							 | 
						||
| 
								 | 
							
								internal and supplied by the application, which are useful for the
							 | 
						||
| 
								 | 
							
								implementations supplied by providers.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_new() creates a B<OSSL_ENCODER_CTX> associated
							 | 
						||
| 
								 | 
							
								with the encoder I<encoder>.  NULL is a valid I<encoder>, the context will
							 | 
						||
| 
								 | 
							
								be created anyway, it's just not very useful.  This is intentional, to
							 | 
						||
| 
								 | 
							
								distinguish between errors in allocating the context or assigning it
							 | 
						||
| 
								 | 
							
								values on one hand, and the lack of encoder support on the other.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								=begin comment
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The above distinction makes it possible for other routines to sense if
							 | 
						||
| 
								 | 
							
								they need to report an error or fall back on other methods to
							 | 
						||
| 
								 | 
							
								encode.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								=end comment
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_get_encoder() gets the encoder method
							 | 
						||
| 
								 | 
							
								currently associated with the context I<ctx>.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
							 | 
						||
| 
								 | 
							
								array of parameter descriptors.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_set_params() attempts to set parameters specified
							 | 
						||
| 
								 | 
							
								with an L<OSSL_PARAM(3)> array I<params>.  Parameters that the
							 | 
						||
| 
								 | 
							
								implementation doesn't recognise should be ignored.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_free() frees the given context I<ctx>.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								=head1 RETURN VALUES
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_new() returns a pointer to a
							 | 
						||
| 
								 | 
							
								B<OSSL_ENCODER_CTX>, or NULL if the context structure couldn't be
							 | 
						||
| 
								 | 
							
								allocated.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_get_encoder() returns a pointer to the
							 | 
						||
| 
								 | 
							
								encoder method associated with I<ctx>.  NULL is a valid return
							 | 
						||
| 
								 | 
							
								value and signifies that there is no associated encoder method.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_settable_ctx_params() returns an L<OSSL_PARAM(3)>
							 | 
						||
| 
								 | 
							
								array, or NULL if none is available.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OSSL_ENCODER_CTX_set_params() returns 1 if all recognised
							 | 
						||
| 
								 | 
							
								parameters were valid, or 0 if one of them was invalid or caused some
							 | 
						||
| 
								 | 
							
								other failure in the implementation.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								=head1 SEE ALSO
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								L<provider(7)>, L<OSSL_ENCODER(3)>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								=head1 HISTORY
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The functions described here were added in OpenSSL 3.0.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								=head1 COPYRIGHT
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Copyright 2019 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
							 |