Skip to content

Commit

Permalink
fixes #293 nng_listener_getopt doc needs updating
Browse files Browse the repository at this point in the history
Actually I updated all the option related documents, and fixed minor
markup issues on several others.
  • Loading branch information
gdamore committed Mar 18, 2018
1 parent 8b97945 commit 8da1ec9
Show file tree
Hide file tree
Showing 10 changed files with 248 additions and 180 deletions.
4 changes: 2 additions & 2 deletions docs/man/nng_close.3.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ nng_close - close socket
== SYNOPSIS

[source, c]
-----------
----
#include <nng/nng.h>
int nng_close(nng_socket s);
-----------
----

== DESCRIPTION

Expand Down
68 changes: 39 additions & 29 deletions docs/man/nng_dialer_getopt.3.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ nng_dialer_getopt - get dialer option
int nng_dialer_getopt(nng_dialer d, const char *opt, void *val, size_t *valszp);
int nng_dialer_getopt_bool(nng_dialer d, const char *opt, bool *bvalp);
int nng_dialer_getopt_int(nng_dialer d, const char *opt, int *ivalp);
int nng_dialer_getopt_ms(nng_dialer d, const char *opt, nng_duration *durp);
Expand All @@ -34,22 +36,31 @@ int nng_dialer_getopt_uint64(nng_dialer d, const char *opt, uint64_t *u64p);

== DESCRIPTION

(((options, dialer)))
The `nng_dialer_getopt()` functions are used to retrieve option values for
the dialer _d_.
the <<nng_dialer.5#,dialer>> _d_.
The actual options that may be retrieved in this way
vary, and many are documented in <<nng_options.5#,nng_options(5)>>.
Additionally some transport-specific options are documented with the
transports themselves.

Additionally some transport-specific options and protocol-specific options
are documented with the transports and protocols themselves.

=== Forms

In all of these forms, the option _opt_ is retrieved from the dialer _d_.
The forms vary based on the type of the option they take.

TIP: Generally, it will be easier to use one of the typed versions of this
function.

NOTE: No validation that the option is actually of the associated type is
performed, so the caller must take care to use the *correct* typed form.

The details of the type, size, and semantics of the option will depend
on the actual option, and will be documented with the option itself.

=== Untyped Form

The first form of this function, `nng_dialer_getopt()`, can be used to
retrieve the value of any option.
==== `nng_dialer_getopt()`
This function is untyped and can be used to retrieve the value of any option.
The caller must store a pointer to a buffer to receive the value in _val_,
and the size of the buffer shall be stored at the location referenced
by _valszp_.
Expand All @@ -66,41 +77,39 @@ It is acceptable to pass `NULL` for _val_ if the value in _valszp_ is zero.
This can be used to determine the size of the buffer needed to receive
the object.

=== Typed Forms

Generally, it will be easier to use one of the typed forms instead.
Note however that no validation that the option is actually of the associated
type is performed, so the caller must take care to use the *correct* typed
form.
==== `nng_dialer_getopt_bool()`
This function is for options which take a boolean (`bool`).
The value will be stored at _ivalp_.

The second form, `nng_dialer_getopt_int()`,
is for options which take an integer (or boolean).
==== `nng_dialer_getopt_int()`
This function is for options which take an integer (`int`).
The value will be stored at _ivalp_.
For booleans the value will be eiher 0 (false) or 1 (true).

The third form, `nng_dialer_getopt_ms()`, is used to retrieve time durations
==== `nng_dialer_getopt_ms()`
This function is used to retrieve time <<nng_duration.5#,durations>>
(such as timeouts), stored in _durp_ as a number of milliseconds.
(The special value `NNG_DUR_INFINITE` means an infinite amount of time, and
the special value `NNG_DUR_DEFAULT` means a context-specific default.)
(The special value ((`NNG_DUR_INFINITE`)) means an infinite amount of time, and
the special value ((`NNG_DUR_DEFAULT`)) means a context-specific default.)

The fourth form, `nng_dialer_getopt_ptr()`, is used to retrieve a
pointer _ptr_ to structured data.
==== `nng_dialer_getopt_ptr()`
This function is used to retrieve a pointer, _ptr_, to structured data.
The data referenced by _ptr_ is generally managed using other functions.
Note that this form is somewhat special in that the object is generally
not copied, but instead the *pointer* to the object is copied.

The fifth form, `nng_dialer_getopt_size()`, is used to retrieve a size
into the pointer _zp_, typically for buffer sizes, message maximum sizes, and
similar options.
==== `nng_dialer_getopt_size()`
This function is used to retrieve a size into the pointer _zp_,
typically for buffer sizes, message maximum sizes, and similar options.

The sixth form, `nng_dialer_getopt_uint64()`, is used to retrieve a
64-bit unsigned value into the value referenced by _u64p_.
This is typically used for options
related to identifiers, network numbers, and similar.
==== `nng_dialer_getopt_uint64()`
This function is used to retrieve a 64-bit unsigned value into the value
referenced by _u64p_.
This is typically used for options related to identifiers, network
numbers, and similar.

