blob: b47ac8b6feef46d7c6ad362fa9a8ac874134dd8b [file] [log] [blame]
E. Scott Danielsece5bbe2020-07-21 13:39:18 -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
7============================================================================================
8Man Page: rmr_get_srcip
9============================================================================================
10
11
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040012
13
14RMR LIBRARY FUNCTIONS
15=====================
16
17
18
19NAME
20----
21
E. Scott Danielsece5bbe2020-07-21 13:39:18 -040022rmr_get_srcip
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040023
24
25SYNOPSIS
26--------
27
E. Scott Danielsece5bbe2020-07-21 13:39:18 -040028
29::
30
31 #include <rmr/rmr.h>
32
33 unsigned char* rmr_get_srcip( rmr_mbuf_t* mbuf, unsigned char* dest )
34
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040035
36
37DESCRIPTION
38-----------
39
E. Scott Danielsece5bbe2020-07-21 13:39:18 -040040The ``rmr_get_srcip`` function will copy the *source IP
41address* from the message to a buffer (dest) supplied by the
42user. In an RMR message, the source IP address is the
43sender's information that is used for return to sender
44function calls; this function makes it available to the user
45application. The address is maintained as IP:port where *IP*
46could be either an IPv6 or IPv4 address depending on what was
47provided by the sending application.
48
49The maximum size allowed by RMR is 64 bytes (including the
50nil string terminator), so the user must ensure that the
51destination buffer given is at least 64 bytes. The user
52application should use the RMR constant RMR_MAX_SRC to ensure
53that the buffer supplied is large enough, and to protect
54against future RMR enhancements which might increase the
55address buffer size requirement.
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040056
57
58RETURN VALUE
59------------
60
E. Scott Danielsece5bbe2020-07-21 13:39:18 -040061On success, a pointer to the destination buffer is given as a
62convenience to the user programme. On failure, a nil pointer
63is returned and the value of errno is set.
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040064
65
66ERRORS
67------
68
E. Scott Danielsece5bbe2020-07-21 13:39:18 -040069If an error occurs, the value of the global variable
70``errno`` will be set to one of the following with the
71indicated meaning.
72
73 .. list-table::
74 :widths: auto
75 :header-rows: 0
76 :class: borderless
77
78 * - **EINVAL**
79 -
80 The message, or an internal portion of the message, was
81 corrupted or the pointer was invalid.
82
83
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040084
85
86SEE ALSO
87--------
88
E. Scott Danielsece5bbe2020-07-21 13:39:18 -040089rmr_alloc_msg(3), rmr_bytes2xact(3), rmr_bytes2meid(3),
90rmr_call(3), rmr_free_msg(3), rmr_get_rcvfd(3),
91rmr_get_src(3), rmr_payload_size(3), rmr_send_msg(3),
92rmr_rcv_msg(3), rmr_rcv_specific(3), rmr_rts_msg(3),
93rmr_ready(3), rmr_fib(3), rmr_has_str(3), rmr_tokenise(3),
94rmr_mk_ring(3), rmr_ring_free(3), rmr_str2meid(3),
95rmr_str2xact(3), rmr_wh_open(3), rmr_wh_send_msg(3)