1 /* 2 * Copyright (C) 2005-2018 Team Kodi 3 * This file is part of Kodi - https://kodi.tv 4 * 5 * SPDX-License-Identifier: GPL-2.0-or-later 6 * See LICENSES/README.md for more information. 7 */ 8 9 #ifndef C_API_ADDONINSTANCE_PVR_CHANNELS_H 10 #define C_API_ADDONINSTANCE_PVR_CHANNELS_H 11 12 #include "pvr_defines.h" 13 14 #include <stdbool.h> 15 16 //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 17 // "C" Definitions group 2 - PVR channel 18 #ifdef __cplusplus 19 extern "C" 20 { 21 #endif /* __cplusplus */ 22 23 //============================================================================ 24 /// @ingroup cpp_kodi_addon_pvr_Defs_Channel 25 /// @brief Denotes that no channel uid is available. 26 /// 27 /// Special @ref kodi::addon::PVRTimer::SetClientChannelUid() and 28 /// @ref kodi::addon::PVRRecording::SetChannelUid() value to indicate that no 29 /// channel uid is available. 30 #define PVR_CHANNEL_INVALID_UID -1 31 //---------------------------------------------------------------------------- 32 33 /*! 34 * @brief "C" PVR add-on channel. 35 * 36 * Structure used to interface in "C" between Kodi and Addon. 37 * 38 * See @ref kodi::addon::PVRChannel for description of values. 39 */ 40 typedef struct PVR_CHANNEL 41 { 42 unsigned int iUniqueId; 43 bool bIsRadio; 44 unsigned int iChannelNumber; 45 unsigned int iSubChannelNumber; 46 char strChannelName[PVR_ADDON_NAME_STRING_LENGTH]; 47 char strMimeType[PVR_ADDON_INPUT_FORMAT_STRING_LENGTH]; 48 unsigned int iEncryptionSystem; 49 char strIconPath[PVR_ADDON_URL_STRING_LENGTH]; 50 bool bIsHidden; 51 bool bHasArchive; 52 int iOrder; 53 } PVR_CHANNEL; 54 55 /*! 56 * @brief "C" PVR add-on signal status information. 57 * 58 * Structure used to interface in "C" between Kodi and Addon. 59 * 60 * See @ref kodi::addon::PVRSignalStatus for description of values. 61 */ 62 typedef struct PVR_SIGNAL_STATUS 63 { 64 char strAdapterName[PVR_ADDON_NAME_STRING_LENGTH]; 65 char strAdapterStatus[PVR_ADDON_NAME_STRING_LENGTH]; 66 char strServiceName[PVR_ADDON_NAME_STRING_LENGTH]; 67 char strProviderName[PVR_ADDON_NAME_STRING_LENGTH]; 68 char strMuxName[PVR_ADDON_NAME_STRING_LENGTH]; 69 int iSNR; 70 int iSignal; 71 long iBER; 72 long iUNC; 73 } PVR_SIGNAL_STATUS; 74 75 //============================================================================ 76 /// @ingroup cpp_kodi_addon_pvr_Defs_Channel_PVRDescrambleInfo 77 /// @brief Special @ref cpp_kodi_addon_pvr_Defs_Channel_PVRDescrambleInfo 78 /// value to indicate that a struct member's value is not available 79 /// 80 #define PVR_DESCRAMBLE_INFO_NOT_AVAILABLE -1 81 //---------------------------------------------------------------------------- 82 83 /*! 84 * @brief "C" PVR add-on descramble information. 85 * 86 * Structure used to interface in "C" between Kodi and Addon. 87 * 88 * See @ref kodi::addon::PVRDescrambleInfo for description of values. 89 */ 90 typedef struct PVR_DESCRAMBLE_INFO 91 { 92 int iPid; 93 int iCaid; 94 int iProvid; 95 int iEcmTime; 96 int iHops; 97 char strCardSystem[PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH]; 98 char strReader[PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH]; 99 char strFrom[PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH]; 100 char strProtocol[PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH]; 101 } PVR_DESCRAMBLE_INFO; 102 103 #ifdef __cplusplus 104 } 105 #endif /* __cplusplus */ 106 107 #endif /* !C_API_ADDONINSTANCE_PVR_CHANNELS_H */ 108