RDMnet  0.3.0
Implementation of ANSI E1.33 (RDMnet)
View other versions:
common.h File Reference

Overview

Functions and definitions common to all RDMnet API modules.

#include "etcpal/error.h"
#include "etcpal/inet.h"
#include "etcpal/log.h"
#include "rdm/message.h"
#include "rdmnet/defs.h"

Go to the source code of this file.

Data Structures

struct  RdmnetSyncRdmResponse
 This structure should not be manipulated directly - use the macros to access it: More...
 
struct  RdmnetSyncEptResponse
 This structure should not be manipulated directly - use the macros to access it: More...
 
struct  RdmnetMcastNetintId
 A set of identifying information for a network interface, for multicast purposes. More...
 
struct  RdmnetNetintConfig
 Network interface configuration information to give the RDMnet library at initialization. More...
 

Macros

#define RDMNET_SYNC_SEND_RDM_ACK(response_ptr, response_data_len_in)
 Indicate that an RDM ACK should be sent when this callback returns. More...
 
#define RDMNET_SYNC_SEND_RDM_NACK(response_ptr, nack_reason_in)
 Indicate that an RDM NACK should be sent when this callback returns. More...
 
#define RDMNET_SYNC_DEFER_RDM_RESPONSE(response_ptr)   ((response_ptr)->response_action = kRdmnetRdmResponseActionDefer)
 Defer the RDM response to be sent later from another context. More...
 
#define RDMNET_SYNC_SEND_EPT_DATA(response_ptr, response_data_len_in)
 Indicate that an EPT data message should be sent when this callback returns. More...
 
#define RDMNET_SYNC_SEND_EPT_STATUS(response_ptr, status_code_in)
 Indicate that an EPT status message should be sent when this callback returns. More...
 
#define RDMNET_SYNC_DEFER_EPT_RESPONSE(response_ptr)   ((response_ptr)->response_action = kRdmnetEptResponseActionDefer)
 Defer the response to the EPT message, either to be sent later or because no response is necessary. More...
 

Typedefs

typedef struct RdmnetSyncRdmResponse RdmnetSyncRdmResponse
 This structure should not be manipulated directly - use the macros to access it: More...
 
typedef struct RdmnetSyncEptResponse RdmnetSyncEptResponse
 This structure should not be manipulated directly - use the macros to access it: More...
 
typedef struct RdmnetMcastNetintId RdmnetMcastNetintId
 A set of identifying information for a network interface, for multicast purposes. More...
 
typedef struct RdmnetNetintConfig RdmnetNetintConfig
 Network interface configuration information to give the RDMnet library at initialization. More...
 

Enumerations

enum  rpt_status_code_t {
  kRptStatusUnknownRptUid = VECTOR_RPT_STATUS_UNKNOWN_RPT_UID ,
  kRptStatusRdmTimeout = VECTOR_RPT_STATUS_RDM_TIMEOUT ,
  kRptStatusInvalidRdmResponse = VECTOR_RPT_STATUS_RDM_INVALID_RESPONSE ,
  kRptStatusUnknownRdmUid = VECTOR_RPT_STATUS_UNKNOWN_RDM_UID ,
  kRptStatusUnknownEndpoint = VECTOR_RPT_STATUS_UNKNOWN_ENDPOINT ,
  kRptStatusBroadcastComplete = VECTOR_RPT_STATUS_BROADCAST_COMPLETE ,
  kRptStatusUnknownVector = VECTOR_RPT_STATUS_UNKNOWN_VECTOR ,
  kRptStatusInvalidMessage = VECTOR_RPT_STATUS_INVALID_MESSAGE ,
  kRptStatusInvalidCommandClass = VECTOR_RPT_STATUS_INVALID_COMMAND_CLASS
}
 RPT status code definitions. More...
 
enum  ept_status_code_t {
  kEptStatusUnknownCid = VECTOR_EPT_STATUS_UNKNOWN_CID ,
  kEptStatusUnknownVector = VECTOR_EPT_STATUS_UNKNOWN_VECTOR
}
 EPT status code definitions. More...
 
enum  rdmnet_disconnect_reason_t {
  kRdmnetDisconnectShutdown = E133_DISCONNECT_SHUTDOWN ,
  kRdmnetDisconnectCapacityExhausted = E133_DISCONNECT_CAPACITY_EXHAUSTED ,
  kRdmnetDisconnectHardwareFault = E133_DISCONNECT_HARDWARE_FAULT ,
  kRdmnetDisconnectSoftwareFault = E133_DISCONNECT_SOFTWARE_FAULT ,
  kRdmnetDisconnectSoftwareReset = E133_DISCONNECT_SOFTWARE_RESET ,
  kRdmnetDisconnectIncorrectScope = E133_DISCONNECT_INCORRECT_SCOPE ,
  kRdmnetDisconnectRptReconfigure = E133_DISCONNECT_RPT_RECONFIGURE ,
  kRdmnetDisconnectLlrpReconfigure = E133_DISCONNECT_LLRP_RECONFIGURE ,
  kRdmnetDisconnectUserReconfigure = E133_DISCONNECT_USER_RECONFIGURE
}
 Disconnect reason defines for the BrokerDisconnectMsg. More...
 
