libCEC 8.1.0
C / C++ API — control CEC-capable HDMI devices
Loading...
Searching...
No Matches
cectypes.h
Go to the documentation of this file.
1#pragma once
2/*
3 * This file is part of the libCEC(R) library.
4 *
5 * libCEC(R) is Copyright (C) 2011-2015 Pulse-Eight Limited. All rights reserved.
6 * libCEC(R) is an original work, containing original code.
7 *
8 * libCEC(R) is a trademark of Pulse-Eight Limited.
9 *
10 * This program is dual-licensed; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23 *
24 *
25 * Alternatively, you can license this library under a commercial license,
26 * please contact Pulse-Eight Licensing for more information.
27 *
28 * For more information contact:
29 * Pulse-Eight Licensing <license@pulse-eight.com>
30 * http://www.pulse-eight.com/
31 * http://www.pulse-eight.net/
32 */
33
34#ifndef CECTYPES_H_
35#define CECTYPES_H_
36
37#include "version.h"
38#include <stdint.h>
39#include <string.h>
40
41#if defined(_WIN32) || defined(_WIN64) || defined(_M_ARM64)
42#define CEC_CDECL __cdecl
43#else
44#define CEC_CDECL
45#endif
46
47#if !defined(DECLSPEC)
48#if defined(_WIN32) || defined(_WIN64) || defined(_M_ARM64)
49#include <windows.h>
50#if defined DLL_EXPORT
51#define DECLSPEC __declspec(dllexport)
52#else
53#define DECLSPEC __declspec(dllimport)
54#endif
55#else
56#define DECLSPEC
57#endif
58#endif
59
60#ifdef __cplusplus
61#include <string>
62extern "C" {
63namespace CEC {
64#endif
65
69#define CEC_DEFAULT_PHYSICAL_ADDRESS 0x1000
73#define CEC_DEFAULT_HDMI_PORT 1
77#define CEC_DEFAULT_BASE_DEVICE 0
78
82#define CEC_BUTTON_TIMEOUT 500
83
89#define CEC_BUTTON_RELEASE_BACKSTOP_MS 5000
90
94#define CEC_DOUBLE_TAP_TIMEOUT_MS 200
95
99#define CEC_BUTTON_REPEAT_DELAY_MS 200
100
104#define CEC_POWER_STATE_REFRESH_TIME 30000
105
109#define CEC_AUDIO_STATUS_REFRESH_TIME 200
110
114#define CEC_FW_VERSION_UNKNOWN 0xFFFF
115
119#define CEC_FW_BUILD_UNKNOWN 0
120
124#define CEC_CONNECT_TRIES 3
125
129#define CEC_PHYSICAL_ADDRESS_TV 0
130
134#define CEC_MIN_PHYSICAL_ADDRESS 0x1000
135
139#define CEC_MAX_PHYSICAL_ADDRESS 0xFFFE
140
144#define CEC_INVALID_PHYSICAL_ADDRESS 0xFFFF
145
149#define CEC_MIN_VENDORID 1
150
154#define CEC_MAX_VENDORID 0xFFFFFE
155
159#define CEC_INVALID_VENDORID 0xFFFFFF
160
164#define CEC_MIN_HDMI_PORTNUMBER 1
165
169#define CEC_MAX_HDMI_PORTNUMBER 15
170
174#define CEC_HDMI_PORTNUMBER_NONE 0
175
179#define CEC_DEFAULT_SETTING_ACTIVATE_SOURCE 1
180
184#define CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN 1
185
189#define CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY 1
190
194#define CEC_DEFAULT_DEVICE_LANGUAGE "eng"
195
199#define CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS 0
200
204#define CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM 0
205
209#define CEC_DEFAULT_SETTING_CEC_VERSION 0x05
210
214#define CEC_DEFAULT_TRANSMIT_RETRY_WAIT 500
215
219#define CEC_DEFAULT_TRANSMIT_TIMEOUT 1000
220
224#define CEC_DEFAULT_TRANSMIT_WAIT 1000
225
229#define CEC_DEFAULT_TRANSMIT_RETRIES 1
230
234#define CEC_DEFAULT_CONNECT_TIMEOUT 10000
235
239#define CEC_DEFAULT_CONNECT_RETRY_WAIT 1000
240
244#define CEC_SERIAL_DEFAULT_BAUDRATE 38400
245
249#define CEC_CLEAR_INPUT_DEFAULT_WAIT 1000
250
254#define CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS 1000
255
259#define CEC_FORWARD_STANDBY_MIN_INTERVAL 10000
260
264#define CEC_DEFAULT_COMBO_TIMEOUT_MS 1000
265
269#define CEC_RPI_VIRTUAL_PATH "Raspberry Pi"
270
274#define CEC_RPI_VIRTUAL_COM "RPI"
275
279#define CEC_TDA995x_PATH "/dev/hdmicec"
280
284#define CEC_TDA995x_VIRTUAL_COM "CuBox"
285
289#define CEC_EXYNOS_PATH "/dev/CEC"
290
294#define CEC_EXYNOS_VIRTUAL_COM "Exynos"
295
299#define CEC_MAX_DATA_PACKET_SIZE (16 * 4)
300
306#define CEC_MAX_FRAME_SIZE 16
307
311#define CEC_LINUX_PATH "/dev/cec0"
312
319#define CEC_LINUX_PATH_FORMAT "/dev/cec%u"
320#define CEC_LINUX_PATH_PREFIX "/dev/cec"
321#define CEC_LINUX_MAX_DEVICES 32
322
326#define CEC_LINUX_VIRTUAL_COM "Linux"
327
331#define CEC_AOCEC_PATH "/dev/aocec"
332
336#define CEC_AOCEC_VIRTUAL_COM "AOCEC"
337
341#define CEC_IMX_PATH "/dev/mxc_hdmi_cec"
342
346#define CEC_IMX_VIRTUAL_COM "i.MX"
347
351#define CEC_MIN_LIB_VERSION 4
352
353#define MSGSTART 0xFF
354#define MSGEND 0xFE
355#define MSGESC 0xFD
356#define ESCOFFSET 3
357
358#define DOUBLE_TAP_TIMEOUT_UNIT_SIZE (50)
359
360// defines to make compile time checks for certain features easy
361#define CEC_FEATURE_CONFIGURABLE_COMBO_KEY 1
362
371
378
389
398
399typedef enum cec_boolean
400{
402 CEC_TRUE = 1
404
415
424
432
452
462
470
476
483
489
508
517
526
528{
554
566
573
580
588
594
602
608
617
635
641
648
662
664{
679 // reserved: 0x0E, 0x0F
682 // reserved: 0x12 ... 0x1C
709 // reserved: 0x39 ... 0x3F
725 // reserved: 0x4F
734 // reserved: 0x58 ... 0x5F
749 // reserved: 0x6E ... 0x70
756 // reserved: 0x77 ... 0xFF
757 CEC_USER_CONTROL_CODE_AN_RETURN = 0x91, // return (Samsung)
758 CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST = 0x96, // channels list (Samsung)
762
784
785typedef enum cec_opcode
786{
849
850 /* CEC 1.4 */
860 /* when this opcode is set, no opcode will be sent to the device. this is one of the reserved numbers */
861 CEC_OPCODE_NONE = 0xFD
863
873
881
915
929
932{
933 LIBCEC_VERSION_CURRENT = _LIBCEC_VERSION_CURRENT
935
936typedef char cec_menu_language[4];
937typedef char cec_osd_name[14];
939typedef struct cec_log_message
940{
941 const char* message;
942 cec_log_level level;
943 int64_t time;
945
946typedef struct cec_keypress
947{
948 cec_user_control_code keycode;
949 unsigned int duration;
951
952typedef struct cec_adapter
953{
954 char path[1024];
955 char comm[1024];
957
959{
960 char strComPath[1024];
961 char strComName[1024];
962 uint16_t iVendorId;
963 uint16_t iProductId;
967 cec_adapter_type adapterType;
968 char strDeviceName[64];
970
971#if defined(__cplusplus)
972typedef struct AdapterDescriptor
973{
975 iVendorId(0),
976 iProductId(0),
977 iFirmwareVersion(0),
978 iPhysicalAddress(0),
979 iFirmwareBuildDate(0),
980 adapterType(ADAPTERTYPE_UNKNOWN)
981 {
982 }
983
985 {
986 strComPath = other.strComPath;
987 strComName = other.strComName;
988 iVendorId = other.iVendorId;
989 iProductId = other.iProductId;
990 iFirmwareVersion = other.iFirmwareVersion;
991 iPhysicalAddress = other.iPhysicalAddress;
992 iFirmwareBuildDate = other.iFirmwareBuildDate;
993 adapterType = other.adapterType;
994 strDeviceName = other.strDeviceName;
995 }
996
997 std::string strComPath;
998 std::string strComName;
999 uint16_t iVendorId;
1000 uint16_t iProductId;
1004 cec_adapter_type adapterType;
1005 std::string strDeviceName;
1007#endif
1008
1009typedef struct cec_datapacket
1010{
1012 uint8_t size;
1014#ifdef __cplusplus
1015 cec_datapacket &operator =(const struct cec_datapacket &packet)
1016 {
1017 Clear();
1018 for (uint8_t iPtr = 0; iPtr < packet.size; iPtr++)
1019 PushBack(packet[iPtr]);
1020
1021 return *this;
1022 }
1023
1024 bool operator ==(const struct cec_datapacket& packet) const
1025 {
1026 if (size != packet.size)
1027 return false;
1028 for (uint8_t iPtr = 0; iPtr < size; iPtr++)
1029 if (packet.data[iPtr] != data[iPtr])
1030 return false;
1031 return true;
1032 }
1033
1035 bool IsEmpty(void) const { return size == 0; }
1037 bool IsFull(void) const { return size == CEC_MAX_DATA_PACKET_SIZE; }
1038
1044 uint8_t operator[](uint8_t pos) const { return pos < size ? data[pos] : 0; }
1050 uint8_t At(uint8_t pos) const { return pos < size ? data[pos] : 0; }
1051
1056 void Shift(uint8_t iShiftBy)
1057 {
1058 if (iShiftBy >= size)
1059 {
1060 Clear();
1061 }
1062 else
1063 {
1064 for (uint8_t iPtr = 0; iPtr < size; iPtr++)
1065 data[iPtr] = (iPtr + iShiftBy < size) ? data[iPtr + iShiftBy] : 0;
1066 size = (uint8_t) (size - iShiftBy);
1067 }
1068 }
1069
1074 void PushBack(uint8_t add)
1075 {
1076 if (size < CEC_MAX_DATA_PACKET_SIZE)
1077 data[size++] = add;
1078 }
1079
1083 void Clear(void)
1084 {
1085 memset(data, 0, sizeof(data));
1086 size = 0;
1087 }
1088#endif
1089
1091
1092typedef struct cec_command
1093{
1094 cec_logical_address initiator;
1095 cec_logical_address destination;
1096 int8_t ack;
1097 int8_t eom;
1098 cec_opcode opcode;
1100 int8_t opcode_set;
1103#ifdef __cplusplus
1105 {
1106 Clear();
1107 }
1108
1109 cec_command &operator =(const struct cec_command &command)
1110 {
1111 initiator = command.initiator;
1112 destination = command.destination;
1113 ack = command.ack;
1114 eom = command.eom;
1115 opcode = command.opcode;
1116 opcode_set = command.opcode_set;
1117 transmit_timeout = command.transmit_timeout;
1118 parameters = command.parameters;
1119
1120 return *this;
1121 }
1122
1123 uint8_t Size(void) const
1124 {
1125 return parameters.size + opcode_set + 1;
1126 }
1127
1143 int Serialize(uint8_t* buffer, uint8_t iBufSize, bool bWithHeader = true) const
1144 {
1145 const uint8_t iNeeded = (uint8_t) (bWithHeader ? Size() : Size() - 1);
1146 if (Size() > CEC_MAX_FRAME_SIZE || iNeeded > iBufSize)
1147 return -1;
1148
1149 uint8_t iPtr(0);
1150 if (bWithHeader)
1151 buffer[iPtr++] = (uint8_t) (((uint8_t)initiator << 4) | ((uint8_t)destination & 0x0f));
1152
1153 if (opcode_set)
1154 {
1155 buffer[iPtr++] = (uint8_t)opcode;
1156 for (uint8_t iParam = 0; iParam < parameters.size; ++iParam)
1157 buffer[iPtr++] = parameters[iParam];
1158 }
1159
1160 return (int)iPtr;
1161 }
1162
1171 static void Format(cec_command &command, cec_logical_address initiator, cec_logical_address destination, cec_opcode opcode, int32_t timeout = CEC_DEFAULT_TRANSMIT_TIMEOUT)
1172 {
1173 command.Clear();
1174 command.initiator = initiator;
1175 command.destination = destination;
1176 command.transmit_timeout = timeout;
1177 if (opcode != CEC_OPCODE_NONE)
1178 {
1179 command.opcode = opcode;
1180 command.opcode_set = 1;
1181 }
1182 }
1183
1188 void PushBack(uint8_t data)
1189 {
1190 if (initiator == CECDEVICE_UNKNOWN && destination == CECDEVICE_UNKNOWN)
1191 {
1192 initiator = (cec_logical_address) (data >> 4);
1193 destination = (cec_logical_address) (data & 0xF);
1194 }
1195 else if (!opcode_set)
1196 {
1197 opcode_set = 1;
1198 opcode = (cec_opcode) data;
1199 }
1200 else
1201 parameters.PushBack(data);
1202 }
1203
1207 void Clear(void)
1208 {
1209 initiator = CECDEVICE_UNKNOWN;
1210 destination = CECDEVICE_UNKNOWN;
1211 ack = 0;
1212 eom = 0;
1213 opcode_set = 0;
1214 opcode = CEC_OPCODE_FEATURE_ABORT;
1215 transmit_timeout = CEC_DEFAULT_TRANSMIT_TIMEOUT;
1216 parameters.Clear();
1217 };
1218
1219 static cec_opcode GetResponseOpcode(cec_opcode opcode)
1220 {
1221 switch (opcode)
1222 {
1223 case CEC_OPCODE_REQUEST_ACTIVE_SOURCE:
1224 return CEC_OPCODE_ACTIVE_SOURCE;
1225 case CEC_OPCODE_GET_CEC_VERSION:
1226 return CEC_OPCODE_CEC_VERSION;
1227 case CEC_OPCODE_GIVE_PHYSICAL_ADDRESS:
1228 return CEC_OPCODE_REPORT_PHYSICAL_ADDRESS;
1229 case CEC_OPCODE_GET_MENU_LANGUAGE:
1230 return CEC_OPCODE_SET_MENU_LANGUAGE;
1231 case CEC_OPCODE_GIVE_DECK_STATUS:
1232 return CEC_OPCODE_DECK_STATUS;
1233 case CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS:
1234 return CEC_OPCODE_TUNER_DEVICE_STATUS;
1235 case CEC_OPCODE_GIVE_DEVICE_VENDOR_ID:
1236 return CEC_OPCODE_DEVICE_VENDOR_ID;
1237 case CEC_OPCODE_GIVE_OSD_NAME:
1238 return CEC_OPCODE_SET_OSD_NAME;
1239 case CEC_OPCODE_MENU_REQUEST:
1240 return CEC_OPCODE_MENU_STATUS;
1241 case CEC_OPCODE_GIVE_DEVICE_POWER_STATUS:
1242 return CEC_OPCODE_REPORT_POWER_STATUS;
1243 case CEC_OPCODE_GIVE_AUDIO_STATUS:
1244 return CEC_OPCODE_REPORT_AUDIO_STATUS;
1245 case CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS:
1246 return CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS;
1247 case CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST:
1248 return CEC_OPCODE_SET_SYSTEM_AUDIO_MODE;
1249 default:
1250 break;
1251 }
1252
1253 return CEC_OPCODE_NONE;
1254 }
1255
1256 void PushArray(size_t len, const uint8_t *data)
1257 {
1258 for (size_t iPtr = 0; iPtr < len; iPtr++)
1259 PushBack(data[iPtr]);
1260 }
1261#endif
1262} cec_command;
1263
1265{
1266 cec_device_type types[5];
1268#ifdef __cplusplus
1272 void Clear(void)
1273 {
1274 for (unsigned int iPtr = 0; iPtr < 5; iPtr++)
1275 types[iPtr] = CEC_DEVICE_TYPE_RESERVED;
1276 }
1277
1282 void Add(const cec_device_type type)
1283 {
1284 for (unsigned int iPtr = 0; iPtr < 5; iPtr++)
1285 {
1286 if (types[iPtr] == CEC_DEVICE_TYPE_RESERVED)
1287 {
1288 types[iPtr] = type;
1289 break;
1290 }
1291 }
1292 }
1293
1299 bool IsSet(cec_device_type type)
1300 {
1301 bool bReturn(false);
1302 for (unsigned int iPtr = 0; !bReturn && iPtr < 5; iPtr++)
1303 {
1304 if (types[iPtr] == type)
1305 bReturn = true;
1306 }
1307 return bReturn;
1308 }
1309
1313 bool IsEmpty() const
1314 {
1315 bool bReturn(true);
1316 for (unsigned int iPtr = 0; bReturn && iPtr < 5; iPtr++)
1317 {
1318 if (types[iPtr] != CEC_DEVICE_TYPE_RESERVED)
1319 bReturn = false;
1320 }
1321 return bReturn;
1322 }
1323
1329 cec_device_type operator[](uint8_t pos) const { return pos < 5 ? types[pos] : CEC_DEVICE_TYPE_RESERVED; }
1330
1331 bool operator==(const cec_device_type_list &other) const
1332 {
1333 bool bEqual(true);
1334 for (uint8_t iPtr = 0; iPtr < 5; iPtr++)
1335 bEqual &= (types[iPtr] == other[iPtr]);
1336 return bEqual;
1337 }
1338
1339 bool operator!=(const cec_device_type_list &other) const
1340 {
1341 return !(*this == other);
1342 }
1343#endif
1345
1347{
1348 cec_logical_address primary;
1349 int addresses[16];
1351#ifdef __cplusplus
1355 void Clear(void)
1356 {
1357 primary = CECDEVICE_UNREGISTERED;
1358 for (unsigned int iPtr = 0; iPtr < 16; iPtr++)
1359 addresses[iPtr] = 0;
1360 }
1361
1365 bool IsEmpty(void) const
1366 {
1367 return primary == CECDEVICE_UNREGISTERED;
1368 }
1369
1374 uint16_t AckMask(void) const
1375 {
1376 uint16_t mask = 0;
1377 for (unsigned int iPtr = 0; iPtr < 16; iPtr++)
1378 if (addresses[iPtr] == 1)
1379 mask |= 0x1 << iPtr;
1380 return mask;
1381 }
1382
1387 void Set(cec_logical_address address)
1388 {
1389 if (primary == CECDEVICE_UNREGISTERED)
1390 primary = address;
1391
1392 addresses[(int) address] = 1;
1393 }
1394
1399 void Unset(const cec_logical_address address)
1400 {
1401 if (primary == address)
1402 primary = CECDEVICE_UNREGISTERED;
1403
1404 addresses[(int) address] = 0;
1405 }
1406
1412 bool IsSet(cec_logical_address address) const { return addresses[(int) address] == 1; }
1413
1419 bool operator[](uint8_t pos) const { return pos < 16 ? IsSet((cec_logical_address) pos) : false; }
1420
1421 bool operator==(const cec_logical_addresses &other) const
1422 {
1423 bool bEqual(true);
1424 for (uint8_t iPtr = 0; iPtr < 16; iPtr++)
1425 bEqual &= ((addresses[(int)iPtr] == 1) == other[iPtr]);
1426 return bEqual;
1427 }
1428
1429 bool operator!=(const cec_logical_addresses &other) const
1430 {
1431 return !(*this == other);
1432 }
1433#endif
1435
1445
1451
1452typedef struct libcec_parameter
1453{
1454 libcec_parameter_type paramType;
1457
1459{
1460 unsigned int tx_ack;
1461 unsigned int tx_nack;
1462 unsigned int tx_error;
1463 unsigned int rx_total;
1464 unsigned int rx_error;
1465};
1466
1468
1469typedef struct ICECCallbacks
1470{
1476 void (CEC_CDECL* logMessage)(void* cbparam, const cec_log_message* message);
1477
1483 void (CEC_CDECL* keyPress)(void* cbparam, const cec_keypress* key);
1484
1490 void (CEC_CDECL* commandReceived)(void* cbparam, const cec_command* command);
1491
1497 void (CEC_CDECL* configurationChanged)(void* cbparam, const libcec_configuration* configuration);
1498
1505 void (CEC_CDECL* alert)(void* cbparam, const libcec_alert alert, const libcec_parameter param);
1506
1518 int (CEC_CDECL* menuStateChanged)(void* cbparam, const cec_menu_state state);
1519
1526 void (CEC_CDECL* sourceActivated)(void* cbParam, const cec_logical_address logicalAddress, const uint8_t bActivated);
1527
1535 int (CEC_CDECL* commandHandler)(void* cbparam, const cec_command* command);
1536
1537#ifdef __cplusplus
1538 ICECCallbacks(void) { Clear(); }
1539 ~ICECCallbacks(void) { Clear(); };
1540
1541 void Clear(void)
1542 {
1543 logMessage = nullptr;
1544 keyPress = nullptr;
1545 commandReceived = nullptr;
1546 configurationChanged = nullptr;
1547 alert = nullptr;
1548 menuStateChanged = nullptr;
1549 sourceActivated = nullptr;
1550 commandHandler = nullptr;
1551 }
1552#endif
1554
1555#if CEC_LIB_VERSION_MAJOR >= 5
1556#define LIBCEC_OSD_NAME_SIZE (15)
1557#else
1558#define LIBCEC_OSD_NAME_SIZE (13)
1559#endif
1560
1562{
1563 uint32_t clientVersion;
1569 uint8_t iHDMIPort;
1570 uint32_t tvVendor;
1574 uint32_t serverVersion;
1576 // player specific settings
1597#if CEC_LIB_VERSION_MAJOR >= 5
1599#endif
1600#if CEC_LIB_VERSION_MAJOR >= 8
1604#endif
1605
1606#ifdef __cplusplus
1609
1610 bool operator==(const libcec_configuration &other) const
1611 {
1612 return ( clientVersion == other.clientVersion &&
1613 !strcmp(strDeviceName, other.strDeviceName) &&
1614 deviceTypes == other.deviceTypes &&
1617 baseDevice == other.baseDevice &&
1618 iHDMIPort == other.iHDMIPort &&
1619 tvVendor == other.tvVendor &&
1620 wakeDevices == other.wakeDevices &&
1622 serverVersion == other.serverVersion &&
1628 !strncmp(strDeviceLanguage, other.strDeviceLanguage, 3) &&
1630 bMonitorOnly == other.bMonitorOnly &&
1631 cecVersion == other.cecVersion &&
1632 adapterType == other.adapterType &&
1636 comboKey == other.comboKey &&
1638 bAutoWakeAVR == other.bAutoWakeAVR
1639#if CEC_LIB_VERSION_MAJOR >= 5
1640 && bAutoPowerOn == other.bAutoPowerOn
1641#endif
1642#if CEC_LIB_VERSION_MAJOR >= 8
1646#endif
1647 );
1648 }
1649
1650 bool operator!=(const libcec_configuration &other) const
1651 {
1652 return !(*this == other);
1653 }
1654
1658 void Clear(void)
1659 {
1663 tvVendor = (uint32_t)CEC_VENDOR_UNKNOWN;
1673 bMonitorOnly = 0;
1681 bAutoWakeAVR = 0;
1682#if CEC_LIB_VERSION_MAJOR >= 5
1683 bAutoPowerOn = 2;
1684#endif
1685#if CEC_LIB_VERSION_MAJOR >= 8
1686 bAutonomousMode = 2;
1689#endif
1690
1691 strDeviceName[0] = (char)0;
1696
1697 #if CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN == 1
1699 #endif
1700 #if CEC_DEFAULT_SETTING_ACTIVATE_SOURCE == 1
1702 #endif
1703
1704 callbackParam = nullptr;
1705 callbacks = nullptr;
1706 }
1707#endif
1708};
1709
1710#ifdef __cplusplus
1711};
1712};
1713#endif
1714
1715#endif /* CECTYPES_H_ */
#define CEC_DEFAULT_TRANSMIT_TIMEOUT
transmission fails when not acked within this amount of milliseconds after sending the initial packet
Definition cectypes.h:219
#define CEC_DOUBLE_TAP_TIMEOUT_MS
don't send the same key twice within this timeout in milliseconds
Definition cectypes.h:94
#define CEC_MAX_FRAME_SIZE
Maximum size of a CEC frame on the wire: 1 header byte + 1 opcode + up to 14 operands.
Definition cectypes.h:306
#define LIBCEC_OSD_NAME_SIZE
Definition cectypes.h:1556
#define CEC_DEFAULT_SETTING_ACTIVATE_SOURCE
default value for settings "activate source"
Definition cectypes.h:179
#define CEC_PHYSICAL_ADDRESS_TV
physical address of the TV
Definition cectypes.h:129
#define CEC_FW_VERSION_UNKNOWN
unknown firmware version value
Definition cectypes.h:114
#define CEC_DEFAULT_BASE_DEVICE
default logical address of the device to which the adapter is connected, TV
Definition cectypes.h:77
#define CEC_FW_BUILD_UNKNOWN
unknown build date value
Definition cectypes.h:119
#define CEC_BUTTON_REPEAT_DELAY_MS
delay in milliseconds before a held button starts auto-repeating
Definition cectypes.h:99
#define CEC_BUTTON_TIMEOUT
timeout in milliseconds to send a key release event after receiving a key press
Definition cectypes.h:82
#define CEC_DEFAULT_COMBO_TIMEOUT_MS
default timeout in milliseconds for combo keys
Definition cectypes.h:264
#define CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY
default value for settings "power off on standby"
Definition cectypes.h:189
#define CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM
default value for settings "get settings from ROM"
Definition cectypes.h:204
#define CEC_HDMI_PORTNUMBER_NONE
invalid HDMI port number value
Definition cectypes.h:174
#define CEC_CDECL
Definition cectypes.h:44
#define CEC_DEFAULT_DEVICE_LANGUAGE
default value for settings "device menu language"
Definition cectypes.h:194
#define CEC_MAX_DATA_PACKET_SIZE
Maximum size of a data packet.
Definition cectypes.h:299
#define CEC_DEFAULT_SETTING_CEC_VERSION
default value for settings "libCEC CEC version"
Definition cectypes.h:209
Definition cec.h:41
libcec_parameter_type
Definition cectypes.h:1447
@ CEC_PARAMETER_TYPE_UNKOWN
Definition cectypes.h:1449
@ CEC_PARAMETER_TYPE_STRING
Definition cectypes.h:1448
cec_programmed_indicator
Definition cectypes.h:604
@ CEC_PROGRAMMED_INDICATOR_NOT_PROGRAMMED
Definition cectypes.h:605
@ CEC_PROGRAMMED_INDICATOR_PROGRAMMED
Definition cectypes.h:606
cec_audio_rate
Definition cectypes.h:380
@ CEC_AUDIO_RATE_SLOW_RATE_MIN_99
Definition cectypes.h:384
@ CEC_AUDIO_RATE_RATE_CONTROL_OFF
Definition cectypes.h:381
@ CEC_AUDIO_RATE_SLOW_RATE_MIN_99_9
Definition cectypes.h:387
@ CEC_AUDIO_RATE_STANDARD_RATE_100
Definition cectypes.h:382
@ CEC_AUDIO_RATE_FAST_RATE_MAX_100_1
Definition cectypes.h:386
@ CEC_AUDIO_RATE_FAST_RATE_MAX_101
Definition cectypes.h:383
@ CEC_AUDIO_RATE_STANDARD_RATE_100_0
Definition cectypes.h:385
cec_not_programmed_error_info
Definition cectypes.h:619
@ CEC_NOT_PROGRAMMED_ERROR_INFO_DOES_NOT_SUPPORT_RESOLUTION
Definition cectypes.h:628
@ CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_START
Definition cectypes.h:631
@ CEC_NOT_PROGRAMMED_ERROR_INFO_PARENTAL_LOCK_ON
Definition cectypes.h:629
@ CEC_NOT_PROGRAMMED_ERROR_INFO_DUPLICATE_ALREADY_PROGRAMMED
Definition cectypes.h:633
@ CEC_NOT_PROGRAMMED_ERROR_INFO_CLOCK_FAILURE
Definition cectypes.h:630
@ CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_END
Definition cectypes.h:632
@ CEC_NOT_PROGRAMMED_ERROR_INFO_RECORDING_SEQUENCE_ERROR
Definition cectypes.h:623
@ CEC_NOT_PROGRAMMED_ERROR_INFO_NO_FREE_TIMER_AVAILABLE
Definition cectypes.h:621
@ CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PHYSICAL_ADDRESS
Definition cectypes.h:625
@ CEC_NOT_PROGRAMMED_ERROR_INFO_FUTURE_USE
Definition cectypes.h:620
@ CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PLUG_NUMBER
Definition cectypes.h:624
@ CEC_NOT_PROGRAMMED_ERROR_INFO_CA_SYSTEM_NOT_SUPPORTED
Definition cectypes.h:626
@ CEC_NOT_PROGRAMMED_ERROR_INFO_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS
Definition cectypes.h:627
@ CEC_NOT_PROGRAMMED_ERROR_INFO_DATE_OUT_OF_RANGE
Definition cectypes.h:622
cec_vendor_id
Definition cectypes.h:883
@ CEC_VENDOR_VIZIO
Definition cectypes.h:910
@ CEC_VENDOR_MEDION
Definition cectypes.h:890
@ CEC_VENDOR_GRUNDIG
Definition cectypes.h:902
@ CEC_VENDOR_SONY
Definition cectypes.h:906
@ CEC_VENDOR_HARMAN_KARDON2
Definition cectypes.h:894
@ CEC_VENDOR_LG
Definition cectypes.h:904
@ CEC_VENDOR_PULSE_EIGHT
Definition cectypes.h:893
@ CEC_VENDOR_AOC
Definition cectypes.h:897
@ CEC_VENDOR_BROADCOM
Definition cectypes.h:908
@ CEC_VENDOR_PHILIPS
Definition cectypes.h:899
@ CEC_VENDOR_AKAI
Definition cectypes.h:896
@ CEC_VENDOR_TOSHIBA
Definition cectypes.h:884
@ CEC_VENDOR_GOOGLE
Definition cectypes.h:895
@ CEC_VENDOR_PANASONIC
Definition cectypes.h:898
@ CEC_VENDOR_SHARP
Definition cectypes.h:905
@ CEC_VENDOR_DAEWOO
Definition cectypes.h:900
@ CEC_VENDOR_APPLE
Definition cectypes.h:892
@ CEC_VENDOR_BENQ
Definition cectypes.h:911
@ CEC_VENDOR_LOEWE
Definition cectypes.h:888
@ CEC_VENDOR_YAMAHA
Definition cectypes.h:901
@ CEC_VENDOR_HARMAN_KARDON
Definition cectypes.h:912
@ CEC_VENDOR_SAMSUNG
Definition cectypes.h:885
@ CEC_VENDOR_ONKYO
Definition cectypes.h:889
@ CEC_VENDOR_DENON
Definition cectypes.h:886
@ CEC_VENDOR_TEUFEL
Definition cectypes.h:907
@ CEC_VENDOR_MARANTZ
Definition cectypes.h:887
@ CEC_VENDOR_TOSHIBA2
Definition cectypes.h:891
@ CEC_VENDOR_UNKNOWN
Definition cectypes.h:913
@ CEC_VENDOR_PIONEER
Definition cectypes.h:903
@ CEC_VENDOR_SHARP2
Definition cectypes.h:909
cec_deck_info
Definition cectypes.h:434
@ CEC_DECK_INFO_STOP
Definition cectypes.h:444
@ CEC_DECK_INFO_SKIP_REVERSE_REWIND
Definition cectypes.h:446
@ CEC_DECK_INFO_OTHER_STATUS_LG
Definition cectypes.h:450
@ CEC_DECK_INFO_RECORD
Definition cectypes.h:436
@ CEC_DECK_INFO_SKIP_FORWARD_WIND
Definition cectypes.h:445
@ CEC_DECK_INFO_SLOW
Definition cectypes.h:439
@ CEC_DECK_INFO_OTHER_STATUS
Definition cectypes.h:449
@ CEC_DECK_INFO_INDEX_SEARCH_FORWARD
Definition cectypes.h:447
@ CEC_DECK_INFO_STILL
Definition cectypes.h:438
@ CEC_DECK_INFO_NO_MEDIA
Definition cectypes.h:443
@ CEC_DECK_INFO_FAST_REVERSE
Definition cectypes.h:442
@ CEC_DECK_INFO_FAST_FORWARD
Definition cectypes.h:441
@ CEC_DECK_INFO_SLOW_REVERSE
Definition cectypes.h:440
@ CEC_DECK_INFO_INDEX_SEARCH_REVERSE
Definition cectypes.h:448
@ CEC_DECK_INFO_PLAY
Definition cectypes.h:435
@ CEC_DECK_INFO_PLAY_REVERSE
Definition cectypes.h:437
cec_bus_device_status
Definition cectypes.h:875
@ CEC_DEVICE_STATUS_NOT_PRESENT
Definition cectypes.h:878
@ CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC
Definition cectypes.h:879
@ CEC_DEVICE_STATUS_UNKNOWN
Definition cectypes.h:876
@ CEC_DEVICE_STATUS_PRESENT
Definition cectypes.h:877
cec_analogue_broadcast_type
Definition cectypes.h:373
@ CEC_ANALOGUE_BROADCAST_TYPE_CABLE
Definition cectypes.h:374
@ CEC_ANALOGUE_BROADCAST_TYPE_TERRESTIAL
Definition cectypes.h:376
@ CEC_ANALOGUE_BROADCAST_TYPE_SATELLITE
Definition cectypes.h:375
libcec_alert
Definition cectypes.h:1437
@ CEC_ALERT_PORT_BUSY
Definition cectypes.h:1441
@ CEC_ALERT_SERVICE_DEVICE
Definition cectypes.h:1438
@ CEC_ALERT_PERMISSION_ERROR
Definition cectypes.h:1440
@ CEC_ALERT_CONNECTION_LOST
Definition cectypes.h:1439
@ CEC_ALERT_TV_POLL_FAILED
Definition cectypes.h:1443
@ CEC_ALERT_PHYSICAL_ADDRESS_ERROR
Definition cectypes.h:1442
cec_boolean
Definition cectypes.h:400
@ CEC_FALSE
Definition cectypes.h:401
@ CEC_TRUE
Definition cectypes.h:402
cec_status_request
Definition cectypes.h:568
@ CEC_STATUS_REQUEST_OFF
Definition cectypes.h:570
@ CEC_STATUS_REQUEST_ONCE
Definition cectypes.h:571
@ CEC_STATUS_REQUEST_ON
Definition cectypes.h:569
cec_system_audio_status
Definition cectypes.h:575
@ CEC_SYSTEM_AUDIO_STATUS_ON
Definition cectypes.h:577
@ CEC_SYSTEM_AUDIO_STATUS_OFF
Definition cectypes.h:576
@ CEC_SYSTEM_AUDIO_STATUS_UNKNOWN
Definition cectypes.h:578
cec_abort_reason
Definition cectypes.h:364
@ CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND
CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND.
Definition cectypes.h:366
@ CEC_ABORT_REASON_INVALID_OPERAND
CEC_ABORT_REASON_INVALID_OPERAND.
Definition cectypes.h:368
@ CEC_ABORT_REASON_CANNOT_PROVIDE_SOURCE
CEC_ABORT_REASON_CANNOT_PROVIDE_SOURCE.
Definition cectypes.h:367
@ CEC_ABORT_REASON_UNRECOGNIZED_OPCODE
CEC_ABORT_REASON_UNRECOGNIZED_OPCODE.
Definition cectypes.h:365
@ CEC_ABORT_REASON_REFUSED
CEC_ABORT_REASON_REFUSED.
Definition cectypes.h:369
cec_power_status
Definition cectypes.h:510
@ CEC_POWER_STATUS_ON
Definition cectypes.h:511
@ CEC_POWER_STATUS_UNKNOWN
Definition cectypes.h:515
@ CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON
Definition cectypes.h:513
@ CEC_POWER_STATUS_STANDBY
Definition cectypes.h:512
@ CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY
Definition cectypes.h:514
cec_timer_overlap_warning
Definition cectypes.h:590
@ CEC_TIMER_OVERLAP_WARNING_NO_OVERLAP
Definition cectypes.h:591
@ CEC_TIMER_OVERLAP_WARNING_TIMER_BLOCKS_OVERLAP
Definition cectypes.h:592
cec_programmed_info
Definition cectypes.h:610
@ CEC_PROGRAMMED_INFO_MAY_NOT_BE_ENOUGH_SPACE_AVAILABLE
Definition cectypes.h:614
@ CEC_PROGRAMMED_INFO_NO_MEDIA_INFO_AVAILABLE
Definition cectypes.h:615
@ CEC_PROGRAMMED_INFO_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING
Definition cectypes.h:612
@ CEC_PROGRAMMED_INFO_NOT_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING
Definition cectypes.h:613
@ CEC_PROGRAMMED_INFO_FUTURE_USE
Definition cectypes.h:611
libcec_version
force exporting through swig
Definition cectypes.h:932
@ LIBCEC_VERSION_CURRENT
Definition cectypes.h:933
cec_opcode
Definition cectypes.h:786
@ CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST
Definition cectypes.h:846
@ CEC_OPCODE_NONE
Definition cectypes.h:861
@ CEC_OPCODE_USER_CONTROL_PRESSED
Definition cectypes.h:836
@ CEC_OPCODE_GET_CEC_VERSION
Definition cectypes.h:810
@ CEC_OPCODE_MENU_STATUS
Definition cectypes.h:835
@ CEC_OPCODE_IMAGE_VIEW_ON
Definition cectypes.h:788
@ CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN
Definition cectypes.h:829
@ CEC_OPCODE_VENDOR_COMMAND
Definition cectypes.h:827
@ CEC_OPCODE_GIVE_AUDIO_STATUS
Definition cectypes.h:842
@ CEC_OPCODE_SET_STREAM_PATH
Definition cectypes.h:794
@ CEC_OPCODE_REQUEST_SHORT_AUDIO_DESCRIPTORS
Definition cectypes.h:852
@ CEC_OPCODE_TUNER_STEP_DECREMENT
Definition cectypes.h:823
@ CEC_OPCODE_MENU_REQUEST
Definition cectypes.h:834
@ CEC_OPCODE_ABORT
Definition cectypes.h:841
@ CEC_OPCODE_CLEAR_EXTERNAL_TIMER
Definition cectypes.h:802
@ CEC_OPCODE_SET_TIMER_PROGRAM_TITLE
Definition cectypes.h:806
@ CEC_OPCODE_GIVE_DEVICE_VENDOR_ID
Definition cectypes.h:826
@ CEC_OPCODE_SET_DIGITAL_TIMER
Definition cectypes.h:804
@ CEC_OPCODE_REQUEST_ARC_START
Definition cectypes.h:856
@ CEC_OPCODE_DEVICE_VENDOR_ID
Definition cectypes.h:825
@ CEC_OPCODE_SET_MENU_LANGUAGE
Definition cectypes.h:814
@ CEC_OPCODE_REQUEST_ACTIVE_SOURCE
Definition cectypes.h:791
@ CEC_OPCODE_SET_ANALOGUE_TIMER
Definition cectypes.h:803
@ CEC_OPCODE_REQUEST_ARC_END
Definition cectypes.h:857
@ CEC_OPCODE_REPORT_ARC_STARTED
Definition cectypes.h:854
@ CEC_OPCODE_RECORD_STATUS
Definition cectypes.h:798
@ CEC_OPCODE_INACTIVE_SOURCE
Definition cectypes.h:790
@ CEC_OPCODE_GIVE_DECK_STATUS
Definition cectypes.h:817
@ CEC_OPCODE_SELECT_DIGITAL_SERVICE
Definition cectypes.h:821
@ CEC_OPCODE_SET_OSD_STRING
Definition cectypes.h:831
@ CEC_OPCODE_STANDBY
Definition cectypes.h:795
@ CEC_OPCODE_TUNER_DEVICE_STATUS
Definition cectypes.h:822
@ CEC_OPCODE_PLAY
Definition cectypes.h:818
@ CEC_OPCODE_REPORT_POWER_STATUS
Definition cectypes.h:839
@ CEC_OPCODE_RECORD_TV_SCREEN
Definition cectypes.h:799
@ CEC_OPCODE_REPORT_SHORT_AUDIO_DESCRIPTORS
Definition cectypes.h:851
@ CEC_OPCODE_CDC
Definition cectypes.h:859
@ CEC_OPCODE_GIVE_DEVICE_POWER_STATUS
Definition cectypes.h:838
@ CEC_OPCODE_RECORD_ON
Definition cectypes.h:797
@ CEC_OPCODE_CLEAR_ANALOGUE_TIMER
Definition cectypes.h:800
@ CEC_OPCODE_SET_OSD_NAME
Definition cectypes.h:833
@ CEC_OPCODE_DECK_STATUS
Definition cectypes.h:816
@ CEC_OPCODE_REPORT_PHYSICAL_ADDRESS
Definition cectypes.h:813
@ CEC_OPCODE_USER_CONTROL_RELEASE
Definition cectypes.h:837
@ CEC_OPCODE_ROUTING_CHANGE
Definition cectypes.h:792
@ CEC_OPCODE_CLEAR_DIGITAL_TIMER
Definition cectypes.h:801
@ CEC_OPCODE_ROUTING_INFORMATION
Definition cectypes.h:793
@ CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS
Definition cectypes.h:819
@ CEC_OPCODE_REPORT_ARC_ENDED
Definition cectypes.h:855
@ CEC_OPCODE_SELECT_ANALOGUE_SERVICE
Definition cectypes.h:820
@ CEC_OPCODE_SET_SYSTEM_AUDIO_MODE
Definition cectypes.h:845
@ CEC_OPCODE_TEXT_VIEW_ON
Definition cectypes.h:789
@ CEC_OPCODE_START_ARC
Definition cectypes.h:853
@ CEC_OPCODE_RECORD_OFF
Definition cectypes.h:796
@ CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP
Definition cectypes.h:830
@ CEC_OPCODE_REPORT_AUDIO_STATUS
Definition cectypes.h:844
@ CEC_OPCODE_TIMER_CLEARED_STATUS
Definition cectypes.h:807
@ CEC_OPCODE_SET_EXTERNAL_TIMER
Definition cectypes.h:805
@ CEC_OPCODE_FEATURE_ABORT
Definition cectypes.h:840
@ CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS
Definition cectypes.h:847
@ CEC_OPCODE_VENDOR_COMMAND_WITH_ID
Definition cectypes.h:828
@ CEC_OPCODE_END_ARC
Definition cectypes.h:858
@ CEC_OPCODE_ACTIVE_SOURCE
Definition cectypes.h:787
@ CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS
Definition cectypes.h:843
@ CEC_OPCODE_CEC_VERSION
Definition cectypes.h:809
@ CEC_OPCODE_DECK_CONTROL
Definition cectypes.h:815
@ CEC_OPCODE_GET_MENU_LANGUAGE
Definition cectypes.h:812
@ CEC_OPCODE_GIVE_PHYSICAL_ADDRESS
Definition cectypes.h:811
@ CEC_OPCODE_TIMER_STATUS
Definition cectypes.h:808
@ CEC_OPCODE_SET_AUDIO_RATE
Definition cectypes.h:848
@ CEC_OPCODE_GIVE_OSD_NAME
Definition cectypes.h:832
@ CEC_OPCODE_TUNER_STEP_INCREMENT
Definition cectypes.h:824
cec_adapter_type
Definition cectypes.h:917
@ ADAPTERTYPE_RPI
Definition cectypes.h:921
@ ADAPTERTYPE_LINUX
Definition cectypes.h:924
@ ADAPTERTYPE_UNKNOWN
Definition cectypes.h:918
@ ADAPTERTYPE_IMX
Definition cectypes.h:926
@ ADAPTERTYPE_TEGRA
Definition cectypes.h:927
@ ADAPTERTYPE_P8_EXTERNAL
Definition cectypes.h:919
@ ADAPTERTYPE_P8_DAUGHTERBOARD
Definition cectypes.h:920
@ ADAPTERTYPE_AOCEC
Definition cectypes.h:925
@ ADAPTERTYPE_EXYNOS
Definition cectypes.h:923
@ ADAPTERTYPE_TDA995x
Definition cectypes.h:922
cec_media_info
Definition cectypes.h:596
@ CEC_MEDIA_INFO_MEDIA_NOT_PRESENT
Definition cectypes.h:599
@ CEC_MEDIA_INFO_MEDIA_PRESENT_BUT_PROTECTED
Definition cectypes.h:598
@ CEC_MEDIA_INFO_FUTURE_USE
Definition cectypes.h:600
@ CEC_MEDIA_INFO_MEDIA_PRESENT_AND_NOT_PROTECTED
Definition cectypes.h:597
cec_menu_state
Definition cectypes.h:485
@ CEC_MENU_STATE_ACTIVATED
Definition cectypes.h:486
@ CEC_MENU_STATE_DEACTIVATED
Definition cectypes.h:487
cec_audio_status
Definition cectypes.h:391
@ CEC_AUDIO_VOLUME_MIN
Definition cectypes.h:394
@ CEC_AUDIO_MUTE_STATUS_MASK
Definition cectypes.h:392
@ CEC_AUDIO_VOLUME_STATUS_MASK
Definition cectypes.h:393
@ CEC_AUDIO_VOLUME_STATUS_UNKNOWN
Definition cectypes.h:396
@ CEC_AUDIO_VOLUME_MAX
Definition cectypes.h:395
cec_logical_address
Definition cectypes.h:764
@ CECDEVICE_BROADCAST
Definition cectypes.h:782
@ CECDEVICE_RESERVED2
Definition cectypes.h:779
@ CECDEVICE_RECORDINGDEVICE1
Definition cectypes.h:767
@ CECDEVICE_UNKNOWN
Definition cectypes.h:765
@ CECDEVICE_RECORDINGDEVICE2
Definition cectypes.h:768
@ CECDEVICE_TUNER1
Definition cectypes.h:769
@ CECDEVICE_TUNER4
Definition cectypes.h:776
@ CECDEVICE_FREEUSE
Definition cectypes.h:780
@ CECDEVICE_RECORDINGDEVICE3
Definition cectypes.h:775
@ CECDEVICE_TUNER3
Definition cectypes.h:773
@ CECDEVICE_UNREGISTERED
Definition cectypes.h:781
@ CECDEVICE_PLAYBACKDEVICE2
Definition cectypes.h:774
@ CECDEVICE_RESERVED1
Definition cectypes.h:778
@ CECDEVICE_TUNER2
Definition cectypes.h:772
@ CECDEVICE_TV
Definition cectypes.h:766
@ CECDEVICE_PLAYBACKDEVICE1
Definition cectypes.h:770
@ CECDEVICE_PLAYBACKDEVICE3
Definition cectypes.h:777
@ CECDEVICE_AUDIOSYSTEM
Definition cectypes.h:771
cec_display_control
Definition cectypes.h:464
@ CEC_DISPLAY_CONTROL_CLEAR_PREVIOUS_MESSAGE
Definition cectypes.h:467
@ CEC_DISPLAY_CONTROL_DISPLAY_FOR_DEFAULT_TIME
Definition cectypes.h:465
@ CEC_DISPLAY_CONTROL_DISPLAY_UNTIL_CLEARED
Definition cectypes.h:466
@ CEC_DISPLAY_CONTROL_RESERVED_FOR_FUTURE_USE
Definition cectypes.h:468
cec_user_control_code
Definition cectypes.h:664
@ CEC_USER_CONTROL_CODE_TOP_MENU
Definition cectypes.h:680
@ CEC_USER_CONTROL_CODE_CONTENTS_MENU
Definition cectypes.h:676
@ CEC_USER_CONTROL_CODE_PAUSE_PLAY_FUNCTION
Definition cectypes.h:736
@ CEC_USER_CONTROL_CODE_SETUP_MENU
Definition cectypes.h:675
@ CEC_USER_CONTROL_CODE_TUNE_FUNCTION
Definition cectypes.h:742
@ CEC_USER_CONTROL_CODE_SOUND_SELECT
Definition cectypes.h:703
@ CEC_USER_CONTROL_CODE_INITIAL_CONFIGURATION
Definition cectypes.h:731
@ CEC_USER_CONTROL_CODE_LEFT_DOWN
Definition cectypes.h:673
@ CEC_USER_CONTROL_CODE_FAST_FORWARD
Definition cectypes.h:719
@ CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE
Definition cectypes.h:683
@ CEC_USER_CONTROL_CODE_LEFT
Definition cectypes.h:668
@ CEC_USER_CONTROL_CODE_POWER_OFF_FUNCTION
Definition cectypes.h:747
@ CEC_USER_CONTROL_CODE_DVD_MENU
Definition cectypes.h:681
@ CEC_USER_CONTROL_CODE_RECORD_FUNCTION
Definition cectypes.h:737
@ CEC_USER_CONTROL_CODE_NUMBER1
Definition cectypes.h:687
@ CEC_USER_CONTROL_CODE_SELECT_MEDIA_FUNCTION
Definition cectypes.h:743
@ CEC_USER_CONTROL_CODE_NUMBER6
Definition cectypes.h:692
@ CEC_USER_CONTROL_CODE_RIGHT_DOWN
Definition cectypes.h:671
@ CEC_USER_CONTROL_CODE_PAUSE
Definition cectypes.h:716
@ CEC_USER_CONTROL_CODE_VOLUME_UP
Definition cectypes.h:711
@ CEC_USER_CONTROL_CODE_NUMBER7
Definition cectypes.h:693
@ CEC_USER_CONTROL_CODE_DOWN
Definition cectypes.h:667
@ CEC_USER_CONTROL_CODE_F3_GREEN
Definition cectypes.h:752
@ CEC_USER_CONTROL_CODE_PAGE_UP
Definition cectypes.h:707
@ CEC_USER_CONTROL_CODE_F5
Definition cectypes.h:754
@ CEC_USER_CONTROL_CODE_NEXT_FAVORITE
Definition cectypes.h:699
@ CEC_USER_CONTROL_CODE_UNKNOWN
Definition cectypes.h:760
@ CEC_USER_CONTROL_CODE_BACKWARD
Definition cectypes.h:722
@ CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION
Definition cectypes.h:748
@ CEC_USER_CONTROL_CODE_NUMBER12
Definition cectypes.h:685
@ CEC_USER_CONTROL_CODE_FORWARD
Definition cectypes.h:721
@ CEC_USER_CONTROL_CODE_NUMBER3
Definition cectypes.h:689
@ CEC_USER_CONTROL_CODE_EXIT
Definition cectypes.h:678
@ CEC_USER_CONTROL_CODE_VIDEO_ON_DEMAND
Definition cectypes.h:728
@ CEC_USER_CONTROL_CODE_STOP_FUNCTION
Definition cectypes.h:739
@ CEC_USER_CONTROL_CODE_SUB_PICTURE
Definition cectypes.h:727
@ CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE
Definition cectypes.h:732
@ CEC_USER_CONTROL_CODE_CHANNEL_UP
Definition cectypes.h:700
@ CEC_USER_CONTROL_CODE_REWIND
Definition cectypes.h:718
@ CEC_USER_CONTROL_CODE_ELECTRONIC_PROGRAM_GUIDE
Definition cectypes.h:729
@ CEC_USER_CONTROL_CODE_CHANNEL_DOWN
Definition cectypes.h:701
@ CEC_USER_CONTROL_CODE_NUMBER4
Definition cectypes.h:690
@ CEC_USER_CONTROL_CODE_DISPLAY_INFORMATION
Definition cectypes.h:705
@ CEC_USER_CONTROL_CODE_RIGHT_UP
Definition cectypes.h:670
@ CEC_USER_CONTROL_CODE_SELECT_AV_INPUT_FUNCTION
Definition cectypes.h:744
@ CEC_USER_CONTROL_CODE_CLEAR
Definition cectypes.h:698
@ CEC_USER_CONTROL_CODE_ENTER
Definition cectypes.h:697
@ CEC_USER_CONTROL_CODE_NUMBER11
Definition cectypes.h:684
@ CEC_USER_CONTROL_CODE_PLAY
Definition cectypes.h:714
@ CEC_USER_CONTROL_CODE_NUMBER2
Definition cectypes.h:688
@ CEC_USER_CONTROL_CODE_NUMBER0
Definition cectypes.h:686
@ CEC_USER_CONTROL_CODE_RECORD
Definition cectypes.h:717
@ CEC_USER_CONTROL_CODE_PAUSE_RECORD
Definition cectypes.h:724
@ CEC_USER_CONTROL_CODE_F4_YELLOW
Definition cectypes.h:753
@ CEC_USER_CONTROL_CODE_DATA
Definition cectypes.h:755
@ CEC_USER_CONTROL_CODE_STOP
Definition cectypes.h:715
@ CEC_USER_CONTROL_CODE_NUMBER8
Definition cectypes.h:694
@ CEC_USER_CONTROL_CODE_POWER
Definition cectypes.h:710
@ CEC_USER_CONTROL_CODE_SELECT
Definition cectypes.h:665
@ CEC_USER_CONTROL_CODE_RESTORE_VOLUME_FUNCTION
Definition cectypes.h:741
@ CEC_USER_CONTROL_CODE_VOLUME_DOWN
Definition cectypes.h:712
@ CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION
Definition cectypes.h:733
@ CEC_USER_CONTROL_CODE_LEFT_UP
Definition cectypes.h:672
@ CEC_USER_CONTROL_CODE_ROOT_MENU
Definition cectypes.h:674
@ CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST
Definition cectypes.h:758
@ CEC_USER_CONTROL_CODE_PAUSE_RECORD_FUNCTION
Definition cectypes.h:738
@ CEC_USER_CONTROL_CODE_UP
Definition cectypes.h:666
@ CEC_USER_CONTROL_CODE_EJECT
Definition cectypes.h:720
@ CEC_USER_CONTROL_CODE_HELP
Definition cectypes.h:706
@ CEC_USER_CONTROL_CODE_MAX
Definition cectypes.h:759
@ CEC_USER_CONTROL_CODE_RIGHT
Definition cectypes.h:669
@ CEC_USER_CONTROL_CODE_PLAY_FUNCTION
Definition cectypes.h:735
@ CEC_USER_CONTROL_CODE_F1_BLUE
Definition cectypes.h:750
@ CEC_USER_CONTROL_CODE_DOT
Definition cectypes.h:696
@ CEC_USER_CONTROL_CODE_TIMER_PROGRAMMING
Definition cectypes.h:730
@ CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL
Definition cectypes.h:702
@ CEC_USER_CONTROL_CODE_ANGLE
Definition cectypes.h:726
@ CEC_USER_CONTROL_CODE_SELECT_AUDIO_INPUT_FUNCTION
Definition cectypes.h:745
@ CEC_USER_CONTROL_CODE_INPUT_SELECT
Definition cectypes.h:704
@ CEC_USER_CONTROL_CODE_STOP_RECORD
Definition cectypes.h:723
@ CEC_USER_CONTROL_CODE_NUMBER5
Definition cectypes.h:691
@ CEC_USER_CONTROL_CODE_PAGE_DOWN
Definition cectypes.h:708
@ CEC_USER_CONTROL_CODE_FAVORITE_MENU
Definition cectypes.h:677
@ CEC_USER_CONTROL_CODE_F2_RED
Definition cectypes.h:751
@ CEC_USER_CONTROL_CODE_POWER_TOGGLE_FUNCTION
Definition cectypes.h:746
@ CEC_USER_CONTROL_CODE_MUTE
Definition cectypes.h:713
@ CEC_USER_CONTROL_CODE_MUTE_FUNCTION
Definition cectypes.h:740
@ CEC_USER_CONTROL_CODE_NUMBER9
Definition cectypes.h:695
@ CEC_USER_CONTROL_CODE_AN_RETURN
Definition cectypes.h:757
char cec_menu_language[4]
the iso language code + (char)0
Definition cectypes.h:936
cec_record_source_type
Definition cectypes.h:519
@ CEC_RECORD_SOURCE_TYPE_DIGITAL_SERVICE
Definition cectypes.h:521
@ CEC_RECORD_SOURCE_TYPE_OWN_SOURCE
Definition cectypes.h:520
@ CEC_RECORD_SOURCE_TYPE_EXTERNAL_PLUS
Definition cectypes.h:523
@ CEC_RECORD_SOURCE_TYPE_ANALOGUE_SERVICE
Definition cectypes.h:522
@ CEC_RECORD_SOURCE_TYPE_EXTERNAL_PHYSICAL_ADDRESS
Definition cectypes.h:524
cec_record_status_info
Definition cectypes.h:528
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_MEDIA
Definition cectypes.h:542
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_ANALOGUE_SERVICE
Definition cectypes.h:534
@ CEC_RECORD_STATUS_INFO_RECORDING_HAS_ALREADY_TERMINATED
Definition cectypes.h:551
@ CEC_RECORD_STATUS_INFO_RECORDING_TERMINATED_NORMALLY
Definition cectypes.h:550
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_FURTHER_COPIES_ALLOWED
Definition cectypes.h:541
@ CEC_RECORD_STATUS_INFO_RECORDING_DIGITAL_SERVICE
Definition cectypes.h:530
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_OR_INSUFFICIENT_ENTITLEMENTS
Definition cectypes.h:539
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ALLOWED_TO_COPY_SOURCE
Definition cectypes.h:540
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_SOURCE_SIGNAL
Definition cectypes.h:546
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ENOUGH_SPACE_AVAILABLE
Definition cectypes.h:548
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_DIGITAL_SERVICE
Definition cectypes.h:533
@ CEC_RECORD_STATUS_INFO_RECORDING_ANALOGUE_SERVICE
Definition cectypes.h:531
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_ADDRESS
Definition cectypes.h:537
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROTECTED
Definition cectypes.h:545
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_SELECT_REQUIRED_SERVICE
Definition cectypes.h:535
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_CA_SYSTEM_NOT_SUPPORTED
Definition cectypes.h:538
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_OTHER_REASON
Definition cectypes.h:552
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROBLEM
Definition cectypes.h:547
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_ALREADY_RECORDING
Definition cectypes.h:544
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_PLUG_NUMBER
Definition cectypes.h:536
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_PLAYING
Definition cectypes.h:543
@ CEC_RECORD_STATUS_INFO_RECORDING_EXTERNAL_INPUT
Definition cectypes.h:532
@ CEC_RECORD_STATUS_INFO_NO_RECORDING_PARENTAL_LOCK_ON
Definition cectypes.h:549
@ CEC_RECORD_STATUS_INFO_RECORDING_CURRENTLY_SELECTED_SOURCE
Definition cectypes.h:529
cec_log_level
Definition cectypes.h:865
@ CEC_LOG_DEBUG
Definition cectypes.h:870
@ CEC_LOG_TRAFFIC
Definition cectypes.h:869
@ CEC_LOG_NOTICE
Definition cectypes.h:868
@ CEC_LOG_ERROR
Definition cectypes.h:866
@ CEC_LOG_WARNING
Definition cectypes.h:867
@ CEC_LOG_ALL
Definition cectypes.h:871
cec_external_source_specifier
Definition cectypes.h:472
@ CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PHYSICAL_ADDRESS
Definition cectypes.h:474
@ CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PLUG
Definition cectypes.h:473
char cec_osd_name[14]
the name of the device
Definition cectypes.h:937
cec_menu_request_type
Definition cectypes.h:478
@ CEC_MENU_REQUEST_TYPE_QUERY
Definition cectypes.h:481
@ CEC_MENU_REQUEST_TYPE_ACTIVATE
Definition cectypes.h:479
@ CEC_MENU_REQUEST_TYPE_DEACTIVATE
Definition cectypes.h:480
cec_timer_cleared_status_data
Definition cectypes.h:582
@ CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_RECORDING
Definition cectypes.h:583
@ CEC_TIMER_CLEARED_STATUS_DATA_TIMER_CLEARED
Definition cectypes.h:586
@ CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_MATCHING
Definition cectypes.h:584
@ CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_INF0_AVAILABLE
Definition cectypes.h:585
cec_version
Definition cectypes.h:406
@ CEC_VERSION_1_3A
Definition cectypes.h:411
@ CEC_VERSION_1_4
Definition cectypes.h:412
@ CEC_VERSION_1_2A
Definition cectypes.h:409
@ CEC_VERSION_1_3
Definition cectypes.h:410
@ CEC_VERSION_UNKNOWN
Definition cectypes.h:407
@ CEC_VERSION_2_0
Definition cectypes.h:413
@ CEC_VERSION_1_2
Definition cectypes.h:408
cec_device_type
Definition cectypes.h:454
@ CEC_DEVICE_TYPE_PLAYBACK_DEVICE
Definition cectypes.h:459
@ CEC_DEVICE_TYPE_RECORDING_DEVICE
Definition cectypes.h:456
@ CEC_DEVICE_TYPE_TUNER
Definition cectypes.h:458
@ CEC_DEVICE_TYPE_AUDIO_SYSTEM
Definition cectypes.h:460
@ CEC_DEVICE_TYPE_TV
Definition cectypes.h:455
@ CEC_DEVICE_TYPE_RESERVED
Definition cectypes.h:457
cec_deck_control_mode
Definition cectypes.h:426
@ CEC_DECK_CONTROL_MODE_SKIP_REVERSE_REWIND
Definition cectypes.h:428
@ CEC_DECK_CONTROL_MODE_STOP
Definition cectypes.h:429
@ CEC_DECK_CONTROL_MODE_SKIP_FORWARD_WIND
Definition cectypes.h:427
@ CEC_DECK_CONTROL_MODE_EJECT
Definition cectypes.h:430
cec_play_mode
Definition cectypes.h:491
@ CEC_PLAY_MODE_PLAY_STILL
Definition cectypes.h:494
@ CEC_PLAY_MODE_FAST_FORWARD_MIN_SPEED
Definition cectypes.h:495
@ CEC_PLAY_MODE_SLOW_FORWARD_MAX_SPEED
Definition cectypes.h:503
@ CEC_PLAY_MODE_PLAY_FORWARD
Definition cectypes.h:492
@ CEC_PLAY_MODE_SLOW_REVERSE_MAX_SPEED
Definition cectypes.h:506
@ CEC_PLAY_MODE_SLOW_FORWARD_MEDIUM_SPEED
Definition cectypes.h:502
@ CEC_PLAY_MODE_FAST_FORWARD_MAX_SPEED
Definition cectypes.h:497
@ CEC_PLAY_MODE_SLOW_FORWARD_MIN_SPEED
Definition cectypes.h:501
@ CEC_PLAY_MODE_FAST_FORWARD_MEDIUM_SPEED
Definition cectypes.h:496
@ CEC_PLAY_MODE_PLAY_REVERSE
Definition cectypes.h:493
@ CEC_PLAY_MODE_SLOW_REVERSE_MEDIUM_SPEED
Definition cectypes.h:505
@ CEC_PLAY_MODE_FAST_REVERSE_MEDIUM_SPEED
Definition cectypes.h:499
@ CEC_PLAY_MODE_SLOW_REVERSE_MIN_SPEED
Definition cectypes.h:504
@ CEC_PLAY_MODE_FAST_REVERSE_MIN_SPEED
Definition cectypes.h:498
@ CEC_PLAY_MODE_FAST_REVERSE_MAX_SPEED
Definition cectypes.h:500
cec_recording_sequence
Definition cectypes.h:556
@ CEC_RECORDING_SEQUENCE_FRIDAY
Definition cectypes.h:562
@ CEC_RECORDING_SEQUENCE_SATURDAY
Definition cectypes.h:563
@ CEC_RECORDING_SEQUENCE_SUNDAY
Definition cectypes.h:557
@ CEC_RECORDING_SEQUENCE_MONDAY
Definition cectypes.h:558
@ CEC_RECORDING_SEQUENCE_THURSDAY
Definition cectypes.h:561
@ CEC_RECORDING_SEQUENCE_TUESDAY
Definition cectypes.h:559
@ CEC_RECORDING_SEQUENCE_WEDNESDAY
Definition cectypes.h:560
@ CEC_RECORDING_SEQUENCE_ONCE_ONLY
Definition cectypes.h:564
cec_recording_flag
Definition cectypes.h:637
@ CEC_RECORDING_FLAG_BEING_USED_FOR_RECORDING
Definition cectypes.h:639
@ CEC_RECORDING_FLAG_NOT_BEING_USED_FOR_RECORDING
Definition cectypes.h:638
cec_broadcast_system
Definition cectypes.h:650
@ CEC_BROADCAST_SYSTEM_PAL_M
Definition cectypes.h:653
@ CEC_BROADCAST_SYSTEM_OTHER_SYSTEM
Definition cectypes.h:660
@ CEC_BROADCAST_SYSTEM_PAL_B_G
Definition cectypes.h:651
@ CEC_BROADCAST_SYSTEM_SECAM_DK
Definition cectypes.h:656
@ CEC_BROADCAST_SYSTEM_SECAM_L1
Definition cectypes.h:652
@ CEC_BROADCAST_SYSTEM_SECAM_B_G
Definition cectypes.h:657
@ CEC_BROADCAST_SYSTEM_SECAM_L2
Definition cectypes.h:658
@ CEC_BROADCAST_SYSTEM_PAL_I
Definition cectypes.h:655
@ CEC_BROADCAST_SYSTEM_NTSC_M
Definition cectypes.h:654
@ CEC_BROADCAST_SYSTEM_PAL_DK
Definition cectypes.h:659
cec_channel_identifier
Definition cectypes.h:417
@ CEC_MAJOR_CHANNEL_NUMBER_MASK
Definition cectypes.h:421
@ CEC_MINOR_CHANNEL_NUMBER_MASK
Definition cectypes.h:422
@ CEC_2_PART_CHANNEL_NUMBER
Definition cectypes.h:420
@ CEC_1_PART_CHANNEL_NUMBER
Definition cectypes.h:419
@ CEC_CHANNEL_NUMBER_FORMAT_MASK
Definition cectypes.h:418
cec_tuner_display_info
Definition cectypes.h:643
@ CEC_TUNER_DISPLAY_INFO_DISPLAYING_DIGITAL_TUNER
Definition cectypes.h:644
@ CEC_TUNER_DISPLAY_INFO_DISPLAYING_ANALOGUE_TUNER
Definition cectypes.h:646
@ CEC_TUNER_DISPLAY_INFO_NOT_DISPLAYING_TUNER
Definition cectypes.h:645
uint32_t iFirmwareBuildDate
Definition cectypes.h:1003
uint16_t iPhysicalAddress
Definition cectypes.h:1002
std::string strDeviceName
a human-readable display name for the adapter, e.g.
Definition cectypes.h:1005
uint16_t iFirmwareVersion
Definition cectypes.h:1001
std::string strComPath
the adapter's stable location: USB-tree path (Linux) / device instance id (Windows); does not change ...
Definition cectypes.h:997
uint16_t iProductId
Definition cectypes.h:1000
AdapterDescriptor(const cec_adapter_descriptor &other)
Definition cectypes.h:984
uint16_t iVendorId
Definition cectypes.h:999
cec_adapter_type adapterType
Definition cectypes.h:1004
AdapterDescriptor(void)
Definition cectypes.h:974
std::string strComName
the com port used to open the adapter, e.g.
Definition cectypes.h:998
unsigned int rx_total
Definition cectypes.h:1463
unsigned int tx_error
Definition cectypes.h:1462
unsigned int tx_ack
Definition cectypes.h:1460
unsigned int rx_error
Definition cectypes.h:1464
unsigned int tx_nack
Definition cectypes.h:1461
uint16_t iFirmwareVersion
(read-only) the firmware version of the adapter.
Definition cectypes.h:1585
uint32_t iButtonRepeatRateMs
rate at which buttons autorepeat.
Definition cectypes.h:1593
uint32_t clientVersion
the version of the client that is connecting
Definition cectypes.h:1563
ICECCallbacks * callbacks
the callback methods to use.
Definition cectypes.h:1582
uint8_t bAutoPowerOn
set to 1 and save eeprom config to wake the tv when usb is powered.
Definition cectypes.h:1598
uint16_t iPhysicalAddress
the physical address of the CEC adapter
Definition cectypes.h:1567
bool operator!=(const libcec_configuration &other) const
Definition cectypes.h:1650
uint32_t iDoubleTapTimeoutMs
prevent double taps within this timeout.
Definition cectypes.h:1595
cec_version cecVersion
CEC spec version to use by libCEC.
Definition cectypes.h:1589
uint32_t serverVersion
the version number of the server.
Definition cectypes.h:1574
uint32_t iFirmwareBuildDate
(read-only) the build date of the firmware, in seconds since epoch.
Definition cectypes.h:1587
uint8_t bAutonomousMode
set to 1 (default) to let the adapter stay active on the CEC bus when the host isn't running (ack pol...
Definition cectypes.h:1601
char strDeviceLanguage[3]
the menu language used by the client.
Definition cectypes.h:1586
cec_logical_addresses wakeDevices
list of devices to wake when initialising libCEC or when calling PowerOnDevices() without any paramet...
Definition cectypes.h:1571
cec_adapter_type adapterType
type of the CEC adapter that we're connected to.
Definition cectypes.h:1590
uint32_t iComboKeyTimeoutMs
timeout until the combo key is sent as normal keypress
Definition cectypes.h:1592
cec_user_control_code comboKey
key code that initiates combo keys.
Definition cectypes.h:1591
uint32_t tvVendor
override the vendor ID of the TV.
Definition cectypes.h:1570
uint8_t bAutodetectAddress
(read only) set to 1 by libCEC when the physical address was autodetected
Definition cectypes.h:1566
cec_device_type_list deviceTypes
the device type(s) to use on the CEC bus for libCEC
Definition cectypes.h:1565
cec_logical_address baseDevice
the logical address of the device to which the adapter is connected.
Definition cectypes.h:1568
uint8_t bMonitorOnly
won't allocate a CCECClient when starting the connection when set (same as monitor mode).
Definition cectypes.h:1588
uint8_t bPowerOffOnStandby
put this PC in standby mode when the TV is switched off.
Definition cectypes.h:1579
cec_logical_addresses powerOffDevices
list of devices to power off when calling StandbyDevices() without any parameter.
Definition cectypes.h:1572
void Clear(void)
Reset this configution struct to the default values.
Definition cectypes.h:1658
bool operator==(const libcec_configuration &other) const
Definition cectypes.h:1610
char strDeviceName[(15)]
the device name to use on the CEC bus, name + 0 terminator
Definition cectypes.h:1564
uint32_t iDeviceVendorId
the vendor ID to announce for this device.
Definition cectypes.h:1603
uint32_t iButtonReleaseDelayMs
duration after last update until a button is considered released
Definition cectypes.h:1594
uint32_t iButtonRepeatDelayMs
delay before a held button starts auto-repeating, when iButtonRepeatRateMs is set.
Definition cectypes.h:1602
uint8_t bAutoWakeAVR
set to 1 to automatically waking an AVR when the source is activated.
Definition cectypes.h:1596
uint8_t bGetSettingsFromROM
true to get the settings from the ROM (if set, and a v2 ROM is present), false to use these settings.
Definition cectypes.h:1577
uint8_t iHDMIPort
the HDMI port to which the adapter is connected.
Definition cectypes.h:1569
cec_logical_addresses logicalAddresses
(read-only) the current logical addresses.
Definition cectypes.h:1584
void * callbackParam
the object to pass along with a call of the callback methods.
Definition cectypes.h:1581
uint8_t bActivateSource
make libCEC the active source on the bus when starting the player application
Definition cectypes.h:1578
void Clear(void)
Definition cectypes.h:1541
ICECCallbacks(void)
Definition cectypes.h:1538
void(* alert)(void *cbparam, const libcec_alert alert, const libcec_parameter param)
Transfer a libcec alert message from libCEC to the client.
Definition cectypes.h:1505
~ICECCallbacks(void)
Definition cectypes.h:1539
char strDeviceName[64]
a human-readable display name for the adapter, e.g.
Definition cectypes.h:968
uint32_t iFirmwareBuildDate
Definition cectypes.h:966
cec_adapter_type adapterType
Definition cectypes.h:967
char strComPath[1024]
the adapter's stable location: USB-tree path (Linux) / device instance id (Windows); does not change ...
Definition cectypes.h:960
uint16_t iPhysicalAddress
Definition cectypes.h:965
char strComName[1024]
the com port used to open the adapter, e.g.
Definition cectypes.h:961
uint16_t iFirmwareVersion
Definition cectypes.h:964
int32_t transmit_timeout
the timeout to use in ms
Definition cectypes.h:1101
static cec_opcode GetResponseOpcode(cec_opcode opcode)
Definition cectypes.h:1219
cec_command(void)
Definition cectypes.h:1104
int8_t eom
1 when the EOM bit is set, 0 otherwise
Definition cectypes.h:1097
cec_datapacket parameters
the parameters attached to this message
Definition cectypes.h:1099
void PushArray(size_t len, const uint8_t *data)
Definition cectypes.h:1256
static void Format(cec_command &command, cec_logical_address initiator, cec_logical_address destination, cec_opcode opcode, int32_t timeout=1000)
Formats a cec_command.
Definition cectypes.h:1171
cec_opcode opcode
the opcode of this message
Definition cectypes.h:1098
cec_logical_address initiator
the logical address of the initiator of this message
Definition cectypes.h:1094
void PushBack(uint8_t data)
Push a byte to the back of this command.
Definition cectypes.h:1188
int8_t opcode_set
1 when an opcode is set, 0 otherwise (POLL message)
Definition cectypes.h:1100
void Clear(void)
Clear this command, resetting everything to the default values.
Definition cectypes.h:1207
int8_t ack
1 when the ACK bit is set, 0 otherwise
Definition cectypes.h:1096
uint8_t Size(void) const
Definition cectypes.h:1123
int Serialize(uint8_t *buffer, uint8_t iBufSize, bool bWithHeader=true) const
Serialize this command as an on-wire CEC frame: [header][opcode][operands...].
Definition cectypes.h:1143
cec_logical_address destination
the logical address of the destination of this message
Definition cectypes.h:1095
void PushBack(uint8_t add)
Push a byte to the end of this packet.
Definition cectypes.h:1074
void Clear(void)
Clear this packet.
Definition cectypes.h:1083
bool IsFull(void) const
Definition cectypes.h:1037
uint8_t operator[](uint8_t pos) const
Get the byte at the requested position.
Definition cectypes.h:1044
uint8_t size
the size of the data
Definition cectypes.h:1012
void Shift(uint8_t iShiftBy)
Shift the contents of this packet.
Definition cectypes.h:1056
bool IsEmpty(void) const
Definition cectypes.h:1035
uint8_t At(uint8_t pos) const
Get the byte at the requested position.
Definition cectypes.h:1050
uint8_t data[(16 *4)]
the actual data
Definition cectypes.h:1011
bool IsEmpty() const
Definition cectypes.h:1313
cec_device_type operator[](uint8_t pos) const
Get the type at the requested position.
Definition cectypes.h:1329
void Clear(void)
Clear this list.
Definition cectypes.h:1272
bool operator==(const cec_device_type_list &other) const
Definition cectypes.h:1331
void Add(const cec_device_type type)
Add a type to this list.
Definition cectypes.h:1282
bool IsSet(cec_device_type type)
Check whether a type is set in this list.
Definition cectypes.h:1299
bool operator!=(const cec_device_type_list &other) const
Definition cectypes.h:1339
cec_user_control_code keycode
the keycode
Definition cectypes.h:948
unsigned int duration
the duration of the keypress
Definition cectypes.h:949
int64_t time
the timestamp of this message
Definition cectypes.h:943
const char * message
the actual message, valid until returning from the log callback
Definition cectypes.h:941
cec_log_level level
log level of the message
Definition cectypes.h:942
bool IsEmpty(void) const
Definition cectypes.h:1365
void Set(cec_logical_address address)
Mark a logical address as 'set'.
Definition cectypes.h:1387
bool IsSet(cec_logical_address address) const
Check whether an address is set in this list.
Definition cectypes.h:1412
bool operator==(const cec_logical_addresses &other) const
Definition cectypes.h:1421
bool operator!=(const cec_logical_addresses &other) const
Definition cectypes.h:1429
bool operator[](uint8_t pos) const
Check whether an address is set in this list.
Definition cectypes.h:1419
void Clear(void)
Clear this list.
Definition cectypes.h:1355
uint16_t AckMask(void) const
Calculate the ack-mask for this list, the mask to use when determining whether to send an ack message...
Definition cectypes.h:1374
cec_logical_address primary
the primary logical address to use
Definition cectypes.h:1348
void Unset(const cec_logical_address address)
Mark a logical address as 'unset'.
Definition cectypes.h:1399
void * paramData
the value of this parameter
Definition cectypes.h:1455
libcec_parameter_type paramType
the type of this parameter
Definition cectypes.h:1454