blob: 37f9f74c82b29cd937ef50634a871945e88468aa [file] [log] [blame]
E. Scott Daniels117030c2020-04-10 17:17:02 -04001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. SPDX-License-Identifier: CC-BY-4.0
3.. CAUTION: this document is generated from source in doc/src/rtd.
4.. To make changes edit the source and recompile the document.
5.. Do NOT make changes directly to .rst or .md files.
6
E. Scott Daniels117030c2020-04-10 17:17:02 -04007============================================================================================
8Man Page: rmr_get_src
9============================================================================================
10
E. Scott Daniels117030c2020-04-10 17:17:02 -040011
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040012
13
14RMR LIBRARY FUNCTIONS
15=====================
16
17
18
19NAME
20----
21
E. Scott Daniels117030c2020-04-10 17:17:02 -040022rmr_get_src
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040023
24
25SYNOPSIS
26--------
27
E. Scott Daniels117030c2020-04-10 17:17:02 -040028
29::
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040030
E. Scott Daniels117030c2020-04-10 17:17:02 -040031 #include <rmr/rmr.h>
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040032
E. Scott Daniels117030c2020-04-10 17:17:02 -040033 unsigned char* rmr_get_src( rmr_mbuf_t* mbuf, unsigned char* dest )
34
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040035
36
37DESCRIPTION
38-----------
39
40The ``rmr_get_src`` function will copy the *source*
41information from the message to a buffer (dest) supplied by
42the user. In an RMR message, the source is the sender's
43information that is used for return to sender function calls,
44and is generally the hostname and port in the form *name*.
45The source might be an IP address port combination; the data
46is populated by the sending process and the only requirement
47is that it be capable of being used to start a TCP session
48with the sender.
E. Scott Daniels117030c2020-04-10 17:17:02 -040049
E. Scott Daniels43b79812020-04-17 13:00:28 -040050The maximum size allowed by RMR is 64 bytes (including the
E. Scott Daniels117030c2020-04-10 17:17:02 -040051nil string terminator), so the user must ensure that the
52destination buffer given is at least 64 bytes.
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040053
54
55RETURN VALUE
56------------
57
E. Scott Daniels117030c2020-04-10 17:17:02 -040058On success, a pointer to the destination buffer is given as a
59convenience to the user programme. On failure, a nil pointer
60is returned and the value of errno is set.
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040061
62
63ERRORS
64------
65
66If an error occurs, the value of the global variable
67``errno`` will be set to one of the following with the
68indicated meaning.
E. Scott Daniels117030c2020-04-10 17:17:02 -040069
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040070 .. list-table::
71 :widths: auto
72 :header-rows: 0
73 :class: borderless
74
75 * - **EINVAL**
76 -
77 The message, or an internal portion of the message, was
78 corrupted or the pointer was invalid.
79
E. Scott Daniels117030c2020-04-10 17:17:02 -040080
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040081
82
83SEE ALSO
84--------
85
E. Scott Daniels117030c2020-04-10 17:17:02 -040086rmr_alloc_msg(3), rmr_bytes2xact(3), rmr_bytes2meid(3),
87rmr_call(3), rmr_free_msg(3), rmr_get_rcvfd(3),
88rmr_get_srcip(3), rmr_payload_size(3), rmr_send_msg(3),
89rmr_rcv_msg(3), rmr_rcv_specific(3), rmr_rts_msg(3),
90rmr_ready(3), rmr_fib(3), rmr_has_str(3), rmr_tokenise(3),
91rmr_mk_ring(3), rmr_ring_free(3), rmr_str2meid(3),
92rmr_str2xact(3), rmr_wh_open(3), rmr_wh_send_msg(3)