Make the naming scheme for dispatched functions more consistent
[openssl.git] / doc / man7 / provider-asym_cipher.pod
index b442cd5a50b607fb9c38587fabf0028fc360126b..fa56391a04e53f8b520f8d4b77134b5e52d2ad84 100644 (file)
@@ -8,7 +8,7 @@ provider-asym_cipher - The asym_cipher library E<lt>-E<gt> provider functions
 
 =for openssl multiple includes
 
- #include <openssl/core_numbers.h>
+ #include <openssl/core_dispatch.h>
  #include <openssl/core_names.h>
 
  /*
@@ -18,27 +18,27 @@ provider-asym_cipher - The asym_cipher library E<lt>-E<gt> provider functions
   */
 
  /* Context management */
- void *OP_asym_cipher_newctx(void *provctx);
- void OP_asym_cipher_freectx(void *ctx);
- void *OP_asym_cipher_dupctx(void *ctx);
+ void *OSSL_FUNC_asym_cipher_newctx(void *provctx);
+ void OSSL_FUNC_asym_cipher_freectx(void *ctx);
+ void *OSSL_FUNC_asym_cipher_dupctx(void *ctx);
 
  /* Encryption */
- int OP_asym_cipher_encrypt_init(void *ctx, void *provkey);
- int OP_asym_cipher_encrypt(void *ctx, unsigned char *out, size_t *outlen,
-                            size_t outsize, const unsigned char *in,
-                            size_t inlen);
+ int OSSL_FUNC_asym_cipher_encrypt_init(void *ctx, void *provkey);
+ int OSSL_FUNC_asym_cipher_encrypt(void *ctx, unsigned char *out, size_t *outlen,
+                                   size_t outsize, const unsigned char *in,
+                                   size_t inlen);
 
  /* Decryption */
- int OP_asym_cipher_decrypt_init(void *ctx, void *provkey);
- int OP_asym_cipher_decrypt(void *ctx, unsigned char *out, size_t *outlen,
-                            size_t outsize, const unsigned char *in,
-                            size_t inlen);
+ int OSSL_FUNC_asym_cipher_decrypt_init(void *ctx, void *provkey);
+ int OSSL_FUNC_asym_cipher_decrypt(void *ctx, unsigned char *out, size_t *outlen,
+                                   size_t outsize, const unsigned char *in,
+                                   size_t inlen);
 
  /* Asymmetric Cipher parameters */
- int OP_asym_cipher_get_ctx_params(void *ctx, OSSL_PARAM params[]);
- const OSSL_PARAM *OP_asym_cipher_gettable_ctx_params(void);
- int OP_asym_cipher_set_ctx_params(void *ctx, const OSSL_PARAM params[]);
- const OSSL_PARAM *OP_asym_cipher_settable_ctx_params(void);
+ int OSSL_FUNC_asym_cipher_get_ctx_params(void *ctx, OSSL_PARAM params[]);
+ const OSSL_PARAM *OSSL_FUNC_asym_cipher_gettable_ctx_params(void);
+ int OSSL_FUNC_asym_cipher_set_ctx_params(void *ctx, const OSSL_PARAM params[]);
+ const OSSL_PARAM *OSSL_FUNC_asym_cipher_settable_ctx_params(void);
 
 =head1 DESCRIPTION
 
@@ -60,42 +60,42 @@ provider_query_operation() function
 All these "functions" have a corresponding function type definition
 named B<OSSL_{name}_fn>, and a helper function to retrieve the
 function pointer from an B<OSSL_DISPATCH> element named
-B<OSSL_get_{name}>.
-For example, the "function" OP_asym_cipher_newctx() has these:
+B<OSSL_FUNC_{name}>.
+For example, the "function" OSSL_FUNC_asym_cipher_newctx() has these:
 
- typedef void *(OSSL_OP_asym_cipher_newctx_fn)(void *provctx);
- static ossl_inline OSSL_OP_asym_cipher_newctx_fn
-     OSSL_get_OP_asym_cipher_newctx(const OSSL_DISPATCH *opf);
+ typedef void *(OSSL_FUNC_asym_cipher_newctx_fn)(void *provctx);
+ static ossl_inline OSSL_FUNC_asym_cipher_newctx_fn
+     OSSL_FUNC_asym_cipher_newctx(const OSSL_DISPATCH *opf);
 
 B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
-macros in L<openssl-core_numbers.h(7)>, as follows:
+macros in L<openssl-core_dispatch.h(7)>, as follows:
 
