42146e835ff4984054cf0bf0f04b83caee99a034
[ric-plt/lib/rmr.git] / doc / src / man / rmr_get_src.3.xfm
1 .if false
2 ==================================================================================
3         Copyright (c) 2019 Nokia
4         Copyright (c) 2018-2019 AT&T Intellectual Property.
5
6    Licensed under the Apache License, Version 2.0 (the "License");
7    you may not use this file except in compliance with the License.
8    You may obtain a copy of the License at
9
10        http://www.apache.org/licenses/LICENSE-2.0
11
12    Unless required by applicable law or agreed to in writing, software
13    distributed under the License is distributed on an "AS IS" BASIS,
14    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15    See the License for the specific language governing permissions and
16    limitations under the License.
17 ==================================================================================
18 .fi
19
20 .if false
21         Mnemonic        rmr_get_src.xfm
22         Abstract        The manual page for the rmr_get_src function.
23         Author          E. Scott Daniels
24         Date            8 March 2019
25 .fi
26
27 .** if formatting with tfm, the roff.im will cause roff output to be generated
28 .** if formatting with pfm, then pretty postscript will be generated
29 .gv e LIB lib
30 .if pfm
31         .im &{lib}/generic_ps.im
32 .ei
33         .gv e OUTPUT_RST use_rst
34         .if .ev &use_rst 1 =
35                 .im &{lib}/rst.im
36         .ei
37                 .im &{lib}/roff.im
38         .fi
39 .fi
40
41 &line_len(6i)
42
43 &h1(RMR Library Functions)
44 &h2(NAME)
45         rmr_get_src
46
47 &h2(SYNOPSIS)
48 &indent
49 &ex_start
50 #include <rmr/rmr.h>
51
52 unsigned char* rmr_get_src( rmr_mbuf_t* mbuf, unsigned char* dest )
53 &ex_end
54
55 &uindent
56
57 &h2(DESCRIPTION)
58 The &cw(rmr_get_src) function will copy the &ital(source) information from the message to a buffer
59 (dest) supplied by the user.
60 In an RMr message, the source is the sender's information that is used for return to sender
61 function calls, and is generally the hostname and port in the form &ital(name:port).
62 The source might be an IP address port combination; the data is populated by the sending process
63 and the only requirement is that it be capable of being used to start a TCP session with the
64 sender.
65 .sp
66
67 The maximum size allowed by RMr is 64 bytes (including the nil string terminator), so the user
68 must ensure that the destination buffer given is at least 64 bytes.
69
70 &h2(RETURN VALUE)
71 On success, a pointer to the destination buffer is given as a convenience to the user programme.
72 On failure, a nil pointer is returned and the value of errno is set.
73
74 &h2(ERRORS)
75 If an error occurs, the value of the global variable &cw( errno ) will be set to one of
76 the following with the indicated meaning.
77
78 &beg_dlist(.75i : ^&bold_font )
79 &half_space
80 &di(EINVAL) The message, or an internal portion of the message, was corrupted or the pointer was invalid.
81 &end_dlist
82
83
84
85 &h2(SEE ALSO )
86 .ju off
87 rmr_alloc_msg(3),
88 rmr_bytes2xact(3),
89 rmr_bytes2meid(3),
90 rmr_call(3),
91 rmr_free_msg(3),
92 rmr_get_rcvfd(3),
93 rmr_get_srcip(3),
94 rmr_payload_size(3),
95 rmr_send_msg(3),
96 rmr_rcv_msg(3),
97 rmr_rcv_specific(3),
98 rmr_rts_msg(3),
99 rmr_ready(3),
100 rmr_fib(3),
101 rmr_has_str(3),
102 rmr_tokenise(3),
103 rmr_mk_ring(3),
104 rmr_ring_free(3),
105 rmr_str2meid(3),
106 rmr_str2xact(3),
107 rmr_wh_open(3),
108 rmr_wh_send_msg(3)
109 .ju on
110
111
112 .qu
113