Commit 0d3020ca authored by Rich Salz's avatar Rich Salz
Browse files

Doc nits: callback function typedefs



Enhance find-doc-nits to be better about finding typedefs for
callback functions.  Fix all nits it now finds.  Added some new
typedef names to ssl.h some of which were documented but did not
exist

Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2151)
(cherry picked from commit 121677b4)
parent 75f12d7c
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -5,7 +5,8 @@
BIO_ctrl, BIO_callback_ctrl, BIO_ptr_ctrl, BIO_int_ctrl, BIO_reset,
BIO_seek, BIO_tell, BIO_flush, BIO_eof, BIO_set_close, BIO_get_close,
BIO_pending, BIO_wpending, BIO_ctrl_pending, BIO_ctrl_wpending,
BIO_get_info_callback, BIO_set_info_callback - BIO control operations
BIO_get_info_callback, BIO_set_info_callback, bio_info_cb
- BIO control operations

=head1 SYNOPSIS

@@ -94,7 +95,7 @@ return the amount of pending data.
=head1 NOTES

BIO_flush(), because it can write data may return 0 or -1 indicating
that the call should be retried later in a similar manner to BIO_write().
that the call should be retried later in a similar manner to BIO_write_ex().
The BIO_should_retry() call should be used and appropriate action taken
is the call fails.

+115 −25
Original line number Diff line number Diff line
@@ -2,17 +2,24 @@

=head1 NAME

BIO_set_callback, BIO_get_callback, BIO_set_callback_arg, BIO_get_callback_arg,
BIO_debug_callback - BIO callback functions
BIO_set_callback_ex, BIO_get_callback_ex, BIO_set_callback, BIO_get_callback,
BIO_set_callback_arg, BIO_get_callback_arg, BIO_debug_callback,
BIO_callback_fn_ex, BIO_callback_fn
- BIO callback functions

=head1 SYNOPSIS

 #include <openssl/bio.h>


 typedef long (*BIO_callback_fn_ex)(BIO *b, int oper, const char *argp,
                                    size_t len, int argi,
                                    long argl, int ret, size_t *processed);
 typedef long (*BIO_callback_fn)(BIO *b, int oper, const char *argp, int argi,
                                 long argl, long ret);

 void BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex callback);
 BIO_callback_fn_ex BIO_get_callback_ex(const BIO *b);

 void BIO_set_callback(BIO *b, BIO_callack_fn cb);
 BIO_callack_fn BIO_get_callback(BIO *b);
 void BIO_set_callback_arg(BIO *b, char *arg);
@@ -23,10 +30,15 @@ BIO_debug_callback - BIO callback functions

=head1 DESCRIPTION

BIO_set_callback() and BIO_get_callback() set and retrieve the BIO callback,
they are both macros. The callback is called during most high level BIO
operations. It can be used for debugging purposes to trace operations on
a BIO or to modify its operation.
BIO_set_callback_ex() and BIO_get_callback_ex() set and retrieve the BIO
callback. The callback is called during most high level BIO operations. It can
be used for debugging purposes to trace operations on a BIO or to modify its
operation.

BIO_set_callback() and BIO_get_callback() set and retrieve the old format BIO
callback. New code should not use these functions, but they are retained for
backwards compatbility. Any callback set via BIO_set_callback_ex() will get
called in preference to any set by BIO_set_callback().

BIO_set_callback_arg() and BIO_get_callback_arg() are macros which can be
used to set and retrieve an argument for use in the callback.
@@ -36,8 +48,9 @@ out information relating to each BIO operation. If the callback
argument is set it is interpreted as a BIO to send the information
to, otherwise stderr is used.

BIO_callback_fn() is the type of the callback function. The meaning of each
argument is described below:
BIO_callback_fn_ex() is the type of the callback function and BIO_callback_fn()
is the type of the old format callback function. The meaning of each argument
is described below:

=over

@@ -51,11 +64,22 @@ B<oper> is set to the operation being performed. For some operations
the callback is called twice, once before and once after the actual
operation, the latter case has B<oper> or'ed with BIO_CB_RETURN.

=item B<len>

The length of the data requested to be read or written. This is only useful if
B<oper> is BIO_CB_READ, BIO_CB_WRITE or BIO_CB_GETS.

=item B<argp> B<argi> B<argl>

The meaning of the arguments B<argp>, B<argi> and B<argl> depends on
the value of B<oper>, that is the operation being performed.

=item B<processed>

B<processed> is a pointer to a location which will be updated with the amount of
data that was actually read or written. Only used for BIO_CB_READ, BIO_CB_WRITE,
BIO_CB_GETS and BIO_CB_PUTS.

=item B<ret>

B<ret> is the return value that would be returned to the
@@ -80,37 +104,103 @@ function that is called.

=item B<BIO_free(b)>