== RETURN VALUES

This function returns 0 on success, and non-zero otherwise.
These functions returns 0 on success, and non-zero otherwise.

== ERRORS

Expand All @@ -114,5 +123,6 @@ This function returns 0 on success, and non-zero otherwise.
<<nng_dialer_setopt.3#,nng_dialer_setopt(3)>>
<<nng_strerror.3#,nng_strerror(3)>>,
<<nng_dialer.5#,nng_dialer(5)>>,
<<nng_duration.5#,nng_duration(5)>>,
<<nng_options.5#,nng_options(5)>>,
<<nng.7#,nng(7)>>
83 changes: 49 additions & 34 deletions docs/man/nng_dialer_setopt.3.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ nng_dialer_setopt - set dialer option
int nng_dialer_setopt(nng_dialer d, const char *opt, const void *val,
size_t valsz);
int nng_dialer_setopt_bool(nng_dialer d, const char *opt, bool bval);
int nng_dialer_setopt_int(nng_dialer d, const char *opt, int ival);
int nng_dialer_setopt_ms(nng_dialer d, const char *opt, nng_duration dur);
Expand All @@ -37,64 +39,76 @@ int nng_dialer_setopt_uint64(nng_dialer d, const char *opt, uint64_t u64);

== DESCRIPTION

(((options, dialer)))
The `nng_dialer_setopt()` functions are used to configure options for
the dialer _d_.
the <<nng_dialer.5#,dialer>> _d_.
The actual options that may be configured in this way
vary, and many are documented in <<nng_options.5#,nng_options(5)>>.

Additionally some transport-specific options are documented with the
transports themselves.

NOTE: Once a dialer has started, it is generally not possible to change
it's configuration.

=== Forms

In all of these forms, the option _opt_ is configured on the dialer _d_.

The details of the type, size, and semantics of the option will depend
on the actual option, and will be documented with the option itself.

The first form of this function, `nng_dialer_setopt()`, can be used to
configure any arbitrary data.
The _val_ pointer addresses the data to copy, and _valsz_ is the
size of the objected located at _val_.

Generally, it will be easier to use one of the typed forms instead.
TIP: Generally, it will be easier to use one of the typed forms instead.

The second form, `nng_dialer_setopt_int()`,
is for options which take an integer (or boolean). The _ival_
is passed to the option. For booleans pass either 0 (false) or 1 (true).
NOTE: No validation that the option is actually of the associated
type is performed, so the caller must take care to use the *correct* typed form.

The third form, `nng_dialer_setopt_ms()`, is used to configure time durations
(such as timeouts).
The duration _dur_ is an integer number of milliseconds. (The special value
`NNG_DUR_INFINITE` means an infinite amount of time.)
==== `nng_dialer_setopt()`
This function is untyped, and can be used to configure any arbitrary data.
The _val_ pointer addresses the data to copy, and _valsz_ is the
size of the objected located at _val_.