- OP_asym_cipher_newctx               OSSL_FUNC_ASYM_CIPHER_NEWCTX
- OP_asym_cipher_freectx              OSSL_FUNC_ASYM_CIPHER_FREECTX
- OP_asym_cipher_dupctx               OSSL_FUNC_ASYM_CIPHER_DUPCTX
+ OSSL_FUNC_asym_cipher_newctx               OSSL_FUNC_ASYM_CIPHER_NEWCTX
+ OSSL_FUNC_asym_cipher_freectx              OSSL_FUNC_ASYM_CIPHER_FREECTX
+ OSSL_FUNC_asym_cipher_dupctx               OSSL_FUNC_ASYM_CIPHER_DUPCTX
 
- OP_asym_cipher_encrypt_init         OSSL_FUNC_ASYM_CIPHER_ENCRYPT_INIT
- OP_asym_cipher_encrypt              OSSL_FUNC_ASYM_CIPHER_ENCRYPT
+ OSSL_FUNC_asym_cipher_encrypt_init         OSSL_FUNC_ASYM_CIPHER_ENCRYPT_INIT
+ OSSL_FUNC_asym_cipher_encrypt              OSSL_FUNC_ASYM_CIPHER_ENCRYPT
 
- OP_asym_cipher_decrypt_init         OSSL_FUNC_ASYM_CIPHER_DECRYPT_INIT
- OP_asym_cipher_decrypt              OSSL_FUNC_ASYM_CIPHER_DECRYPT
+ OSSL_FUNC_asym_cipher_decrypt_init         OSSL_FUNC_ASYM_CIPHER_DECRYPT_INIT
+ OSSL_FUNC_asym_cipher_decrypt              OSSL_FUNC_ASYM_CIPHER_DECRYPT
 
- OP_asym_cipher_get_ctx_params       OSSL_FUNC_ASYM_CIPHER_GET_CTX_PARAMS
- OP_asym_cipher_gettable_ctx_params  OSSL_FUNC_ASYM_CIPHER_GETTABLE_CTX_PARAMS
- OP_asym_cipher_set_ctx_params       OSSL_FUNC_ASYM_CIPHER_SET_CTX_PARAMS
- OP_asym_cipher_settable_ctx_params  OSSL_FUNC_ASYM_CIPHER_SETTABLE_CTX_PARAMS
+ OSSL_FUNC_asym_cipher_get_ctx_params       OSSL_FUNC_ASYM_CIPHER_GET_CTX_PARAMS
+ OSSL_FUNC_asym_cipher_gettable_ctx_params  OSSL_FUNC_ASYM_CIPHER_GETTABLE_CTX_PARAMS
+ OSSL_FUNC_asym_cipher_set_ctx_params       OSSL_FUNC_ASYM_CIPHER_SET_CTX_PARAMS
+ OSSL_FUNC_asym_cipher_settable_ctx_params  OSSL_FUNC_ASYM_CIPHER_SETTABLE_CTX_PARAMS
 
 An asymmetric cipher algorithm implementation may not implement all of these
 functions.
 In order to be a consistent set of functions a provider must implement
-OP_asym_cipher_newctx and OP_asym_cipher_freectx.
-It must also implement both of OP_asym_cipher_encrypt_init and
-OP_asym_cipher_encrypt, or both of OP_asym_cipher_decrypt_init and
-OP_asym_cipher_decrypt.
-OP_asym_cipher_get_ctx_params is optional but if it is present then so must
-OP_asym_cipher_gettable_ctx_params.
-Similarly, OP_asym_cipher_set_ctx_params is optional but if it is present then
-so must OP_asym_cipher_settable_ctx_params.
+OSSL_FUNC_asym_cipher_newctx and OSSL_FUNC_asym_cipher_freectx.
+It must also implement both of OSSL_FUNC_asym_cipher_encrypt_init and
+OSSL_FUNC_asym_cipher_encrypt, or both of OSSL_FUNC_asym_cipher_decrypt_init and
+OSSL_FUNC_asym_cipher_decrypt.
+OSSL_FUNC_asym_cipher_get_ctx_params is optional but if it is present then so must
+OSSL_FUNC_asym_cipher_gettable_ctx_params.
+Similarly, OSSL_FUNC_asym_cipher_set_ctx_params is optional but if it is present then
+so must OSSL_FUNC_asym_cipher_settable_ctx_params.
 
 An asymmetric cipher algorithm must also implement some mechanism for generating,
 loading or importing keys via the key management (OSSL_OP_KEYMGMT) operation.
@@ -103,30 +103,30 @@ See L<provider-keymgmt(7)> for further details.
 
 =head2 Context Management Functions
 
-OP_asym_cipher_newctx() should create and return a pointer to a provider side
+OSSL_FUNC_asym_cipher_newctx() should create and return a pointer to a provider side
 structure for holding context information during an asymmetric cipher operation.
 A pointer to this context will be passed back in a number of the other
 asymmetric cipher operation function calls.
 The parameter I<provctx> is the provider context generated during provider
 initialisation (see L<provider(7)>).
 
