diff --git a/.gitignore b/.gitignore index bc41b0ca..802c254b 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,6 @@ autom4te.cache *.html *.pdf *.ps -.* *~ .*~ tools/curve_keygen.o diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..28fed794 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,37 @@ +# +# libzmq readthedocs.io integration +# +# This configuration file is processed by readthedocs.io to rebuild the +# libzmq documentation using Asciidoctor, see +# https://docs.readthedocs.io/en/stable/build-customization.html#asciidoc + +version: "2" + +formats: + - htmlzip + +build: + os: "ubuntu-22.04" + tools: + nodejs: "20" + # NOTE: as of Nov 2023, build.apt_packages is NOT considered when using build.commands + #apt_packages: + # - automake + # - autoconf + # - cmake + # - libtool + commands: + # install required tools + - npm install -g asciidoctor + + # HTML docs + # --------- + - doc/create_page_list.sh "$(pwd)/doc/__pagelist" "$(pwd)/doc" + - asciidoctor --backend html --destination-dir $READTHEDOCS_OUTPUT/html --attribute zmq_version='4.0.10' --attribute zmq_pagelist_dir=$(pwd)/doc doc/*.txt + + # HTMLZIP docs + # ------------ + # Note that for usability we make sure zip will create a zipfile containing just a flat list of HTML files; + # to achieve that it's important to avoid storing absolute paths when invoking "zip", thus we use -j + - mkdir -p $READTHEDOCS_OUTPUT/htmlzip/ + - cd $READTHEDOCS_OUTPUT/html && zip -j ../htmlzip/zeromq.zip *.html \ No newline at end of file diff --git a/doc/create_page_list.sh b/doc/create_page_list.sh new file mode 100755 index 00000000..05d34c5c --- /dev/null +++ b/doc/create_page_list.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# This Bash snippet is used to automatically generate an alphabetical list included by index.adoc +# It's invoked by at least 2 callers: +# - the Makefile[.am] for automake builds +# - the ReadTheDocs pipeline, see .readthedocs.yaml + +OUTPUT_FILE="$1" +ASCIIDOC_DIR="$2" + +echo >$OUTPUT_FILE +for adocfile in $(ls ${ASCIIDOC_DIR}/*.txt); do + adocfile_basename=$(basename ${adocfile}) + + # this script is used to produce an Asciidoc snippet that goes inside index.adoc... avoid listing index.adoc itself! + if [ "${adocfile_basename}" != "index.txt" ]; then + adocfile_basename_noext=${adocfile_basename//.txt/} + echo "* link:${adocfile_basename_noext}.html[${adocfile_basename_noext}]" >>$OUTPUT_FILE + fi +done \ No newline at end of file diff --git a/doc/index.txt b/doc/index.txt new file mode 100644 index 00000000..e0d2a312 --- /dev/null +++ b/doc/index.txt @@ -0,0 +1,9 @@ +ZMQ API reference +================= + +This documentation is for libzmq {zmq_version}. + +Alphabetic list of documentation pages +-------------------------------------- + +include::{zmq_pagelist_dir}/__pagelist[] diff --git a/doc/zmq.txt b/doc/zmq.txt index 2f63edb5..0febf7fc 100644 --- a/doc/zmq.txt +++ b/doc/zmq.txt @@ -35,22 +35,22 @@ you exit your application you must destroy the 'context'. These functions let you work with 'contexts': Create a new 0MQ context:: - linkzmq:zmq_ctx_new[3] + link:zmq_ctx_new.html[zmq_ctx_new] Work with context properties:: - linkzmq:zmq_ctx_set[3] - linkzmq:zmq_ctx_get[3] + link:zmq_ctx_set.html[zmq_ctx_set] + link:zmq_ctx_get.html[zmq_ctx_get] Destroy a 0MQ context:: - linkzmq:zmq_ctx_term[3] + link:zmq_ctx_term.html[zmq_ctx_term] These deprecated functions let you create and destroy 'contexts': Initialise 0MQ context:: - linkzmq:zmq_init[3] + link:zmq_init.html[zmq_init] Terminate 0MQ context:: - linkzmq:zmq_term[3] + link:zmq_term.html[zmq_term] Thread safety @@ -85,68 +85,68 @@ data. The following functions are provided to work with messages: Initialise a message:: - linkzmq:zmq_msg_init[3] - linkzmq:zmq_msg_init_size[3] - linkzmq:zmq_msg_init_data[3] + link:zmq_msg_init.html[zmq_msg_init] + link:zmq_msg_init_size.html[zmq_msg_init_size] + link:zmq_msg_init_data.html[zmq_msg_init_data] Sending and receiving a message:: - linkzmq:zmq_msg_send[3] - linkzmq:zmq_msg_recv[3] + link:zmq_msg_send.html[zmq_msg_send] + link:zmq_msg_recv.html[zmq_msg_recv] Release a message:: - linkzmq:zmq_msg_close[3] + link:zmq_msg_close.html[zmq_msg_close] Access message content:: - linkzmq:zmq_msg_data[3] - linkzmq:zmq_msg_size[3] - linkzmq:zmq_msg_more[3] + link:zmq_msg_data.html[zmq_msg_data] + link:zmq_msg_size.html[zmq_msg_size] + link:zmq_msg_more.html[zmq_msg_more] Work with message properties:: - linkzmq:zmq_msg_get[3] - linkzmq:zmq_msg_set[3] + link:zmq_msg_get.html[zmq_msg_get] + link:zmq_msg_set.html[zmq_msg_set] Message manipulation:: - linkzmq:zmq_msg_copy[3] - linkzmq:zmq_msg_move[3] + link:zmq_msg_copy.html[zmq_msg_copy] + link:zmq_msg_move.html[zmq_msg_move] Sockets ~~~~~~~ 0MQ sockets present an abstraction of a asynchronous _message queue_, with the exact queueing semantics depending on the socket type in use. See -linkzmq:zmq_socket[3] for the socket types provided. +link:zmq_socket.html[zmq_socket] for the socket types provided. The following functions are provided to work with sockets: Creating a socket:: - linkzmq:zmq_socket[3] + link:zmq_socket.html[zmq_socket] Closing a socket:: - linkzmq:zmq_close[3] + link:zmq_close.html[zmq_close] Manipulating socket options:: - linkzmq:zmq_getsockopt[3] - linkzmq:zmq_setsockopt[3] + link:zmq_getsockopt.html[zmq_getsockopt] + link:zmq_setsockopt.html[zmq_setsockopt] Establishing a message flow:: - linkzmq:zmq_bind[3] - linkzmq:zmq_connect[3] + link:zmq_bind.html[zmq_bind] + link:zmq_connect.html[zmq_connect] Sending and receiving messages:: - linkzmq:zmq_msg_send[3] - linkzmq:zmq_msg_recv[3] - linkzmq:zmq_send[3] - linkzmq:zmq_recv[3] - linkzmq:zmq_send_const[3] + link:zmq_msg_send.html[zmq_msg_send] + link:zmq_msg_recv.html[zmq_msg_recv] + link:zmq_send.html[zmq_send] + link:zmq_recv.html[zmq_recv] + link:zmq_send_const.html[zmq_send_const] Monitoring socket events: - linkzmq:zmq_socket_monitor[3] + link:zmq_socket_monitor.html[zmq_socket_monitor] .Input/output multiplexing 0MQ provides a mechanism for applications to multiplex input/output events over a set containing both 0MQ sockets and standard sockets. This mechanism mirrors the standard _poll()_ system call, and is described in detail in -linkzmq:zmq_poll[3]. +link:zmq_poll.html[zmq_poll]. Transports @@ -158,16 +158,16 @@ advantages and drawbacks. The following transport mechanisms are provided: Unicast transport using TCP:: - linkzmq:zmq_tcp[7] + link:zmq_tcp.html[zmq_tcp] Reliable multicast transport using PGM:: - linkzmq:zmq_pgm[7] + link:zmq_pgm.html[zmq_pgm] Local inter-process communication transport:: - linkzmq:zmq_ipc[7] + link:zmq_ipc.html[zmq_ipc] Local in-process (inter-thread) communication transport:: - linkzmq:zmq_inproc[7] + link:zmq_inproc.html[zmq_inproc] Proxies @@ -175,7 +175,7 @@ Proxies 0MQ provides 'proxies' to create fanout and fan-in topologies. A proxy connects a 'frontend' socket to a 'backend' socket and switches all messages between the two sockets, opaquely. A proxy may optionally capture all traffic to a third -socket. To start a proxy in an application thread, use linkzmq:zmq_proxy[3]. +socket. To start a proxy in an application thread, use link:zmq_proxy.html[zmq_proxy]. Security @@ -186,22 +186,22 @@ security mechanism. The following security mechanisms are provided for IPC and TCP connections: Null security:: - linkzmq:zmq_null[7] + link:zmq_null.html[zmq_null] Plain-text authentication using username and password:: - linkzmq:zmq_plain[7] + link:zmq_plain.html[zmq_plain] Elliptic curve authentication and encryption:: - linkzmq:zmq_curve[7] + link:zmq_curve.html[zmq_curve] Generate a CURVE keypair in armored text format: - linkzmq:zmq_curve_keypair[3] + link:zmq_curve_keypair.html[zmq_curve_keypair] Convert an armored key into a 32-byte binary key: - linkzmq:zmq_z85_decode[3] + link:zmq_z85_decode.html[zmq_z85_decode] Convert a 32-byte binary CURVE key to an armored text string: - linkzmq:zmq_z85_encode[3] + link:zmq_z85_encode.html[zmq_z85_encode] ERROR HANDLING @@ -214,10 +214,10 @@ shall return either a NULL value (if returning a pointer) or a negative value On non-POSIX systems some users may experience issues with retrieving the correct value of the 'errno' variable. The _zmq_errno()_ function is provided -to assist in these cases; for details refer to linkzmq:zmq_errno[3]. +to assist in these cases; for details refer to link:zmq_errno.html[zmq_errno]. The _zmq_strerror()_ function is provided to translate 0MQ-specific error codes -into error message strings; for details refer to linkzmq:zmq_strerror[3]. +into error message strings; for details refer to link:zmq_strerror.html[zmq_strerror]. MISCELLANEOUS @@ -225,7 +225,7 @@ MISCELLANEOUS The following miscellaneous functions are provided: Report 0MQ library version:: - linkzmq:zmq_version[3] + link:zmq_version.html[zmq_version] LANGUAGE BINDINGS diff --git a/doc/zmq_bind.txt b/doc/zmq_bind.txt index 8b53e156..a3d323fe 100644 --- a/doc/zmq_bind.txt +++ b/doc/zmq_bind.txt @@ -23,17 +23,17 @@ The 'endpoint' is a string consisting of a 'transport'`://` followed by an 0MQ provides the the following transports: -'tcp':: unicast transport using TCP, see linkzmq:zmq_tcp[7] -'ipc':: local inter-process communication transport, see linkzmq:zmq_ipc[7] -'inproc':: local in-process (inter-thread) communication transport, see linkzmq:zmq_inproc[7] -'pgm', 'epgm':: reliable multicast transport using PGM, see linkzmq:zmq_pgm[7] +'tcp':: unicast transport using TCP, see link:zmq_tcp.html[zmq_tcp] +'ipc':: local inter-process communication transport, see link:zmq_ipc.html[zmq_ipc] +'inproc':: local in-process (inter-thread) communication transport, see link:zmq_inproc.html[zmq_inproc] +'pgm', 'epgm':: reliable multicast transport using PGM, see link:zmq_pgm.html[zmq_pgm] Every 0MQ socket type except 'ZMQ_PAIR' supports one-to-many and many-to-one semantics. The precise semantics depend on the socket type and are defined in -linkzmq:zmq_socket[3]. +link:zmq_socket.html[zmq_socket]. -The 'ipc' and 'tcp' transports accept wildcard addresses: see linkzmq:zmq_ipc[7] -and linkzmq:zmq_tcp[7] for details. +The 'ipc' and 'tcp' transports accept wildcard addresses: see link:zmq_ipc.html[zmq_ipc] +and link:zmq_tcp.html[zmq_tcp] for details. NOTE: the address syntax may be different for _zmq_bind()_ and _zmq_connect()_ especially for the 'tcp', 'pgm' and 'epgm' transports. @@ -41,7 +41,7 @@ especially for the 'tcp', 'pgm' and 'epgm' transports. NOTE: following a _zmq_bind()_, the socket enters a 'mute' state unless or until at least one incoming or outgoing connection is made, at which point the socket enters a 'ready' state. In the mute state, the socket blocks or -drops messages according to the socket type, as defined in linkzmq:zmq_socket[3]. +drops messages according to the socket type, as defined in link:zmq_socket.html[zmq_socket]. By contrast, following a libzmq:zmq_connect[3], the socket enters the 'ready' state. @@ -91,9 +91,9 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_connect[3] -linkzmq:zmq_socket[3] -linkzmq:zmq[7] +link:zmq_connect.html[zmq_connect] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_close.txt b/doc/zmq_close.txt index 1b851586..c5b3aaf3 100644 --- a/doc/zmq_close.txt +++ b/doc/zmq_close.txt @@ -23,7 +23,7 @@ _ZMQ_LINGER_ socket option for the specified 'socket'. NOTE: The default setting of _ZMQ_LINGER_ does not discard unsent messages; this behaviour may cause the application to block when calling _zmq_term()_. -For details refer to linkzmq:zmq_setsockopt[3] and linkzmq:zmq_term[3]. +For details refer to link:zmq_setsockopt.html[zmq_setsockopt] and link:zmq_term.html[zmq_term]. RETURN VALUE @@ -40,10 +40,10 @@ The provided 'socket' was invalid. SEE ALSO -------- -linkzmq:zmq_socket[3] -linkzmq:zmq_term[3] -linkzmq:zmq_setsockopt[3] -linkzmq:zmq[7] +link:zmq_socket.html[zmq_socket] +link:zmq_term.html[zmq_term] +link:zmq_setsockopt.html[zmq_setsockopt] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_connect.txt b/doc/zmq_connect.txt index 408a3fad..1d90c679 100644 --- a/doc/zmq_connect.txt +++ b/doc/zmq_connect.txt @@ -23,14 +23,14 @@ The 'endpoint' is a string consisting of a 'transport'`://` followed by an 0MQ provides the the following transports: -'tcp':: unicast transport using TCP, see linkzmq:zmq_tcp[7] -'ipc':: local inter-process communication transport, see linkzmq:zmq_ipc[7] -'inproc':: local in-process (inter-thread) communication transport, see linkzmq:zmq_inproc[7] -'pgm', 'epgm':: reliable multicast transport using PGM, see linkzmq:zmq_pgm[7] +'tcp':: unicast transport using TCP, see link:zmq_tcp.html[zmq_tcp] +'ipc':: local inter-process communication transport, see link:zmq_ipc.html[zmq_ipc] +'inproc':: local in-process (inter-thread) communication transport, see link:zmq_inproc.html[zmq_inproc] +'pgm', 'epgm':: reliable multicast transport using PGM, see link:zmq_pgm.html[zmq_pgm] Every 0MQ socket type except 'ZMQ_PAIR' supports one-to-many and many-to-one semantics. The precise semantics depend on the socket type and are defined in -linkzmq:zmq_socket[3]. +link:zmq_socket.html[zmq_socket]. NOTE: for most transports and socket types the connection is not performed immediately but as needed by 0MQ. Thus a successful call to _zmq_connect()_ @@ -45,7 +45,7 @@ NOTE: following a _zmq_connect()_, for socket types except for ZMQ_ROUTER, the socket enters its normal 'ready' state. By contrast, following a _zmq_bind()_ alone, the socket enters a 'mute' state in which the socket blocks or drops messages according to the socket type, as defined in -linkzmq:zmq_socket[3]. A ZMQ_ROUTER socket enters its normal 'ready' state +link:zmq_socket.html[zmq_socket]. A ZMQ_ROUTER socket enters its normal 'ready' state for a specific peer only when handshaking is complete for that peer, which may take an arbitrary time. @@ -89,9 +89,9 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_bind[3] -linkzmq:zmq_socket[3] -linkzmq:zmq[7] +link:zmq_bind.html[zmq_bind] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_ctx_destroy.txt b/doc/zmq_ctx_destroy.txt index 9b24119d..9b6fc4e3 100644 --- a/doc/zmq_ctx_destroy.txt +++ b/doc/zmq_ctx_destroy.txt @@ -34,9 +34,9 @@ Context termination is performed in the following steps: option has expired. For further details regarding socket linger behavior refer to the _ZMQ_LINGER_ -option in linkzmq:zmq_setsockopt[3]. +option in link:zmq_setsockopt.html[zmq_setsockopt]. -This function is deprecated by linkzmq:zmq_ctx_term[3]. +This function is deprecated by link:zmq_ctx_term.html[zmq_ctx_term]. RETURN VALUE @@ -55,10 +55,10 @@ Termination was interrupted by a signal. It can be restarted if needed. SEE ALSO -------- -linkzmq:zmq[7] -linkzmq:zmq_init[3] -linkzmq:zmq_close[3] -linkzmq:zmq_setsockopt[3] +link:zmq.html[zmq] +link:zmq_init.html[zmq_init] +link:zmq_close.html[zmq_close] +link:zmq_setsockopt.html[zmq_setsockopt] AUTHORS diff --git a/doc/zmq_ctx_get.txt b/doc/zmq_ctx_get.txt index 980a2a90..e2a164d8 100644 --- a/doc/zmq_ctx_get.txt +++ b/doc/zmq_ctx_get.txt @@ -62,8 +62,8 @@ assert (max_sockets == 256); SEE ALSO -------- -linkzmq:zmq_ctx_set[3] -linkzmq:zmq[7] +link:zmq_ctx_set.html[zmq_ctx_set] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_ctx_new.txt b/doc/zmq_ctx_new.txt index a04ab8c5..6e05e3d6 100644 --- a/doc/zmq_ctx_new.txt +++ b/doc/zmq_ctx_new.txt @@ -16,7 +16,7 @@ DESCRIPTION ----------- The _zmq_ctx_new()_ function creates a new 0MQ 'context'. -This function replaces the deprecated function linkzmq:zmq_init[3]. +This function replaces the deprecated function link:zmq_init.html[zmq_init]. .Thread safety A 0MQ 'context' is thread safe and may be shared among as many application @@ -38,10 +38,10 @@ No error values are defined for this function. SEE ALSO -------- -linkzmq:zmq[7] -linkzmq:zmq_ctx_set[3] -linkzmq:zmq_ctx_get[3] -linkzmq:zmq_ctx_term[3] +link:zmq.html[zmq] +link:zmq_ctx_set.html[zmq_ctx_set] +link:zmq_ctx_get.html[zmq_ctx_get] +link:zmq_ctx_term.html[zmq_ctx_term] AUTHORS diff --git a/doc/zmq_ctx_set.txt b/doc/zmq_ctx_set.txt index 461444bc..35ba514c 100644 --- a/doc/zmq_ctx_set.txt +++ b/doc/zmq_ctx_set.txt @@ -77,8 +77,8 @@ assert (max_sockets == 256); SEE ALSO -------- -linkzmq:zmq_ctx_get[3] -linkzmq:zmq[7] +link:zmq_ctx_get.html[zmq_ctx_get] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_ctx_shutdown.txt b/doc/zmq_ctx_shutdown.txt index 0ddd760b..ca55c987 100644 --- a/doc/zmq_ctx_shutdown.txt +++ b/doc/zmq_ctx_shutdown.txt @@ -21,7 +21,7 @@ sockets open within 'context' to return immediately with an error code of ETERM. With the exception of _zmq_close()_, any further operations on sockets open within 'context' shall fail with an error code of ETERM. -This function is optional, client code is still required to call the linkzmq:zmq_ctx_term[3] +This function is optional, client code is still required to call the link:zmq_ctx_term.html[zmq_ctx_term] function to free all resources allocated by zeromq. @@ -39,11 +39,11 @@ The provided 'context' was invalid. SEE ALSO -------- -linkzmq:zmq[7] -linkzmq:zmq_init[3] -linkzmq:zmq_ctx_term[3] -linkzmq:zmq_close[3] -linkzmq:zmq_setsockopt[3] +link:zmq.html[zmq] +link:zmq_init.html[zmq_init] +link:zmq_ctx_term.html[zmq_ctx_term] +link:zmq_close.html[zmq_close] +link:zmq_setsockopt.html[zmq_setsockopt] AUTHORS diff --git a/doc/zmq_ctx_term.txt b/doc/zmq_ctx_term.txt index 44c667bc..0884cd44 100644 --- a/doc/zmq_ctx_term.txt +++ b/doc/zmq_ctx_term.txt @@ -34,9 +34,9 @@ Context termination is performed in the following steps: option has expired. For further details regarding socket linger behavior refer to the _ZMQ_LINGER_ -option in linkzmq:zmq_setsockopt[3]. +option in link:zmq_setsockopt.html[zmq_setsockopt]. -This function replaces the deprecated function linkzmq:zmq_term[3]. +This function replaces the deprecated function link:zmq_term.html[zmq_term]. WARNING @@ -64,10 +64,10 @@ Termination was interrupted by a signal. It can be restarted if needed. SEE ALSO -------- -linkzmq:zmq[7] -linkzmq:zmq_init[3] -linkzmq:zmq_close[3] -linkzmq:zmq_setsockopt[3] +link:zmq.html[zmq] +link:zmq_init.html[zmq_init] +link:zmq_close.html[zmq_close] +link:zmq_setsockopt.html[zmq_setsockopt] AUTHORS diff --git a/doc/zmq_curve.txt b/doc/zmq_curve.txt index e1fe6971..b5bb9d84 100644 --- a/doc/zmq_curve.txt +++ b/doc/zmq_curve.txt @@ -78,12 +78,12 @@ secret: SEE ALSO -------- -linkzmq:zmq_z85_encode[3] -linkzmq:zmq_z85_decode[3] -linkzmq:zmq_setsockopt[3] -linkzmq:zmq_null[7] -linkzmq:zmq_plain[7] -linkzmq:zmq[7] +link:zmq_z85_encode.html[zmq_z85_encode] +link:zmq_z85_decode.html[zmq_z85_decode] +link:zmq_setsockopt.html[zmq_setsockopt] +link:zmq_null.html[zmq_null] +link:zmq_plain.html[zmq_plain] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_curve_keypair.txt b/doc/zmq_curve_keypair.txt index aa714a52..bbfba016 100644 --- a/doc/zmq_curve_keypair.txt +++ b/doc/zmq_curve_keypair.txt @@ -17,7 +17,7 @@ DESCRIPTION The _zmq_curve_keypair()_ function shall return a newly generated random keypair consisting of a public key and a secret key. The caller provides two buffers, each at least 41 octets large, in which this method will -store the keys. The keys are encoded using linkzmq:zmq_z85_encode[3]. +store the keys. The keys are encoded using link:zmq_z85_encode.html[zmq_z85_encode]. RETURN VALUE @@ -45,9 +45,9 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_z85_decode[3] -linkzmq:zmq_z85_encode[3] -linkzmq:zmq_curve[7] +link:zmq_z85_decode.html[zmq_z85_decode] +link:zmq_z85_encode.html[zmq_z85_encode] +link:zmq_curve.html[zmq_curve] AUTHORS diff --git a/doc/zmq_disconnect.txt b/doc/zmq_disconnect.txt index cd4e3689..1bdaaf3f 100644 --- a/doc/zmq_disconnect.txt +++ b/doc/zmq_disconnect.txt @@ -18,7 +18,7 @@ The _zmq_disconnect()_ function shall disconnect a socket specified by the 'socket' argument from the endpoint specified by the 'endpoint' argument. -The 'endpoint' argument is as described in linkzmq:zmq_connect[3] +The 'endpoint' argument is as described in link:zmq_connect.html[zmq_connect] RETURN VALUE @@ -56,9 +56,9 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_connect[3] -linkzmq:zmq_socket[3] -linkzmq:zmq[7] +link:zmq_connect.html[zmq_connect] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_epgm.txt b/doc/zmq_epgm.txt deleted file mode 120000 index 4d58b1be..00000000 --- a/doc/zmq_epgm.txt +++ /dev/null @@ -1 +0,0 @@ -zmq_pgm.txt \ No newline at end of file diff --git a/doc/zmq_epgm.txt b/doc/zmq_epgm.txt new file mode 100644 index 00000000..cda446e4 --- /dev/null +++ b/doc/zmq_epgm.txt @@ -0,0 +1,163 @@ +zmq_pgm(7) +========== + + +NAME +---- +zmq_pgm - 0MQ reliable multicast transport using PGM + + +SYNOPSIS +-------- +PGM (Pragmatic General Multicast) is a protocol for reliable multicast +transport of data over IP networks. + + +DESCRIPTION +----------- +0MQ implements two variants of PGM, the standard protocol where PGM datagrams +are layered directly on top of IP datagrams as defined by RFC 3208 (the 'pgm' +transport) and "Encapsulated PGM" or EPGM where PGM datagrams are encapsulated +inside UDP datagrams (the 'epgm' transport). + +The 'pgm' and 'epgm' transports can only be used with the 'ZMQ_PUB' and +'ZMQ_SUB' socket types. + +Further, PGM sockets are rate limited by default. For details, refer to the +'ZMQ_RATE', and 'ZMQ_RECOVERY_IVL' options documented in +link:zmq_setsockopt.html[zmq_setsockopt]. + +CAUTION: The 'pgm' transport implementation requires access to raw IP sockets. +Additional privileges may be required on some operating systems for this +operation. Applications not requiring direct interoperability with other PGM +implementations are encouraged to use the 'epgm' transport instead which does +not require any special privileges. + + +ADDRESSING +---------- +A 0MQ endpoint is a string consisting of a 'transport'`://` followed by an +'address'. The 'transport' specifies the underlying protocol to use. The +'address' specifies the transport-specific address to connect to. + +For the PGM transport, the transport is `pgm`, and for the EPGM protocol the +transport is `epgm`. The meaning of the 'address' part is defined below. + + +Connecting a socket +~~~~~~~~~~~~~~~~~~~ +When connecting a socket to a peer address using _zmq_connect()_ with the 'pgm' +or 'epgm' transport, the 'endpoint' shall be interpreted as an 'interface' +followed by a semicolon, followed by a 'multicast address', followed by a colon +and a port number. + +An 'interface' may be specified by either of the following: + +* The interface name as defined by the operating system. +* The primary IPv4 address assigned to the interface, in its numeric + representation. + +NOTE: Interface names are not standardised in any way and should be assumed to +be arbitrary and platform dependent. On Win32 platforms no short interface +names exist, thus only the primary IPv4 address may be used to specify an +'interface'. The 'interface' part can be omitted, in that case the default one +will be selected. + +A 'multicast address' is specified by an IPv4 multicast address in its numeric +representation. + + +WIRE FORMAT +----------- +Consecutive PGM datagrams are interpreted by 0MQ as a single continuous stream +of data where 0MQ messages are not necessarily aligned with PGM datagram +boundaries and a single 0MQ message may span several PGM datagrams. This stream +of data consists of 0MQ messages encapsulated in 'frames' as described in +link:zmq_tcp.html[zmq_tcp]. + + +PGM datagram payload +~~~~~~~~~~~~~~~~~~~~ +The following ABNF grammar represents the payload of a single PGM datagram as +used by 0MQ: + +.... +datagram = (offset data) +offset = 2OCTET +data = *OCTET +.... + +In order for late joining consumers to be able to identify message boundaries, +each PGM datagram payload starts with a 16-bit unsigned integer in network byte +order specifying either the offset of the first message 'frame' in the datagram +or containing the value `0xFFFF` if the datagram contains solely an +intermediate part of a larger message. + +Note that offset specifies where the first message begins rather than the first +message part. Thus, if there are trailing message parts at the beginning of +the packet the offset ignores them and points to first initial message part +in the packet. + +The following diagram illustrates the layout of a single PGM datagram payload: + +.... ++------------------+----------------------+ +| offset (16 bits) | data | ++------------------+----------------------+ +.... + +The following diagram further illustrates how three example 0MQ frames are laid +out in consecutive PGM datagram payloads: + +.... +First datagram payload ++--------------+-------------+---------------------+ +| Frame offset | Frame 1 | Frame 2, part 1 | +| 0x0000 | (Message 1) | (Message 2, part 1) | ++--------------+-------------+---------------------+ + +Second datagram payload ++--------------+---------------------+ +| Frame offset | Frame 2, part 2 | +| 0xFFFF | (Message 2, part 2) | ++--------------+---------------------+ + +Third datagram payload ++--------------+----------------------------+-------------+ +| Frame offset | Frame 2, final 8 bytes | Frame 3 | +| 0x0008 | (Message 2, final 8 bytes) | (Message 3) | ++--------------+----------------------------+-------------+ +.... + + +EXAMPLE +------- +.Connecting a socket +---- +// Connecting to the multicast address 239.192.1.1, port 5555, +// using the first Ethernet network interface on Linux +// and the Encapsulated PGM protocol +rc = zmq_connect(socket, "epgm://eth0;239.192.1.1:5555"); +assert (rc == 0); +// Connecting to the multicast address 239.192.1.1, port 5555, +// using the network interface with the address 192.168.1.1 +// and the standard PGM protocol +rc = zmq_connect(socket, "pgm://192.168.1.1;239.192.1.1:5555"); +assert (rc == 0); +---- + + +SEE ALSO +-------- +link:zmq_connect.html[zmq_connect] +link:zmq_setsockopt.html[zmq_setsockopt] +link:zmq_tcp.html[zmq_tcp] +link:zmq_ipc.html[zmq_ipc] +link:zmq_inproc.html[zmq_inproc] +link:zmq.html[zmq] + + +AUTHORS +------- +This page was written by the 0MQ community. To make a change please +read the 0MQ Contribution Policy at . diff --git a/doc/zmq_errno.txt b/doc/zmq_errno.txt index 3a0e0b29..4aedd689 100644 --- a/doc/zmq_errno.txt +++ b/doc/zmq_errno.txt @@ -41,7 +41,7 @@ No errors are defined. SEE ALSO -------- -linkzmq:zmq[7] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_getsockopt.txt b/doc/zmq_getsockopt.txt index 5a1c56e7..6cfa802c 100644 --- a/doc/zmq_getsockopt.txt +++ b/doc/zmq_getsockopt.txt @@ -45,7 +45,7 @@ The 'ZMQ_RCVMORE' option shall return True (1) if the message part last received from the 'socket' was a data part with more parts to follow. If there are no data parts to follow, this option shall return False (0). -Refer to linkzmq:zmq_send[3] and linkzmq:zmq_recv[3] for a detailed description +Refer to link:zmq_send.html[zmq_send] and link:zmq_recv.html[zmq_recv] for a detailed description of multi-part messages. [horizontal] @@ -66,7 +66,7 @@ limit. If this limit has been reached the socket shall enter an exceptional state and depending on the socket type, 0MQ shall take appropriate action such as blocking or dropping sent messages. Refer to the individual socket descriptions -in linkzmq:zmq_socket[3] for details on the exact action taken for each socket +in link:zmq_socket.html[zmq_socket] for details on the exact action taken for each socket type. [horizontal] @@ -87,7 +87,7 @@ limit. If this limit has been reached the socket shall enter an exceptional state and depending on the socket type, 0MQ shall take appropriate action such as blocking or dropping sent messages. Refer to the individual socket descriptions -in linkzmq:zmq_socket[3] for details on the exact action taken for each socket +in link:zmq_socket.html[zmq_socket] for details on the exact action taken for each socket type. [horizontal] @@ -110,7 +110,7 @@ corresponds to thread 1, second lowest bit to thread 2 and so on. For example, a value of 3 specifies that subsequent connections on 'socket' shall be handled exclusively by I/O threads 1 and 2. -See also linkzmq:zmq_init[3] for details on allocating the number of I/O +See also link:zmq_init.html[zmq_init] for details on allocating the number of I/O threads for a specific _context_. [horizontal] @@ -196,8 +196,8 @@ ZMQ_LINGER: Retrieve linger period for socket shutdown The 'ZMQ_LINGER' option shall retrieve the linger period for the specified 'socket'. The linger period determines how long pending messages which have yet to be sent to a peer shall linger in memory after a socket is closed with -linkzmq:zmq_close[3], and further affects the termination of the socket's -context with linkzmq:zmq_term[3]. The following outlines the different +link:zmq_close.html[zmq_close], and further affects the termination of the socket's +context with link:zmq_term.html[zmq_term]. The following outlines the different behaviours: * The default value of '-1' specifies an infinite linger period. Pending @@ -630,9 +630,9 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_setsockopt[3] -linkzmq:zmq_socket[3] -linkzmq:zmq[7] +link:zmq_setsockopt.html[zmq_setsockopt] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_init.txt b/doc/zmq_init.txt index 56df8bcd..3f7651d9 100644 --- a/doc/zmq_init.txt +++ b/doc/zmq_init.txt @@ -25,7 +25,7 @@ A 0MQ 'context' is thread safe and may be shared among as many application threads as necessary, without any additional locking required on the part of the caller. -This function is deprecated by linkzmq:zmq_ctx_new[3]. +This function is deprecated by link:zmq_ctx_new.html[zmq_ctx_new]. RETURN VALUE ------------ @@ -42,8 +42,8 @@ An invalid number of 'io_threads' was requested. SEE ALSO -------- -linkzmq:zmq[7] -linkzmq:zmq_term[3] +link:zmq.html[zmq] +link:zmq_term.html[zmq_term] AUTHORS diff --git a/doc/zmq_inproc.txt b/doc/zmq_inproc.txt index 34e7dcda..abf17e61 100644 --- a/doc/zmq_inproc.txt +++ b/doc/zmq_inproc.txt @@ -15,7 +15,7 @@ sharing a single 0MQ 'context'. NOTE: No I/O threads are involved in passing messages using the 'inproc' transport. Therefore, if you are using a 0MQ 'context' for in-process messaging only you can initialise the 'context' with zero I/O threads. See -linkzmq:zmq_init[3] for details. +link:zmq_init.html[zmq_init] for details. ADDRESSING @@ -71,12 +71,12 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_bind[3] -linkzmq:zmq_connect[3] -linkzmq:zmq_ipc[7] -linkzmq:zmq_tcp[7] -linkzmq:zmq_pgm[7] -linkzmq:zmq[7] +link:zmq_bind.html[zmq_bind] +link:zmq_connect.html[zmq_connect] +link:zmq_ipc.html[zmq_ipc] +link:zmq_tcp.html[zmq_tcp] +link:zmq_pgm.html[zmq_pgm] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_ipc.txt b/doc/zmq_ipc.txt index e5c8818c..bee64c79 100644 --- a/doc/zmq_ipc.txt +++ b/doc/zmq_ipc.txt @@ -37,7 +37,7 @@ any restrictions placed by the operating system on the format and length of a When the address is `*`, _zmq_bind()_ shall generate a unique temporary pathname. The caller should retrieve this pathname using the ZMQ_LAST_ENDPOINT -socket option. See linkzmq:zmq_getsockopt[3] for details. +socket option. See link:zmq_getsockopt.html[zmq_getsockopt] for details. NOTE: any existing binding to the same endpoint shall be overridden. That is, if a second process binds to an endpoint already bound by a process, this @@ -80,13 +80,13 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_bind[3] -linkzmq:zmq_connect[3] -linkzmq:zmq_inproc[7] -linkzmq:zmq_tcp[7] -linkzmq:zmq_pgm[7] -linkzmq:zmq_getsockopt[3] -linkzmq:zmq[7] +link:zmq_bind.html[zmq_bind] +link:zmq_connect.html[zmq_connect] +link:zmq_inproc.html[zmq_inproc] +link:zmq_tcp.html[zmq_tcp] +link:zmq_pgm.html[zmq_pgm] +link:zmq_getsockopt.html[zmq_getsockopt] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_close.txt b/doc/zmq_msg_close.txt index e67538b6..e0bc0d02 100644 --- a/doc/zmq_msg_close.txt +++ b/doc/zmq_msg_close.txt @@ -42,12 +42,12 @@ Invalid message. SEE ALSO -------- -linkzmq:zmq_msg_init[3] -linkzmq:zmq_msg_init_size[3] -linkzmq:zmq_msg_init_data[3] -linkzmq:zmq_msg_data[3] -linkzmq:zmq_msg_size[3] -linkzmq:zmq[7] +link:zmq_msg_init.html[zmq_msg_init] +link:zmq_msg_init_size.html[zmq_msg_init_size] +link:zmq_msg_init_data.html[zmq_msg_init_data] +link:zmq_msg_data.html[zmq_msg_data] +link:zmq_msg_size.html[zmq_msg_size] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_copy.txt b/doc/zmq_msg_copy.txt index 41b0ae79..cf190fc3 100644 --- a/doc/zmq_msg_copy.txt +++ b/doc/zmq_msg_copy.txt @@ -43,12 +43,12 @@ Invalid message. SEE ALSO -------- -linkzmq:zmq_msg_move[3] -linkzmq:zmq_msg_init[3] -linkzmq:zmq_msg_init_size[3] -linkzmq:zmq_msg_init_data[3] -linkzmq:zmq_msg_close[3] -linkzmq:zmq[7] +link:zmq_msg_move.html[zmq_msg_move] +link:zmq_msg_init.html[zmq_msg_init] +link:zmq_msg_init_size.html[zmq_msg_init_size] +link:zmq_msg_init_data.html[zmq_msg_init_data] +link:zmq_msg_close.html[zmq_msg_close] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_data.txt b/doc/zmq_msg_data.txt index 53ed4fe4..06808c1b 100644 --- a/doc/zmq_msg_data.txt +++ b/doc/zmq_msg_data.txt @@ -34,12 +34,12 @@ No errors are defined. SEE ALSO -------- -linkzmq:zmq_msg_size[3] -linkzmq:zmq_msg_init[3] -linkzmq:zmq_msg_init_size[3] -linkzmq:zmq_msg_init_data[3] -linkzmq:zmq_msg_close[3] -linkzmq:zmq[7] +link:zmq_msg_size.html[zmq_msg_size] +link:zmq_msg_init.html[zmq_msg_init] +link:zmq_msg_init_size.html[zmq_msg_init_size] +link:zmq_msg_init_data.html[zmq_msg_init_data] +link:zmq_msg_close.html[zmq_msg_close] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_get.txt b/doc/zmq_msg_get.txt index 980c1add..97724a50 100644 --- a/doc/zmq_msg_get.txt +++ b/doc/zmq_msg_get.txt @@ -61,10 +61,10 @@ while (true) { SEE ALSO -------- -linkzmq:zmq_msg_set[3] -linkzmq:zmq_msg_init[3] -linkzmq:zmq_msg_close[3] -linkzmq:zmq[7] +link:zmq_msg_set.html[zmq_msg_set] +link:zmq_msg_init.html[zmq_msg_init] +link:zmq_msg_close.html[zmq_msg_close] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_init.txt b/doc/zmq_msg_init.txt index 5a9b1218..69e23d8c 100644 --- a/doc/zmq_msg_init.txt +++ b/doc/zmq_msg_init.txt @@ -50,12 +50,12 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_msg_init_size[3] -linkzmq:zmq_msg_init_data[3] -linkzmq:zmq_msg_close[3] -linkzmq:zmq_msg_data[3] -linkzmq:zmq_msg_size[3] -linkzmq:zmq[7] +link:zmq_msg_init_size.html[zmq_msg_init_size] +link:zmq_msg_init_data.html[zmq_msg_init_data] +link:zmq_msg_close.html[zmq_msg_close] +link:zmq_msg_data.html[zmq_msg_data] +link:zmq_msg_size.html[zmq_msg_size] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_init_data.txt b/doc/zmq_msg_init_data.txt index 30670a54..ca0e5f43 100644 --- a/doc/zmq_msg_init_data.txt +++ b/doc/zmq_msg_init_data.txt @@ -71,12 +71,12 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_msg_init_size[3] -linkzmq:zmq_msg_init[3] -linkzmq:zmq_msg_close[3] -linkzmq:zmq_msg_data[3] -linkzmq:zmq_msg_size[3] -linkzmq:zmq[7] +link:zmq_msg_init_size.html[zmq_msg_init_size] +link:zmq_msg_init.html[zmq_msg_init] +link:zmq_msg_close.html[zmq_msg_close] +link:zmq_msg_data.html[zmq_msg_data] +link:zmq_msg_size.html[zmq_msg_size] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_init_size.txt b/doc/zmq_msg_init_size.txt index 3964b474..815392e0 100644 --- a/doc/zmq_msg_init_size.txt +++ b/doc/zmq_msg_init_size.txt @@ -44,12 +44,12 @@ Insufficient storage space is available. SEE ALSO -------- -linkzmq:zmq_msg_init_data[3] -linkzmq:zmq_msg_init[3] -linkzmq:zmq_msg_close[3] -linkzmq:zmq_msg_data[3] -linkzmq:zmq_msg_size[3] -linkzmq:zmq[7] +link:zmq_msg_init_data.html[zmq_msg_init_data] +link:zmq_msg_init.html[zmq_msg_init] +link:zmq_msg_close.html[zmq_msg_close] +link:zmq_msg_data.html[zmq_msg_data] +link:zmq_msg_size.html[zmq_msg_size] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_more.txt b/doc/zmq_msg_more.txt index 179f4d34..af06ee42 100644 --- a/doc/zmq_msg_more.txt +++ b/doc/zmq_msg_more.txt @@ -52,11 +52,11 @@ while (true) { SEE ALSO -------- -linkzmq:zmq_msg_get[3] -linkzmq:zmq_msg_set[3] -linkzmq:zmq_msg_init[3] -linkzmq:zmq_msg_close[3] -linkzmq:zmq[7] +link:zmq_msg_get.html[zmq_msg_get] +link:zmq_msg_set.html[zmq_msg_set] +link:zmq_msg_init.html[zmq_msg_init] +link:zmq_msg_close.html[zmq_msg_close] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_move.txt b/doc/zmq_msg_move.txt index 470ddf7a..4bb6eb65 100644 --- a/doc/zmq_msg_move.txt +++ b/doc/zmq_msg_move.txt @@ -38,12 +38,12 @@ Invalid message. SEE ALSO -------- -linkzmq:zmq_msg_copy[3] -linkzmq:zmq_msg_init[3] -linkzmq:zmq_msg_init_size[3] -linkzmq:zmq_msg_init_data[3] -linkzmq:zmq_msg_close[3] -linkzmq:zmq[7] +link:zmq_msg_copy.html[zmq_msg_copy] +link:zmq_msg_init.html[zmq_msg_init] +link:zmq_msg_init_size.html[zmq_msg_init_size] +link:zmq_msg_init_data.html[zmq_msg_init_data] +link:zmq_msg_close.html[zmq_msg_close] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_recv.txt b/doc/zmq_msg_recv.txt index c3d6c54a..b6defd7d 100644 --- a/doc/zmq_msg_recv.txt +++ b/doc/zmq_msg_recv.txt @@ -14,7 +14,7 @@ SYNOPSIS DESCRIPTION ----------- -The _zmq_msg_recv()_ function is identical to linkzmq:zmq_recvmsg[3], which +The _zmq_msg_recv()_ function is identical to link:zmq_recvmsg.html[zmq_recvmsg], which shall be deprecated in future versions. _zmq_msg_recv()_ is more consistent with other message manipulation functions. @@ -40,7 +40,7 @@ message or none at all. The total number of message parts is unlimited except by available memory. An application that processes multi-part messages must use the _ZMQ_RCVMORE_ -linkzmq:zmq_getsockopt[3] option after calling _zmq_msg_recv()_ to determine if +link:zmq_getsockopt.html[zmq_getsockopt] option after calling _zmq_msg_recv()_ to determine if there are further parts to receive. @@ -61,7 +61,7 @@ The _zmq_msg_recv()_ operation is not supported by this socket type. The _zmq_msg_recv()_ operation cannot be performed on this socket at the moment due to the socket not being in the appropriate state. This error may occur with socket types that switch between several states, such as ZMQ_REP. See the -_messaging patterns_ section of linkzmq:zmq_socket[3] for more information. +_messaging patterns_ section of link:zmq_socket.html[zmq_socket] for more information. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. *ENOTSOCK*:: @@ -110,12 +110,12 @@ do { SEE ALSO -------- -linkzmq:zmq_recv[3] -linkzmq:zmq_send[3] -linkzmq:zmq_msg_send[3] -linkzmq:zmq_getsockopt[3] -linkzmq:zmq_socket[7] -linkzmq:zmq[7] +link:zmq_recv.html[zmq_recv] +link:zmq_send.html[zmq_send] +link:zmq_msg_send.html[zmq_msg_send] +link:zmq_getsockopt.html[zmq_getsockopt] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_send.txt b/doc/zmq_msg_send.txt index 1056e604..6e78d004 100644 --- a/doc/zmq_msg_send.txt +++ b/doc/zmq_msg_send.txt @@ -14,7 +14,7 @@ SYNOPSIS DESCRIPTION ----------- -The _zmq_msg_send()_ function is identical to linkzmq:zmq_sendmsg[3], which +The _zmq_msg_send()_ function is identical to link:zmq_sendmsg.html[zmq_sendmsg], which shall be deprecated in future versions. _zmq_msg_send()_ is more consistent with other message manipulation functions. @@ -71,7 +71,7 @@ The _zmq_msg_send()_ operation is not supported by this socket type. The _zmq_msg_send()_ operation cannot be performed on this socket at the moment due to the socket not being in the appropriate state. This error may occur with socket types that switch between several states, such as ZMQ_REP. See the -_messaging patterns_ section of linkzmq:zmq_socket[3] for more information. +_messaging patterns_ section of link:zmq_socket.html[zmq_socket] for more information. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. *ENOTSOCK*:: @@ -112,11 +112,11 @@ rc = zmq_msg_send (&part3, socket, 0); SEE ALSO -------- -linkzmq:zmq_recv[3] -linkzmq:zmq_send[3] -linkzmq:zmq_msg_recv[3] -linkzmq:zmq_socket[7] -linkzmq:zmq[7] +link:zmq_recv.html[zmq_recv] +link:zmq_send.html[zmq_send] +link:zmq_msg_recv.html[zmq_msg_recv] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_set.txt b/doc/zmq_msg_set.txt index 6784478e..26b15fbb 100644 --- a/doc/zmq_msg_set.txt +++ b/doc/zmq_msg_set.txt @@ -36,8 +36,8 @@ The requested property _property_ is unknown. SEE ALSO -------- -linkzmq:zmq_msg_get[3] -linkzmq:zmq[7] +link:zmq_msg_get.html[zmq_msg_get] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_msg_size.txt b/doc/zmq_msg_size.txt index 563024da..33a5694b 100644 --- a/doc/zmq_msg_size.txt +++ b/doc/zmq_msg_size.txt @@ -34,12 +34,12 @@ No errors are defined. SEE ALSO -------- -linkzmq:zmq_msg_data[3] -linkzmq:zmq_msg_init[3] -linkzmq:zmq_msg_init_size[3] -linkzmq:zmq_msg_init_data[3] -linkzmq:zmq_msg_close[3] -linkzmq:zmq[7] +link:zmq_msg_data.html[zmq_msg_data] +link:zmq_msg_init.html[zmq_msg_init] +link:zmq_msg_init_size.html[zmq_msg_init_size] +link:zmq_msg_init_data.html[zmq_msg_init_data] +link:zmq_msg_close.html[zmq_msg_close] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_null.txt b/doc/zmq_null.txt index abb9fff8..6a3b820b 100644 --- a/doc/zmq_null.txt +++ b/doc/zmq_null.txt @@ -16,9 +16,9 @@ for ZeroMQ sockets. SEE ALSO -------- -linkzmq:zmq_plain[7] -linkzmq:zmq_curve[7] -linkzmq:zmq[7] +link:zmq_plain.html[zmq_plain] +link:zmq_curve.html[zmq_curve] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_pgm.txt b/doc/zmq_pgm.txt index f6aacda2..cda446e4 100644 --- a/doc/zmq_pgm.txt +++ b/doc/zmq_pgm.txt @@ -25,7 +25,7 @@ The 'pgm' and 'epgm' transports can only be used with the 'ZMQ_PUB' and Further, PGM sockets are rate limited by default. For details, refer to the 'ZMQ_RATE', and 'ZMQ_RECOVERY_IVL' options documented in -linkzmq:zmq_setsockopt[3]. +link:zmq_setsockopt.html[zmq_setsockopt]. CAUTION: The 'pgm' transport implementation requires access to raw IP sockets. Additional privileges may be required on some operating systems for this @@ -73,7 +73,7 @@ Consecutive PGM datagrams are interpreted by 0MQ as a single continuous stream of data where 0MQ messages are not necessarily aligned with PGM datagram boundaries and a single 0MQ message may span several PGM datagrams. This stream of data consists of 0MQ messages encapsulated in 'frames' as described in -linkzmq:zmq_tcp[7]. +link:zmq_tcp.html[zmq_tcp]. PGM datagram payload @@ -149,12 +149,12 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_connect[3] -linkzmq:zmq_setsockopt[3] -linkzmq:zmq_tcp[7] -linkzmq:zmq_ipc[7] -linkzmq:zmq_inproc[7] -linkzmq:zmq[7] +link:zmq_connect.html[zmq_connect] +link:zmq_setsockopt.html[zmq_setsockopt] +link:zmq_tcp.html[zmq_tcp] +link:zmq_ipc.html[zmq_ipc] +link:zmq_inproc.html[zmq_inproc] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_plain.txt b/doc/zmq_plain.txt index 7dd40dc8..8ee1ca47 100644 --- a/doc/zmq_plain.txt +++ b/doc/zmq_plain.txt @@ -25,10 +25,10 @@ options. Which peer binds, and which connects, is not relevant. SEE ALSO -------- -linkzmq:zmq_setsockopt[3] -linkzmq:zmq_null[7] -linkzmq:zmq_curve[7] -linkzmq:zmq[7] +link:zmq_setsockopt.html[zmq_setsockopt] +link:zmq_null.html[zmq_null] +link:zmq_curve.html[zmq_curve] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_poll.txt b/doc/zmq_poll.txt index af581101..a29a1714 100644 --- a/doc/zmq_poll.txt +++ b/doc/zmq_poll.txt @@ -114,10 +114,10 @@ assert (rc >= 0); SEE ALSO -------- -linkzmq:zmq_socket[3] -linkzmq:zmq_send[3] -linkzmq:zmq_recv[3] -linkzmq:zmq[7] +link:zmq_socket.html[zmq_socket] +link:zmq_send.html[zmq_send] +link:zmq_recv.html[zmq_recv] +link:zmq.html[zmq] Your operating system documentation for the _poll()_ system call. diff --git a/doc/zmq_proxy.txt b/doc/zmq_proxy.txt index cfad7791..a0ffff0b 100644 --- a/doc/zmq_proxy.txt +++ b/doc/zmq_proxy.txt @@ -31,7 +31,7 @@ If the capture socket is not NULL, the proxy shall send all messages, received on both frontend and backend, to the capture socket. The capture socket should be a 'ZMQ_PUB', 'ZMQ_DEALER', 'ZMQ_PUSH', or 'ZMQ_PAIR' socket. -Refer to linkzmq:zmq_socket[3] for a description of the available socket types. +Refer to link:zmq_socket.html[zmq_socket] for a description of the available socket types. EXAMPLE USAGE ------------- @@ -86,10 +86,10 @@ zmq_proxy (frontend, backend, NULL); SEE ALSO -------- -linkzmq:zmq_bind[3] -linkzmq:zmq_connect[3] -linkzmq:zmq_socket[3] -linkzmq:zmq[7] +link:zmq_bind.html[zmq_bind] +link:zmq_connect.html[zmq_connect] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_proxy_steerable.txt b/doc/zmq_proxy_steerable.txt index 08490985..2f6712f4 100644 --- a/doc/zmq_proxy_steerable.txt +++ b/doc/zmq_proxy_steerable.txt @@ -29,8 +29,8 @@ If the control socket is NULL, the function behave exactly as if zmq_proxy had been called. -Refer to linkzmq:zmq_socket[3] for a description of the available socket types. -Refer to linkzmq:zmq_proxy[3] for a description of the zmq_proxy. +Refer to link:zmq_socket.html[zmq_socket] for a description of the available socket types. +Refer to link:zmq_proxy.html[zmq_proxy] for a description of the zmq_proxy. EXAMPLE USAGE ------------- @@ -86,11 +86,11 @@ assert (zmq_send (control, "TERMINATE", 9, 0) == 0); SEE ALSO -------- -linkzmq:zmq_proxy[3] -linkzmq:zmq_bind[3] -linkzmq:zmq_connect[3] -linkzmq:zmq_socket[3] -linkzmq:zmq[7] +link:zmq_proxy.html[zmq_proxy] +link:zmq_bind.html[zmq_bind] +link:zmq_connect.html[zmq_connect] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_recv.txt b/doc/zmq_recv.txt index 5ec328c8..378bcdb5 100644 --- a/doc/zmq_recv.txt +++ b/doc/zmq_recv.txt @@ -35,7 +35,7 @@ message or none at all. The total number of message parts is unlimited except by available memory. An application that processes multi-part messages must use the _ZMQ_RCVMORE_ -linkzmq:zmq_getsockopt[3] option after calling _zmq_recv()_ to determine if +link:zmq_getsockopt.html[zmq_getsockopt] option after calling _zmq_recv()_ to determine if there are further parts to receive. RETURN VALUE @@ -56,7 +56,7 @@ The _zmq_recv()_ operation is not supported by this socket type. The _zmq_recv()_ operation cannot be performed on this socket at the moment due to the socket not being in the appropriate state. This error may occur with socket types that switch between several states, such as ZMQ_REP. See the -_messaging patterns_ section of linkzmq:zmq_socket[3] for more information. +_messaging patterns_ section of link:zmq_socket.html[zmq_socket] for more information. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. *ENOTSOCK*:: @@ -78,10 +78,10 @@ assert (nbytes != -1); SEE ALSO -------- -linkzmq:zmq_send[3] -linkzmq:zmq_getsockopt[3] -linkzmq:zmq_socket[7] -linkzmq:zmq[7] +link:zmq_send.html[zmq_send] +link:zmq_getsockopt.html[zmq_getsockopt] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_recvmsg.txt b/doc/zmq_recvmsg.txt index 352e62e0..ba462d7a 100644 --- a/doc/zmq_recvmsg.txt +++ b/doc/zmq_recvmsg.txt @@ -38,7 +38,7 @@ message or none at all. The total number of message parts is unlimited except by available memory. An application that processes multi-part messages must use the _ZMQ_RCVMORE_ -linkzmq:zmq_getsockopt[3] option after calling _zmq_recvmsg()_ to determine if +link:zmq_getsockopt.html[zmq_getsockopt] option after calling _zmq_recvmsg()_ to determine if there are further parts to receive. @@ -59,7 +59,7 @@ The _zmq_recvmsg()_ operation is not supported by this socket type. The _zmq_recvmsg()_ operation cannot be performed on this socket at the moment due to the socket not being in the appropriate state. This error may occur with socket types that switch between several states, such as ZMQ_REP. See the -_messaging patterns_ section of linkzmq:zmq_socket[3] for more information. +_messaging patterns_ section of link:zmq_socket.html[zmq_socket] for more information. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. *ENOTSOCK*:: @@ -108,11 +108,11 @@ do { SEE ALSO -------- -linkzmq:zmq_recv[3] -linkzmq:zmq_send[3] -linkzmq:zmq_getsockopt[3] -linkzmq:zmq_socket[7] -linkzmq:zmq[7] +link:zmq_recv.html[zmq_recv] +link:zmq_send.html[zmq_send] +link:zmq_getsockopt.html[zmq_getsockopt] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_send.txt b/doc/zmq_send.txt index a3f553ad..39289f2d 100644 --- a/doc/zmq_send.txt +++ b/doc/zmq_send.txt @@ -62,7 +62,7 @@ The _zmq_send()_ operation is not supported by this socket type. The _zmq_send()_ operation cannot be performed on this socket at the moment due to the socket not being in the appropriate state. This error may occur with socket types that switch between several states, such as ZMQ_REP. See the -_messaging patterns_ section of linkzmq:zmq_socket[3] for more information. +_messaging patterns_ section of link:zmq_socket.html[zmq_socket] for more information. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. *ENOTSOCK*:: @@ -90,10 +90,10 @@ assert (rc == 2); SEE ALSO -------- -linkzmq:zmq_send_const[3] -linkzmq:zmq_recv[3] -linkzmq:zmq_socket[7] -linkzmq:zmq[7] +link:zmq_send_const.html[zmq_send_const] +link:zmq_recv.html[zmq_recv] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_send_const.txt b/doc/zmq_send_const.txt index 38033f95..a3b1f81b 100644 --- a/doc/zmq_send_const.txt +++ b/doc/zmq_send_const.txt @@ -63,7 +63,7 @@ The _zmq_send_const()_ operation is not supported by this socket type. The _zmq_send_const()_ operation cannot be performed on this socket at the moment due to the socket not being in the appropriate state. This error may occur with socket types that switch between several states, such as ZMQ_REP. See the -_messaging patterns_ section of linkzmq:zmq_socket[3] for more information. +_messaging patterns_ section of link:zmq_socket.html[zmq_socket] for more information. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. *ENOTSOCK*:: @@ -91,10 +91,10 @@ assert (rc == 2); SEE ALSO -------- -linkzmq:zmq_send[3] -linkzmq:zmq_recv[3] -linkzmq:zmq_socket[7] -linkzmq:zmq[7] +link:zmq_send.html[zmq_send] +link:zmq_recv.html[zmq_recv] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_sendmsg.txt b/doc/zmq_sendmsg.txt index ac7959d6..a9421a1a 100644 --- a/doc/zmq_sendmsg.txt +++ b/doc/zmq_sendmsg.txt @@ -67,7 +67,7 @@ The _zmq_sendmsg()_ operation is not supported by this socket type. The _zmq_sendmsg()_ operation cannot be performed on this socket at the moment due to the socket not being in the appropriate state. This error may occur with socket types that switch between several states, such as ZMQ_REP. See the -_messaging patterns_ section of linkzmq:zmq_socket[3] for more information. +_messaging patterns_ section of link:zmq_socket.html[zmq_socket] for more information. *ETERM*:: The 0MQ 'context' associated with the specified 'socket' was terminated. *ENOTSOCK*:: @@ -108,9 +108,9 @@ rc = zmq_sendmsg (socket, &part3, 0); SEE ALSO -------- -linkzmq:zmq_recv[3] -linkzmq:zmq_socket[7] -linkzmq:zmq[7] +link:zmq_recv.html[zmq_recv] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_setsockopt.txt b/doc/zmq_setsockopt.txt index 9eb1a95b..efa13c2d 100644 --- a/doc/zmq_setsockopt.txt +++ b/doc/zmq_setsockopt.txt @@ -41,7 +41,7 @@ limit. If this limit has been reached the socket shall enter an exceptional state and depending on the socket type, 0MQ shall take appropriate action such as blocking or dropping sent messages. Refer to the individual socket descriptions -in linkzmq:zmq_socket[3] for details on the exact action taken for each socket +in link:zmq_socket.html[zmq_socket] for details on the exact action taken for each socket type. NOTE: 0MQ does not guarantee that the socket will accept as many as ZMQ_SNDHWM @@ -66,7 +66,7 @@ limit. If this limit has been reached the socket shall enter an exceptional state and depending on the socket type, 0MQ shall take appropriate action such as blocking or dropping sent messages. Refer to the individual socket descriptions -in linkzmq:zmq_socket[3] for details on the exact action taken for each socket +in link:zmq_socket.html[zmq_socket] for details on the exact action taken for each socket type. [horizontal] @@ -89,7 +89,7 @@ corresponds to thread 1, second lowest bit to thread 2 and so on. For example, a value of 3 specifies that subsequent connections on 'socket' shall be handled exclusively by I/O threads 1 and 2. -See also linkzmq:zmq_init[3] for details on allocating the number of I/O +See also link:zmq_init.html[zmq_init] for details on allocating the number of I/O threads for a specific _context_. [horizontal] @@ -153,7 +153,7 @@ Applicable socket types:: ZMQ_REQ, ZMQ_REP, ZMQ_ROUTER, ZMQ_DEALER. ZMQ_RATE: Set multicast data rate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The 'ZMQ_RATE' option shall set the maximum send or receive data rate for -multicast transports such as linkzmq:zmq_pgm[7] using the specified 'socket'. +multicast transports such as link:zmq_pgm.html[zmq_pgm] using the specified 'socket'. [horizontal] Option value type:: int @@ -213,8 +213,8 @@ ZMQ_LINGER: Set linger period for socket shutdown The 'ZMQ_LINGER' option shall set the linger period for the specified 'socket'. The linger period determines how long pending messages which have yet to be sent to a peer shall linger in memory after a socket is closed with -linkzmq:zmq_close[3], and further affects the termination of the socket's -context with linkzmq:zmq_term[3]. The following outlines the different +link:zmq_close.html[zmq_close], and further affects the termination of the socket's +context with link:zmq_term.html[zmq_term]. The following outlines the different behaviours: * The default value of '-1' specifies an infinite linger period. Pending @@ -571,7 +571,7 @@ ZMQ_PLAIN_SERVER: Set PLAIN server role ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Defines whether the socket will act as server for PLAIN security, see -linkzmq:zmq_plain[7]. A value of '1' means the socket will act as +link:zmq_plain.html[zmq_plain]. A value of '1' means the socket will act as PLAIN server. A value of '0' means the socket will not act as PLAIN server, and its security role then depends on other option settings. Setting this to '0' shall reset the socket security to NULL. @@ -588,8 +588,8 @@ ZMQ_PLAIN_USERNAME: Set PLAIN security username Sets the username for outgoing connections over TCP or IPC. If you set this to a non-null value, the security mechanism used for connections shall be -PLAIN, see linkzmq:zmq_plain[7]. If you set this to a null value, the security -mechanism used for connections shall be NULL, see linkzmq:zmq_null[3]. +PLAIN, see link:zmq_plain.html[zmq_plain]. If you set this to a null value, the security +mechanism used for connections shall be NULL, see link:zmq_null.html[zmq_null]. [horizontal] Option value type:: character string @@ -603,8 +603,8 @@ ZMQ_PLAIN_PASSWORD: Set PLAIN security password Sets the password for outgoing connections over TCP or IPC. If you set this to a non-null value, the security mechanism used for connections shall be -PLAIN, see linkzmq:zmq_plain[7]. If you set this to a null value, the security -mechanism used for connections shall be NULL, see linkzmq:zmq_null[3]. +PLAIN, see link:zmq_plain.html[zmq_plain]. If you set this to a null value, the security +mechanism used for connections shall be NULL, see link:zmq_null.html[zmq_null]. [horizontal] Option value type:: character string @@ -617,7 +617,7 @@ ZMQ_CURVE_SERVER: Set CURVE server role ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Defines whether the socket will act as server for CURVE security, see -linkzmq:zmq_curve[7]. A value of '1' means the socket will act as +link:zmq_curve.html[zmq_curve]. A value of '1' means the socket will act as CURVE server. A value of '0' means the socket will not act as CURVE server, and its security role then depends on other option settings. Setting this to '0' shall reset the socket security to NULL. When you @@ -636,10 +636,10 @@ ZMQ_CURVE_PUBLICKEY: Set CURVE public key ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sets the socket's long term public key. You must set this on CURVE client -sockets, see linkzmq:zmq_curve[7]. You can provide the key as 32 binary +sockets, see link:zmq_curve.html[zmq_curve]. You can provide the key as 32 binary bytes, or as a 40-character string encoded in the Z85 encoding format. The public key must always be used with the matching secret key. To -generate a public/secret key pair, use linkzmq:zmq_curve_keypair[3]. +generate a public/secret key pair, use link:zmq_curve_keypair.html[zmq_curve_keypair]. [horizontal] Option value type:: binary data or Z85 text string @@ -652,10 +652,10 @@ ZMQ_CURVE_SECRETKEY: Set CURVE secret key ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sets the socket's long term secret key. You must set this on both CURVE -client and server sockets, see linkzmq:zmq_curve[7]. You can provide the +client and server sockets, see link:zmq_curve.html[zmq_curve]. You can provide the key as 32 binary bytes, or as a 40-character string encoded in the Z85 encoding format. To generate a public/secret key pair, use -linkzmq:zmq_curve_keypair[3]. +link:zmq_curve_keypair.html[zmq_curve_keypair]. [horizontal] Option value type:: binary data or Z85 text string @@ -668,7 +668,7 @@ ZMQ_CURVE_SERVERKEY: Set CURVE server key ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sets the socket's long term server key. You must set this on CURVE client -sockets, see linkzmq:zmq_curve[7]. You can provide the key as 32 binary +sockets, see link:zmq_curve.html[zmq_curve]. You can provide the key as 32 binary bytes, or as a 40-character string encoded in the Z85 encoding format. This key must have been generated together with the server's secret key. @@ -760,11 +760,11 @@ assert (rc); SEE ALSO -------- -linkzmq:zmq_getsockopt[3] -linkzmq:zmq_socket[3] -linkzmq:zmq_plain[7] -linkzmq:zmq_curve[7] -linkzmq:zmq[7] +link:zmq_getsockopt.html[zmq_getsockopt] +link:zmq_socket.html[zmq_socket] +link:zmq_plain.html[zmq_plain] +link:zmq_curve.html[zmq_curve] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_socket.txt b/doc/zmq_socket.txt index 25c60660..39084bd8 100644 --- a/doc/zmq_socket.txt +++ b/doc/zmq_socket.txt @@ -21,9 +21,9 @@ communication over the socket. The newly created socket is initially unbound, and not associated with any endpoints. In order to establish a message flow a socket must first be -connected to at least one endpoint with linkzmq:zmq_connect[3], or at least one +connected to at least one endpoint with link:zmq_connect.html[zmq_connect], or at least one endpoint must be created for accepting incoming connections with -linkzmq:zmq_bind[3]. +link:zmq_bind.html[zmq_bind]. .Key differences to conventional sockets Generally speaking, conventional sockets present a _synchronous_ interface to @@ -112,7 +112,7 @@ peers, and each message received is fair-queued from all connected peers. When a 'ZMQ_DEALER' socket enters the 'mute' state due to having reached the high water mark for all peers, or if there are no peers at all, then any -linkzmq:zmq_send[3] operations on the socket shall block until the mute +link:zmq_send.html[zmq_send] operations on the socket shall block until the mute state ends or at least one peer becomes available for sending; messages are not discarded. @@ -175,7 +175,7 @@ ZMQ_PUB ^^^^^^^ A socket of type 'ZMQ_PUB' is used by a _publisher_ to distribute data. Messages sent are distributed in a fan out fashion to all connected peers. -The linkzmq:zmq_recv[3] function is not implemented for this socket type. +The link:zmq_recv.html[zmq_recv] function is not implemented for this socket type. When a 'ZMQ_PUB' socket enters the 'mute' state due to having reached the high water mark for a _subscriber_, then any messages that would be sent to the @@ -196,7 +196,7 @@ ZMQ_SUB ^^^^^^^ A socket of type 'ZMQ_SUB' is used by a _subscriber_ to subscribe to data distributed by a _publisher_. Initially a 'ZMQ_SUB' socket is not subscribed to -any messages, use the 'ZMQ_SUBSCRIBE' option of linkzmq:zmq_setsockopt[3] to +any messages, use the 'ZMQ_SUBSCRIBE' option of link:zmq_setsockopt.html[zmq_setsockopt] to specify which messages to subscribe to. The _zmq_send()_ function is not implemented for this socket type. @@ -262,7 +262,7 @@ socket type. When a 'ZMQ_PUSH' socket enters the 'mute' state due to having reached the high water mark for all downstream _nodes_, or if there are no downstream -_nodes_ at all, then any linkzmq:zmq_send[3] operations on the socket shall +_nodes_ at all, then any link:zmq_send.html[zmq_send] operations on the socket shall block until the mute state ends or at least one downstream _node_ becomes available for sending; messages are not discarded. @@ -309,11 +309,11 @@ time. No message routing or filtering is performed on messages sent over a When a 'ZMQ_PAIR' socket enters the 'mute' state due to having reached the high water mark for the connected peer, or if no peer is connected, then -any linkzmq:zmq_send[3] operations on the socket shall block until the peer +any link:zmq_send.html[zmq_send] operations on the socket shall block until the peer becomes available for sending; messages are not discarded. NOTE: 'ZMQ_PAIR' sockets are designed for inter-thread communication across -the linkzmq:zmq_inproc[7] transport and do not implement functionality such +the link:zmq_inproc.html[zmq_inproc] transport and do not implement functionality such as auto-reconnection. 'ZMQ_PAIR' sockets are considered experimental and may have other missing or broken aspects. @@ -428,14 +428,14 @@ zmq_ctx_destroy (ctx); SEE ALSO -------- -linkzmq:zmq_init[3] -linkzmq:zmq_setsockopt[3] -linkzmq:zmq_bind[3] -linkzmq:zmq_connect[3] -linkzmq:zmq_send[3] -linkzmq:zmq_recv[3] -linkzmq:zmq_inproc[7] -linkzmq:zmq[7] +link:zmq_init.html[zmq_init] +link:zmq_setsockopt.html[zmq_setsockopt] +link:zmq_bind.html[zmq_bind] +link:zmq_connect.html[zmq_connect] +link:zmq_send.html[zmq_send] +link:zmq_recv.html[zmq_recv] +link:zmq_inproc.html[zmq_inproc] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_socket_monitor.txt b/doc/zmq_socket_monitor.txt index 90cc75d0..a22b8337 100644 --- a/doc/zmq_socket_monitor.txt +++ b/doc/zmq_socket_monitor.txt @@ -250,7 +250,7 @@ int main() SEE ALSO -------- -linkzmq:zmq[7] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_strerror.txt b/doc/zmq_strerror.txt index a038a9af..e16b3378 100644 --- a/doc/zmq_strerror.txt +++ b/doc/zmq_strerror.txt @@ -46,7 +46,7 @@ if (!ctx) { SEE ALSO -------- -linkzmq:zmq[7] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_tcp.txt b/doc/zmq_tcp.txt index c3a4ed88..47b7a324 100644 --- a/doc/zmq_tcp.txt +++ b/doc/zmq_tcp.txt @@ -43,7 +43,7 @@ The TCP port number may be specified by: * The wild-card `*`, meaning a system-assigned ephemeral port. When using ephemeral ports, the caller should retrieve the actual assigned -port using the ZMQ_LAST_ENDPOINT socket option. See linkzmq:zmq_getsockopt[3] +port using the ZMQ_LAST_ENDPOINT socket option. See link:zmq_getsockopt.html[zmq_getsockopt] for details. @@ -89,12 +89,12 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_bind[3] -linkzmq:zmq_connect[3] -linkzmq:zmq_pgm[7] -linkzmq:zmq_ipc[7] -linkzmq:zmq_inproc[7] -linkzmq:zmq[7] +link:zmq_bind.html[zmq_bind] +link:zmq_connect.html[zmq_connect] +link:zmq_pgm.html[zmq_pgm] +link:zmq_ipc.html[zmq_ipc] +link:zmq_inproc.html[zmq_inproc] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_term.txt b/doc/zmq_term.txt index 61527322..c5bbee62 100644 --- a/doc/zmq_term.txt +++ b/doc/zmq_term.txt @@ -34,9 +34,9 @@ Context termination is performed in the following steps: option has expired. For further details regarding socket linger behaviour refer to the _ZMQ_LINGER_ -option in linkzmq:zmq_setsockopt[3]. +option in link:zmq_setsockopt.html[zmq_setsockopt]. -This function is deprecated by linkzmq:zmq_ctx_term[3]. +This function is deprecated by link:zmq_ctx_term.html[zmq_ctx_term]. RETURN VALUE ------------ @@ -54,10 +54,10 @@ Termination was interrupted by a signal. It can be restarted if needed. SEE ALSO -------- -linkzmq:zmq[7] -linkzmq:zmq_init[3] -linkzmq:zmq_close[3] -linkzmq:zmq_setsockopt[3] +link:zmq.html[zmq] +link:zmq_init.html[zmq_init] +link:zmq_close.html[zmq_close] +link:zmq_setsockopt.html[zmq_setsockopt] AUTHORS diff --git a/doc/zmq_unbind.txt b/doc/zmq_unbind.txt index 8b3f7a50..ac06cc32 100644 --- a/doc/zmq_unbind.txt +++ b/doc/zmq_unbind.txt @@ -18,7 +18,7 @@ The _zmq_unbind()_ function shall unbind a socket specified by the 'socket' argument from the endpoint specified by the 'endpoint' argument. -The 'endpoint' argument is as described in linkzmq:zmq_bind[3] +The 'endpoint' argument is as described in link:zmq_bind.html[zmq_bind] RETURN VALUE @@ -54,9 +54,9 @@ assert (rc == 0); SEE ALSO -------- -linkzmq:zmq_bind[3] -linkzmq:zmq_socket[3] -linkzmq:zmq[7] +link:zmq_bind.html[zmq_bind] +link:zmq_socket.html[zmq_socket] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_version.txt b/doc/zmq_version.txt index d96a106b..2729ba58 100644 --- a/doc/zmq_version.txt +++ b/doc/zmq_version.txt @@ -45,7 +45,7 @@ printf ("Current 0MQ version is %d.%d.%d\n", major, minor, patch); SEE ALSO -------- -linkzmq:zmq[7] +link:zmq.html[zmq] AUTHORS diff --git a/doc/zmq_z85_decode.txt b/doc/zmq_z85_decode.txt index 72e97037..ff9429b1 100644 --- a/doc/zmq_z85_decode.txt +++ b/doc/zmq_z85_decode.txt @@ -39,9 +39,9 @@ zmq_z85_decode (public_key, decoded); SEE ALSO -------- -linkzmq:zmq_z85_decode[3] -linkzmq:zmq_curve_keypair[3] -linkzmq:zmq_curve[7] +link:zmq_z85_decode.html[zmq_z85_decode] +link:zmq_curve_keypair.html[zmq_curve_keypair] +link:zmq_curve.html[zmq_curve] AUTHORS diff --git a/doc/zmq_z85_encode.txt b/doc/zmq_z85_encode.txt index add0431b..1a0d6689 100644 --- a/doc/zmq_z85_encode.txt +++ b/doc/zmq_z85_encode.txt @@ -46,9 +46,9 @@ puts (encoded); SEE ALSO -------- -linkzmq:zmq_z85_decode[3] -linkzmq:zmq_curve_keypair[3] -linkzmq:zmq_curve[7] +link:zmq_z85_decode.html[zmq_z85_decode] +link:zmq_curve_keypair.html[zmq_curve_keypair] +link:zmq_curve.html[zmq_curve] AUTHORS