blob: a8cf43463e4ef6a08ff19b15d6a90ee65dfd9695 [file] [log] [blame]
E. Scott Daniels117030c2020-04-10 17:17:02 -04001
2
3.. This work is licensed under a Creative Commons Attribution 4.0 International License.
4.. SPDX-License-Identifier: CC-BY-4.0
5.. CAUTION: this document is generated from source in doc/src/rtd.
6.. To make changes edit the source and recompile the document.
7.. Do NOT make changes directly to .rst or .md files.
8
9
10============================================================================================
11Man Page: rmr_get_srcip
12============================================================================================
13
14RMR Library Functions
15============================================================================================
16
17
18NAME
19--------------------------------------------------------------------------------------------
20
21rmr_get_srcip
22
23SYNOPSIS
24--------------------------------------------------------------------------------------------
25
26
27::
28
29 #include <rmr/rmr.h>
30 unsigned char* rmr_get_srcip( rmr_mbuf_t* mbuf, unsigned char* dest )
31
32
33
34DESCRIPTION
35--------------------------------------------------------------------------------------------
36
37The rmr_get_srcip function will copy the *source IP address*
38from the message to a buffer (dest) supplied by the user. In
39an RMr message, the source IP address is the sender's
40information that is used for return to sender function calls;
41this function makes it available to the user application. The
42address is maintained as IP:port where *IP* could be either
43an IPv6 or IPv4 address depending on what was provided by the
44sending application.
45
46The maximum size allowed by RMr is 64 bytes (including the
47nil string terminator), so the user must ensure that the
48destination buffer given is at least 64 bytes. The user
49application should use the RMr constant RMR_MAX_SRC to ensure
50that the buffer supplied is large enough, and to protect
51against future RMr enhancements which might increase the
52address buffer size requirement.
53
54RETURN VALUE
55--------------------------------------------------------------------------------------------
56
57On success, a pointer to the destination buffer is given as a
58convenience to the user programme. On failure, a nil pointer
59is returned and the value of errno is set.
60
61ERRORS
62--------------------------------------------------------------------------------------------
63
64If an error occurs, the value of the global variable errno
65will be set to one of the following with the indicated
66meaning.
67
68
69
70EINVAL
71
72 The message, or an internal portion of the message, was
73 corrupted or the pointer was invalid.
74
75
76SEE ALSO
77--------------------------------------------------------------------------------------------
78
79rmr_alloc_msg(3), rmr_bytes2xact(3), rmr_bytes2meid(3),
80rmr_call(3), rmr_free_msg(3), rmr_get_rcvfd(3),
81rmr_get_src(3), rmr_payload_size(3), rmr_send_msg(3),
82rmr_rcv_msg(3), rmr_rcv_specific(3), rmr_rts_msg(3),
83rmr_ready(3), rmr_fib(3), rmr_has_str(3), rmr_tokenise(3),
84rmr_mk_ring(3), rmr_ring_free(3), rmr_str2meid(3),
85rmr_str2xact(3), rmr_wh_open(3), rmr_wh_send_msg(3)