The fourth form, `nng_dialer_setopt_ptr()`, is used to pass a
pointer _ptr_ to structured data. The data referenced by _ptr_ is
generally managed by other functions.
For example, TLS configuration objects
(<<nng_tls_config_alloc.3tls#,`nng_tls_config_alloc()`>>) can be passed this way.
==== `nng_dialer_setopt_bool()`
This function is for options which take a boolean (`bool`).
The _bval_ is passed to the option.

==== `nng_dialer_setopt_int()`
This function is for options which take an integer (`int`).
The _ival_ is passed to the option.

==== `nng_dialer_setopt_ms()`
This function is used to configure time durations (such as timeouts) using
type <<nng_duration.5#,`nng_duration`>>.
The duration _dur_ is an integer number of milliseconds.

==== `nng_dialer_setopt_ptr()`
This function is used to pass a pointer, _ptr_, to structured data.
The data referenced by _ptr_ is generally managed by other functions.
For example, TLS configuration objects created with
(<<nng_tls_config_alloc.3tls#,`nng_tls_config_alloc()`>>)
can be passed this way.
Note that this form is somewhat special in that the object is generally
not copied, but instead the *pointer* to the object is copied.

The fifth form, `nng_dialer_setopt_size()`, is used to pass a size
specified by _z_, typically for buffer sizes, message maximum sizes, and
similar options.
==== `nng_dialer_setopt_size()`
This function is used to configure a size, _z_, typically for buffer sizes,
message maximum sizes, and similar options.

The sixth form, `nng_dialer_setopt_string()`, is used to pass a string
_str_.
==== `nng_dialer_setopt_string()`
This function is used to pass configure a string, _str_.
Strings passed this way must be legal UTF-8 or ASCII strings, terminated
with a `NUL` (`\0`) byte.
(Other constraints may apply as well, see the
documentation for _opt_ for details.)
(Other constraints may apply as well, see the documentation for each option
for details.)

The seventh form, `nng_dialer_setopt_uint64()`, is used to configure
the 64-bit unsigned value in _u64_.
This is typically used for options
related to identifiers, network numbers, and similar.

NOTE: Once a dialer has started, it is generally not possible to change
it's configuration.
==== `nng_dialer_setopt_uint64()`
This function is used to configure a 64-bit unsigned value, _u64_.
This is typically used for options related to identifiers, network numbers,
and similar.

== RETURN VALUES

This function returns 0 on success, and non-zero otherwise.
These functions return 0 on success, and non-zero otherwise.

== ERRORS

Expand All @@ -110,5 +124,6 @@ This function returns 0 on success, and non-zero otherwise.
<<nng_dialer_getopt.3#,nng_dialer_getopt(3)>>
<<nng_strerror.3#,nng_strerror(3)>>,
<<nng_dialer.5#,nng_dialer(5)>>,
<<nng_duration.5#,nng_duration(5)>>,
<<nng_options.5#,nng_options(5)>>,
<<nng.7#,nng(7)>>
33 changes: 17 additions & 16 deletions docs/man/nng_getopt.3.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,17 @@ int nng_getopt_uint64(nng_socket s, const char *opt, uint64_t *u64p);

== DESCRIPTION

(((options, socket)))
The `nng_getopt()` functions are used to retrieve option values for
the socket _s_.
the <<nng_socket.5#,socket>> _s_.
The actual options that may be retrieved in this way vary.
A number of them are documented in <<nng_options.5#,nng_options(5)>>.

Additionally transport-specific options and protocol-specific options are
documented with the transports and protocols themselves.

=== Forms

In all of these forms, the option _opt_ is retrieved from the socket _s_.
The forms vary based on the type of the option they take.

Expand All @@ -55,60 +58,57 @@ type is performed, so the caller must take care to use the *correct* typed form.
The details of the type, size, and semantics of the option will depend
on the actual option, and will be documented with the option itself.


`nng_getopt()`::
This function is untyped can be used to retrieve the value of any option.
==== `nng_getopt()`
This function is untyped and can be used to retrieve the value of any option.
The caller must store a pointer to a buffer to receive the value in _val_,
and the size of the buffer shall be stored at the location referenced by
_valszp_.
+

When the function returns, the actual size of the data copied (or that
would have been copied if sufficient space were present) is stored at
the location referened by _valszp_.
If the caller's buffer is not large enough to hold the entire object,
then the copy is truncated.
Therefore the caller should check for truncation by verifyng that the
returned size in _valszp_ does not exceed the original buffer size.
+

It is acceptable to pass `NULL` for _val_ if the value in _valszp_ is zero.
This can be used to determine the size of the buffer needed to receive
the object.

`nng_getopt_bool()`::

==== `nng_getopt_bool()`
This function is for options which take a boolean (`bool`).
The value will be stored at _ivalp_.

`nng_getopt_int()`::

==== `nng_getopt_int()`
This function is for options which take an integer (`int`).
The value will be stored at _ivalp_.

`nng_getopt_ms()`::
This function is used to retrieve time durations
==== `nng_getopt_ms()`
This function is used to retrieve time <<nng_duration.5#,durations>>
(such as timeouts), stored in _durp_ as a number of milliseconds.
(The special value ((`NNG_DUR_INFINITE`)) means an infinite amount of time, and
the special value ((`NNG_DUR_DEFAULT`)) means a context-specific default.)

`nng_getopt_ptr()`::
==== `nng_getopt_ptr()`
This function is used to retrieve a pointer, _ptr_, to structured data.
The data referenced by _ptr_ is generally managed using other functions.
Note that this form is somewhat special in that the object is generally
not copied, but instead the *pointer* to the object is copied.

`nng_getopt_size()`::
==== `nng_getopt_size()`
This function is used to retrieve a size into the pointer _zp_,
typically for buffer sizes, message maximum sizes, and similar options.

`nng_getopt_uint64()`::
==== `nng_getopt_uint64()`
This function is used to retrieve a 64-bit unsigned value into the value
referenced by _u64p_.
This is typically used for options related to identifiers, network
numbers, and similar.

== RETURN VALUES

This function returns 0 on success, and non-zero otherwise.
These functions return 0 on success, and non-zero otherwise.

== ERRORS

Expand All @@ -123,6 +123,7 @@ This function returns 0 on success, and non-zero otherwise.
<<nng_pipe_getopt.3#,nng_pipe_getopt(3)>>,
<<nng_setopt.3#,nng_setopt(3)>>,
<<nng_strerror.3#,nng_strerror(3)>>,
<<nng_duration.5#,nng_duration(5)>>,
<<nng_options.5#,nng_options(5)>>,
<<nng_socket.5#,nng_socket(5)>>,
<<nng.7#,nng(7)>>
Loading

0 comments on commit 8da1ec9

Please sign in to comment.