summaryrefslogtreecommitdiff
path: root/lib/zclient.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/zclient.h')
-rw-r--r--lib/zclient.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/lib/zclient.h b/lib/zclient.h
index e43393fd70..fe296fe950 100644
--- a/lib/zclient.h
+++ b/lib/zclient.h
@@ -1176,16 +1176,33 @@ zclient_send_opaque_unicast(struct zclient *zclient, uint32_t type,
uint32_t session_id, const uint8_t *data,
size_t datasize);
+/* Init functions also provided for clients who want to encode their
+ * data inline into the zclient's stream buffer. Please use these instead
+ * of hand-encoding the header info, since that may change over time.
+ * Note that these will reset the zclient's outbound stream before encoding.
+ */
+enum zclient_send_status zapi_opaque_init(struct zclient *zclient,
+ uint32_t type, uint16_t flags);
+
+enum zclient_send_status
+zapi_opaque_unicast_init(struct zclient *zclient, uint32_t type, uint16_t flags,
+ uint8_t proto, uint16_t instance, uint32_t session_id);
+
/* Struct representing the decoded opaque header info */
struct zapi_opaque_msg {
uint32_t type; /* Subtype */
uint16_t len; /* len after zapi header and this info */
uint16_t flags;
- /* Client-specific info - *if* UNICAST flag is set */
- uint8_t proto;
- uint16_t instance;
- uint32_t session_id;
+ /* Sending client info */
+ uint8_t src_proto;
+ uint16_t src_instance;
+ uint32_t src_session_id;
+
+ /* Destination client info - *if* UNICAST flag is set */
+ uint8_t dest_proto;
+ uint16_t dest_instance;
+ uint32_t dest_session_id;
};
#define ZAPI_OPAQUE_FLAG_UNICAST 0x01