[`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_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_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_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_count`]: /api/aio.md#result-of-operation [`nng_aio_set_timeout`]: /api/aio.md#set-timeout [`nng_socket_id`]: /api/sock.md#socket-identity [`nng_socket_raw`]: /api/sock.md#socket-identity [`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_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_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_begin`]: /TODO.md [`nng_aio_defer`]: /TODO.md [`nng_aio_finish`]: /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_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_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 [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]: /TODO.md [pipe]: /TODO.md [socket]: /TODO.md [context]: /TODO.md [dialer]: /TODO.md [listener]: /TODO.md [message]: /api/msg.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