[`nng_alloc`]: /api/memory.md#allocate-memory [`nng_free`]: /api/memory.md#deallocate-memory [`nng_strdup`]: /api/memory.md#duplicate-string [`nng_strfree`]: /api/memory.md#free-string [`nng_time`]: /api/time.md#time-type [`nng_duration`]: /api/time.md#duration-type [`nng_clock`]: /api/time.md#get-the-current-time [`nng_msleep`]: /api/time.md#wait-for-duration [`nng_msg`]: /api/msg.md#message-structure [`nng_msg_alloc`]: /api/msg.md#create-a-message [`nng_msg_free`]: /api/msg.md#destroy-a-message [`nng_msg_body`]: /api/msg.md#message-body [`nng_msg_len`]: /api/msg.md#message-body [`nng_msg_clear`]: /api/msg.md#clear-the-body [`nng_msg_capacity`]: /api/msg.md#message-size-and-capacity [`nng_msg_realloc`]: /api/msg.md#message-size-and-capacity [`nng_msg_reserve`]: /api/msg.md#message-size-and-capacity [`nng_msg_append`]: /api/msg.md#add-to-body [`nng_msg_insert`]: /api/msg.md#add-to-body [`nng_msg_chop`]: /api/msg.md#consume-from-body [`nng_msg_trim`]: /api/msg.md#consume-from-body [`nng_msg_header`]: /api/msg.md#message-header [`nng_msg_header_len`]: /api/msg.md#message-header [`nng_msg_header_append`]: /api/msg.md#append-or-insert-header [`nng_msg_header_insert`]: /api/msg.md#append-or-insert-header [`nng_msg_header_clear`]: /api/msg.md#clear-the-header [`nng_msg_pipe`]: /api/msg.md#message-pipe [`nng_url`]: /api/url.md#url-structure [`nng_url_parse`]: /api/url.md#parse-a-url [`nng_url_free`]: /api/url.md#destroy-a-url [`nng_url_sprintf`]: /api/url.md#format-a-url [`nng_url_scheme`]: /api/url.md#url-fields [`nng_url_userinfo`]: /api/url.md#url-fields [`nng_url_hostname`]: /api/url.md#url-fields [`nng_url_port`]: /api/url.md#url-fields [`nng_url_path`]: /api/url.md#url-fields [`nng_url_query`]: /api/url.md#url-fields [`nng_url_fragment`]: /api/url.md#url-fields [`nng_url_clone`]: /api/url.md#clone-a-url [`nng_url_free`]: /api/url.md#destroy-a-url [`nng_url_resolve_port`]: /api/url.md#update-a-url-port [`nng_socket_pair`]: /api/misc.md#create-socket-pair [`nng_random`]: /api/misc.md#get-random-number [`nng_version`]: /api/misc.md#report-library-version [`nng_mtx`]: /api/synch.md#mutual-exclusion-lock [`nng_mtx_alloc`]: /api/synch.md#creating-a-mutex [`nng_mtx_free`]: /api/synch.md#destroying-a-mutex [`nng_mtx_lock`]: /api/synch.md#acquiring-a-mutex [`nng_mtx_unlock`]: /api/synch.md#releasing-a-mutex [`nng_cv`]: /api/synch.md#condition-variable [`nng_cv_alloc`]: /api/synch.md#creating-a-condition-variable [`nng_cv_free`]: /api/synch.md#destroy-a-condition-variable [`nng_cv_until`]: /api/synch.md#waiting-for-the-condition [`nng_cv_wait`]: /api/synch.md#waiting-for-the-condition [`nng_cv_wake`]: /api/synch.md#signaling-the-condition [`nng_cv_wake1`]: /api/synch.md#signaling-the-condition [`nng_stat`]: /api/stats.md#statistic-structure [`nng_stats_get`]: /api/stats.md#collecting-a-snapshot [`nng_stats_free`]: /api/stats.md#freeing-a-snapshot [`nng_stat_find`]: /api/stats.md#finding-a-statistic [`nng_stat_find_dialer`]: /api/stats.md#finding-a-statistic [`nng_stat_find_listener`]: /api/stats.md#finding-a-statistic [`nng_stat_find_socket`]: /api/stats.md#finding-a-statistic [`nng_stat_name`]: /api/stats.md#statistic-identification [`nng_stat_desc`]: /api/stats.md#statistic-identification [`nng_stat_type`]: /api/stats.md#statistic-type [`nng_stats_free`]: /api/stats.md#freeing-a-snapshot [`nng_stat_value`]: /api/stats.md#statistic-value [`nng_stat_bool`]: /api/stats.md#statistic-value [`nng_stat_string`]: /api/stats.md#statistic-value [`nng_stat_unit`]: /api/stats.md#statistic-units [`nng_stat_next`]: /api/stats.md#traversing-the-three [`nng_stat_child`]: /api/stats.md#traversing-the-tree [`nng_stat_parent`]: /api/stats.md#traversing-the-tree [`nng_stat_timestamp`]: /api/stats.md#statistic-timestamp [`nng_id_set`]: /api/id_map.md#store-a-value [`nng_strerror`]: /api/errors.md#human-readable-error-message [`nng_aio`]: /api/aio.md#asynchronous-io-handle [`nng_aio_alloc`]: /api/aio.md#create-handle [`nng_aio_free`]: /api/aio.md#destroy-handle [`nng_sleep_aio`]: /api/time.md@wait-asynchronously [`nng_aio`]: /api/aio.md#asynchronous-i-o-handle [`nng_aio_cancel`]: /api/aio.md#cancellation [`nng_aio_abort`]: /api/aio.md#cancellation [`nng_aio_stop`]: /api/aio.md#cancellation [`nng_aio_wait`]: /api/aio.md#wait-for-completion [`nng_aio_busy`]: /api/aio.md#test-for-completion [`nng_aio_result`]: /api/aio.md#result-of-operation [`nng_aio_get_msg`]: /api/aio.md#messages [`nng_aio_set_msg`]: /api/aio.md#messages [`nng_aio_count`]: /api/aio.md#result-of-operation [`nng_aio_set_timeout`]: /api/aio.md#set-timeout [`nng_aio_set_iov`]: /api/aio.md#scatter-gather-vectors [`nng_iov`]: /api/aio.md#scatter-gather-vectors [`nng_socket_id`]: /api/sock.md#socket-identity [`nng_socket_raw`]: /api/sock.md#socket-identity [`nng_socket_close`]: /api/sock.md#closing-a-socket [`nng_socket_proto_id`]: /api/sock.md#socket-identity [`nng_socket_proto_name`]: /api/sock.md#socket-identity [`nng_socket_peer_id`]: /api/sock.md#socket-identity [`nng_socket_peer_name`]: /api/sock.md#socket-identity [`nng_socket_get_recv_poll_fd`]: /api/sock.md#polling-socket-events [`nng_socket_get_send_poll_fd`]: /api/sock.md#polling-socket-events [`nng_stream`]: /api/stream.md#stream-type [`nng_stream_send`]: /api/stream.md#sending-and-receiving-data [`nng_stream_recv`]: /api/stream.md#sending-and-receiving-data [`nng_stream_close`]: /api/stream.md#closing-a-stream [`nng_stream_stop`]: /api/stream.md#closing-a-stream [`nng_stream_free`]: /api/stream.md#closing-a-stream [`nng_stream_get`]: /api/stream.md#getting-stream-options [`nng_stream_get_bool`]: /api/stream.md#getting-stream-options [`nng_stream_get_int`]: /api/stream.md#getting-stream-options [`nng_stream_get_ms`]: /api/stream.md#getting-stream-options [`nng_stream_get_size`]: /api/stream.md#getting-stream-options [`nng_stream_get_addr`]: /api/stream.md#getting-stream-options [`nng_stream_get_string`]: /api/stream.md#getting-stream-options [`nng_stream_get_uint64`]: /api/stream.md#getting-stream-options [`nng_init`]: /api/init.md#initialization [`nng_fini`]: /api/init.md#finalization [`nng_sub0_ctx_subscribe`]: /TODO.md [`nng_sub0_ctx_unsubscribe`]: /TODO.md [`nng_sub0_socket_subscribe`]: /TODO.md [`nng_sub0_socket_unsubscribe`]: /TODO.md [`nng_bus0_open`]: /api/sock.md#opening-a-socket [`nng_pair0_open`]: /api/sock.md#opening-a-socket [`nng_pair1_open`]: /api/sock.md#opening-a-socket [`nng_pair1_poly_open`]: /api/sock.md#opening-a-socket [`nng_pub0_open`]: /api/sock.md#opening-a-socket [`nng_pull0_open`]: /api/sock.md#opening-a-socket [`nng_push0_open`]: /api/sock.md#opening-a-socket [`nng_rep0_open`]: /api/sock.md#opening-a-socket [`nng_req0_open`]: /api/sock.md#opening-a-socket [`nng_respondent0_open`]: /api/sock.md#opening-a-socket [`nng_sub0_open`]: /api/sock.md#opening-a-socket [`nng_surveyor0_open`]: /api/sock.md#opening-a-socket [`nng_bus0_open_raw`]: /api/sock.md#raw-mode-sockets [`nng_pub0_open_raw`]: /api/sock.md#raw-mode-sockets [`nng_pair0_open_raw`]: /api/sock.md#raw-mode-sockets [`nng_pair1_open_raw`]: /api/sock.md#raw-mode-sockets [`nng_pull0_open_raw`]: /api/sock.md#raw-mode-sockets [`nng_push0_open_raw`]: /api/sock.md#raw-mode-sockets [`nng_rep0_open_raw`]: /api/sock.md#raw-mode-sockets [`nng_req0_open_raw`]: /api/sock.md#raw-mode-sockets [`nng_sub0_open_raw`]: /api/sock.md#raw-mode-sockets [`nng_surveyor0_open_raw`]: /api/sock.md#raw-mode-sockets [`nng_dialer_set_tls`]: /TODO.md [`nng_dialer_get_tls`]: /TODO.md [`nng_listener_set_tls`]: /TODO.md [`nng_listener_get_tls`]: /TODO.md [`nng_stream_dialer_set_tls`]: /TODO.md [`nng_stream_dialer_get_tls`]: /TODO.md [`nng_stream_listener_set_tls`]: /TODO.md [`nng_stream_listener_get_tls`]: /TODO.md [`nng_opts_parse`]: /api/cmd_opts.md#parse-command-line-options [`nng_aio_finish`]: /TODO.md [`nng_aio_reset`]: /TODO.md [`nng_aio_start`]: /TODO.md [`nng_aio_set_output`]: /TODO.md [`nng_send`]: /TODO.md [`nng_recv`]: /TODO.md [`nng_listener_get_url`]: /TODO.md [`nng_dialer_get_url`]: /TODO.md [`nng_tls_config`]: /TODO.md [`nng_tls_config_own_cert`]: /TODO.md [`nng_listener_set_security_descriptor`]: /TODO.md [`nng_device`]: /TODO.md [`nng_dial`]: /TODO.md [`nng_dialer_create`]: /TODO.md [`nng_dialer_close`]: /TODO.md [`nng_listen`]: /TODO.md [`nng_listener_create`]: /TODO.md [`nng_listener_close`]: /TODO.md [`nng_socket_set`]: /TODO.md [`nng_socket_get`]: /TODO.md [`nng_send`]: /TODO.md [`nng_recv`]: /TODO.md [`nng_sendmsg`]: /TODO.md [`nng_recvmsg`]: /TODO.md [`NNG_EINTR`]: /api/errors.md#NNG_EINTR [`NNG_ENOMEM`]: /api/errors.md#NNG_ENOMEM [`NNG_EINVAL`]: /api/errors.md#NNG_EINVAL [`NNG_EBUSY`]: /api/errors.md#NNG_EBUSY [`NNG_ETIMEDOUT`]: /api/errors.md#NNG_ETIMEDOUT [`NNG_ECONNREFUSED`]: /api/errors.md#NNG_ECONNREFUSED [`NNG_ECLOSED`]: /api/errors.md#NNG_ECLOSED [`NNG_EPROTO`]: /api/errors.md#NNG_EPROTO [`NNG_EAGAIN`]: /api/errors.md#NNG_EAGAIN [`NNG_ENOTSUP`]: /api/errors.md#NNG_ENOTSUP [`NNG_EADDRINUSE`]: /api/errors.md#NNG_EADDRINUSE [`NNG_ESTATE`]: /api/errors.md#NNG_ESTATE [`NNG_ENOENT`]: /api/errors.md#NNG_ENOENT [`NNG_EUNREACHABLE`]: /api/errors.md#NNG_EUNREACHABLE [`NNG_EADDRINVAL`]: /api/errors.md#NNG_EADDRINVAL [`NNG_EPERM`]: /api/errors.md#NNG_EPERM [`NNG_EMSGSIZE`]: /api/errors.md#NNG_EMSGSIZE [`NNG_ECONNABORTED`]: /api/errors.md#NNG_ECONNABORTED [`NNG_ECONNRESET`]: /api/errors.md#NNG_ECONNRESET [`NNG_ECANCELED`]: /api/errors.md#NNG_ECANCELED [`NNG_ENOFILES`]: /api/errors.md#NNG_ENOFILES [`NNG_ENOSPC`]: /api/errors.md#NNG_ENOSPC [`NNG_EEXIST`]: /api/errors.md#NNG_EEXIST [`NNG_EREADONLY`]: /api/errors.md#NNG_EREADONLY [`NNG_EWRITEONLY`]: /api/errors.md#NNG_EWRITEONLY [`NNG_ECRYPTO`]: /api/errors.md#NNG_ECRYPTO [`NNG_EPEERAUTH`]: /api/errors.md#NNG_EPEERAUTH [`NNG_ENOARG`]: /api/errors.md#NNG_ENOARG [`NNG_EAMBIGUOUS`]: /api/errors.md#NNG_EAMBIGUOUS [`NNG_EBADTYPE`]: /api/errors.md#NNG_EBADTYPE [`NNG_ECONNSHUT`]: /api/errors.md#NNG_ECONNSHUT [`NNG_EINTERNAL`]: /api/errors.md#NNG_EINTERNAL [`NNG_ESTOPPED`]: /api/errors.md#NNG_ESTOPPED [`NNG_ESYSERR`]: /api/errors.md#NNG_ESYSERR [`NNG_ETRANERR`]: /api/errors.md#NNG_ETRANERR [`NNG_DURATION_INFINITE`]: /api/time.md#duration-type [`NNG_DURATION_DEFAULT`]: /api/time.md#duration-type [`NNG_DURATION_ZERO`]: /api/time.md#duration-type [`NNG_MAJOR_VERSION`]: /api/misc.md#report-library-version [`NNG_MINOR_VERSION`]: /api/misc.md#report-library-version [`NNG_PATCH_VERSION`]: /api/misc.md#report-library-version [`NNG_STAT_ID`]: /api/stats.md#NNG_STAT_ID [`NNG_STAT_COUNTER`]: /api/stats.md#NNG_STAT_COUNTER [`NNG_STAT_LEVEL`]: /api/stats.md#NNG_STAT_LEVEL [`NNG_STAT_SCOPE`]: /api/stats.md#NNG_STAT_SCOPE [`NNG_STAT_STRING`]: /api/stats.md#NNG_STAT_STRING [`NNG_STAT_BOOLEAN`]: /api/stats.md#NNG_STAT_BOOLEAN [`NNG_UNIT_NONE`]: /api/stats.md#statistic-units [`NNG_UNIT_BYTES`]: /api/stats.md#statistic-units [`NNG_UNIT_MESSAGES`]: /api/stats.md#statistic-units [`NNG_UNIT_MILLIS`]: /api/stats.md#statistic-units [`NNG_UNIT_EVENTS`]: /api/stats.md#statistic-units [`NNG_FLAG_ALLOC`]: /TODO.md [`NNG_FLAG_NONBLOCK`]: /TODO.md [`NNG_OPT_MAXTTL`]: /TODO.md [`NNG_OPT_RECONNMAXT`]: /TODO.md [`NNG_OPT_RECONNMINT`]: /TODO.md [`NNG_OPT_SENDTIMEO`]: /TODO.md [`NNG_OPT_RECVTIMEO`]: /TODO.md [`NNG_OPT_SENDBUF`]: /TODO.md [`NNG_OPT_RECVBUF`]: /TODO.md [bus]: /proto/bus.md [pair]: /proto/pair.md [pub]: /proto/pub.md [sub]: /proto/sub.md [pull]: /proto/pull.md [push]: /proto/push.md [req]: /proto/req.md [rep]: /proto/rep.md [surveyor]: /proto/surveyor.md [respondent]: /proto/respondent.md [socktran]: /tran/socket.md [ipc]: /tran/ipc.md [inproc]: /tran/inproc.md [tcp]: /tran/tcp.md [udp]: /tran/udp.md [aio]: /api/aio.md [raw]: /api/sock.md#raw-mode-sockets [pipe]: /TODO.md [socket]: /TODO.md [context]: /TODO.md [dialer]: /TODO.md [listener]: /TODO.md [message]: /api/msg.md [stream]: /api/stream.md [message-body]: /api/msg.md#message-body [message-header]: /api/msg.md#message-header [synchronization]: /api/synch.md [mutex]: /api/synch.md#mutual-exclusion-lock [condvar]: /api/synch.md#condition-variable [thread]: /api/thread.md [statistic]: /api/stats.md [time]: /api/time.md [error]: /api/errors.md [duration]: /api/time.md#duration-type [polyamorous]: /proto/pair.md#polyamorous-mode