blob: 409b158a7945ab277085daeb18542447f62815e2 [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_xact
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_xact
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 char* rmr_get_xact( 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_xact`` function will copy the transaction field
41from the message into the *dest* buffer provided by the user.
42The buffer referenced by *dest* is assumed to be at least
43``RMR_MAX_XID`` bytes in length. If *dest* is NULL, then a
44buffer is allocated (the calling application is expected to
45free when the buffer is no longer needed).
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040046
47
48RETURN VALUE
49------------
50
E. Scott Danielsece5bbe2020-07-21 13:39:18 -040051On success, a pointer to the extracted string is returned. If
52*dest* was supplied, then this is just a pointer to the
53caller's buffer. If *dest* was NULL, this is a pointer to the
54allocated buffer. If an error occurs, a nil pointer is
55returned and errno is set as described below.
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040056
57
58ERRORS
59------
60
E. Scott Danielsece5bbe2020-07-21 13:39:18 -040061If an error occurs, the value of the global variable
62``errno`` will be set to one of the following with the
63indicated meaning.
64
65 .. list-table::
66 :widths: auto
67 :header-rows: 0
68 :class: borderless
69
70 * - **EINVAL**
71 -
72 The message, or an internal portion of the message, was
73 corrupted or the pointer was invalid.
74
75 * - **ENOMEM**
76 -
77 A nil pointer was passed for *dest,* however it was not
78 possible to allocate a buffer using malloc().
79
80
E. Scott Danielsa3a121c2020-05-06 09:07:08 -040081
82
83SEE ALSO
84--------
85
E. Scott Danielsece5bbe2020-07-21 13:39:18 -040086rmr_alloc_msg(3), rmr_bytes2xact(3), rmr_bytes2meid(3),
87rmr_call(3), rmr_free_msg(3), rmr_get_rcvfd(3),
88rmr_get_meid(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)