summaryrefslogtreecommitdiff
path: root/docs/reference
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-03-30 15:57:15 -0700
committerGarrett D'Amore <garrett@damore.org>2024-03-30 15:57:15 -0700
commit9b156d28f1a830cc7339ab9993991ef5dd0b0fed (patch)
tree8de1dbfa070a080b4d3df43974255fafbde54d53 /docs/reference
parentd38c90f0b429df3c13fb13f87481b73465d2eae5 (diff)
downloadnng-9b156d28f1a830cc7339ab9993991ef5dd0b0fed.tar.gz
nng-9b156d28f1a830cc7339ab9993991ef5dd0b0fed.tar.bz2
nng-9b156d28f1a830cc7339ab9993991ef5dd0b0fed.zip
Organization changes abound.
Diffstat (limited to 'docs/reference')
-rw-r--r--docs/reference/book.toml13
-rw-r--r--docs/reference/src/SUMMARY.md80
-rw-r--r--docs/reference/src/api/msg/nng_msg_body.md47
-rw-r--r--docs/reference/src/api/msg/nng_msg_clear.md23
-rw-r--r--docs/reference/src/api/msg/nng_msg_free.md22
-rw-r--r--docs/reference/src/msg/index.md (renamed from docs/reference/src/api/msg/index.md)56
-rw-r--r--docs/reference/src/msg/nng_msg_alloc.md (renamed from docs/reference/src/api/msg/nng_msg_alloc.md)22
-rw-r--r--docs/reference/src/msg/nng_msg_append.md (renamed from docs/reference/src/api/msg/nng_msg_append.md)26
-rw-r--r--docs/reference/src/msg/nng_msg_body.md49
-rw-r--r--docs/reference/src/msg/nng_msg_capacity.md (renamed from docs/reference/src/api/msg/nng_msg_capacity.md)12
-rw-r--r--docs/reference/src/msg/nng_msg_chop.md (renamed from docs/reference/src/api/msg/nng_msg_chop.md)26
-rw-r--r--docs/reference/src/msg/nng_msg_clear.md25
-rw-r--r--docs/reference/src/msg/nng_msg_dup.md (renamed from docs/reference/src/api/msg/nng_msg_dup.md)6
-rw-r--r--docs/reference/src/msg/nng_msg_free.md24
-rw-r--r--docs/reference/src/msg/nng_msg_get_pipe.md (renamed from docs/reference/src/api/msg/nng_msg_get_pipe.md)14
-rw-r--r--docs/reference/src/msg/nng_msg_header.md (renamed from docs/reference/src/api/msg/nng_msg_header.md)24
-rw-r--r--docs/reference/src/msg/nng_msg_header_append.md (renamed from docs/reference/src/api/msg/nng_msg_header_append.md)14
-rw-r--r--docs/reference/src/msg/nng_msg_header_chop.md (renamed from docs/reference/src/api/msg/nng_msg_header_chop.md)14
-rw-r--r--docs/reference/src/msg/nng_msg_header_clear.md (renamed from docs/reference/src/api/msg/nng_msg_header_clear.md)8
-rw-r--r--docs/reference/src/msg/nng_msg_header_insert.md (renamed from docs/reference/src/api/msg/nng_msg_header_insert.md)14
-rw-r--r--docs/reference/src/msg/nng_msg_header_len.md (renamed from docs/reference/src/api/msg/nng_msg_header_len.md)6
-rw-r--r--docs/reference/src/msg/nng_msg_header_trim.md (renamed from docs/reference/src/api/msg/nng_msg_header_trim.md)14
-rw-r--r--docs/reference/src/msg/nng_msg_insert.md (renamed from docs/reference/src/api/msg/nng_msg_insert.md)28
-rw-r--r--docs/reference/src/msg/nng_msg_len.md (renamed from docs/reference/src/api/msg/nng_msg_len.md)4
-rw-r--r--docs/reference/src/msg/nng_msg_realloc.md (renamed from docs/reference/src/api/msg/nng_msg_realloc.md)30
-rw-r--r--docs/reference/src/msg/nng_msg_reserve.md (renamed from docs/reference/src/api/msg/nng_msg_reserve.md)16
-rw-r--r--docs/reference/src/msg/nng_msg_set_pipe.md (renamed from docs/reference/src/api/msg/nng_msg_set_pipe.md)10
-rw-r--r--docs/reference/src/msg/nng_msg_trim.md (renamed from docs/reference/src/api/msg/nng_msg_trim.md)26
-rw-r--r--docs/reference/src/refs.md37
-rw-r--r--docs/reference/src/thr/nng_cv_alloc.md (renamed from docs/reference/src/api/threads/nng_cv_alloc.md)24
-rw-r--r--docs/reference/src/thr/nng_cv_free.md (renamed from docs/reference/src/api/threads/nng_cv_free.md)4
-rw-r--r--docs/reference/src/thr/nng_cv_until.md (renamed from docs/reference/src/api/threads/nng_cv_until.md)20
-rw-r--r--docs/reference/src/thr/nng_cv_wait.md (renamed from docs/reference/src/api/threads/nng_cv_wait.md)20
-rw-r--r--docs/reference/src/thr/nng_cv_wake.md (renamed from docs/reference/src/api/threads/nng_cv_wake.md)22
-rw-r--r--docs/reference/src/thr/nng_cv_wake1.md (renamed from docs/reference/src/api/threads/nng_cv_wake1.md)22
-rw-r--r--docs/reference/src/thr/nng_mtx_alloc.md (renamed from docs/reference/src/api/threads/nng_mtx_alloc.md)14
-rw-r--r--docs/reference/src/thr/nng_mtx_free.md (renamed from docs/reference/src/api/threads/nng_mtx_free.md)2
-rw-r--r--docs/reference/src/thr/nng_mtx_lock.md (renamed from docs/reference/src/api/threads/nng_mtx_lock.md)10
-rw-r--r--docs/reference/src/thr/nng_mtx_unlock.md (renamed from docs/reference/src/api/threads/nng_mtx_unlock.md)4
-rw-r--r--docs/reference/src/tran/index.md13
-rw-r--r--docs/reference/src/tran/inproc.md (renamed from docs/reference/src/transports/inproc.md)9
-rw-r--r--docs/reference/src/tran/tcp.md (renamed from docs/reference/src/transports/tcp.md)20
-rw-r--r--docs/reference/src/transports/index.md5
43 files changed, 499 insertions, 380 deletions
diff --git a/docs/reference/book.toml b/docs/reference/book.toml
index d6c1cff6..20529827 100644
--- a/docs/reference/book.toml
+++ b/docs/reference/book.toml
@@ -21,6 +21,9 @@ fold.level = 1
[preprocessor.indexing.nest_under]
# hacks to allow us to also place some entries underneath
+"body" = "message"
+"header" = "message"
+
"*BUS*" = "protocol"
"*PAIR*" = "protocol"
"*PULL*" = "protocol"
@@ -32,8 +35,18 @@ fold.level = 1
"*SURVEYOR*" = "protocol"
"*RESPONDENT*" = "protocol"
+"*inproc*" = "transport"
+"*ipc*" = "transport"
+"*tls*" = "transport"
"*tcp*" = "transport"
+"*ws*" = "transport"
+"*wss*" = "transport"
+"`inproc://`" = "URI"
+"`ipc://`" = "URI"
+"`tls+tcp://`" = "URI"
"`tcp://`" = "URI"
+"`ws://`" = "URI"
+"`wss://`" = "URI"
[preprocessor.alerts]
diff --git a/docs/reference/src/SUMMARY.md b/docs/reference/src/SUMMARY.md
index 99924f3d..bc24ac01 100644
--- a/docs/reference/src/SUMMARY.md
+++ b/docs/reference/src/SUMMARY.md
@@ -6,7 +6,7 @@
- [RAW mode](./overview/raw.md)
-- [Protocols](./proto/index.md)
+- [Protocols](proto/index.md)
- [BUS](proto/bus.md)
- [PAIR](proto/pair.md)
@@ -19,37 +19,37 @@
- [SUB](proto/sub.md)
- [SURVEYOR](proto/surveyor.md)
-- [Transports](./transports/index.md)
+- [Transports](tran/index.md)
- - [INPROC](transports/inproc.md)
- - [TCP](transports/tcp.md)
+ - [INPROC](tran/inproc.md)
+ - [TCP](tran/tcp.md)
- [API Reference](./api/index.md)
- - [Messages](api/msg/index.md)
-
- - [nng_msg_alloc](api/msg/nng_msg_alloc.md)
- - [nng_msg_append](api/msg/nng_msg_append.md)
- - [nng_msg_body](api/msg/nng_msg_body.md)
- - [nng_msg_capacity](api/msg/nng_msg_capacity.md)
- - [nng_msg_chop](api/msg/nng_msg_chop.md)
- - [nng_msg_clear](api/msg/nng_msg_clear.md)
- - [nng_msg_dup](api/msg/nng_msg_dup.md)
- - [nng_msg_free](api/msg/nng_msg_free.md)
- - [nng_msg_get_pipe](api/msg/nng_msg_get_pipe.md)
- - [nng_msg_header](api/msg/nng_msg_header.md)
- - [nng_msg_header_append](api/msg/nng_msg_header_append.md)
- - [nng_msg_header_chop](api/msg/nng_msg_header_chop.md)
- - [nng_msg_header_clear](api/msg/nng_msg_header_clear.md)
- - [nng_msg_header_insert](api/msg/nng_msg_header_insert.md)
- - [nng_msg_header_len](api/msg/nng_msg_header_len.md)
- - [nng_msg_header_trim](api/msg/nng_msg_header_trim.md)
- - [nng_msg_insert](api/msg/nng_msg_insert.md)
- - [nng_msg_len](api/msg/nng_msg_len.md)
- - [nng_msg_realloc](api/msg/nng_msg_realloc.md)
- - [nng_msg_reserve](api/msg/nng_msg_reserve.md)
- - [nng_msg_set_pipe](api/msg/nng_msg_set_pipe.md)
- - [nng_msg_trim](api/msg/nng_msg_trim.md)
+ - [Messages](msg/index.md)
+
+ - [nng_msg_alloc](msg/nng_msg_alloc.md)
+ - [nng_msg_append](msg/nng_msg_append.md)
+ - [nng_msg_body](msg/nng_msg_body.md)
+ - [nng_msg_capacity](msg/nng_msg_capacity.md)
+ - [nng_msg_chop](msg/nng_msg_chop.md)
+ - [nng_msg_clear](msg/nng_msg_clear.md)
+ - [nng_msg_dup](msg/nng_msg_dup.md)
+ - [nng_msg_free](msg/nng_msg_free.md)
+ - [nng_msg_get_pipe](msg/nng_msg_get_pipe.md)
+ - [nng_msg_header](msg/nng_msg_header.md)
+ - [nng_msg_header_append](msg/nng_msg_header_append.md)
+ - [nng_msg_header_chop](msg/nng_msg_header_chop.md)
+ - [nng_msg_header_clear](msg/nng_msg_header_clear.md)
+ - [nng_msg_header_insert](msg/nng_msg_header_insert.md)
+ - [nng_msg_header_len](msg/nng_msg_header_len.md)
+ - [nng_msg_header_trim](msg/nng_msg_header_trim.md)
+ - [nng_msg_insert](msg/nng_msg_insert.md)
+ - [nng_msg_len](msg/nng_msg_len.md)
+ - [nng_msg_realloc](msg/nng_msg_realloc.md)
+ - [nng_msg_reserve](msg/nng_msg_reserve.md)
+ - [nng_msg_set_pipe](msg/nng_msg_set_pipe.md)
+ - [nng_msg_trim](msg/nng_msg_trim.md)
- [Sockets](api/socket/index.md)
@@ -110,18 +110,18 @@
- [nng_strfree](api/util/nng_strfree.md)
- [nng_version](api/util/nng_version.md)
- - [Threads and Synchronization](api/threads/index.md)
-
- - [nng_cv_alloc](api/threads/nng_cv_alloc.md)
- - [nng_cv_free](api/threads/nng_cv_free.md)
- - [nng_cv_until](api/threads/nng_cv_until.md)
- - [nng_cv_wait](api/threads/nng_cv_wait.md)
- - [nng_cv_wake](api/threads/nng_cv_wake.md)
- - [nng_cv_wake1](api/threads/nng_cv_wake1.md)
- - [nng_mtx_alloc](api/threads/nng_mtx_alloc.md)
- - [nng_mtx_free](api/threads/nng_mtx_free.md)
- - [nng_mtx_lock](api/threads/nng_mtx_lock.md)
- - [nng_mtx_unlock](api/threads/nng_mtx_unlock.md)
+ - [Threads and Synchronization](thr/index.md)
+
+ - [nng_cv_alloc](thr/nng_cv_alloc.md)
+ - [nng_cv_free](thr/nng_cv_free.md)
+ - [nng_cv_until](thr/nng_cv_until.md)
+ - [nng_cv_wait](thr/nng_cv_wait.md)
+ - [nng_cv_wake](thr/nng_cv_wake.md)
+ - [nng_cv_wake1](thr/nng_cv_wake1.md)
+ - [nng_mtx_alloc](thr/nng_mtx_alloc.md)
+ - [nng_mtx_free](thr/nng_mtx_free.md)
+ - [nng_mtx_lock](thr/nng_mtx_lock.md)
+ - [nng_mtx_unlock](thr/nng_mtx_unlock.md)
- [Legacy Compatibility](api/compat/index.md)
diff --git a/docs/reference/src/api/msg/nng_msg_body.md b/docs/reference/src/api/msg/nng_msg_body.md
deleted file mode 100644
index abd49c7f..00000000
--- a/docs/reference/src/api/msg/nng_msg_body.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# nng_msg_body
-
-## NAME
-
-nng_msg_body --- return message body
-
-## SYNOPSIS
-
-```c
-#include <nng/nng.h>
-
-void *nng_msg_body(nng_msg *msg);
-```
-
-## DESCRIPTION
-
-The `nng_msg_body()` function returns a pointer to the start of the body
-content of the message _msg_.
-
-> [!NOTE]
-> The value returned by this is invalidated by a call to any of the
-> functions that modify the message itself.
-> Such functions are
-> [`nng_msg_free()`](nng_msg_free.md),
-> [`nng_msg_realloc()`](nng_msg_realloc.md),
-> any of the [`nng_msg_trim()`](nng_msg_trim.md),
-> [`nng_msg_chop()`](nng_msg_chop.md),
-> [`nng_msg_append()`](nng_msg_append.md),
-> or [`nng_msg_insert()`](nng_msg_insert.md) variants.
-
-## RETURN VALUES
-
-Pointer to start of message body.
-
-## SEE ALSO
-
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_append](nng_msg_append.md),
-[nng_msg_capacity](nng_msg_capacity.md),
-[nng_msg_chop](nng_msg_chop.md),
-[nng_msg_clear](nng_msg_clear.md),
-[nng_msg_free](nng_msg_free.md),
-[nng_msg_insert](nng_msg_insert.md),
-[nng_msg_len](nng_msg_len.md),
-[nng_msg_reserve](nng_msg_reserve.md),
-[nng_msg_realloc](nng_msg_realloc.md),
-[nng_msg_trim](nng_msg_trim.md)
diff --git a/docs/reference/src/api/msg/nng_msg_clear.md b/docs/reference/src/api/msg/nng_msg_clear.md
deleted file mode 100644
index af25c072..00000000
--- a/docs/reference/src/api/msg/nng_msg_clear.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# nng_msg_clear
-
-## NAME
-
-nng_msg_clear --- clear message body content
-
-## SYNOPSIS
-
-```c
-#include <nng/nng.h>
-
-void nng_msg_clear(nng_msg *msg);
-```
-
-## DESCRIPTION
-
-The `nng_msg_clear()` function resets the body length of _msg_ to zero.
-
-## SEE ALSO
-
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_capacity](nng_msg_capacity.md),
-[nng_msg_reserve](nng_msg_reserve.md)
diff --git a/docs/reference/src/api/msg/nng_msg_free.md b/docs/reference/src/api/msg/nng_msg_free.md
deleted file mode 100644
index 94887be0..00000000
--- a/docs/reference/src/api/msg/nng_msg_free.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# nng_msg_free
-
-## NAME
-
-nng_msg_free --- free a message
-
-## SYNOPSIS
-
-```c
-#include <nng/nng.h>
-
-void nng_msg_free(nng_msg *msg);
-```
-
-## DESCRIPTION
-
-The `nng_msg_free()` function deallocates the message _msg_ entirely.
-
-## SEE ALSO
-
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_realloc](nng_msg_realloc.md)
diff --git a/docs/reference/src/api/msg/index.md b/docs/reference/src/msg/index.md
index 54d8d9b8..ed63b4d2 100644
--- a/docs/reference/src/api/msg/index.md
+++ b/docs/reference/src/msg/index.md
@@ -13,13 +13,13 @@ payload, and a {{i:header}}, containing protocol specific routing and similar
related information.
> [!TIP]
-> Only applications using [raw](../../overview/raw.md) mode need to
+> Only applications using [raw mode][raw] need to
> access the message header.
### Creating, Destroying and Using
-Messages are allocated using [`nng_msg_alloc()`](nng_msg_alloc.md),
-and are deallocated using [`nng_msg_free()`](nng_msg_free.md).
+Messages are allocated using [`nng_msg_alloc()`][nng_msg_alloc],
+and are deallocated using [`nng_msg_free()`][nng_msg_free].
In addition there are other functions used to access message contents,
including adding data to either the beginning or end of the message,
@@ -33,7 +33,7 @@ performance by reducing data copies and needless allocations.
These functions are designed to try to avoid copying message contents
by making use of scratch areas at the beginning and end of the message.
-These scratch areas, the "headroom" and "tailroom", are automatically
+These scratch areas, the "{{i:headroom}}" and "{{i:tailroom}}", are automatically
included when allocating a message.
### Direct Use Forbidden
@@ -72,26 +72,28 @@ that would affect the binary representation of the `nng_msg` itself.
## See Also
-[nng_aio_get_msg](../aio/nng_aio_get_msg.md),
-[nng_aio_set_msg](../aio/nng_aio_set_msg.md),
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_append](nng_msg_append.md),
-[nng_msg_body](nng_msg_body.md),
-[nng_msg_capacity](nng_msg_capacity.md),
-[nng_msg_dup](nng_msg_dup.md),
-[nng_msg_free](nng_msg_free.md),
-[nng_msg_header](nng_msg_header.md),
-[nng_msg_header_append](nng_msg_header_append.md),
-[nng_msg_header_chop](nng_msg_header_chop.md),
-[nng_msg_header_clear](nng_msg_header_clear.md),
-[nng_msg_header_insert](nng_msg_header_insert.md),
-[nng_msg_header_len](nng_msg_header_len.md),
-[nng_msg_header_trim](nng_msg_header_trim.md),
-[nng_msg_insert](nng_msg_insert.md),
-[nng_msg_len](nng_msg_len.md),
-[nng_msg_reserve](nng_msg_reserve.md),
-[nng_msg_realloc](nng_msg_realloc.md),
-[nng_msg_set_pipe](nng_msg_set_pipe.md),
-[nng_msg_trim](nng_msg_trim.md),
-[nng_recvmsg](../socket/nng_recvmsg.md),
-[nng_sendmsg](../socket/nng_sendmsg.md)
+[nng_aio_get_msg][nng_aio_get_msg],
+[nng_aio_set_msg][nng_aio_set_msg],
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_append][nng_msg_append],
+[nng_msg_body][nng_msg_body],
+[nng_msg_capacity][nng_msg_capacity],
+[nng_msg_dup][nng_msg_dup],
+[nng_msg_free][nng_msg_free],
+[nng_msg_header][nng_msg_header],
+[nng_msg_header_append][nng_msg_header_append],
+[nng_msg_header_chop][nng_msg_header_chop],
+[nng_msg_header_clear][nng_msg_header_clear],
+[nng_msg_header_insert][nng_msg_header_insert],
+[nng_msg_header_len][nng_msg_header_len],
+[nng_msg_header_trim][nng_msg_header_trim],
+[nng_msg_insert][nng_msg_insert],
+[nng_msg_len][nng_msg_len],
+[nng_msg_reserve][nng_msg_reserve],
+[nng_msg_realloc][nng_msg_realloc],
+[nng_msg_set_pipe][nng_msg_set_pipe],
+[nng_msg_trim][nng_msg_trim],
+[nng_recvmsg][nng_recvmsg],
+[nng_sendmsg][nng_sendmsg]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_alloc.md b/docs/reference/src/msg/nng_msg_alloc.md
index 163d193b..cddb5364 100644
--- a/docs/reference/src/api/msg/nng_msg_alloc.md
+++ b/docs/reference/src/msg/nng_msg_alloc.md
@@ -14,7 +14,7 @@ int nng_msg_alloc(nng_msg **msgp, size_t size);
## DESCRIPTION
-The `nng_msg_alloc()` function allocates a new message with body length _size_
+The `nng_msg_alloc()` function allocates a new [message][msg] with {{i:body}} length _size_
and stores the result in _msgp_.
Messages allocated with this function contain a body and optionally a header.
They are used with receive and transmit functions.
@@ -29,12 +29,14 @@ This function returns 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_free](nng_msg_free.md),
-[nng_msg_body](nng_msg_body.md),
-[nng_msg_dup](nng_msg_dup.md),
-[nng_msg_header](nng_msg_header.md),
-[nng_msg_header_len](nng_msg_header_len.md),
-[nng_msg_len](nng_msg_len.md),
-[nng_msg_capacity](nng_msg_capacity.md),
-[nng_msg_reserve](nng_msg_reserve.md),
-[nng_msg_realloc](nng_msg_realloc.md)
+[nng_msg_free][nng_msg_free],
+[nng_msg_body][nng_msg_body],
+[nng_msg_dup][nng_msg_dup],
+[nng_msg_header][nng_msg_header],
+[nng_msg_header_len][nng_msg_header_len],
+[nng_msg_len][nng_msg_len],
+[nng_msg_capacity][nng_msg_capacity],
+[nng_msg_reserve][nng_msg_reserve],
+[nng_msg_realloc][nng_msg_realloc]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_append.md b/docs/reference/src/msg/nng_msg_append.md
index 5807d3a6..cb6120f5 100644
--- a/docs/reference/src/api/msg/nng_msg_append.md
+++ b/docs/reference/src/msg/nng_msg_append.md
@@ -18,7 +18,7 @@ int nng_msg_append_u64(nng_msg *msg, uint64_t val64);
## DESCRIPTION
The `nng_msg_append()` family of functions appends data to
-the end of the body of message _msg_, reallocating it if necessary.
+the end of the body of [message][msg] _msg_, reallocating it if necessary.
The first function appends _size_ bytes, copying them from _val_.
The remaining functions append the value specified (such as _val32_) in
network-byte order (big-endian).
@@ -33,14 +33,16 @@ These functions return 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_body](nng_msg_body.md),
-[nng_msg_capacity](nng_msg_capacity.md),
-[nng_msg_chop](nng_msg_chop.md),
-[nng_msg_clear](nng_msg_chop.md),
-[nng_msg_free](nng_msg_free.md),
-[nng_msg_insert](nng_msg_insert.md),
-[nng_msg_len](nng_msg_len.md),
-[nng_msg_reserve](nng_msg_reserve.md),
-[nng_msg_realloc](nng_msg_realloc.md),
-[nng_msg_trim](nng_msg_trim.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_body][nng_msg_body],
+[nng_msg_capacity][nng_msg_capacity],
+[nng_msg_chop][nng_msg_chop],
+[nng_msg_clear][nng_msg_chop],
+[nng_msg_free][nng_msg_free],
+[nng_msg_insert][nng_msg_insert],
+[nng_msg_len][nng_msg_len.md],
+[nng_msg_reserve][nng_msg_reserve],
+[nng_msg_realloc][nng_msg_realloc],
+[nng_msg_trim][nng_msg_trim]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/msg/nng_msg_body.md b/docs/reference/src/msg/nng_msg_body.md
new file mode 100644
index 00000000..1fd67227
--- /dev/null
+++ b/docs/reference/src/msg/nng_msg_body.md
@@ -0,0 +1,49 @@
+# nng_msg_body
+
+## NAME
+
+nng_msg_body --- return message body
+
+## SYNOPSIS
+
+```c
+#include <nng/nng.h>
+
+void *nng_msg_body(nng_msg *msg);
+```
+
+## DESCRIPTION
+
+The `nng_msg_body()` function returns a pointer to the start of the {{i:body}}
+content of the [message][msg] _msg_.
+
+> [!NOTE]
+> The value returned by this is invalidated by a call to any of the
+> functions that modify the message itself.
+> Such functions are
+> [`nng_msg_free()`][nng_msg_free],
+> [`nng_msg_realloc()`][nng_msg_realloc],
+> any of the [`nng_msg_trim()`][nng_msg_trim],
+> [`nng_msg_chop()`][nng_msg_chop],
+> [`nng_msg_append()`][nng_msg_append],
+> or [`nng_msg_insert()`][nng_msg_insert] variants.
+
+## RETURN VALUES
+
+Pointer to start of message body.
+
+## SEE ALSO
+
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_append][nng_msg_append],
+[nng_msg_capacity][nng_msg_capacity],
+[nng_msg_chop][nng_msg_chop],
+[nng_msg_clear][nng_msg_clear],
+[nng_msg_free][nng_msg_free],
+[nng_msg_insert][nng_msg_insert],
+[nng_msg_len][nng_msg_len],
+[nng_msg_reserve][nng_msg_reserve],
+[nng_msg_realloc][nng_msg_realloc],
+[nng_msg_trim][nng_msg_trim]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_capacity.md b/docs/reference/src/msg/nng_msg_capacity.md
index 707a04e3..82c7ad07 100644
--- a/docs/reference/src/api/msg/nng_msg_capacity.md
+++ b/docs/reference/src/msg/nng_msg_capacity.md
@@ -14,7 +14,7 @@ size_t nng_msg_capacity(nng_msg *msg);
## DESCRIPTION
-The `nng_msg_capacity()` returns the storage allocated for the body of message _msg_.
+The `nng_msg_capacity()` returns the storage allocated for the body of [message][msg] _msg_.
The capacity includes the current contents of the message and free space after it.
The message body may grow to capacity without performing any further allocations.
@@ -24,7 +24,9 @@ Allocated capacity for message body.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_realloc](nng_msg_realloc.md),
-[nng_msg_reserve](nng_msg_reserve.md)
-[nng_msg_body](nng_msg_body.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_realloc][nng_msg_realloc],
+[nng_msg_reserve][nng_msg_reserve]
+[nng_msg_body][nng_msg_body]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_chop.md b/docs/reference/src/msg/nng_msg_chop.md
index fc9a0df5..918d244b 100644
--- a/docs/reference/src/api/msg/nng_msg_chop.md
+++ b/docs/reference/src/msg/nng_msg_chop.md
@@ -18,7 +18,7 @@ int nng_msg_chop_u64(nng_msg *msg, uint64_t *val64);
## DESCRIPTION
The `nng_msg_chop()` family of functions removes data from
-the end of the body of message _msg_.
+the end of the body of [message][msg] _msg_.
The first function removes _size_ bytes.
The remaining functions remove 2, 4, or 8 bytes, and stores them in the value
(such as _val32_),
@@ -34,14 +34,16 @@ These functions return 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_append](nng_msg_alloc.md),
-[nng_msg_body](nng_msg_body.md),
-[nng_msg_capacity](nng_msg_capacity.md),
-[nng_msg_clear](nng_msg_chop.md),
-[nng_msg_free](nng_msg_free.md),
-[nng_msg_insert](nng_msg_insert.md),
-[nng_msg_len](nng_msg_len.md),
-[nng_msg_reserve](nng_msg_reserve.md),
-[nng_msg_realloc](nng_msg_realloc.md),
-[nng_msg_trim](nng_msg_trim.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_append][nng_msg_alloc],
+[nng_msg_body][nng_msg_body],
+[nng_msg_capacity][nng_msg_capacity],
+[nng_msg_clear][nng_msg_chop],
+[nng_msg_free][nng_msg_free],
+[nng_msg_insert][nng_msg_insert],
+[nng_msg_len][nng_msg_len],
+[nng_msg_reserve][nng_msg_reserve],
+[nng_msg_realloc][nng_msg_realloc],
+[nng_msg_trim][nng_msg_trim]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/msg/nng_msg_clear.md b/docs/reference/src/msg/nng_msg_clear.md
new file mode 100644
index 00000000..54dcbbde
--- /dev/null
+++ b/docs/reference/src/msg/nng_msg_clear.md
@@ -0,0 +1,25 @@
+# nng_msg_clear
+
+## NAME
+
+nng_msg_clear --- clear message body content
+
+## SYNOPSIS
+
+```c
+#include <nng/nng.h>
+
+void nng_msg_clear(nng_msg *msg);
+```
+
+## DESCRIPTION
+
+The `nng_msg_clear()` function resets the body length of [message][msg] _msg_ to zero.
+
+## SEE ALSO
+
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_capacity][nng_msg_capacity],
+[nng_msg_reserve][nng_msg_reserve]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_dup.md b/docs/reference/src/msg/nng_msg_dup.md
index dae376e8..2f657307 100644
--- a/docs/reference/src/api/msg/nng_msg_dup.md
+++ b/docs/reference/src/msg/nng_msg_dup.md
@@ -30,5 +30,7 @@ This function returns 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_free](nng_msg_free.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_free][nng_msg_free]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/msg/nng_msg_free.md b/docs/reference/src/msg/nng_msg_free.md
new file mode 100644
index 00000000..6a84ee55
--- /dev/null
+++ b/docs/reference/src/msg/nng_msg_free.md
@@ -0,0 +1,24 @@
+# nng_msg_free
+
+## NAME
+
+nng_msg_free --- free a message
+
+## SYNOPSIS
+
+```c
+#include <nng/nng.h>
+
+void nng_msg_free(nng_msg *msg);
+```
+
+## DESCRIPTION
+
+The `nng_msg_free()` function deallocates the [message][msg] _msg_ entirely.
+
+## SEE ALSO
+
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_realloc][nng_msg_realloc]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_get_pipe.md b/docs/reference/src/msg/nng_msg_get_pipe.md
index 5f935347..9f37692b 100644
--- a/docs/reference/src/api/msg/nng_msg_get_pipe.md
+++ b/docs/reference/src/msg/nng_msg_get_pipe.md
@@ -14,8 +14,8 @@ nng_pipe nng_msg_get_pipe(nng_msg *msg);
## DESCRIPTION
-The `nng_msg_get_pipe()` returns the [`nng_pipe`](../conn/nng_pipe.md) object
-associated with message _msg_.
+The `nng_msg_get_pipe()` returns the [`nng_pipe`][pipe] object
+associated with [message][msg] _msg_.
On receive, this is the pipe from which a message was received.
On transmit, this would be the pipe that the message should be delivered
to, if a specific peer is required.
@@ -27,7 +27,7 @@ The most usual use case for this is to obtain information about the peer
from which the message was received.
This can be used to provide different behaviors for different peers, such as
a higher level of authentication for peers located on an untrusted network.
-The [`nng_pipe_get()`](../conn/nng_pipe_get.md) function
+The [`nng_pipe_get()`][nng_pipe_get] function
is useful in this situation.
## RETURN VALUES
@@ -39,6 +39,8 @@ no specific pipe is associated with the message.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_set_pipe](nng_msg_set_pipe.md),
-[nng_pipe_get](../conn/nng_pipe_get.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_set_pipe][nng_msg_set_pipe],
+[nng_pipe_get][nng_pipe_get]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_header.md b/docs/reference/src/msg/nng_msg_header.md
index 7a75464d..7b072c18 100644
--- a/docs/reference/src/api/msg/nng_msg_header.md
+++ b/docs/reference/src/msg/nng_msg_header.md
@@ -14,13 +14,13 @@ void *nng_msg_header(nng_msg *msg);
## DESCRIPTION
-The `nng_msg_header()` function returns a pointer to the start of the header
-content of the message _msg_.
+The `nng_msg_header()` function returns a pointer to the start of the {{i:header}}
+content of the [message][msg] _msg_.
> [!NOTE]
> The message header contains protocol-specific header content. Most
> applications should not need to access this content, but it is available
-> for [raw](../../overview/raw.md) mode sockets.
+> for [raw mode][raw] sockets.
> [!NOTE]
> The value returned by this is invalidated by a call to any of the
@@ -32,11 +32,13 @@ Pointer to start of message header.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_body](nng_msg_body.md),
-[nng_msg_free](nng_msg_free.md),
-[nng_msg_header_append](nng_msg_header_append.md),
-[nng_msg_header_chop](nng_msg_header_chop.md),
-[nng_msg_header_insert](nng_msg_header_insert.md)
-[nng_msg_header_len](nng_msg_header_len.md),
-[nng_msg_header_trim](nng_msg_header_trim.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_body][nng_msg_body],
+[nng_msg_free][nng_msg_free],
+[nng_msg_header_append][nng_msg_header_append],
+[nng_msg_header_chop][nng_msg_header_chop],
+[nng_msg_header_insert][nng_msg_header_insert]
+[nng_msg_header_len][nng_msg_header_len],
+[nng_msg_header_trim][nng_msg_header_trim]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_header_append.md b/docs/reference/src/msg/nng_msg_header_append.md
index f87649a5..6799bfac 100644
--- a/docs/reference/src/api/msg/nng_msg_header_append.md
+++ b/docs/reference/src/msg/nng_msg_header_append.md
@@ -18,7 +18,7 @@ int nng_msg_header_append_u64(nng_msg *msg, uint64_t val64);
## DESCRIPTION
The `nng_msg_header_append()` family of functions appends data to
-the end of the headers of message _msg_, reallocating it if necessary.
+the end of the header of [message][msg] _msg_, reallocating it if necessary.
The first function appends _size_ bytes, copying them from _val_.
The remaining functions append the value (such as _val32_) in
@@ -34,8 +34,10 @@ These functions return 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_header](nng_msg_body.md),
-[nng_msg_header_chop](nng_msg_header_chop.md),
-[nng_msg_header_insert](nng_msg_header_insert.md)
-[nng_msg_header_len](nng_msg_header_len.md),
-[nng_msg_header_trim](nng_msg_header_trim.md)
+[nng_msg_header][nng_msg_body],
+[nng_msg_header_chop][nng_msg_header_chop],
+[nng_msg_header_insert][nng_msg_header_insert]
+[nng_msg_header_len][nng_msg_header_len],
+[nng_msg_header_trim][nng_msg_header_trim]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_header_chop.md b/docs/reference/src/msg/nng_msg_header_chop.md
index 9419d88f..c95242dc 100644
--- a/docs/reference/src/api/msg/nng_msg_header_chop.md
+++ b/docs/reference/src/msg/nng_msg_header_chop.md
@@ -18,7 +18,7 @@ int nng_msg_header_chop_u64(nng_msg *msg, uint64_t *val64);
## DESCRIPTION
The `nng_msg_header_chop()` family of functions removes
-data from the end of the header of message _msg_.
+data from the end of the header of [message][msg] _msg_.
The first function removes _size_ bytes.
The remaining functions remove 2, 4, or 8 bytes, and stores them in the value
(such as _val32_),
@@ -35,8 +35,10 @@ These function return 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_header](nng_msg_body.md),
-[nng_msg_header_append](nng_msg_header_append.md),
-[nng_msg_header_insert](nng_msg_header_insert.md)
-[nng_msg_header_len](nng_msg_header_len.md),
-[nng_msg_header_trim](nng_msg_header_trim.md)
+[nng_msg_header][nng_msg_body],
+[nng_msg_header_append][nng_msg_header_append],
+[nng_msg_header_insert][nng_msg_header_insert]
+[nng_msg_header_len][nng_msg_header_len],
+[nng_msg_header_trim][nng_msg_header_trim]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_header_clear.md b/docs/reference/src/msg/nng_msg_header_clear.md
index 7f3b8387..5ffb4ed7 100644
--- a/docs/reference/src/api/msg/nng_msg_header_clear.md
+++ b/docs/reference/src/msg/nng_msg_header_clear.md
@@ -14,9 +14,11 @@ void nng_msg_header_clear(nng_msg *msg);
## DESCRIPTION
-The `nng_msg_clear()` function resets the header length of _msg_ to zero.
+The `nng_msg_clear()` function resets the header length of [messaage][msg] _msg_ to zero.
## SEE ALSO
-[nng_msg_header](nng_msg_header.md),
-[nng_msg_header_len](nng_msg_header_len.md)
+[nng_msg_header][nng_msg_header],
+[nng_msg_header_len][nng_msg_header_len]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_header_insert.md b/docs/reference/src/msg/nng_msg_header_insert.md
index 07124fd9..211bcb05 100644
--- a/docs/reference/src/api/msg/nng_msg_header_insert.md
+++ b/docs/reference/src/msg/nng_msg_header_insert.md
@@ -18,7 +18,7 @@ int nng_msg_header_insert_u64(nng_msg *msg, uint64_t val64);
## DESCRIPTION
The `nng_msg_header_insert()` family of functions
-prepends data to the front of the headers of message _msg_, reallocating
+prepends data to the front of the headers of [message][msg] _msg_, reallocating
if necessary.
The first function prepends _size_ bytes, copying them from _val_.
The remaining functions prepend the specified value (such as _val32_) in
@@ -34,8 +34,10 @@ These functions return 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_header](nng_msg_body.md),
-[nng_msg_header_append](nng_msg_header_append.md)
-[nng_msg_header_chop](nng_msg_header_chop.md),
-[nng_msg_header_len](nng_msg_header_len.md),
-[nng_msg_header_trim](nng_msg_header_trim.md)
+[nng_msg_header][nng_msg_header],
+[nng_msg_header_append][nng_msg_header_append]
+[nng_msg_header_chop][nng_msg_header_chop],
+[nng_msg_header_len][nng_msg_header_len],
+[nng_msg_header_trim][nng_msg_header_trim]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_header_len.md b/docs/reference/src/msg/nng_msg_header_len.md
index 51bbf537..65d4fb1b 100644
--- a/docs/reference/src/api/msg/nng_msg_header_len.md
+++ b/docs/reference/src/msg/nng_msg_header_len.md
@@ -14,7 +14,7 @@ size_t nng_msg_header_len(nng_msg *msg);
## DESCRIPTION
-The `nng_msg_header_len()` returns the length of message header of _msg_.
+The `nng_msg_header_len()` returns the length of the header of [message][msg] _msg_.
## RETURN VALUES
@@ -22,4 +22,6 @@ Length of message header.
## SEE ALSO
-[nng_msg_header](nng_msg_header)
+[nng_msg_header][nng_msg_header]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_header_trim.md b/docs/reference/src/msg/nng_msg_header_trim.md
index ef596dbc..4824e7aa 100644
--- a/docs/reference/src/api/msg/nng_msg_header_trim.md
+++ b/docs/reference/src/msg/nng_msg_header_trim.md
@@ -18,7 +18,7 @@ int nng_msg_header_trim_u64(nng_msg *msg, uint64_t *val64);
## DESCRIPTION
The `nng_msg_header_trim()` family of functions remove
-data from the start of the header of message _msg_.
+data from the start of the header of [message][msg] _msg_.
The first function removes _size_ bytes.
The remaining functions removes 2, 4, or 8 bytes, and stores them in the
value (such as _val32_),
@@ -35,8 +35,10 @@ This function returns 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_header](nng_msg_body.md),
-[nng_msg_header_append](nng_msg_header_append.md),
-[nng_msg_header_chop](nng_msg_header_chop.md)
-[nng_msg_header_insert](nng_msg_header_insert.md)
-[nng_msg_header_len](nng_msg_header_len.md),
+[nng_msg_header][nng_msg_body],
+[nng_msg_header_append][nng_msg_header_append],
+[nng_msg_header_chop][nng_msg_header_chop]
+[nng_msg_header_insert][nng_msg_header_insert]
+[nng_msg_header_len][nng_msg_header_len],
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_insert.md b/docs/reference/src/msg/nng_msg_insert.md
index a369d3c4..23cee46f 100644
--- a/docs/reference/src/api/msg/nng_msg_insert.md
+++ b/docs/reference/src/msg/nng_msg_insert.md
@@ -18,7 +18,7 @@ int nng_msg_insert_u64(nng_msg *msg, uint64_t val64);
## DESCRIPTION
The `nng_msg_insert()` family of functions prepends data to
-the front of the body of message _msg_, reallocating it if necessary.
+the front of the body of [message][msg] _msg_, reallocating it if necessary.
The first function prepends _size_ bytes, copying them from _val_.
The remaining functions prepend the specified value (such as _val32_)
in network-byte order (big-endian).
@@ -39,15 +39,17 @@ These functions return 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_append](nng_msg_append.md),
-[nng_msg_body](nng_msg_body.md),
-[nng_msg_capacity](nng_msg_capacity.md),
-[nng_msg_chop](nng_msg_chop.md),
-[nng_msg_clear](nng_msg_chop.md),
-[nng_msg_free](nng_msg_free.md),
-[nng_msg_insert](nng_msg_insert.md),
-[nng_msg_len](nng_msg_len.md),
-[nng_msg_reserve](nng_msg_reserve.md),
-[nng_msg_realloc](nng_msg_realloc.md),
-[nng_msg_trim](nng_msg_trim.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_append][nng_msg_append],
+[nng_msg_body][nng_msg_body],
+[nng_msg_capacity][nng_msg_capacity],
+[nng_msg_chop][nng_msg_chop],
+[nng_msg_clear][nng_msg_chop],
+[nng_msg_free][nng_msg_free],
+[nng_msg_insert][nng_msg_insert],
+[nng_msg_len][nng_msg_len],
+[nng_msg_reserve][nng_msg_reserve],
+[nng_msg_realloc][nng_msg_realloc],
+[nng_msg_trim][nng_msg_trim]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_len.md b/docs/reference/src/msg/nng_msg_len.md
index c470955c..7a165138 100644
--- a/docs/reference/src/api/msg/nng_msg_len.md
+++ b/docs/reference/src/msg/nng_msg_len.md
@@ -14,7 +14,7 @@ size_t nng_msg_len(nng_msg *msg);
## DESCRIPTION
-The `nng_msg_len()` returns the length of the body of message _msg_.
+The `nng_msg_len()` returns the length of the body of [message][msg] _msg_.
## RETURN VALUES
@@ -24,3 +24,5 @@ Length of message body.
[nng_msg_alloc](nng_msg_alloc),
[nng_msg_body](nng_msg_body)
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_realloc.md b/docs/reference/src/msg/nng_msg_realloc.md
index 66d113aa..82c55cb6 100644
--- a/docs/reference/src/api/msg/nng_msg_realloc.md
+++ b/docs/reference/src/msg/nng_msg_realloc.md
@@ -14,18 +14,18 @@ int nng_msg_realloc(nng_msg *msg, size_t size);
## DESCRIPTION
-The `nng_msg_realloc()` function re-allocates a message so that it has
-a body of length _size_.
+The `nng_msg_realloc()` function re-allocates a [message][] so that it has
+a {{i:body}} of length _size_.
This message attempts to avoid extra allocations,
and will reuse the existing memory when possible.
TIP: `nng_msg_realloc` is suitable for creating space for direct writing of data.
-When appending many small pieces of data to a message using [`nng_msg_append()`](nng_msg_append.md),
+When appending many small pieces of data to a message using [`nng_msg_append()`][nng_msg_append],
allocations may be reduced by first using
-[`nng_msg_reserve()`](nng_msg_reserve.md)
+[`nng_msg_reserve()`][nng_msg_reserve]
to create sufficient space.
In any case, reallocating or appending to a message is guaranteed to succeed if the resulting
-body length is less than [`nng_msg_capacity()`](nng_msg_capacity.md).
+body length is less than [`nng_msg_capacity()`][nng_msg_capacity].
> [!NOTE]
> Pointers to message body and header content obtained prior to this
@@ -42,12 +42,14 @@ This function returns 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_reserve](nng_msg_reserve.md),
-[nng_msg_append](nng_msg_append.md),
-[nng_msg_body](nng_msg_body.md),
-[nng_msg_chop](nng_msg_chop.md),
-[nng_msg_free](nng_msg_free.md),
-[nng_msg_insert](nng_msg_insert.md),
-[nng_msg_len](nng_msg_len.md),
-[nng_msg_trim](nng_msg_trim.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_reserve][nng_msg_reserve],
+[nng_msg_append][nng_msg_append],
+[nng_msg_body][nng_msg_body],
+[nng_msg_chop][nng_msg_chop],
+[nng_msg_free][nng_msg_free],
+[nng_msg_insert][nng_msg_insert],
+[nng_msg_len][nng_msg_len],
+[nng_msg_trim][nng_msg_trim]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_reserve.md b/docs/reference/src/msg/nng_msg_reserve.md
index 2d96ac8b..c6accd19 100644
--- a/docs/reference/src/api/msg/nng_msg_reserve.md
+++ b/docs/reference/src/msg/nng_msg_reserve.md
@@ -14,13 +14,13 @@ int nng_msg_reserve(nng_msg *msg, size_t capacity);
## DESCRIPTION
-The `nng_msg_reserve()` function ensures a message has allocated enough storage
+The `nng_msg_reserve()` function ensures a [message][msg] has allocated enough storage
to accommodate a body of the given length.
This message attempts to avoid extra allocations,
and will reuse the existing memory when possible.
> [!TIP]
-> Using this message before [`nng_msg_append()`](nng_msg_append.md)
+> Using this message before [`nng_msg_append()`][nng_msg_append]
> will prevent additional memory allocations until the message's length exceeds
> the alotted capacity.
@@ -39,8 +39,10 @@ This function returns 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_append](nng_msg_append.md),
-[nng_msg_capacity](nng_msg_capacity.md),
-[nng_msg_insert](nng_msg_insert.md),
-[nng_msg_len](nng_msg_len.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_append][nng_msg_append],
+[nng_msg_capacity][nng_msg_capacity],
+[nng_msg_insert][nng_msg_insert],
+[nng_msg_len][nng_msg_len]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_set_pipe.md b/docs/reference/src/msg/nng_msg_set_pipe.md
index 58f339ca..5e2f60d5 100644
--- a/docs/reference/src/api/msg/nng_msg_set_pipe.md
+++ b/docs/reference/src/msg/nng_msg_set_pipe.md
@@ -14,10 +14,10 @@ void nng_msg_set_pipe(nng_msg *msg, nng_pipe p);
## DESCRIPTION
-The `nng_msg_set_pipe()` sets the pipe associated with message _m_ to _p_.
+The `nng_msg_set_pipe()` sets the [pipe][pipe] associated with [message][msg] _m_ to _p_.
This is most often useful when used with protocols that support directing
a message to a specific peer.
-For example the [_PAIR_](../protocols/pair.md) version 1 protocol can do
+For example the [_PAIR_][pair] version 1 protocol can do
this when `NNG_OPT_PAIR1_POLY` mode is set.
> [!NOTE]
@@ -25,5 +25,7 @@ this when `NNG_OPT_PAIR1_POLY` mode is set.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_get_pipe](nng_msg_get_pipe.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_get_pipe][nng_msg_get_pipe]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/msg/nng_msg_trim.md b/docs/reference/src/msg/nng_msg_trim.md
index c0b8f694..258fe4c1 100644
--- a/docs/reference/src/api/msg/nng_msg_trim.md
+++ b/docs/reference/src/msg/nng_msg_trim.md
@@ -18,7 +18,7 @@ int nng_msg_trim_u64(nng_msg *msg, uint64_t *val64);
## DESCRIPTION
The `nng_msg_trim()` family of functions removes data from
-the start of the body of message _msg_.
+the start of the body of [message][msg] _msg_.
The first function removes _size_ bytes.
The remaining functions remove 2, 4, or 8 bytes, and stores them in the value
(such as _val32_),
@@ -35,14 +35,16 @@ These functions return 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_msg_alloc](nng_msg_alloc.md),
-[nng_msg_append](nng_msg_alloc.md),
-[nng_msg_body](nng_msg_body.md),
-[nng_msg_capacity](nng_msg_capacity.md),
-[nng_msg_chop](nng_msg_chop.md)
-[nng_msg_clear](nng_msg_chop.md),
-[nng_msg_free](nng_msg_free.md),
-[nng_msg_insert](nng_msg_insert.md),
-[nng_msg_len](nng_msg_len.md),
-[nng_msg_reserve](nng_msg_reserve.md),
-[nng_msg_realloc](nng_msg_realloc.md)
+[nng_msg_alloc][nng_msg_alloc],
+[nng_msg_append][nng_msg_alloc],
+[nng_msg_body][nng_msg_body],
+[nng_msg_capacity][nng_msg_capacity],
+[nng_msg_chop][nng_msg_chop]
+[nng_msg_clear][nng_msg_chop],
+[nng_msg_free][nng_msg_free],
+[nng_msg_insert][nng_msg_insert],
+[nng_msg_len][nng_msg_len],
+[nng_msg_reserve][nng_msg_reserve],
+[nng_msg_realloc][nng_msg_realloc]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/refs.md b/docs/reference/src/refs.md
index d1201354..2b4b0b65 100644
--- a/docs/reference/src/refs.md
+++ b/docs/reference/src/refs.md
@@ -3,8 +3,11 @@
[context]: ../overview/context.md
[device]: ../overview/device.md
[duration]: ../overview/duration.md
-[msg]: ../overview/msg.md
+[msg]: ../msg/index.md
[pipe]: ../overview/pipe.md
+[sockadddr]: ../overview/sockaddr.md
+[sockaddr_in]: ../overview/sockaddr_in.md
+[sockaddr_in6]: ../overview/sockaddr_in6.md
[raw]: ../overview/raw.md
[url]: ../overview/url.md
@@ -25,8 +28,6 @@
[nng_bus_open]: ../api/nng_bus_open.md
[nng_ctx_open]: ../api/nng_ctx_open.md
-[nng_msg_get_pipe]: ../api/nng_msg_get_pipe.md
-[nng_msg_set_pipe]: ../api/nng_msg_set_pipe.md
[nng_pair_open]: ../api/nng_pair_open.md
[nng_pub_open]: ../api/nng_pub_open.md
[nng_pull_open]: ../api/nng_pull_open.md
@@ -38,10 +39,40 @@
[nng_surveyor_open]: ../api/nng_surveyor_open.md
[nng_sub_open]: ../api/nng_sub_open.md
+<!-- Messages -->
+
+[nng_msg_alloc]: ../nng_msg_alloc.md
+[nng_msg_append]: ../msg/nng_msg_append.md
+[nng_msg_body]: ../msg/nng_msg_body.md
+[nng_msg_capacity]: ../msg/nng_msg_capacity.md
+[nng_msg_chop]: ../msg/nng_msg_chop.md
+[nng_msg_clear]: ../msg/nng_msg_clear.md
+[nng_msg_dup]: ../msg/nng_msg_dup.md
+[nng_msg_free]: ../msg/nng_msg_free.md
+[nng_msg_get_pipe]: ../msg/nng_msg_get_pipe.md
+[nng_msg_header]: ../msg/nng_msg_header.md
+[nng_msg_header_append]: ../msg/nng_msg_header_append.md
+[nng_msg_header_chop]: ../msg/nng_msg_header_chop.md
+[nng_msg_header_clear]: ../msg/nng_msg_header_clear.md
+[nng_msg_header_insert]: ../msg/nng_msg_header_insert.md
+[nng_msg_header_len]: ../msg/nng_msg_header_len.md
+[nng_msg_header_trim]: ../msg/nng_msg_header_trim.md
+[nng_msg_insert]: ../msg/nng_msg_insert.md
+[nng_msg_len]: ../msg/nng_msg_len.md
+[nng_msg_realloc]: ../msg/nng_msg_realloc.md
+[nng_msg_reserve]: ../msg/nng_msg_reserve.md
+[nng_msg_set_pipe]: ../msg/nng_msg_set_pipe.md
+[nng_msg_trim]: ../msg/nng_msg_trim.md
+
<!-- Options -->
[NNG_OPT_MAXTTL]: ../opts/nng_opt_max_ttl.md
[NNG_OPT_SENDBUF]: ../opts/nng_opt_sendbuf.md
+[NNG_OPT_LOCADDR]: ../opts/nng_opt_locaddr.md
+[NNG_OPT_REMADDR]: ../api/nng_options.md#NNG_OPT_REMADDR
+[NNG_OPT_TCP_KEEPALIVE]: ../api/nng_tcp_options.md#NNG_OPT_TCP_KEEPALIVE
+[NNG_OPT_TCP_NODELAY]: ../api/nng_tcp_options.md#NNG_OPT_TCP_NODELAY
+[NNG_OPT_URL]: ../api/nng_options.md#NNG_OPT_URL
<!-- External -->
diff --git a/docs/reference/src/api/threads/nng_cv_alloc.md b/docs/reference/src/thr/nng_cv_alloc.md
index faa18ba4..8545958a 100644
--- a/docs/reference/src/api/threads/nng_cv_alloc.md
+++ b/docs/reference/src/thr/nng_cv_alloc.md
@@ -17,16 +17,16 @@ int nng_cv_alloc(nng_cv **cvp, nng_mtx *mtx);
## DESCRIPTION
-The `nng_cv_alloc()` function allocates a condition variable, using
+The `nng_cv_alloc()` function allocates a {{i:condition variable}}, using
the mutex _mtx_, and returns it in _cvp_.
Every condition variable is associated with a mutex, which must be
owned when a thread waits for the condition using
-[`nng_cv_wait()`](nng_cv_wait.md) or
-[`nng_cv_until()`](nng_cv_until.md).
+[`nng_cv_wait()`][nng_cv_wait] or
+[`nng_cv_until()`][nng_cv_until].
The mutex must also be owned when signaling the condition using the
-[`nng_cv_wake()`](nng_cv_wake.md) or
-[`nng_cv_wake1()`](nng_cv_wake1.md) functions.
+[`nng_cv_wake()`][nng_cv_wake] or
+[`nng_cv_wake1()`][nng_cv_wake1] functions.
## RETURN VALUES
@@ -38,9 +38,11 @@ This function returns 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_cv_free](nng_cv_free.md),
-[nng_cv_until](nng_cv_until.md),
-[nng_cv_wait](nng_cv_wait.md),
-[nng_cv_wake](nng_cv_wake.md),
-[nng_cv_wake1](nng_cv_wake1.md),
-[nng_mtx_alloc](nng_mtx_alloc.md)
+[nng_cv_free][nng_cv_free],
+[nng_cv_until][nng_cv_until],
+[nng_cv_wait][nng_cv_wait],
+[nng_cv_wake][nng_cv_wake],
+[nng_cv_wake1][nng_cv_wake1],
+[nng_mtx_alloc][nng_mtx_alloc]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/threads/nng_cv_free.md b/docs/reference/src/thr/nng_cv_free.md
index f7103f66..d2de68af 100644
--- a/docs/reference/src/api/threads/nng_cv_free.md
+++ b/docs/reference/src/thr/nng_cv_free.md
@@ -19,4 +19,6 @@ The `nng_cv_free()` function frees the condition variable _cv_.
## SEE ALSO
-[nng_cv_alloc](nng_cv_alloc.md)
+[nng_cv_alloc][nng_cv_alloc]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/threads/nng_cv_until.md b/docs/reference/src/thr/nng_cv_until.md
index 620b46b7..dde512c1 100644
--- a/docs/reference/src/api/threads/nng_cv_until.md
+++ b/docs/reference/src/thr/nng_cv_until.md
@@ -17,8 +17,8 @@ int nng_cv_until(nng_cv *cv, nng_time when);
The `nng_cv_until()` waits until either the condition variable _cv_ is signaled
by another thread calling either
-[`nng_cv_wake()`](nng_cv_wake.md) or
-[`nng_cv_wake1()`](nng_cv_wake1.md), or the system clock (as tracked
+[`nng_cv_wake()`][nng_cv_wake] or
+[`nng_cv_wake1()`][nng_cv_wake1], or the system clock (as tracked
by [`nng_clock()`](../util/nng_clock.md)) reaches _when_.
The caller must have have ownership of the mutex that was used when
@@ -66,10 +66,12 @@ The following example demonstrates use of this function:
## SEE ALSO
[nng_clock()](../util/nng_clock.md),
-[nng_cv_alloc()](nng_cv_alloc.md),
-[nng_cv_wait()](nng_cv_wait.md),
-[nng_cv_wake()](nng_cv_wake.md),
-[nng_cv_wake1()](nng_cv_wake1.md),
-[nng_mtx_alloc()](nng_mtx_alloc.md),
-[nng_mtx_lock()](nng_mtx_lock.md),
-[nng_mtx_unlock()](nng_mtx_unlock.md)
+[nng_cv_alloc()][nng_cv_alloc],
+[nng_cv_wait()][nng_cv_wait],
+[nng_cv_wake()][nng_cv_wake],
+[nng_cv_wake1()][nng_cv_wake1],
+[nng_mtx_alloc()][nng_mtx_alloc],
+[nng_mtx_lock()][nng_mtx_lock],
+[nng_mtx_unlock()][nng_mtx_unlock]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/threads/nng_cv_wait.md b/docs/reference/src/thr/nng_cv_wait.md
index d384201c..bf5f13a5 100644
--- a/docs/reference/src/api/threads/nng_cv_wait.md
+++ b/docs/reference/src/thr/nng_cv_wait.md
@@ -16,8 +16,8 @@ void nng_cv_wait(nng_cv *cv);
## DESCRIPTION
The `nng_cv_wait()` waits for the condition variable _cv_ to be signaled
-by another thread calling either [`nng_cv_wake()`](nng_cv_wake.md) or
-[`nng_cv_wake1()`](nng_cv_wake1.md).
+by another thread calling either [`nng_cv_wake()`][nng_cv_wake] or
+[`nng_cv_wake1()`][nng_cv_wake1].
The caller must have have ownership of the mutex that was used when
_cv_ was allocated.
@@ -59,10 +59,12 @@ The following example demonstrates use of this function:
## SEE ALSO
-[nng_cv_alloc](nng_cv_alloc.md),
-[nng_cv_until](nng_cv_until.md),
-[nng_cv_wake](nng_cv_wake.md),
-[nng_cv_wake1](nng_cv_wake1.md),
-[nng_mtx_alloc](nng_mtx_alloc.md),
-[nng_mtx_lock](nng_mtx_lock.md),
-[nng_mtx_unlock](nng_mtx_unlock.md)
+[nng_cv_alloc][nng_cv_alloc],
+[nng_cv_until][nng_cv_until],
+[nng_cv_wake][nng_cv_wake],
+[nng_cv_wake1][nng_cv_wake1],
+[nng_mtx_alloc][nng_mtx_alloc],
+[nng_mtx_lock][nng_mtx_lock],
+[nng_mtx_unlock][nng_mtx_unlock]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/threads/nng_cv_wake.md b/docs/reference/src/thr/nng_cv_wake.md
index 8d0d2fbd..b01f27d5 100644
--- a/docs/reference/src/api/threads/nng_cv_wake.md
+++ b/docs/reference/src/thr/nng_cv_wake.md
@@ -16,8 +16,8 @@ void nng_cv_wake(nng_cv *cv);
## DESCRIPTION
The `nng_cv_wake()` wakes any threads waiting for the condition variable _cv_
-to be signaled in the [`nng_cv_wait()`](nng_cv_wait.md) or
-[`nng_cv_until()`](nng_cv_until.md) functions.
+to be signaled in the [`nng_cv_wait()`][nng_cv_wait] or
+[`nng_cv_until()`][nng_cv_until] functions.
The caller must have have ownership of the mutex that was used when
_cv_ was allocated.
@@ -29,14 +29,16 @@ will check, while holding the mutex.
> This function wakes all threads, which is generally safer but can
> lead to a performance problem when there are many waiters, as they are all
> woken simultaneously and may contend for resources.
-> See [`nng_cv_wake1()`](nng_cv_wake1.md) for a solution to this problem.
+> See [`nng_cv_wake1()`][nng_cv_wake1] for a solution to this problem.
## SEE ALSO
-[nng_cv_alloc](nng_cv_alloc.md),
-[nng_cv_until](nng_cv_until.md),
-[nng_cv_wait](nng_cv_wait.md),
-[nng_cv_wake1](nng_cv_wake1.md),
-[nng_mtx_alloc](nng_mtx_alloc.md),
-[nng_mtx_lock](nng_mtx_lock.md),
-[nng_mtx_unlock](nng_mtx_unlock.md)
+[nng_cv_alloc][nng_cv_alloc],
+[nng_cv_until][nng_cv_until],
+[nng_cv_wait][nng_cv_wait],
+[nng_cv_wake1][nng_cv_wake1],
+[nng_mtx_alloc][nng_mtx_alloc],
+[nng_mtx_lock][nng_mtx_lock],
+[nng_mtx_unlock][nng_mtx_unlock]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/threads/nng_cv_wake1.md b/docs/reference/src/thr/nng_cv_wake1.md
index 09b31755..4464d9bb 100644
--- a/docs/reference/src/api/threads/nng_cv_wake1.md
+++ b/docs/reference/src/thr/nng_cv_wake1.md
@@ -17,8 +17,8 @@ void nng_cv_wake1(nng_cv *cv);
The `nng_cv_wake1()` wakes at most one thread waiting for the condition
variable _cv_
-to be signaled in the [`nng_cv_wait()`](nng_cv_wait.md) or
-[`nng_cv_until()`](nng_cv_until.md) functions.
+to be signaled in the [`nng_cv_wait()`][nng_cv_wait] or
+[`nng_cv_until()`][nng_cv_until] functions.
The caller must have have ownership of the mutex that was used when
_cv_ was allocated.
@@ -29,14 +29,16 @@ will check, while holding the mutex.
> [!NOTE]
> The caller cannot predict which waiter will be woken, and so the design must
> ensure that it is sufficient that _any_ waiter be woken.
-> When in doubt, it is safer to use [`nng_cv_wake()`](nng_cv_wake.md).
+> When in doubt, it is safer to use [`nng_cv_wake()`][nng_cv_wake].
## SEE ALSO
-[nng_cv_alloc](nng_cv_alloc.md),
-[nng_cv_until](nng_cv_until.md),
-[nng_cv_wait](nng_cv_wait.md),
-[nng_cv_wake](nng_cv_wake.md),
-[nng_mtx_alloc](nng_mtx_alloc.md),
-[nng_mtx_lock](nng_mtx_lock.md),
-[nng_mtx_unlock](nng_mtx_unlock.md)
+[nng_cv_alloc][nng_cv_alloc],
+[nng_cv_until][nng_cv_until],
+[nng_cv_wait][nng_cv_wait],
+[nng_cv_wake][nng_cv_wake],
+[nng_mtx_alloc][nng_mtx_alloc],
+[nng_mtx_lock][nng_mtx_lock],
+[nng_mtx_unlock][nng_mtx_unlock]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/threads/nng_mtx_alloc.md b/docs/reference/src/thr/nng_mtx_alloc.md
index 64263d59..c4c38562 100644
--- a/docs/reference/src/api/threads/nng_mtx_alloc.md
+++ b/docs/reference/src/thr/nng_mtx_alloc.md
@@ -2,7 +2,7 @@
## NAME
-nng_mtx_alloc - allocate mutex
+nng_mtx_alloc --- allocate mutex
## SYNOPSIS
@@ -17,7 +17,7 @@ int nng_mtx_alloc(nng_mtx **mtxp);
## DESCRIPTION
-The `nng_mtx_alloc()` function allocates mutex and returns it in _mtxp_.
+The `nng_mtx_alloc()` function allocates {{i:mutex}} and returns it in _mtxp_.
The mutex objects created by this function are suitable only for
simple lock and unlock operations, and are not recursive.
@@ -38,7 +38,9 @@ This function returns 0 on success, and non-zero otherwise.
## SEE ALSO
-[nng_cv_alloc](nng_cv_alloc.md),
-[nng_mtx_free](nng_mtx_free.md),
-[nng_mtx_lock](nng_mtx_lock.md),
-[nng_mtx_unlock](nng_mtx_unlock.md)
+[nng_cv_alloc][nng_cv_alloc],
+[nng_mtx_free][nng_mtx_free],
+[nng_mtx_lock][nng_mtx_lock],
+[nng_mtx_unlock][nng_mtx_unlock]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/threads/nng_mtx_free.md b/docs/reference/src/thr/nng_mtx_free.md
index a6fe7d7b..ac759331 100644
--- a/docs/reference/src/api/threads/nng_mtx_free.md
+++ b/docs/reference/src/thr/nng_mtx_free.md
@@ -21,3 +21,5 @@ The mutex must not be locked when this function is called.
## SEE ALSO
[nng_mtx_alloc](nng_mtx_alloc)
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/threads/nng_mtx_lock.md b/docs/reference/src/thr/nng_mtx_lock.md
index 2e50f010..be84afe8 100644
--- a/docs/reference/src/api/threads/nng_mtx_lock.md
+++ b/docs/reference/src/thr/nng_mtx_lock.md
@@ -17,7 +17,7 @@ void nng_mtx_lock(nng_mtx *mtx);
The `nng_mtx_lock()` acquires exclusive ownership of the mutex _mtx_.
If the lock is already owned, this function will wait until the current
-owner releases it with [`nng_mtx_unlock()`](nng_mtx_unlock.md).
+owner releases it with [`nng_mtx_unlock()`][nng_mtx_unlock].
If multiple threads are waiting for the lock, the order of acquisition
is not specified.
@@ -33,6 +33,8 @@ is not specified.
## SEE ALSO
-[nng_cv_alloc](nng_cv_alloc.md),
-[nng_mtx_alloc](nng_mtx_alloc.md),
-[nng_mtx_unlock](nng_mtx_unlock.md)
+[nng_cv_alloc][nng_cv_alloc],
+[nng_mtx_alloc][nng_mtx_alloc],
+[nng_mtx_unlock][nng_mtx_unlock]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/api/threads/nng_mtx_unlock.md b/docs/reference/src/thr/nng_mtx_unlock.md
index d5815287..60fe2f4f 100644
--- a/docs/reference/src/api/threads/nng_mtx_unlock.md
+++ b/docs/reference/src/thr/nng_mtx_unlock.md
@@ -16,7 +16,7 @@ void nng_mtx_unlock(nng_mtx *mtx);
## DESCRIPTION
The `nng_mtx_unlock()` relinquishes ownership of the mutex _mtx_ that
-was previously acquired via [`nng_mtx_lock()`](nng_mtx_lock.md).
+was previously acquired via [`nng_mtx_lock()`][nng_mtx_lock].
> [!NOTE]
> A mutex can _only_ be unlocked by the thread that locked it.
@@ -27,3 +27,5 @@ was previously acquired via [`nng_mtx_lock()`](nng_mtx_lock.md).
[nng_mtx_alloc](nng_mtx_alloc),
[nng_mtx_lock](nng_mtx_lock)
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/tran/index.md b/docs/reference/src/tran/index.md
new file mode 100644
index 00000000..2e61d68d
--- /dev/null
+++ b/docs/reference/src/tran/index.md
@@ -0,0 +1,13 @@
+# Transports
+
+This chapter provides information about the various transports that _NNG_ supports. {{hi:transport}}
+Transports may be thought of as different underlying communications
+technologies, such as TCP, Websockets, and so forth.
+
+## INPROC
+
+The [{{i:*inproc* transport}}][inproc] provides {{i: intra-process}} communication within a single process.
+
+## TCP
+
+The [{{i:*tcp* transport}}][tcp] provides communication over {{i:TCP/IP}} networks.
diff --git a/docs/reference/src/transports/inproc.md b/docs/reference/src/tran/inproc.md
index 4f3e88b6..bf5ae8d6 100644
--- a/docs/reference/src/transports/inproc.md
+++ b/docs/reference/src/tran/inproc.md
@@ -1,8 +1,6 @@
# INPROC Transport
-{{hi:transport, _inproc_}}
-{{hi:intra-process}}
-The {{i:_inproc_ transport}} provides communication support between
+The {{i:*inproc* transport}}{{hi:*inproc*}}{{intra-process}} provides communication support between
sockets within the same process.
This may be used as an alternative
to slower transports when data must be moved within the same process.
@@ -12,8 +10,7 @@ light-weight.
## URI Format
-{{hi:URI, `inproc://`}}
-This transport uses URIs using the scheme `inproc://`, followed by
+This transport uses URIs using the scheme {{i:`inproc://`}}, followed by
an arbitrary string of text, terminated by a `NUL` byte.
Multiple URIs can be used within the
@@ -48,3 +45,5 @@ the _inproc_ transport to communicate across this boundary.
This limitation also extends to using different instances of the _NNG_
library within the same process.
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/transports/tcp.md b/docs/reference/src/tran/tcp.md
index a710ea23..8085a978 100644
--- a/docs/reference/src/transports/tcp.md
+++ b/docs/reference/src/tran/tcp.md
@@ -3,7 +3,7 @@
The {{i:*tcp* transport}}{{hi:*tcp*}} provides communication support between
sockets across a {{i:TCP/IP}} network.
-Both IPv4 and IPv6 are supported when the underlying platform also supports it.
+Both IPv4 and {{i:IPv6}} are supported when the underlying platform also supports it.
## URI Format
@@ -53,18 +53,20 @@ The entire URI must be less than `NNG_MAXADDRLEN` bytes long.
## Socket Address
-When using an [`nng_sockaddr`](../api/nng_sockaddr.md) structure,
+When using an [`nng_sockaddr`][sockaddr] structure,
the actual structure is either of type
-[`nng_sockaddr_in`](../api/nng_sockaddr_in.md) (for IPv4) or
-[`nng_sockaddr_in6`](../api/nng_sockaddr_in6.md) (for IPv6).
+[`nng_sockaddr_in`][sockaddr_in] (for IPv4) or
+[`nng_sockaddr_in6`][sockaddr_in6] (for IPv6).
## Transport Options
The following transport options are supported by this transport,
where supported by the underlying platform.
-- [`NNG_OPT_LOCADDR`](../api/nng_options.md#NNG_OPT_LOCADDR)
-- [`NNG_OPT_REMADDR`](../api/nng_options.md#NNG_OPT_REMADDR)
-- [`NNG_OPT_TCP_KEEPALIVE`](../api/nng_tcp_options.md#NNG_OPT_TCP_KEEPALIVE)
-- [`NNG_OPT_TCP_NODELAY`](../api/nng_tcp_options.md#NNG_OPT_TCP_NODELAY)
-- [`NNG_OPT_URL`](../api/nng_options.md#NNG_OPT_URL)
+- [`NNG_OPT_LOCADDR`][NNG_OPT_LOCADDR]
+- [`NNG_OPT_REMADDR`][NNG_OPT_REMADDR]
+- [`NNG_OPT_TCP_KEEPALIVE`][NNG_OPT_TCP_KEEPALIVE]
+- [`NNG_OPT_TCP_NODELAY`][NNG_OPT_TCP_NODELAY]
+- [`NNG_OPT_URL`][NNG_OPT_URL]
+
+{{#include ../refs.md}}
diff --git a/docs/reference/src/transports/index.md b/docs/reference/src/transports/index.md
deleted file mode 100644
index c7d74d80..00000000
--- a/docs/reference/src/transports/index.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Transports
-
-This chapter provides information about the various transports that _NNG_ supports.
-Transports may be thought of as different underlying communications
-technologies, such as TCP, Websockets, and so forth.