callback(b, BIO_CB_FREE, NULL, 0L, 0L, 1L) is called before the
free operation.
 callback_ex(b, BIO_CB_FREE, NULL, 0, 0, 0L, 1L, NULL)

or

 callback(b, BIO_CB_FREE, NULL, 0L, 0L, 1L)

is called before the free operation.

=item B<BIO_read_ex(b, data, dlen, readbytes)>

 callback_ex(b, BIO_CB_READ, data, dlen, 0, 0L, 1L, readbytes)

=item B<BIO_read(b, out, outl)>
or

 callback(b, BIO_CB_READ, data, dlen, 0L, 1L)

is called before the read and

 callback_ex(b, BIO_CB_READ | BIO_CB_RETURN, data, dlen, 0, 0L, retvalue, readbytes)

or

 callback(b, BIO_CB_READ|BIO_CB_RETURN, data, dlen, 0L, retvalue)

callback(b, BIO_CB_READ, out, outl, 0L, 1L) is called before
the read and callback(b, BIO_CB_READ|BIO_CB_RETURN, out, outl, 0L, retvalue)
after.

=item B<BIO_write(b, in, inl)>
=item B<BIO_write(b, data, dlen, written)>

 callback_ex(b, BIO_CB_WRITE, data, dlen, 0, 0L, 1L, written)

or

 callback(b, BIO_CB_WRITE, datat, dlen, 0L, 1L)

is called before the write and

 callback_ex(b, BIO_CB_WRITE | BIO_CB_RETURN, data, dlen, 0, 0L, retvalue, written)

or

 callback(b, BIO_CB_WRITE|BIO_CB_RETURN, data, dlen, 0L, retvalue)

callback(b, BIO_CB_WRITE, in, inl, 0L, 1L) is called before
the write and callback(b, BIO_CB_WRITE|BIO_CB_RETURN, in, inl, 0L, retvalue)
after.

=item B<BIO_gets(b, out, outl)>
=item B<BIO_gets(b, buf, size)>

 callback_ex(b, BIO_CB_GETS, buf, size, 0, 0L, 1, NULL, NULL)

or

 callback(b, BIO_CB_GETS, buf, size, 0L, 1L)

is called before the operation and

 callback_ex(b, BIO_CB_GETS | BIO_CB_RETURN, buf, size, 0, 0L, retvalue, readbytes)

or

 callback(b, BIO_CB_GETS|BIO_CB_RETURN, buf, size, 0L, retvalue)

callback(b, BIO_CB_GETS, out, outl, 0L, 1L) is called before
the operation and callback(b, BIO_CB_GETS|BIO_CB_RETURN, out, outl, 0L, retvalue)
after.

=item B<BIO_puts(b, in)>
=item B<BIO_puts(b, buf)>

 callback_ex(b, BIO_CB_PUTS, buf, 0, 0, 0L, 1L, NULL);

or

 callback(b, BIO_CB_PUTS, buf, 0, 0L, 1L)

is called before the operation and

 callback_ex(b, BIO_CB_PUTS | BIO_CB_RETURN, buf, 0, 0, 0L, retvalue, written)

or

 callback(b, BIO_CB_WRITE|BIO_CB_RETURN, buf, 0, 0L, retvalue)

callback(b, BIO_CB_WRITE, in, 0, 0L, 1L) is called before
the operation and callback(b, BIO_CB_WRITE|BIO_CB_RETURN, in, 0, 0L, retvalue)
after.

=item B<BIO_ctrl(BIO *b, int cmd, long larg, void *parg)>

callback(b, BIO_CB_CTRL, parg, cmd, larg, 1L) is called before the call and
callback(b, BIO_CB_CTRL|BIO_CB_RETURN, parg, cmd, larg, ret) after.
 callback_ex(b, BIO_CB_CTRL, parg, 0, cmd, larg, 1L, NULL)

or

 callback(b, BIO_CB_CTRL, parg, cmd, larg, 1L)

is called before the call and

 callback_ex(b, BIO_CB_CTRL | BIO_CB_RETURN, parg, 0, cmd, larg, ret, NULL)

or

 callback(b, BIO_CB_CTRL|BIO_CB_RETURN, parg, cmd, larg, ret)

after.

=back

+4 −2
Original line number Diff line number Diff line
@@ -5,7 +5,9 @@
EVP_PKEY_keygen_init, EVP_PKEY_keygen, EVP_PKEY_paramgen_init,
EVP_PKEY_paramgen, EVP_PKEY_CTX_set_cb, EVP_PKEY_CTX_get_cb,
EVP_PKEY_CTX_get_keygen_info, EVP_PKEY_CTX_set_app_data,
EVP_PKEY_CTX_get_app_data - key and parameter generation functions
EVP_PKEY_CTX_get_app_data,
EVP_PKEY_gen_cb
- key and parameter generation functions

=head1 SYNOPSIS

