From 43c137b7a9ca046f272bb8e6971d8ce385563358 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Mon, 5 Mar 2018 20:55:08 -0800 Subject: Add some man pages (alloc, free, version). --- docs/man/libnng.adoc | 1 + docs/man/nng_alloc.adoc | 52 +++++++++++++++++++++++++++++++++++++++++++ docs/man/nng_free.adoc | 51 ++++++++++++++++++++++++++++++++++++++++++ docs/man/nng_version.adoc | 56 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 160 insertions(+) create mode 100644 docs/man/nng_alloc.adoc create mode 100644 docs/man/nng_free.adoc create mode 100644 docs/man/nng_version.adoc (limited to 'docs') diff --git a/docs/man/libnng.adoc b/docs/man/libnng.adoc index 0c5ee75f..3be2e86b 100644 --- a/docs/man/libnng.adoc +++ b/docs/man/libnng.adoc @@ -32,6 +32,7 @@ The following common functions exist in _libnng_. |<>|allocate memory |<>|free memory |<>|return an error description +|<>|report library version |=== === Socket Functions diff --git a/docs/man/nng_alloc.adoc b/docs/man/nng_alloc.adoc new file mode 100644 index 00000000..af81aff9 --- /dev/null +++ b/docs/man/nng_alloc.adoc @@ -0,0 +1,52 @@ += nng_alloc(3) +// +// Copyright 2018 Staysail Systems, Inc. +// Copyright 2018 Capitar IT Group BV +// +// This document is supplied under the terms of the MIT License, a +// copy of which should be located in the distribution where this +// file was obtained (LICENSE.txt). A copy of the license may also be +// found online at https://opensource.org/licenses/MIT. +// + +== NAME + +nng_alloc - allocate memory + +== SYNOPSIS + +[source, c] +----------- +#include + +void *nng_alloc(size_t size); +----------- + +== DESCRIPTION + +The `nng_alloc()` function allocates a contiguous memory region of +at least _size_ bytes. The memory will be 64-bit aligned. + +The returned memory can be used to hold message buffers, in which +case it can be directly passed to <> using +the flag `NNG_FLAG_ALLOC`. Alternatively, it can be freed when no +longer needed using <>. + +WARNING: Do not use the system `free()` function to release this memory. +On some platforms this may work, but it is not guaranteed and may lead +to a crash or other undesirable and unpredictable behavior. + +== RETURN VALUES + +This function returns 0 on success, and non-zero otherwise. + +== ERRORS + +`NNG_ENOMEM`:: Insufficient free memory exists. + +== SEE ALSO + +<>, +<>, +<>, +<> diff --git a/docs/man/nng_free.adoc b/docs/man/nng_free.adoc new file mode 100644 index 00000000..2b7b09a5 --- /dev/null +++ b/docs/man/nng_free.adoc @@ -0,0 +1,51 @@ += nng_free(3) +// +// Copyright 2018 Staysail Systems, Inc. +// Copyright 2018 Capitar IT Group BV +// +// This document is supplied under the terms of the MIT License, a +// copy of which should be located in the distribution where this +// file was obtained (LICENSE.txt). A copy of the license may also be +// found online at https://opensource.org/licenses/MIT. +// + +== NAME + +nng_free - free memory + +== SYNOPSIS + +[source, c] +----------- +#include + +void nng_free(void *ptr, size_t size); +----------- + +== DESCRIPTION + +The `nng_free()` function deallocates a memory region of size _size_, +that was previously allocated by <> or +<> with the `NNG_FLAG_ALLOC` flag. + +WARNING: It is very important that _size_ match the allocation size +used to allocate the memory. + +WARNING: Do not attempt to use this function to deallocate memory +obtained by a call to the system `malloc()` or `calloc()` functions, +or the {cpp} `new` operator. Doing so may result in unpredictable +behavior, including corruption of application memory. + +== RETURN VALUES + +None. + +== ERRORS + +None. + +== SEE ALSO + +<>, +<>, +<> diff --git a/docs/man/nng_version.adoc b/docs/man/nng_version.adoc new file mode 100644 index 00000000..3f69b0ca --- /dev/null +++ b/docs/man/nng_version.adoc @@ -0,0 +1,56 @@ += nng_version(3) +// +// Copyright 2018 Staysail Systems, Inc. +// Copyright 2018 Capitar IT Group BV +// +// This document is supplied under the terms of the MIT License, a +// copy of which should be located in the distribution where this +// file was obtained (LICENSE.txt). A copy of the license may also be +// found online at https://opensource.org/licenses/MIT. +// + +== NAME + +nng_version - report library version + +== SYNOPSIS + +[source, c] +----------- +#include + +const char * nng_version(void); +----------- + +== DESCRIPTION + +The `nng_version()` function returns a human readable version +number for the _nng_ library. This is intended for output in +programs, and so forth. + +Additionally, compile time version information is available +via some predefined macros: + +`NNG_MAJOR_VERSION`:: Major version number. +`NNG_MINOR_VERSION`:: Minor version number. +`NNG_PATCH_VERSION`:: Patch version number. + +The _nng_ library is developed and released using +http:///www.semver.org[Semantic Versioning 2.0], and +the version numbers reported refer to both the API and the +library itself. (The ABI -- 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 + +C string (NUL-terminated) containing the library version number. + +== ERRORS + +None. + +== SEE ALSO + +<>, +<> -- cgit v1.2.3-70-g09d2