-OP_asym_cipher_freectx() is passed a pointer to the provider side asymmetric
+OSSL_FUNC_asym_cipher_freectx() is passed a pointer to the provider side asymmetric
 cipher context in the I<ctx> parameter.
 This function should free any resources associated with that context.
 
-OP_asym_cipher_dupctx() should duplicate the provider side asymmetric cipher
+OSSL_FUNC_asym_cipher_dupctx() should duplicate the provider side asymmetric cipher
 context in the I<ctx> parameter and return the duplicate copy.
 
 =head2 Encryption Functions
 
-OP_asym_cipher_encrypt_init() initialises a context for an asymmetric encryption
+OSSL_FUNC_asym_cipher_encrypt_init() initialises a context for an asymmetric encryption
 given a provider side asymmetric cipher context in the I<ctx> parameter, and a
 pointer to a provider key object in the I<provkey> parameter.
 The key object should have been previously generated, loaded or imported into
 the provider using the key management (OSSL_OP_KEYMGMT) operation (see
 provider-keymgmt(7)>.
 
-OP_asym_cipher_encrypt() performs the actual encryption itself.
+OSSL_FUNC_asym_cipher_encrypt() performs the actual encryption itself.
 A previously initialised asymmetric cipher context is passed in the I<ctx>
 parameter.
 The data to be encrypted is pointed to by the I<in> parameter which is I<inlen>
@@ -140,14 +140,14 @@ written to I<*outlen>.
 
 =head2 Decryption Functions
 
-OP_asym_cipher_decrypt_init() initialises a context for an asymmetric decryption
+OSSL_FUNC_asym_cipher_decrypt_init() initialises a context for an asymmetric decryption
 given a provider side asymmetric cipher context in the I<ctx> parameter, and a
 pointer to a provider key object in the I<provkey> parameter.
 The key object should have been previously generated, loaded or imported into
 the provider using the key management (OSSL_OP_KEYMGMT) operation (see
 provider-keymgmt(7)>.
 
-OP_asym_cipher_decrypt() performs the actual decryption itself.
+OSSL_FUNC_asym_cipher_decrypt() performs the actual decryption itself.
 A previously initialised asymmetric cipher context is passed in the I<ctx>
 parameter.
 The data to be decrypted is pointed to by the I<in> parameter which is I<inlen>
@@ -162,13 +162,13 @@ written to I<*outlen>.
 =head2 Asymmetric Cipher Parameters
 
 See L<OSSL_PARAM(3)> for further details on the parameters structure used by
-the OP_asym_cipher_get_ctx_params() and OP_asym_cipher_set_ctx_params()
+the OSSL_FUNC_asym_cipher_get_ctx_params() and OSSL_FUNC_asym_cipher_set_ctx_params()
 functions.
 
-OP_asym_cipher_get_ctx_params() gets asymmetric cipher parameters associated
+OSSL_FUNC_asym_cipher_get_ctx_params() gets asymmetric cipher parameters associated
 with the given provider side asymmetric cipher context I<ctx> and stores them in
 I<params>.
-OP_asym_cipher_set_ctx_params() sets the asymmetric cipher parameters associated
+OSSL_FUNC_asym_cipher_set_ctx_params() sets the asymmetric cipher parameters associated
 with the given provider side asymmetric cipher context I<ctx> to I<params>.
 Any parameter settings are additional to any that were previously set.
 
@@ -226,15 +226,15 @@ B<RSA_PKCS1_WITH_TLS_PADDING> on the page L<EVP_PKEY_CTX_set_rsa_padding(3)>.
 
 =back
 
-OP_asym_cipher_gettable_ctx_params() and OP_asym_cipher_settable_ctx_params()
+OSSL_FUNC_asym_cipher_gettable_ctx_params() and OSSL_FUNC_asym_cipher_settable_ctx_params()
 get a constant B<OSSL_PARAM> array that describes the gettable and settable
-parameters, i.e. parameters that can be used with OP_asym_cipherget_ctx_params()
-and OP_asym_cipher_set_ctx_params() respectively.
+parameters, i.e. parameters that can be used with OSSL_FUNC_asym_cipherget_ctx_params()
+and OSSL_FUNC_asym_cipher_set_ctx_params() respectively.
 See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as parameter descriptor.
 
 =head1 RETURN VALUES
 
-OP_asym_cipher_newctx() and OP_asym_cipher_dupctx() should return the newly
+OSSL_FUNC_asym_cipher_newctx() and OSSL_FUNC_asym_cipher_dupctx() should return the newly
 created provider side asymmetric cipher context, or NULL on failure.
 
 All other functions should return 1 for success or 0 on error.
@@ -249,7 +249,7 @@ The provider ASYM_CIPHER interface was introduced in OpenSSL 3.0.
 
 =head1 COPYRIGHT
 
-Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2019-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