@@ -16,7 +18,7 @@ EVP_PKEY_CTX_get_app_data - key and parameter generation functions
 int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx);
 int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);

 typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx);
 typedef int (*EVP_PKEY_gen_cb)(EVP_PKEY_CTX *ctx);

 void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb);
 EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx);
+3 −17
Original line number Diff line number Diff line
@@ -11,8 +11,8 @@ X509_STORE_CTX_get0_untrusted, X509_STORE_CTX_set0_untrusted,
X509_STORE_CTX_get_num_untrusted,
X509_STORE_CTX_set_default,
X509_STORE_CTX_set_verify,
X509_STORE_set_verify,
X509_STORE_CTX_get_verify - X509_STORE_CTX initialisation
X509_STORE_CTX_verify_fn
- X509_STORE_CTX initialisation

=head1 SYNOPSIS

@@ -42,11 +42,8 @@ X509_STORE_CTX_get_verify - X509_STORE_CTX initialisation
 int X509_STORE_CTX_get_num_untrusted(X509_STORE_CTX *ctx);

 typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *);
 X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx);
 void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, X509_STORE_CTX_verify_fn verify);

 void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify verify);

=head1 DESCRIPTION

These functions initialise an B<X509_STORE_CTX> structure for subsequent use
@@ -113,12 +110,7 @@ that were used in building the chain following a call to X509_verify_cert().

X509_STORE_CTX_set_verify() provides the capability for overriding the default
verify function. This function is responsible for verifying chain signatures and
expiration times. X509_STORE_CTX_get_verify() obtains the current verify
function being used.

X509_STORE_set_verify() works in the same way as for X509_STORE_CTX_set_verify()
but sets the default verify function to be used by all X509_STORE_CTX objects
created for this X509_STORE.
expiration times.

A verify function is defined as an X509_STORE_CTX_verify type which has the
following signature:
@@ -160,9 +152,6 @@ X509_STORE_CTX_set_default() returns 1 for success or 0 if an error occurred.
X509_STORE_CTX_get_num_untrusted() returns the number of untrusted certificates
used.

X509_STORE_CTX_get_verify() returns the current verify function in use for this
X509_STORE_CTX.

=head1 SEE ALSO

L<X509_verify_cert(3)>
@@ -172,9 +161,6 @@ L<X509_VERIFY_PARAM_set_flags(3)>

X509_STORE_CTX_set0_crls() was first added to OpenSSL 1.0.0
X509_STORE_CTX_get_num_untrusted() was first added to OpenSSL 1.1.0
X509_STORE_set_verify() was first added to OpenSSL 1.1.0. It was previously
available as a macro X509_STORE_set_verify_func(). This macro still exists but
simply calls this function.

=head1 COPYRIGHT

+5 −5
Original line number Diff line number Diff line
@@ -12,9 +12,10 @@ X509_STORE_CTX_get_get_crl,
X509_STORE_CTX_get_check_revocation,
X509_STORE_CTX_get_check_issued,
X509_STORE_CTX_get_get_issuer,
X509_STORE_CTX_get_verify,
X509_STORE_CTX_get_verify_cb,
X509_STORE_CTX_set_verify_cb - get and set verification callback
X509_STORE_CTX_set_verify_cb,
X509_STORE_CTX_verify_cb
- get and set verification callback

=head1 SYNOPSIS

@@ -27,7 +28,6 @@ X509_STORE_CTX_set_verify_cb - get and set verification callback
 void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx,
                                   X509_STORE_CTX_verify_cb verify_cb);

 X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx);
 X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(X509_STORE_CTX *ctx);
 X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(X509_STORE_CTX *ctx);
 X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(X509_STORE_CTX *ctx);
@@ -66,7 +66,7 @@ be passed to the callback via the B<ex_data> mechanism.
X509_STORE_CTX_get_verify_cb() returns the value of the current callback
for the specific B<ctx>.

X509_STORE_CTX_get_verify(), X509_STORE_CTX_get_get_issuer(),
X509_STORE_CTX_get_get_issuer(),
X509_STORE_CTX_get_check_issued(), X509_STORE_CTX_get_check_revocation(),
X509_STORE_CTX_get_get_crl(), X509_STORE_CTX_get_check_crl(),
X509_STORE_CTX_get_cert_crl(), X509_STORE_CTX_get_check_policy(),
@@ -196,7 +196,7 @@ L<X509_STORE_CTX_get_ex_new_index(3)>

=head1 HISTORY

X509_STORE_CTX_get_verify(), X509_STORE_CTX_get_get_issuer(),
X509_STORE_CTX_get_get_issuer(),
X509_STORE_CTX_get_check_issued(), X509_STORE_CTX_get_check_revocation(),
X509_STORE_CTX_get_get_crl(), X509_STORE_CTX_get_check_crl(),
X509_STORE_CTX_get_cert_crl(), X509_STORE_CTX_get_check_policy(),
Loading