RDK Documentation (Open Sourced RDK Components)
CecIARMBusMgr.h
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 
21 
22 
23 /**
24 * @defgroup hdmicec
25 * @{
26 * @defgroup ccec
27 * @{
28 **/
29 
30 
31 #ifndef _IARM_BUS_CECMGR_H
32 #define _IARM_BUS_CECMGR_H
33 
34 #include <stdint.h>
35 #include "libIARM.h"
36 
37 #ifdef __cplusplus
38 extern "C"
39 {
40 #endif
41 #define IARM_BUS_CECMGR_NAME "CECMgr" /*!< CEC Manager IARM-bus name */
42 #define IARM_BUS_CECMGR_MAX_DATA_LENGTH 62
43 #define IARM_BUS_CECMGR_API_Enable "Enable"
44 #define IARM_BUS_CECMGR_API_Send "Send"
45 #define IARM_BUS_CECMGR_API_GetLogicalAddress "GetLogicalAddress"
46 #define IARM_BUS_CECMGR_API_AddLogicalAddress "AddLogicalAddress"
47 #define IARM_BUS_CECMGR_API_GetPhysicalAddress "GetPhysicalAddress"
48 #define IARM_BUS_CECMGR_API_isAvailable "isAvailable"
49 
50 /*! Events published from IR Mananger */
51 typedef enum _CECMgr_EventId_t {
52  IARM_BUS_CECMGR_EVENT_SEND, /*!< Request to Send CEC Data */
53  IARM_BUS_CECMGR_EVENT_RECV, /*!< Notify Availability of CEC Data */
54  IARM_BUS_CECMGR_EVENT_ENABLE, /*!< Notify Enable/Disable of CEC Driver */
55  IARM_BUS_CECMGR_EVENT_DAEMON_INITIALIZED, /*!< Notify CEC Daemon initialized */
56  IARM_BUS_CECMGR_EVENT_MAX, /*!< Maximum event id*/
57  IARM_BUS_CECMGR_EVENT_STATUS_UPDATED /*!< CEC Status Updated */
59 
60 typedef enum _CECMgr_DataDirection_t {
61  IAMR_BUS_CECMGR_DATADIRECTION_SEND,
62  IARM_BUS_CECMGR_DATADIRECTION_RECV,
63 } IARM_Bus_CECMgr_DataDirection_t;
64 
65 /*! Key Event Data */
66 typedef struct _CECMgr_EventData_t {
67  uint8_t length;
68  uint8_t data[IARM_BUS_CECMGR_MAX_DATA_LENGTH + 1];
70 
72  uint8_t length;
73  uint8_t data[IARM_BUS_CECMGR_MAX_DATA_LENGTH + 1];
74  uint8_t retVal;
76 
78  int devType;
79  int logicalAddress;
81 
83  int logicalAddress;
85 
86 
88  unsigned int physicalAddress;
90 
92  int enabled;
94 
96 {
97  int logicalAddress;
99 
100 #ifdef __cplusplus
101 }
102 #endif
103 #endif
104 
105 /** @} */
106 /** @} */
_CECMgr_EventData_t
Definition: CecIARMBusMgr.h:66
IARM_BUS_CECMGR_EVENT_ENABLE
@ IARM_BUS_CECMGR_EVENT_ENABLE
Definition: CecIARMBusMgr.h:54
IARM_BUS_CECMGR_EVENT_SEND
@ IARM_BUS_CECMGR_EVENT_SEND
Definition: CecIARMBusMgr.h:52
_IARM_Bus_CECMgr_Status_Updated_Param_t
Definition: CecIARMBusMgr.h:95
_IARM_Bus_CECMgr_GetPhysicalAddress_Param_t
Definition: CecIARMBusMgr.h:87
IARM_BUS_CECMGR_EVENT_DAEMON_INITIALIZED
@ IARM_BUS_CECMGR_EVENT_DAEMON_INITIALIZED
Definition: CecIARMBusMgr.h:55
_IARM_Bus_CECMgr_AddLogicalAddress_Param_t
Definition: CecIARMBusMgr.h:82
IARM_Bus_CECMgr_EventData_t
struct _CECMgr_EventData_t IARM_Bus_CECMgr_EventData_t
IARM_Bus_CECMgr_EventId_t
enum _CECMgr_EventId_t IARM_Bus_CECMgr_EventId_t
_CECMgr_EventId_t
_CECMgr_EventId_t
Definition: CecIARMBusMgr.h:51
_IARM_Bus_CECMgr_Enable_Param_t
Definition: CecIARMBusMgr.h:91
_IARM_Bus_CECMgr_GetLogicalAddress_Param_t
Definition: CecIARMBusMgr.h:77
IARM_BUS_CECMGR_EVENT_MAX
@ IARM_BUS_CECMGR_EVENT_MAX
Definition: CecIARMBusMgr.h:56
IARM_BUS_CECMGR_EVENT_RECV
@ IARM_BUS_CECMGR_EVENT_RECV
Definition: CecIARMBusMgr.h:53
_IARM_Bus_CECMgr_Send_Param_t
Definition: CecIARMBusMgr.h:71
IARM_BUS_CECMGR_EVENT_STATUS_UPDATED
@ IARM_BUS_CECMGR_EVENT_STATUS_UPDATED
Definition: CecIARMBusMgr.h:57