diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-10-22 15:22:54 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2024-10-22 15:22:54 -0700 |
| commit | cc2486615d7585b348b46170a6bb19c8084d6c5b (patch) | |
| tree | 2808f2b010f3931cf40d880d62d5d5293ee9129d /docs/ref/api | |
| parent | 018294242819ed59e708e23cf40b822e843ec3ac (diff) | |
| download | nng-cc2486615d7585b348b46170a6bb19c8084d6c5b.tar.gz nng-cc2486615d7585b348b46170a6bb19c8084d6c5b.tar.bz2 nng-cc2486615d7585b348b46170a6bb19c8084d6c5b.zip | |
docs: consolidate misc chapter
Diffstat (limited to 'docs/ref/api')
| -rw-r--r-- | docs/ref/api/memory.md | 4 | ||||
| -rw-r--r-- | docs/ref/api/misc.md | 61 | ||||
| -rw-r--r-- | docs/ref/api/util/nng_random.md | 25 | ||||
| -rw-r--r-- | docs/ref/api/util/nng_socket_pair.md | 42 | ||||
| -rw-r--r-- | docs/ref/api/util/nng_version.md | 36 |
5 files changed, 63 insertions, 105 deletions
diff --git a/docs/ref/api/memory.md b/docs/ref/api/memory.md index 02748123..fb7ec18e 100644 --- a/docs/ref/api/memory.md +++ b/docs/ref/api/memory.md @@ -48,7 +48,7 @@ char *nng_strdup(const char *src); The {{i:`nng_strdup`}} duplicates the string _src_ and returns it. This is logically equivalent to using [`nng_alloc`][nng_alloc] -to allocate a region of memory of `[c] strlen(s) + 1` bytes, and then +to allocate a region of memory of `strlen(s) + 1` bytes, and then using `strcpy` to copy the string into the destination before returning it. @@ -66,7 +66,7 @@ void nng_strfree(char *str); The {{i:`nng_strfree`}} function is a convenience function that can be used to deallocate strings allocated with [`nng_strdup`][nng_strdup]. -It is effectively the same as `[c] nng_free(strlen(str) + 1)`. +It is effectively the same as `nng_free(strlen(str) + 1)`. [nng_alloc]: #allocate-memory [nng_free]: #deallocate-memory diff --git a/docs/ref/api/misc.md b/docs/ref/api/misc.md new file mode 100644 index 00000000..788c0b6d --- /dev/null +++ b/docs/ref/api/misc.md @@ -0,0 +1,61 @@ +# Miscellaneous + +This chapter discusses some interfaces that don't really +fit anywhere else. + +## Get Random Number + +```c +uint32_t nng_random(void); +``` + +The {{i:`nng_random`}} returns a {{i:random number}}. +The value returned is suitable for use with cryptographic functions such as +key generation, and is obtained using platform-specific cryptographically strong random +number facilities when available. + +## Create Socket Pair + +```c +int nng_socket_pair(int fds[2]); +``` + +The `nng_socket_pair` function creates a pair of connected file descriptors. +These file descriptors, which are returned in the _fds_ array, are suitable for +use with the [Socket transport][socket]. + +On POSIX platforms, this is a thin wrapper around the standard `socketpair` function, +using the {{i:`AF_UNIX`}} family and the `SOCK_STREAM` socket type. +{{footnote: At present only POSIX platforms implementing `socketpair` support this function.}} + +This will return zero on success, or an error number. On platforms that lack this +capability, such as Windows, it will return `NNG_ENOTSUP`. + +> [!TIP] +> This function may be useful for creating a shared connection between a parent process and +> a child process on UNIX platforms, without requiring the processes use a shared filesystem or TCP connection. + +## Report Library Version + +```c +const char * nng_version(void); +``` + +The {{i:`nng_version`}} function returns a human readable {{i:version number}} +for _NNG_, formatted as a `NUL`-terminated string. + +Additionally, compile time version information is available +via some predefined macros: + +- {{i:`NNG_MAJOR_VERSION`}}: Major version number. +- {{i:`NNG_MINOR_VERSION`}}: Minor version number. +- {{i:`NNG_PATCH_VERSION`}}: Patch version number. + +_NNG_ is developed and released using +[Semantic Versioning 2.0](http://www.semver.org), and +the version numbers reported refer to both the API and the library itself. +(The {{i:ABI}} -- {{i:application binary interface}} -- between the +library and the application is controlled in a similar, but different +manner depending upon the link options and how the library is built.) + +[socket]: ../tran/socket.md diff --git a/docs/ref/api/util/nng_random.md b/docs/ref/api/util/nng_random.md deleted file mode 100644 index b8a89d0e..00000000 --- a/docs/ref/api/util/nng_random.md +++ /dev/null @@ -1,25 +0,0 @@ -# nng_random - -## NAME - -nng_random --- get random number - -## SYNOPSIS - -```c -#include <nng/nng.h> - -uint32_t nng_random(void); -``` - -## DESCRIPTION - -The {{i:`nng_random`}} returns a {{i:random number}}. -The value returned is suitable for use with cryptographic functions such as -key generation. -The value is obtained using platform-specific cryptographically strong random -number facilities when available. - -## RETURN VALUES - -Returns a random 32-bit value. diff --git a/docs/ref/api/util/nng_socket_pair.md b/docs/ref/api/util/nng_socket_pair.md deleted file mode 100644 index 454c15fc..00000000 --- a/docs/ref/api/util/nng_socket_pair.md +++ /dev/null @@ -1,42 +0,0 @@ -# nng_socket_pair - -## NAME - -nng_socket_pair --- create a connected pair of BSD sockets - -## SYNOPSIS - -```c -#include <nng/nng.h> - -int nng_socket_pair(int fds[2]); -``` - -## DESCRIPTION - -The `nng_socket_pair` function creates a pair of connected BSD sockets. -These sockets, which are returned in the _fds_ array, are suitable for -use with the [BSD socket transport][socket]. - -On POSIX platforms, this is a thin wrapper around the standard `socketpair` function, -using the {{i:`AF_UNIX`}} family and the `SOCK_STREAM` socket type. -{{footnote: At present only POSIX platforms implementing `socketpair` support this function.}} - -> [!TIP] -> This function may be useful for creating a shared connection between a parent process and -> a child process on UNIX platforms, without requiring the processes use a shared filesystem or TCP connection. - -## RETURN VALUES - -This function returns 0 on success, and non-zero otherwise. - -## ERRORS - -- `NNG_ENOMEM`: Insufficient memory exists. -- `NNG_ENOTSUP`: This platform does not support socket pairs. - -## SEE ALSO - -[BSD Socket Transport][socket] - -[socket]: ../../tran/socket.md diff --git a/docs/ref/api/util/nng_version.md b/docs/ref/api/util/nng_version.md deleted file mode 100644 index 04a1dd1b..00000000 --- a/docs/ref/api/util/nng_version.md +++ /dev/null @@ -1,36 +0,0 @@ -# nng_version - -## NAME - -nng_version --- report library version - -## SYNOPSIS - -```c -#include <nng/nng.h> - -const char * nng_version(void); -``` - -## DESCRIPTION - -The {{i:`nng_version`}} function returns a human readable {{i:version number}} -for _NNG_. - -Additionally, compile time version information is available -via some predefined macros: - -- {{i:`NNG_MAJOR_VERSION`}}: Major version number. -- {{i:`NNG_MINOR_VERSION`}}: Minor version number. -- {{i:`NNG_PATCH_VERSION`}}: Patch version number. - -_NNG_ is developed and released using -[Semantic Versioning 2.0](http://www.semver.org), and -the version numbers reported refer to both the API and the library itself. -(The {{i:ABI}} -- {{i:application binary interface}} -- between the -library and the application is controlled in a similar, but different -manner depending upon the link options and how the library is built.) - -## RETURN VALUES - -`NUL`-terminated string containing the library version number. |