enum  rdmnet_connect_status_t {
  kRdmnetConnectOk = E133_CONNECT_OK ,
  kRdmnetConnectScopeMismatch = E133_CONNECT_SCOPE_MISMATCH ,
  kRdmnetConnectCapacityExceeded = E133_CONNECT_CAPACITY_EXCEEDED ,
  kRdmnetConnectDuplicateUid = E133_CONNECT_DUPLICATE_UID ,
  kRdmnetConnectInvalidClientEntry = E133_CONNECT_INVALID_CLIENT_ENTRY ,
  kRdmnetConnectInvalidUid = E133_CONNECT_INVALID_UID
}
 Connect status defines for the BrokerConnectReplyMsg. More...
 
enum  rdmnet_dynamic_uid_status_t {
  kRdmnetDynamicUidStatusOk = E133_DYNAMIC_UID_STATUS_OK ,
  kRdmnetDynamicUidStatusInvalidRequest = E133_DYNAMIC_UID_STATUS_INVALID_REQUEST ,
  kRdmnetDynamicUidStatusUidNotFound = E133_DYNAMIC_UID_STATUS_UID_NOT_FOUND ,
  kRdmnetDynamicUidStatusDuplicateRid = E133_DYNAMIC_UID_STATUS_DUPLICATE_RID ,
  kRdmnetDynamicUidStatusCapacityExhausted = E133_DYNAMIC_UID_STATUS_CAPACITY_EXHAUSTED
}
 Dynamic UID Status Codes for the BrokerDynamicUidMapping struct. More...
 
enum  rdmnet_connect_fail_event_t {
  kRdmnetConnectFailSocketFailure ,
  kRdmnetConnectFailTcpLevel ,
  kRdmnetConnectFailNoReply ,
  kRdmnetConnectFailRejected
}
 A high-level reason for RDMnet connection failure. More...
 
enum  rdmnet_disconnect_event_t {
  kRdmnetDisconnectAbruptClose ,
  kRdmnetDisconnectNoHeartbeat ,
  kRdmnetDisconnectRedirected ,
  kRdmnetDisconnectGracefulRemoteInitiated ,
  kRdmnetDisconnectGracefulLocalInitiated
}
 A high-level reason for RDMnet connection to be disconnected after successful connection. More...
 
enum  rdmnet_rdm_response_action_t {
  kRdmnetRdmResponseActionSendAck ,
  kRdmnetRdmResponseActionSendNack ,
  kRdmnetRdmResponseActionDefer
}
 Enumeration representing an action to take after an "RDM command received" callback completes. More...
 
enum  rdmnet_ept_response_action_t {
  kRdmnetEptResponseActionSendData ,
  kRdmnetEptResponseActionSendStatus ,
  kRdmnetEptResponseActionDefer
}
 Enumeration representing an action to take after an "EPT data received" callback completes. More...
 
enum  rdmnet_command_class_t {
  kRdmnetCCGetCommand = 0x20 ,
  kRdmnetCCSetCommand = 0x30
}
 An RDM command class, for RDMnet purposes. More...
 

Functions

etcpal_error_t rdmnet_init (const EtcPalLogParams *log_params, const RdmnetNetintConfig *netint_config)
 Initialize the RDMnet library. More...
 
void rdmnet_deinit (void)
 Deinitialize the RDMnet library. More...
 
const char * rdmnet_rpt_status_code_to_string (rpt_status_code_t code)
 Get a string representation of an RPT status code.
 
const char * rdmnet_ept_status_code_to_string (ept_status_code_t code)
 Get a string representation of an EPT status code.
 
const char * rdmnet_connect_fail_event_to_string (rdmnet_connect_fail_event_t event)
 Get a string description of an RDMnet connection failure event. More...
 
const char * rdmnet_disconnect_event_to_string (rdmnet_disconnect_event_t event)
 Get a string description of an RDMnet disconnect event. More...
 
const char * rdmnet_connect_status_to_string (rdmnet_connect_status_t code)
 Get a string description of an RDMnet connect status code. More...
 
const char * rdmnet_disconnect_reason_to_string (rdmnet_disconnect_reason_t code)
 Get a string description of an RDMnet disconnect reason code. More...
 
const char * rdmnet_dynamic_uid_status_to_string (rdmnet_dynamic_uid_status_t code)
 Get a string description of an RDMnet Dynamic UID status code. More...