RDMnet  0.3.0
Implementation of ANSI E1.33 (RDMnet)
View other versions:
llrp.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2020 ETC Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  ******************************************************************************
16  * This file is a part of RDMnet. For more information, go to:
17  * https://github.com/ETCLabs/RDMnet
18  *****************************************************************************/
19 
25 #ifndef RDMNET_LLRP_H_
26 #define RDMNET_LLRP_H_
27 
28 #include <stdint.h>
29 #include "etcpal/inet.h"
30 #include "etcpal/uuid.h"
31 #include "rdm/uid.h"
32 #include "rdmnet/defs.h"
33 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
47 typedef struct LlrpDestinationAddr
48 {
52  RdmUid dest_uid;
54  uint16_t subdevice;
56 
58 typedef enum
59 {
61  kLlrpCompRptDevice = LLRP_COMPONENT_TYPE_RPT_DEVICE,
63  kLlrpCompRptController = LLRP_COMPONENT_TYPE_RPT_CONTROLLER,
65  kLlrpCompBroker = LLRP_COMPONENT_TYPE_BROKER,
67  kLlrpCompNonRdmnet = LLRP_COMPONENT_TYPE_NONRDMNET
69 
71 typedef struct LlrpDiscoveredTarget
72 {
76  RdmUid uid;
82 
84 
85 #ifdef __cplusplus
86 }
87 #endif
88 
93 #endif /* RDMNET_LLRP_H_ */
struct LlrpDestinationAddr LlrpDestinationAddr
A destination address for an RDM command in LLRP.
struct LlrpDiscoveredTarget LlrpDiscoveredTarget
A set of information associated with an LLRP Target.
const char * llrp_component_type_to_string(llrp_component_t type)
Get a string description of an LLRP component type.
Definition: llrp.c:46
llrp_component_t
Identifies the type of RPT Component with which an LLRP Target is associated.
Definition: llrp.h:59
@ kLlrpCompRptDevice
This LLRP Target is associated with an RPT Device.
Definition: llrp.h:61
@ kLlrpCompBroker
This LLRP Target is associated with a Broker.
Definition: llrp.h:65
@ kLlrpCompRptController
This LLRP Target is associated with an RPT Controller.
Definition: llrp.h:63
@ kLlrpCompNonRdmnet
This LLRP Target does not implement any RDMnet protocol other than LLRP.
Definition: llrp.h:67
A destination address for an RDM command in LLRP.
Definition: llrp.h:48
uint16_t subdevice
The sub-device to which this command is addressed, or 0 for the root device.
Definition: llrp.h:54
RdmUid dest_uid
The UID of the LLRP Target to which this command is addressed.
Definition: llrp.h:52
EtcPalUuid dest_cid
The CID of the LLRP Target to which this command is addressed.
Definition: llrp.h:50
A set of information associated with an LLRP Target.
Definition: llrp.h:72
EtcPalMacAddr hardware_address
The LLRP Target's hardware address (usually the MAC address).
Definition: llrp.h:78
RdmUid uid
The LLRP Target's UID.
Definition: llrp.h:76
EtcPalUuid cid
The LLRP Target's CID.
Definition: llrp.h:74
llrp_component_t component_type
The type of RPT Component this LLRP Target is associated with.
Definition: llrp.h:80