25 #ifndef RDMNET_MESSAGE_H_
26 #define RDMNET_MESSAGE_H_
31 #include "etcpal/acn_rlp.h"
32 #include "etcpal/inet.h"
33 #include "etcpal/uuid.h"
34 #include "rdm/message.h"
70 #define RDMNET_COMMAND_IS_TO_DEFAULT_RESPONDER(cmd_ptr) ((cmd_ptr) && ((cmd_ptr)->dest_endpoint == E133_NULL_ENDPOINT))
181 #define RDMNET_RESP_ORIGINAL_COMMAND_INCLUDED(resp) ((resp) && ((resp)->seq_num == 0))
371 #define EPT_PROTOCOL_STRING_PADDED_LENGTH 32
Functions and definitions common to all RDMnet API modules.
struct RdmnetSavedEptData RdmnetSavedEptData
An EPT data message received over RDMnet and saved for later processing.
etcpal_error_t rdmnet_copy_saved_rdm_response(const RdmnetSavedRdmResponse *saved_resp_old, RdmnetSavedRdmResponse *saved_resp_new)
Copy the data from a saved RDM response to a different saved RDM response.
Definition: message.c:225
etcpal_error_t rdmnet_free_saved_rdm_response(RdmnetSavedRdmResponse *saved_response)
Free the memory owned by a saved RDM response.
Definition: message.c:265
etcpal_error_t rdmnet_free_saved_ept_status(RdmnetSavedEptStatus *saved_status)
Free the memory owned by a saved EPT status message.
Definition: message.c:424
struct RdmnetSavedRdmCommand RdmnetSavedRdmCommand
struct RdmnetEptStatus RdmnetEptStatus
ept_status_code_t
Definition: common.h:76
etcpal_error_t rdmnet_copy_saved_llrp_rdm_response(const LlrpSavedRdmResponse *saved_resp_old, LlrpSavedRdmResponse *saved_resp_new)
Copy the data from a saved LLRP RDM response to a different saved LLRP RDM response.
Definition: message.c:491
struct RdmnetSavedEptStatus RdmnetSavedEptStatus
An EPT status received over RDMnet and saved for later processing.
etcpal_error_t rdmnet_append_to_saved_rdm_response(const RdmnetRdmResponse *new_response, RdmnetSavedRdmResponse *previously_saved_response)
Append more data to a SavedRdmResponse's parameter data.
Definition: message.c:152
etcpal_error_t rdmnet_save_llrp_rdm_response(const LlrpRdmResponse *response, LlrpSavedRdmResponse *saved_response)
Save the data in a received LLRP RDM response for later use from a different context.
Definition: message.c:469
struct RdmnetDynamicUidAssignmentList RdmnetDynamicUidAssignmentList
etcpal_error_t rdmnet_save_rdm_command(const RdmnetRdmCommand *command, RdmnetSavedRdmCommand *saved_command)
Save the data in a received RDM command for later use with API functions from a different context.
Definition: message.c:70
etcpal_error_t rdmnet_free_saved_rpt_status(RdmnetSavedRptStatus *saved_status)
Free the memory owned by a saved RPT status message.
Definition: message.c:291
struct LlrpRdmCommand LlrpRdmCommand
struct RdmnetRdmCommand RdmnetRdmCommand
etcpal_error_t rdmnet_copy_saved_ept_data(const RdmnetSavedEptData *saved_data_old, RdmnetSavedEptData *saved_data_new)
Copy the data from a saved EPT data message to a different saved EPT data message.
Definition: message.c:368
struct RdmnetEptSubProtocol RdmnetEptSubProtocol
A description of an EPT sub-protocol.
struct RdmnetDynamicUidMapping RdmnetDynamicUidMapping
struct RdmnetSavedRdmResponse RdmnetSavedRdmResponse
An RDM response received over RDMnet and saved for later processing.
struct LlrpRdmResponse LlrpRdmResponse
etcpal_error_t rdmnet_save_ept_data(const RdmnetEptData *data, RdmnetSavedEptData *saved_data)
Save the data in a received EPT data message for later use from a different context.
Definition: message.c:323
etcpal_error_t rdmnet_save_llrp_rdm_command(const LlrpRdmCommand *command, LlrpSavedRdmCommand *saved_command)
Save the data in a received LLRP RDM command for later use with API functions from a different contex...
Definition: message.c:443
struct RdmnetRdmResponse RdmnetRdmResponse
rpt_client_type_t
Definition: message.h:352
rpt_status_code_t
Definition: common.h:53
etcpal_error_t rdmnet_free_saved_ept_data(RdmnetSavedEptData *saved_data)
Free the memory owned by a saved EPT data message.
Definition: message.c:407
etcpal_error_t rdmnet_save_rpt_status(const RdmnetRptStatus *status, RdmnetSavedRptStatus *saved_status)
Save the data in a received RPT status message for later use from a different context.
Definition: message.c:178
etcpal_error_t rdmnet_copy_saved_rpt_status(const RdmnetSavedRptStatus *saved_status_old, RdmnetSavedRptStatus *saved_status_new)
Copy the data from a saved RPT status message to a different saved RPT status message.
Definition: message.c:246
struct LlrpSavedRdmCommand LlrpSavedRdmCommand
etcpal_error_t rdmnet_save_rdm_response(const RdmnetRdmResponse *response, RdmnetSavedRdmResponse *saved_response)
Save the data in a received RDM response for later use from a different context.
Definition: message.c:102
const char * rdmnet_rpt_client_type_to_string(rpt_client_type_t client_type)
Get a string description of an RPT client type.
Definition: message.c:50
etcpal_error_t rdmnet_copy_saved_ept_status(const RdmnetSavedEptStatus *saved_status_old, RdmnetSavedEptStatus *saved_status_new)
Copy the data from a saved EPT status message to a different saved EPT status message.
Definition: message.c:388
struct RdmnetEptData RdmnetEptData
struct RdmnetEptClientEntry RdmnetEptClientEntry
struct RdmnetEptClientList RdmnetEptClientList
struct LlrpSavedRdmResponse LlrpSavedRdmResponse
etcpal_error_t rdmnet_save_ept_status(const RdmnetEptStatus *status, RdmnetSavedEptStatus *saved_status)
Save the data in a received EPT status message for later use from a different context.
Definition: message.c:348
struct RdmnetRptStatus RdmnetRptStatus
struct RdmnetSavedRptStatus RdmnetSavedRptStatus
An RPT status received over RDMnet and saved for later processing.
struct RdmnetRptClientList RdmnetRptClientList
rdmnet_dynamic_uid_status_t
Definition: common.h:134
struct RdmnetRptClientEntry RdmnetRptClientEntry
@ kRPTClientTypeDevice
Definition: message.h:354
@ kRPTClientTypeUnknown
Definition: message.h:358
@ kRPTClientTypeController
Definition: message.h:356
Definition: message.h:440
EtcPalUuid source_cid
Definition: message.h:442
EtcPalMcastNetintId netint_id
Definition: message.h:449
const uint8_t * data
Definition: message.h:453
uint32_t seq_num
Definition: message.h:444
RdmCommandHeader rdm_header
Definition: message.h:451
uint8_t data_len
Definition: message.h:455
Definition: message.h:480
EtcPalUuid source_cid
Definition: message.h:482
const uint8_t * rdm_data
Definition: message.h:488
RdmResponseHeader rdm_header
Definition: message.h:486
uint32_t seq_num
Definition: message.h:484
uint8_t rdm_data_len
Definition: message.h:490
Definition: message.h:460
EtcPalUuid source_cid
Definition: message.h:462
uint8_t data[RDM_MAX_PDL]
Definition: message.h:473
EtcPalMcastNetintId netint_id
Definition: message.h:469
uint32_t seq_num
Definition: message.h:464
RdmCommandHeader rdm_header
Definition: message.h:471
uint8_t data_len
Definition: message.h:475
Definition: message.h:495
EtcPalUuid source_cid
Definition: message.h:497
RdmResponseHeader rdm_header
Definition: message.h:501
uint32_t seq_num
Definition: message.h:499
uint8_t rdm_data[RDM_MAX_PDL]
Definition: message.h:503
uint8_t rdm_data_len
Definition: message.h:505
Definition: message.h:246
RdmnetDynamicUidMapping * mappings
Definition: message.h:248
bool more_coming
Definition: message.h:257
size_t num_mappings
Definition: message.h:250
Definition: message.h:235
EtcPalUuid rid
Definition: message.h:241
rdmnet_dynamic_uid_status_t status_code
Definition: message.h:237
RdmUid uid
Definition: message.h:239
Definition: message.h:391
RdmnetEptSubProtocol * protocols
Definition: message.h:393
EtcPalUuid cid
Definition: message.h:392
size_t num_protocols
Definition: message.h:394
Definition: message.h:415
bool more_coming
Definition: message.h:426
RdmnetEptClientEntry * client_entries
Definition: message.h:417
size_t num_client_entries
Definition: message.h:419
Definition: message.h:271
EtcPalUuid source_cid
Definition: message.h:273
uint16_t manufacturer_id
Definition: message.h:275
const uint8_t * data
Definition: message.h:279
size_t data_len
Definition: message.h:281
uint16_t protocol_id
Definition: message.h:277
Definition: message.h:310
const char * status_string
Definition: message.h:316
ept_status_code_t status_code
Definition: message.h:314
EtcPalUuid source_cid
Definition: message.h:312
A description of an EPT sub-protocol.
Definition: message.h:380
uint16_t manufacturer_id
Definition: message.h:382
const char * protocol_string
Definition: message.h:386
uint16_t protocol_id
Definition: message.h:384
const uint8_t * data
Definition: message.h:64
uint32_t seq_num
Definition: message.h:60
RdmUid rdmnet_source_uid
Definition: message.h:56
RdmCommandHeader rdm_header
Definition: message.h:62
uint8_t data_len
Definition: message.h:66
uint16_t dest_endpoint
Definition: message.h:58
RdmCommandHeader original_cmd_header
Definition: message.h:105
const uint8_t * rdm_data
Definition: message.h:117
uint8_t original_cmd_data_len
Definition: message.h:112
uint16_t source_endpoint
Definition: message.h:95
size_t rdm_data_len
Definition: message.h:119
RdmResponseHeader rdm_header
Definition: message.h:115
uint32_t seq_num
Definition: message.h:97
RdmUid rdmnet_source_uid
Definition: message.h:93
bool more_coming
Definition: message.h:128
const uint8_t * original_cmd_data
Definition: message.h:107
bool is_response_to_me
Whether the response was sent in response to a command previously sent by this controller.
Definition: message.h:102
Definition: message.h:363
EtcPalUuid cid
Definition: message.h:364
rpt_client_type_t type
Definition: message.h:366
EtcPalUuid binding_cid
Definition: message.h:367
RdmUid uid
Definition: message.h:365
Definition: message.h:399
RdmnetRptClientEntry * client_entries
Definition: message.h:401
bool more_coming
Definition: message.h:410
size_t num_client_entries
Definition: message.h:403
Definition: message.h:194
const char * status_string
Definition: message.h:204
RdmUid source_uid
Definition: message.h:196
uint16_t source_endpoint
Definition: message.h:198
uint32_t seq_num
Definition: message.h:200
rpt_status_code_t status_code
Definition: message.h:202
An EPT data message received over RDMnet and saved for later processing.
Definition: message.h:292
EtcPalUuid source_cid
Definition: message.h:294
uint16_t manufacturer_id
Definition: message.h:296
const uint8_t * data
Definition: message.h:303
size_t data_len
Definition: message.h:305
uint16_t protocol_id
Definition: message.h:298
An EPT status received over RDMnet and saved for later processing.
Definition: message.h:328
const char * status_string
Definition: message.h:338
ept_status_code_t status_code
Definition: message.h:332
EtcPalUuid source_cid
Definition: message.h:330
uint8_t data[RDM_MAX_PDL]
Definition: message.h:84
uint32_t seq_num
Definition: message.h:80
RdmUid rdmnet_source_uid
Definition: message.h:76
RdmCommandHeader rdm_header
Definition: message.h:82
uint8_t data_len
Definition: message.h:86
uint16_t dest_endpoint
Definition: message.h:78
An RDM response received over RDMnet and saved for later processing.
Definition: message.h:139
RdmCommandHeader original_cmd_header
Definition: message.h:153
uint8_t original_cmd_data_len
Definition: message.h:160
uint16_t source_endpoint
Definition: message.h:143
size_t rdm_data_len
Definition: message.h:170
uint8_t original_cmd_data[RDM_MAX_PDL]
Definition: message.h:155
RdmResponseHeader rdm_header
Definition: message.h:163
uint32_t seq_num
Definition: message.h:145
RdmUid rdmnet_source_uid
Definition: message.h:141
uint8_t * rdm_data
Definition: message.h:168
bool is_response_to_me
Whether the response was sent in response to a command previously sent by this controller.
Definition: message.h:150
An RPT status received over RDMnet and saved for later processing.
Definition: message.h:216
RdmUid source_uid
Definition: message.h:218
uint16_t source_endpoint
Definition: message.h:220
uint32_t seq_num
Definition: message.h:222
rpt_status_code_t status_code
Definition: message.h:224
char * status_string
Definition: message.h:230