00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef TMDLHDMICEC_TYPES_H
00032 #define TMDLHDMICEC_TYPES_H
00033
00034
00035
00036
00037
00038 #include "tmNxTypes.h"
00039
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 #define TMDL_ERR_DLHDMICEC_BASE CID_DL_HDMICEC
00055 #define TMDL_ERR_DLHDMICEC_COMPATIBILITY (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_COMPATIBILITY)
00056 #define TMDL_ERR_DLHDMICEC_MAJOR_VERSION (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_MAJOR_VERSION)
00057 #define TMDL_ERR_DLHDMICEC_COMP_VERSION (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_COMP_VERSION)
00058 #define TMDL_ERR_DLHDMICEC_BAD_UNIT_NUMBER (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_BAD_UNIT_NUMBER)
00059 #define TMDL_ERR_DLHDMICEC_BAD_INSTANCE (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_BAD_INSTANCE)
00060 #define TMDL_ERR_DLHDMICEC_BAD_HANDLE (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_BAD_HANDLE)
00061 #define TMDL_ERR_DLHDMICEC_BAD_PARAMETER (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_BAD_PARAMETER)
00062 #define TMDL_ERR_DLHDMICEC_NO_RESOURCES (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_NO_RESOURCES)
00063 #define TMDL_ERR_DLHDMICEC_RESOURCE_OWNED (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_RESOURCE_OWNED)
00064 #define TMDL_ERR_DLHDMICEC_RESOURCE_NOT_OWNED (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_RESOURCE_NOT_OWNED)
00065 #define TMDL_ERR_DLHDMICEC_INCONSISTENT_PARAMS (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_INCONSISTENT_PARAMS)
00066 #define TMDL_ERR_DLHDMICEC_NOT_INITIALIZED (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_NOT_INITIALIZED)
00067 #define TMDL_ERR_DLHDMICEC_NOT_SUPPORTED (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_NOT_SUPPORTED)
00068 #define TMDL_ERR_DLHDMICEC_INIT_FAILED (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_INIT_FAILED)
00069 #define TMDL_ERR_DLHDMICEC_BUSY (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_BUSY)
00070 #define TMDL_ERR_DLHDMICEC_I2C_READ (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_READ)
00071 #define TMDL_ERR_DLHDMICEC_I2C_WRITE (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_WRITE)
00072 #define TMDL_ERR_DLHDMICEC_FULL (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_FULL)
00073 #define TMDL_ERR_DLHDMICEC_NOT_STARTED (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_NOT_STARTED)
00074 #define TMDL_ERR_DLHDMICEC_ALREADY_STARTED (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_ALREADY_STARTED)
00075 #define TMDL_ERR_DLHDMICEC_ASSERTION (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_ASSERTION)
00076 #define TMDL_ERR_DLHDMICEC_INVALID_STATE (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_INVALID_STATE)
00077 #define TMDL_ERR_DLHDMICEC_OPERATION_NOT_PERMITTED (TMDL_ERR_DLHDMICEC_BASE + TM_ERR_OPERATION_NOT_PERMITTED)
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087 typedef enum
00088 {
00089 CEC_ABORT_UNKNOWN_OPCODE = 0,
00090 CEC_ABORT_INCORRECT_MODE = 1,
00091 CEC_ABORT_NO_SOURCE = 2,
00092 CEC_ABORT_INVALID_OPERAND = 3,
00093 CEC_ABORT_REFUSED = 4,
00094 CEC_ABORT_UNABLE_TO_DETERMINE = 5
00095 } tmdlHdmiCECAbortReason_t;
00096
00097
00098
00099
00100
00101 typedef enum
00102 {
00103 CEC_BROADCAST_TYPE_CABLE = 0x00,
00104 CEC_BROADCAST_TYPE_SATELLITE = 0x01,
00105 CEC_BROADCAST_TYPE_TERRESTRIAL = 0x02
00106 } tmdlHdmiCECAnalogueBroadcastType_t;
00107
00108
00109
00110
00111
00112 enum _tmdlHdmiCECAnalogueFrequency
00113 {
00114 CEC_ANALOG_FREQ_MIN = 0x0000,
00115 CEC_ANALOG_FREQ_MAX = 0xFFFF
00116 };
00117
00118
00119
00120
00121
00122 enum _tmdlHdmiCECAsciiDigit
00123 {
00124 CEC_ASCII_DIGIT_MIN = 0x30,
00125 CEC_ASCII_DIGIT_MAX = 0x39
00126 };
00127
00128
00129
00130
00131
00132 enum _tmbsHdmiCECAscii
00133 {
00134 CEC_ASCII_CHARACTER_MIN = 0x20,
00135 CEC_ASCII_CHARACTER_MAX = 0x7E
00136 };
00137
00138
00139
00140
00141
00142
00143 enum _tmdlHdmiCECAudioFormatCode
00144 {
00145 CEC_AUDIO_FORMAT_CODE_MIN = 0x01,
00146 CEC_AUDIO_FORMAT_CODE_MAX = 0x0F
00147 };
00148
00149
00150
00151
00152
00153 typedef enum
00154 {
00155 CEC_AUDIO_RATE_OFF = 0,
00156 CEC_AUDIO_RATE_WIDE_RANGE_STANDARD_RATE = 1,
00157 CEC_AUDIO_RATE_WIDE_RANGE_FAST_RATE = 2,
00158 CEC_AUDIO_RATE_WIDE_RANGE_SLOW_RATE = 3,
00159 CEC_AUDIO_RATE_NARROW_RANGE_STANDARD_RATE = 4,
00160 CEC_AUDIO_RATE_NARROW_RANGE_FAST_RATE = 5,
00161 CEC_AUDIO_RATE_NARROW_RANGE_SLOW_RATE = 6
00162 } tmdlHdmiCECAudioRate_t;
00163
00164
00165
00166
00167
00168 typedef enum
00169 {
00170 CEC_AUDIO_MUTE_OFF = 0,
00171 CEC_AUDIO_MUTE_ON = 1
00172 } tmdlHdmiCECAudioMute_t;
00173
00174
00175
00176
00177
00178
00179 typedef struct _tmdlHdmiCECAudioStatus_t
00180 {
00181 tmdlHdmiCECAudioMute_t audioMuteStatus ;
00182 UInt8 audioVolumeStatus ;
00183 } tmdlHdmiCECAudioStatus_t, *ptmdlHdmiCECAudioStatus_t;
00184
00185
00186
00187
00188
00189
00190 typedef enum
00191 {
00192 CEC_FALSE = 0,
00193 CEC_TRUE = 1,
00194 } tmdlHdmiCECBoolean_t;
00195
00196
00197
00198
00199
00200
00201 typedef enum
00202 {
00203 CEC_BROADCAST_SYSTEM_PAL_BG = 0,
00204 CEC_BROADCAST_SYSTEM_PAL_SECAM_L = 1,
00205 CEC_BROADCAST_SYSTEM_PAL_M = 2,
00206 CEC_BROADCAST_SYSTEM_NTSC_M = 3,
00207 CEC_BROADCAST_SYSTEM_PAL_I = 4,
00208 CEC_BROADCAST_SYSTEM_SECAM_DK = 5,
00209 CEC_BROADCAST_SYSTEM_SECAM_BG = 6,
00210 CEC_BROADCAST_SYSTEM_SECAM_L = 7,
00211 CEC_BROADCAST_SYSTEM_PAL_DK = 8,
00212 CEC_BROADCAST_SYSTEM_FUTURE_USE = 9,
00213 CEC_BROADCAST_SYSTEM_OTHER_SYSTEM = 31
00214 } tmdlHdmiCECBroadcastSystem_t;
00215
00216
00217
00218
00219
00220 typedef enum
00221 {
00222 CEC_VERSION_Reserved = 0x00,
00223 CEC_VERSION_Reserved1 = 0x01,
00224 CEC_VERSION_Reserved2 = 0x02,
00225 CEC_VERSION_Reserved3 = 0x03,
00226 CEC_VERSION_1_3a = 0x04,
00227 CEC_VERSION_1_4 = 0x05
00228 } tmdlHdmiCECVersion_t;
00229
00230
00231
00232
00233
00234 typedef enum
00235 {
00236 CEC_FIRST_CHAN_NUMBER = 0x01,
00237 CEC_SECOND_CHAN_NUMBER = 0x02
00238 } tmdlHdmiCECChanNumFormat_t;
00239
00240
00241
00242
00243
00244
00245 typedef struct
00246 {
00247 tmdlHdmiCECChanNumFormat_t ChanNumFormat ;
00248 UInt16 MajorChanNumber ;
00249 UInt16 MinorChanNumber ;
00250 } tmdlHdmiCECChannelIdentifier_t ;
00251
00252
00253
00254
00255
00256 typedef enum
00257 {
00258 CEC_FIRST_DAY_OF_MONTH = 1,
00259 CEC_LAST_DAY_OF_MONTH = 31
00260 } tmdlHdmiCECDayOfMonth_t;
00261
00262
00263
00264
00265
00266 typedef enum
00267 {
00268 CEC_DECK_CONTROL_WIND = 1,
00269 CEC_DECK_CONTROL_REWIND = 2,
00270 CEC_DECK_CONTROL_STOP = 3,
00271 CEC_DECK_CONTROL_EJECT = 4
00272 } tmdlHdmiCECDecControlMode_t;
00273
00274
00275
00276
00277
00278 typedef enum
00279 {
00280 CEC_DECK_INFO_PLAY = 0x11,
00281 CEC_DECK_INFO_RECORD = 0x12,
00282 CEC_DECK_INFO_PLAY_REVERSE = 0x13,
00283 CEC_DECK_INFO_STILL = 0x14,
00284 CEC_DECK_INFO_SLOW = 0x15,
00285 CEC_DECK_INFO_SLOW_REVERSE = 0x16,
00286 CEC_DECK_INFO_FAST_FORWARD = 0x17,
00287 CEC_DECK_INFO_FAST_REVERSE = 0x18,
00288 CEC_DECK_INFO_NO_MEDIA = 0x19,
00289 CEC_DECK_INFO_STOP = 0x1A,
00290 CEC_DECK_INFO_WIND = 0x1B,
00291 CEC_DECK_INFO_REWIND = 0x1C,
00292 CEC_DECK_INFO_ID_SEARCH_FORWARD = 0x1D,
00293 CEC_DECK_INFO_ID_SEARCH_REVERSE = 0x1E,
00294 CEC_DECK_INFO_OTHER_STATUS = 0x1F
00295 } tmdlHdmiCECDecInfo_t;
00296
00297
00298
00299
00300
00301
00302 typedef enum
00303 {
00304 CEC_DEVICE_TYPE_TV = 0,
00305 CEC_DEVICE_TYPE_REC_DEVICE = 1,
00306 CEC_DEVICE_TYPE_RESERVED = 2,
00307 CEC_DEVICE_TYPE_TUNER = 3,
00308 CEC_DEVICE_TYPE_PLAYBACK_DEVICE = 4,
00309 CEC_DEVICE_TYPE_AUDIO_DEVICE = 5,
00310 CEC_DEVICE_TYPE_PURE_CEC_SWITCTH = 6,
00311 CEC_DEVICE_TYPE_VIDEO_PROCESSOR = 7
00312 } tmdlHdmiCECDeviceType_t;
00313
00314
00315
00316
00317
00318 typedef enum
00319 {
00320 CEC_SERVICE_DIGITAL = 0,
00321 CEC_SERVICE_CHANNEL = 1
00322 } tmdlHdmiCECServiceIdentMethod_t;
00323
00324
00325
00326
00327
00328 typedef enum
00329 {
00330 CEC_DIGITAL_BROADCAST_SYSTEM_ARIB_GENERIC = 0x01,
00331 CEC_DIGITAL_BROADCAST_SYSTEM_ATSC_GENERIC = 0x02,
00332 CEC_DIGITAL_BROADCAST_SYSTEM_DVB_GENERIC = 0x03,
00333 CEC_DIGITAL_BROADCAST_SYSTEM_ARIB_BS = 0x08,
00334 CEC_DIGITAL_BROADCAST_SYSTEM_ARIB_CS = 0x09,
00335 CEC_DIGITAL_BROADCAST_SYSTEM_ARIB_T = 0x0A,
00336 CEC_DIGITAL_BROADCAST_SYSTEM_CABLE = 0x10,
00337 CEC_DIGITAL_BROADCAST_SYSTEM_SATELLITE = 0x11,
00338 CEC_DIGITAL_BROADCAST_SYSTEM_TERRESTRIAL = 0x12,
00339 CEC_DIGITAL_BROADCAST_SYSTEM_DVB_C = 0x18,
00340 CEC_DIGITAL_BROADCAST_SYSTEM_DVB_S = 0x19,
00341 CEC_DIGITAL_BROADCAST_SYSTEM_DVB_S2 = 0x1A,
00342 CEC_DIGITAL_BROADCAST_SYSTEM_DVB_T = 0x1B
00343 } tmdlHdmiCECDigitalBroadcastSystem_t;
00344
00345
00346
00347
00348
00349 typedef struct
00350 {
00351 UInt16 TransportStreamID ;
00352 UInt16 ServiceID ;
00353 UInt16 OriginalNetworkID ;
00354 } tmdlHdmiCECAribData_t ;
00355
00356
00357
00358
00359
00360 typedef struct
00361 {
00362 UInt16 TransportStreamID ;
00363 UInt16 ProgramNumber ;
00364 UInt16 Reserved ;
00365 } tmdlHdmiCECAtscData_t ;
00366
00367
00368
00369
00370
00371 typedef struct
00372 {
00373 UInt16 TransportStreamID ;
00374 UInt16 ServiceID ;
00375 UInt16 OriginalNetworkID ;
00376 } tmdlHdmiCECDvbData_t ;
00377
00378
00379
00380
00381
00382 typedef struct
00383 {
00384 tmdlHdmiCECChannelIdentifier_t ChannelIdentifier ;
00385 UInt16 Reserved ;
00386 } tmdlHdmiCECChannelData_t ;
00387
00388
00389
00390
00391
00392
00393 typedef struct _tmdlHdmiCECDigitalServiceIdentification_t
00394 {
00395 tmdlHdmiCECServiceIdentMethod_t ServiceIdentificationMethod ;
00396 tmdlHdmiCECDigitalBroadcastSystem_t DigitalBroadcastSystem ;
00397 void *pServiceIdentification ;
00398 }tmdlHdmiCECDigitalServiceIdentification_t, *ptmdlHdmiCECDigitalServiceIdentification_t;
00399
00400
00401
00402
00403
00404 typedef enum
00405 {
00406 CEC_DISPLAY_CONTROL_DEFAULT_TIME = 0 ,
00407 CEC_DISPLAY_CONTROL_UNTIL_CLEARED = 64 ,
00408 CEC_DISPLAY_CONTROL_CLEAR_PREVIOUS_MESSAGE = 128,
00409 CEC_DISPLAY_CONTROL_RESERVED = 192
00410 } tmdlHdmiCECDisplayControl_t;
00411
00412
00413
00414
00415
00416 typedef struct
00417 {
00418 UInt8 Hours ;
00419 UInt8 Minute ;
00420 } tmdlHdmiCECDuration_t ;
00421
00422
00423
00424
00425 typedef UInt16 tmdlHdmiCECExternalPhysicalAddress_t ;
00426
00427
00428
00429
00430 typedef UInt8 tmdlHdmiCECExternalPlug_t;
00431
00432
00433
00434
00435
00436 typedef enum
00437 {
00438 CEC_EXTERNAL_PLUG = 4 ,
00439 CEC_EXTERNAL_PHYSICAL_ADDRESS = 5
00440 } tmdlHdmiCECExternalSourceSpecifier_t;
00441
00442
00443
00444
00445
00446 typedef UInt8 ExternalSourceSpecifier;
00447
00448
00449
00450
00451
00452
00453 typedef enum
00454 {
00455 CEC_OPCODE_FEATURE_ABORT = 0x00,
00456 CEC_OPCODE_IMAGE_VIEW_ON = 0x04,
00457 CEC_OPCODE_TUNER_STEP_INCREMENT = 0x05,
00458 CEC_OPCODE_TUNER_STEP_DECREMENT = 0x06,
00459 CEC_OPCODE_TUNER_DEVICE_STATUS = 0x07,
00460 CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS = 0x08,
00461 CEC_OPCODE_RECORD_ON = 0x09,
00462 CEC_OPCODE_RECORD_STATUS = 0x0A,
00463 CEC_OPCODE_RECORD_OFF = 0x0B,
00464 CEC_OPCODE_TEXT_VIEW_ON = 0x0D,
00465 CEC_OPCODE_RECORD_TV_SCREEN = 0x0F,
00466 CEC_OPCODE_GIVE_DECK_STATUS = 0x1A,
00467 CEC_OPCODE_DECK_STATUS = 0x1B,
00468 CEC_OPCODE_SET_MENU_LANGUAGE = 0x32,
00469 CEC_OPCODE_CLEAR_ANALOGUE_TIMER = 0x33,
00470 CEC_OPCODE_SET_ANALOGUE_TIMER = 0x34,
00471 CEC_OPCODE_TIMER_STATUS = 0x35,
00472 CEC_OPCODE_STANDBY = 0x36,
00473 CEC_OPCODE_PLAY = 0x41,
00474 CEC_OPCODE_DESCK_CONTROL = 0x42,
00475 CEC_OPCODE_TIMER_CLEARED_STATUS = 0x43,
00476 CEC_OPCODE_USER_CONTROL_PRESSED = 0x44,
00477 CEC_OPCODE_USER_CONTROL_RELEASED = 0x45,
00478 CEC_OPCODE_GIVE_OSD_NAME = 0x46,
00479 CEC_OPCODE_SET_OSD_NAME = 0x47,
00480 CEC_OPCODE_SET_OSD_STRING = 0x64,
00481 CEC_OPCODE_SET_TIMER_PROGRAM_TITLE = 0x67,
00482 CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST = 0x70,
00483 CEC_OPCODE_GIVE_AUDIO_STATUS = 0x71,
00484 CEC_OPCODE_SET_SYSTEM_AUDIO_MODE = 0x72,
00485 CEC_OPCODE_REPORT_AUDIO_STATUS = 0x7A,
00486 CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS = 0x7D,
00487 CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS = 0x7E,
00488 CEC_OPCODE_ROUTING_CHANGE = 0x80,
00489 CEC_OPCODE_ROUTING_INFORMATION = 0x81,
00490 CEC_OPCODE_ACTIVE_SOURCE = 0x82,
00491 CEC_OPCODE_GIVE_PHYSICAL_ADDRESS = 0x83,
00492 CEC_OPCODE_REPORT_PHYSICAL_ADDRESS = 0x84,
00493 CEC_OPCODE_REQUEST_ACTIVE_SOURCE = 0x85,
00494 CEC_OPCODE_SET_STREAM_PATH = 0x86,
00495 CEC_OPCODE_DEVICE_VENDOR_ID = 0x87,
00496 CEC_OPCODE_VENDOR_COMMAND = 0x89,
00497 CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN = 0x8A,
00498 CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP = 0x8B,
00499 CEC_OPCODE_GIVE_DEVICE_VENDOR_ID = 0x8C,
00500 CEC_OPCODE_MENU_REQUEST = 0x8D,
00501 CEC_OPCODE_MENU_STATUS = 0x8E,
00502 CEC_OPCODE_GIVE_DEVICE_POWER_STATUS = 0x8F,
00503 CEC_OPCODE_REPORT_POWER_STATUS = 0x90,
00504 CEC_OPCODE_GET_MENU_LANGUAGE = 0x91,
00505 CEC_OPCODE_SET_ANALOGUE_SERVICE = 0x92,
00506 CEC_OPCODE_SET_DIGITAL_SERVICE = 0x93,
00507 CEC_OPCODE_SET_DIGITAL_TIMER = 0x97,
00508 CEC_OPCODE_CLEAR_DIGITAL_TIMER = 0x99,
00509 CEC_OPCODE_SET_AUDIO_RATE = 0x9A,
00510 CEC_OPCODE_INACTIVE_SOURCE = 0x9D,
00511 CEC_OPCODE_CEC_VERSION = 0x9E,
00512 CEC_OPCODE_GET_CEC_VERSION = 0x9F,
00513 CEC_OPCODE_VENDOR_COMMAND_WITH_ID = 0xA0,
00514 CEC_OPCODE_CLEAR_EXTERNAL_TIMER = 0xA1,
00515 CEC_OPCODE_SET_EXTERNAL_TIMER = 0xA2,
00516 CEC_OPCODE_REPORT_SHORT_AUDIO_DESCRIPTOR = 0xA3,
00517 CEC_OPCODE_REQUEST_SHORT_AUDIO_DESCRIPTOR = 0xA4,
00518 CEC_OPCODE_INITATE_ARC = 0xC0,
00519 CEC_OPCODE_REPORT_ARC_INITIATED = 0xC1,
00520 CEC_OPCODE_REPORT_ARC_TERMINATED = 0xC2,
00521 CEC_OPCODE_REPORT_ARC_INITIATION = 0xC3,
00522 CEC_OPCODE_REPORT_ARC_TERMINATION = 0xC4,
00523 CEC_OPCODE_TERMINATE_ARC = 0xC5,
00524 CEC_OPCODE_ABORT_MESSAGE = 0xFF
00525 } tmdlHdmiCECFeatureOpcode_t;
00526
00527
00528
00529
00530
00531
00532
00533 typedef enum
00534 {
00535 CEC_MENU_TYPE_ACTIVATE = 0 ,
00536 CEC_MENU_TYPE_DEACTIVATE = 1 ,
00537 CEC_MENU_TYPE_QUERY = 2
00538 } tmdlHdmiCECMenuRequestType_t;
00539
00540
00541
00542
00543
00544 typedef enum
00545 {
00546 CEC_MENU_STATE_ACTIVATE = 0 ,
00547 CEC_MENU_STATE_DEACTIVATE = 1
00548 } tmdlHdmiCECMenuState_t;
00549
00550
00551
00552
00553
00554 typedef enum
00555 {
00556 CEC_MODE_PLAY_FORWARD = 0x24 ,
00557 CEC_MODE_PLAY_REVERSE = 0x20 ,
00558 CEC_MODE_FAST_FORWARD_MIN_SPEED = 0x05 ,
00559 CEC_MODE_FAST_FORWARD_MEDIUM_SPEED = 0x06 ,
00560 CEC_MODE_FAST_FORWARD_MAX_SPEED = 0x07 ,
00561 CEC_MODE_FAST_REVERSE_MIN_SPEED = 0x09 ,
00562 CEC_MODE_FAST_REVERSE_MEDIUM_SPEED = 0x0A ,
00563 CEC_MODE_FAST_REVERSE_MAX_SPEED = 0x0B ,
00564 CEC_MODE_SLOW_FORWARD_MIN_SPEED = 0x15 ,
00565 CEC_MODE_SLOW_FORWARD_MEDIUM_SPEED = 0x16 ,
00566 CEC_MODE_SLOW_FORWARD_MAX_SPEED = 0x17 ,
00567 CEC_MODE_SLOW_REVERSE_MIN_SPEED = 0x19 ,
00568 CEC_MODE_SLOW_REVERSE_MEDIUM_SPEED = 0x1A ,
00569 CEC_MODE_SLOW_REVERSE_MAX_SPEED = 0x1B
00570 } tmdlHdmiCECPlayMode_t;
00571
00572
00573
00574
00575
00576 typedef enum
00577 {
00578 CEC_POWER_STATUS_ON = 0x00 ,
00579 CEC_POWER_STATUS_STANDBY = 0x01 ,
00580 CEC_POWER_STATUS_TRANSITION_STANDBY_TO_ON = 0x02 ,
00581 CEC_POWER_STATUS_TRANSITION_ON_TO_STANDBY = 0x03
00582 } tmdlHdmiCECPowerStatus_t;
00583
00584
00585
00586
00587
00588 typedef enum
00589 {
00590 CEC_RECORD_SOURCE_OWN_SOURCE = 1 ,
00591 CEC_RECORD_SOURCE_DIGITAL_SERVICE = 2 ,
00592 CEC_RECORD_SOURCE_ANALOGUE_SERVICE = 3 ,
00593 CEC_RECORD_SOURCE_EXTERNAL_PLUG = 4 ,
00594 CEC_RECORD_SOURCE_EXTERNAL_PHYSICAL_ADDRESS = 5
00595 } tmdlHdmiCECRecordSourceType_t;
00596
00597
00598
00599
00600
00601 typedef enum
00602 {
00603 CEC_RECORD_STATUS_INFO_RECORDING_CURRENTLY_SELECTED_SOURCE = 1 ,
00604 CEC_RECORD_STATUS_INFO_RECORDING_DIGITAL_SERVICE = 2 ,
00605 CEC_RECORD_STATUS_INFO_RECORDING_ANALOGUE_SERVCICE = 3 ,
00606 CEC_RECORD_STATUS_INFO_RECORDING_EXTERNAL_INPUT = 4 ,
00607 CEC_RECORD_STATUS_INFO_NO_REC_UNABLE_TO_RECORD_DIGITAL_SERVICE = 5 ,
00608 CEC_RECORD_STATUS_INFO_NO_REC_UNABLE_TO_RECORD_ANALOGUE_SERVICE = 6 ,
00609 CEC_RECORD_STATUS_INFO_NO_REC_UNABLE_TO_SELECT_REQUIRED_SERVICE = 7 ,
00610 CEC_RECORD_STATUS_INFO_NO_REC_INVALID_EXTERNAL_PLUG_NUMBER = 9 ,
00611 CEC_RECORD_STATUS_INFO_NO_REC_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10 ,
00612 CEC_RECORD_STATUS_INFO_NO_REC_CA_SYSTEM_NOT_SUPPORTED = 11 ,
00613 CEC_RECORD_STATUS_INFO_NO_REC_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12 ,
00614 CEC_RECORD_STATUS_INFO_NO_REC_NOT_ALLOWED_TO_COPY_SOURCE = 13 ,
00615 CEC_RECORD_STATUS_INFO_NO_REC_NO_FURTHER_COPY_ALLOWED = 14 ,
00616 CEC_RECORD_STATUS_INFO_NO_REC_NO_MEDIA = 16 ,
00617 CEC_RECORD_STATUS_INFO_NO_REC_PLAYING = 17 ,
00618 CEC_RECORD_STATUS_INFO_NO_REC_ALREADY_RECORDING = 18 ,
00619 CEC_RECORD_STATUS_INFO_NO_REC_MEDIA_PROTECTED = 19 ,
00620 CEC_RECORD_STATUS_INFO_NO_REC_NO_SOURCE_SIGNAL = 20 ,
00621 CEC_RECORD_STATUS_INFO_NO_REC_MEDIA_PROBLEM = 21 ,
00622 CEC_RECORD_STATUS_INFO_NO_REC_NOT_ENOUGH_SPACE_AVAILABLE = 22 ,
00623 CEC_RECORD_STATUS_INFO_NO_REC_PARENTAL_LOCK_ON = 23 ,
00624 CEC_RECORD_STATUS_INFO_RECORDING_TERMINATED_NORMALLY = 26 ,
00625 CEC_RECORD_STATUS_INFO_RECORDING_HAS_ALREADY_TERMINATED = 27 ,
00626 CEC_RECORD_STATUS_INFO_NO_RECORDING_OTHER_REASON = 31
00627 } tmdlHdmiCECRecordStatusInfo_t;
00628
00629
00630
00631
00632
00633
00634 typedef enum
00635 {
00636 CEC_RECORDING_SEQUENCE_ONCE_ONLY = 0 ,
00637 CEC_RECORDING_SEQUENCE_SYNDAY = 1 ,
00638 CEC_RECORDING_SEQUENCE_MONDAY = 2 ,
00639 CEC_RECORDING_SEQUENCE_TUESDAY = 4 ,
00640 CEC_RECORDING_SEQUENCE_WEDNESDAY = 8 ,
00641 CEC_RECORDING_SEQUENCE_THURSDAY = 16,
00642 CEC_RECORDING_SEQUENCE_FRIDAY = 32,
00643 CEC_RECORDING_SEQUENCE_SATURDAY = 64
00644 } tmdlHdmiCECRecordingSequence_t;
00645
00646
00647
00648
00649
00650
00651 typedef enum
00652 {
00653 CEC_STATUS_REQUEST_ON = 1 ,
00654 CEC_STATUS_REQUEST_OFF = 2 ,
00655 CEC_STATUS_REQUEST_ONCE = 3
00656 } tmdlHdmiCECStatusRequest_t;
00657
00658
00659
00660
00661
00662 typedef enum
00663 {
00664 CEC_SYSTEM_AUDIO_STATUS_OFF = 0 ,
00665 CEC_SYSTEM_AUDIO_STATUS_ON = 1
00666 } tmdlHdmiCECSystemAudioStatus_t;
00667
00668
00669
00670
00671
00672 typedef enum
00673 {
00674 CEC_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0,
00675 CEC_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1,
00676 CEC_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2,
00677 CEC_TIMER_STATUS_TIMER_NOT_TIMER_CLEARED = 128
00678 } tmdlHdmiCECTimerClearedStatusData_t;
00679
00680
00681
00682
00683
00684
00685
00686 typedef enum
00687 {
00688 CEC_TIMER_OVERLAP_WARNING_NO_OVERLAP = 0,
00689 CEC_TIMER_OVERLAP_WARNING_TIMER_BLOCKS_OVERLAP = 1
00690 } tmdlHdmiCECTimerOverlapWarning_t;
00691
00692
00693
00694
00695
00696 typedef enum
00697 {
00698 CEC_MEDIA_INFO_MEDIA_PRESENT_AND_NOT_PROTECTED = 0,
00699 CEC_MEDIA_INFO_MEDIA_PRESENT_BUT_PROTECTED = 1,
00700 CEC_MEDIA_INFO_MEDIA_NOT_PRESENT = 2,
00701 CEC_MEDIA_INFO_FUTURE_USE = 3
00702 } tmdlHdmiCECMediaInfo_t;
00703
00704
00705
00706
00707
00708
00709 typedef enum
00710 {
00711 CEC_PROGRAM_INDICATOR_NOT_PROGRAMMED = 0,
00712 CEC_PROGRAM_INDICATOR_PROGRAMMED = 1
00713 } tmdlHdmiCECProgrammedIndicator_t;
00714
00715
00716
00717
00718
00719 typedef enum
00720 {
00721 CEC_PROGRAM_INFO_ENOUGHT_SPACE_AVAILABLE_FOR_RECORDING = 8,
00722 CEC_PROGRAM_INFO_NOT_ENOUGHT_SPACE_AVAILABLE_FOR_RECORDING = 9,
00723 CEC_PROGRAM_INFO_NO_MEDIA_INFO_AVAILABLE = 10,
00724 CEC_PROGRAM_INFO_MAY_NOT_BE_ENOUGH_SPACE_AVAILABLE = 11
00725 } tmdlHdmiCECProgrammedInfo_t;
00726
00727
00728
00729
00730
00731
00732 typedef enum
00733 {
00734 CEC_PROGRAM_ERROR_INFO_FUTURE_USE = 0,
00735 CEC_PROGRAM_ERROR_INFO_NO_FREE_TIMER_AVAILABLE = 1,
00736 CEC_PROGRAM_ERROR_INFO_DATE_OUT_OF_RANGE = 2,
00737 CEC_PROGRAM_ERROR_INFO_RECORDING_SEQUENCE_ERROR = 3,
00738 CEC_PROGRAM_ERROR_INFO_INVALID_EXTERNAL_PLUG_NUMBER = 4,
00739 CEC_PROGRAM_ERROR_INFO_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 5,
00740 CEC_PROGRAM_ERROR_INFO_CA_SYSTEM_NOT_SUPPORTED = 6,
00741 CEC_PROGRAM_ERROR_INFO_NO_OR_INSUFFICIENT_CA_ENTITLMENTS = 7,
00742 CEC_PROGRAM_ERROR_INFO_DOES_NOT_SUPPORT_RESOLUTION = 8,
00743 CEC_PROGRAM_ERROR_INFO_PARENTAL_LOCK_ON = 9,
00744 CEC_PROGRAM_ERROR_INFO_CLOCK_FAILURE = 10,
00745 CEC_PROGRAM_ERROR_INFO_DUPLICATE_ALREADY_PROGRAMMED = 14
00746 } tmdlHdmiCECNotProgrammedErrorInfo_t;
00747
00748
00749
00750
00751
00752 typedef struct
00753 {
00754 tmdlHdmiCECProgrammedIndicator_t SelectProgramInfo ;
00755 UInt8 ProgramInfo;
00756 UInt16 DurationAvailable ;
00757 } tmdlHdmiCECTimerProgrammedInfo_t ;
00758
00759
00760
00761
00762
00763
00764 typedef struct
00765 {
00766 tmdlHdmiCECTimerOverlapWarning_t TimerOverlapWarning ;
00767 tmdlHdmiCECMediaInfo_t MediaInfo ;
00768 tmdlHdmiCECTimerProgrammedInfo_t TimerProgrammedInfo ;
00769 } tmdlHdmiCECTimerStatusData_t ;
00770
00771
00772
00773
00774
00775
00776 typedef enum
00777 {
00778 CEC_RECORDING_FLAG_NOT_BEING_USED_FOR_RECORDING = 0,
00779 CEC_RECORDING_FLAG_BEING_USED_FOR_RECORDING = 1
00780 } tmdlHdmiCECRecordingFlag_t;
00781
00782
00783
00784
00785
00786
00787 typedef enum
00788 {
00789 CEC_TUNER_DISPLAY_MEDIA_DISPLAYING_DIGITAL_TUNER = 0,
00790 CEC_TUNER_DISPLAY_MEDIA_NOT_DISPLAYING_TUNER = 1,
00791 CEC_TUNER_DISPLAY_MEDIA_DISPLAYING_ANALOGUE_TUNER = 2
00792 } tmdlHdmiCECTunerDisplayInfo_t;
00793
00794
00795
00796
00797
00798 typedef enum
00799 {
00800 CEC_UI_BROADCAST_TYPE_ALL_AVAILABLE = 0x00 ,
00801 CEC_UI_BROADCAST_TYPE_DIGITAL_ANALOGUE_TOGGLE = 0x01 ,
00802 CEC_UI_BROADCAST_TYPE_ANALOGUE = 0x10 ,
00803 CEC_UI_BROADCAST_TYPE_ANALOGUE_TERRESTRIAL = 0x20 ,
00804 CEC_UI_BROADCAST_TYPE_ANALOGUE_CABLE = 0x30 ,
00805 CEC_UI_BROADCAST_TYPE_ANALOGUE_SATELLITE = 0x40 ,
00806 CEC_UI_BROADCAST_TYPE_DIGITAL = 0x50 ,
00807 CEC_UI_BROADCAST_TYPE_DIGITAL_TERRESTRIAL = 0x60 ,
00808 CEC_UI_BROADCAST_TYPE_DIGITAL_CABLE = 0x70 ,
00809 CEC_UI_BROADCAST_TYPE_DIGITAL_SATELLITE = 0x80 ,
00810 CEC_UI_BROADCAST_TYPE_DIGITAL_COM_SATELLITE = 0x90 ,
00811 CEC_UI_BROADCAST_TYPE_DIGITAL_COM_SATELLITE_2 = 0x91 ,
00812 CEC_UI_BROADCAST_TYPE_IP = 0xA0
00813 } tmdlHdmiCECUiBroadcastType_t;
00814
00815
00816
00817
00818
00819 typedef enum
00820 {
00821 CEC_UI_PRESENTATION_CONTROL_SOUND_MIX_DUAL_MONO = 0x20 ,
00822 CEC_UI_PRESENTATION_CONTROL_SOUND_MIX_KARAOKE = 0x30 ,
00823 CEC_UI_PRESENTATION_CONTROL_SELECT_AUDIO_DOWNMIX = 0x80 ,
00824 CEC_UI_PRESENTATION_CONTROL_SELECT_AUDIO_REVERBERATION = 0x90 ,
00825 CEC_UI_PRESENTATION_CONTROL_SELECT_AUDIO_EQUALIZER = 0xA0 ,
00826 CEC_UI_PRESENTATION_CONTROL_BASS_STEP_PLUS = 0xB1 ,
00827 CEC_UI_PRESENTATION_CONTROL_BASS_NEUTRAL_POSITION = 0xB2 ,
00828 CEC_UI_PRESENTATION_CONTROL_BASS_STEP_MINUS = 0xB3 ,
00829 CEC_UI_PRESENTATION_CONTROL_TREBLE_STEP_PLUS = 0xC1 ,
00830 CEC_UI_PRESENTATION_CONTROL_TREBLE_NEUTRAL_POSITION = 0xC2 ,
00831 CEC_UI_PRESENTATION_CONTROL_TREBLE_STEP_MINUS = 0xC3
00832
00833 } tmdlHdmiCECUiSoundPresentationControl_t;
00834
00835
00836
00837
00838
00839 typedef enum
00840 {
00841 CEC_REMOTE_BUTTON_SELECT = 0,
00842 CEC_REMOTE_BUTTON_UP = 1,
00843 CEC_REMOTE_BUTTON_DOWN = 2,
00844 CEC_REMOTE_BUTTON_LEFT = 3,
00845 CEC_REMOTE_BUTTON_RIGHT = 4,
00846 CEC_REMOTE_BUTTON_RIGHT_UP = 5,
00847 CEC_REMOTE_BUTTON_RIGHT_DOWN = 6,
00848 CEC_REMOTE_BUTTON_LEFT_UP = 7,
00849 CEC_REMOTE_BUTTON_LEFT_DOWN = 8,
00850 CEC_REMOTE_BUTTON_ROOT_MENU = 9,
00851 CEC_REMOTE_BUTTON_SETUP_MENU = 10,
00852 CEC_REMOTE_BUTTON_CONTENTS_MENU = 11,
00853 CEC_REMOTE_BUTTON_FAVORITE_MENU = 12,
00854 CEC_REMOTE_BUTTON_EXIT = 13,
00855 CEC_REMOTE_BUTTON_MEDIA_TOP_MENU = 16,
00856 CEC_REMOTE_BUTTON_MEDIA_CONTEXT = 17,
00857 CEC_REMOTE_BUTTON_NUMBER_ENTRY_MODE = 29,
00858 CEC_REMOTE_BUTTON_NUMBER_11 = 30,
00859 CEC_REMOTE_BUTTON_NUMBER_12 = 31,
00860 CEC_REMOTE_BUTTON_NUMBER_0_OR_NUMBER_10 = 32,
00861 CEC_REMOTE_BUTTON_NUMBER_1 = 33,
00862 CEC_REMOTE_BUTTON_NUMBER_2 = 34,
00863 CEC_REMOTE_BUTTON_NUMBER_3 = 35,
00864 CEC_REMOTE_BUTTON_NUMBER_4 = 36,
00865 CEC_REMOTE_BUTTON_NUMBER_5 = 37,
00866 CEC_REMOTE_BUTTON_NUMBER_6 = 38,
00867 CEC_REMOTE_BUTTON_NUMBER_7 = 39,
00868 CEC_REMOTE_BUTTON_NUMBER_8 = 40,
00869 CEC_REMOTE_BUTTON_NUMBER_9 = 41,
00870 CEC_REMOTE_BUTTON_DOT = 42,
00871 CEC_REMOTE_BUTTON_ENTER = 43,
00872 CEC_REMOTE_BUTTON_CLEAR = 44,
00873 CEC_REMOTE_BUTTON_NEXT_FAVORITE = 47,
00874 CEC_REMOTE_BUTTON_CHANNEL_UP = 48,
00875 CEC_REMOTE_BUTTON_CHANNEL_DOWN = 49,
00876 CEC_REMOTE_BUTTON_PREVIOUS_CHANNEL = 50,
00877 CEC_REMOTE_BUTTON_SOUND_SELECT = 51,
00878 CEC_REMOTE_BUTTON_INPUT_SELECT = 52,
00879 CEC_REMOTE_BUTTON_DISPLAY_INFORMATION = 53,
00880 CEC_REMOTE_BUTTON_HELP = 54,
00881 CEC_REMOTE_BUTTON_PAGE_UP = 55,
00882 CEC_REMOTE_BUTTON_PAGE_DOWN = 56,
00883 CEC_REMOTE_BUTTON_POWER = 64,
00884 CEC_REMOTE_BUTTON_VOLUME_UP = 65,
00885 CEC_REMOTE_BUTTON_VOLUME_DOWN = 66,
00886 CEC_REMOTE_BUTTON_MUTE = 67,
00887 CEC_REMOTE_BUTTON_PLAY = 68,
00888 CEC_REMOTE_BUTTON_STOP = 69,
00889 CEC_REMOTE_BUTTON_PAUSE = 70,
00890 CEC_REMOTE_BUTTON_RECORD = 71,
00891 CEC_REMOTE_BUTTON_REWIND = 72,
00892 CEC_REMOTE_BUTTON_FAST_FORWARD = 73,
00893 CEC_REMOTE_BUTTON_EJECT = 74,
00894 CEC_REMOTE_BUTTON_FORWARD = 75,
00895 CEC_REMOTE_BUTTON_BACKWARD = 76,
00896 CEC_REMOTE_BUTTON_STOP_RECORD = 77,
00897 CEC_REMOTE_BUTTON_PAUSE_RECORD = 78,
00898 CEC_REMOTE_BUTTON_ANGLE = 80,
00899 CEC_REMOTE_BUTTON_SUB_PICTURE = 81,
00900 CEC_REMOTE_BUTTON_VIDEO_ON_DEMAND = 82,
00901 CEC_REMOTE_BUTTON_ELECTRONIC_PROGRAM_GUIDE = 83,
00902 CEC_REMOTE_BUTTON_TIMER_PROGRAMMING = 84,
00903 CEC_REMOTE_BUTTON_INITIAL_CONFIGURATION = 85,
00904 CEC_REMOTE_BUTTON_SELECT_BROADCAST_TYPE = 86,
00905 CEC_REMOTE_BUTTON_SELECT_SOUND_PRESENTATION = 87,
00906 CEC_REMOTE_BUTTON_PLAY_FUNCTION = 96,
00907 CEC_REMOTE_BUTTON_PAUSE_PLAY_FUNCTION = 97,
00908 CEC_REMOTE_BUTTON_RECORD_FUNCTION = 98,
00909 CEC_REMOTE_BUTTON_PAUSE_RECORD_FUNCTION = 99,
00910 CEC_REMOTE_BUTTON_STOP_FUNCTION = 100,
00911 CEC_REMOTE_BUTTON_MUTE_FUNCTION = 101,
00912 CEC_REMOTE_BUTTON_RESTORE_VOLUME_FUNCTION = 102,
00913 CEC_REMOTE_BUTTON_TUNE_FUNCTION = 103,
00914 CEC_REMOTE_BUTTON_SELECT_MEDIA_FUNCTION = 104,
00915 CEC_REMOTE_BUTTON_SELECT_AV_INPUT_FUNCTION = 105,
00916 CEC_REMOTE_BUTTON_SELECT_AUDIO_INPUT_FUNCTION = 106,
00917 CEC_REMOTE_BUTTON_POWER_TOGGLE_FUNCTION = 107,
00918 CEC_REMOTE_BUTTON_POWER_OFF_FUNCTION = 108,
00919 CEC_REMOTE_BUTTON_POWER_ON_FUNCTION = 109,
00920 CEC_REMOTE_BUTTON_F1_BLUE = 113,
00921 CEC_REMOTE_BUTTON_F2_RED = 114,
00922 CEC_REMOTE_BUTTON_F3_GREEN = 115,
00923 CEC_REMOTE_BUTTON_F4_YELLOW = 116,
00924 CEC_REMOTE_BUTTON_F5 = 117,
00925 CEC_REMOTE_BUTTON_DATA = 118
00926 } tmdlHdmiCECUserRemoteControlCommand_t;
00927
00928
00929
00930
00931
00932 typedef enum
00933 {
00934 CEC_LOGICAL_ADDRESS_TV = 0,
00935 CEC_LOGICAL_ADDRESS_RECORDING_DEVICE_1 = 1,
00936 CEC_LOGICAL_ADDRESS_RECORDING_DEVICE_2 = 2,
00937 CEC_LOGICAL_ADDRESS_TUNER_1 = 3,
00938 CEC_LOGICAL_ADDRESS_PLAYBACK_DEVICE_1 = 4,
00939 CEC_LOGICAL_ADDRESS_AUDIO_SYSTEM = 5,
00940 CEC_LOGICAL_ADDRESS_TUNER_2 = 6,
00941 CEC_LOGICAL_ADDRESS_TUNER_3 = 7,
00942 CEC_LOGICAL_ADDRESS_PLAYBACK_DEVICE_2 = 8,
00943 CEC_LOGICAL_ADDRESS_RECORDING_DEVICE_3 = 9,
00944 CEC_LOGICAL_ADDRESS_TUNER_4 = 10,
00945 CEC_LOGICAL_ADDRESS_PLAYBACK_DEVICE_3 = 11,
00946 CEC_LOGICAL_ADDRESS_RESERVED1 = 12,
00947 CEC_LOGICAL_ADDRESS_RESERVED2 = 13,
00948 CEC_LOGICAL_ADDRESS_SPECIFIC_USE = 14,
00949 CEC_LOGICAL_ADDRESS_UNREGISTRED_BROADCAST = 15
00950 } tmdlHdmiCECLogicalAddress_t;
00951
00952
00953
00954
00955
00956
00957 typedef enum
00958 {
00959 TMDL_HDMICEC_CALLBACK_MESSAGE_AVAILABLE = 0,
00960 TMDL_HDMICEC_CALLBACK_STATUS = 1,
00961 } tmdlHdmiCecEvent_t;
00962
00963
00964
00965
00966
00967 typedef enum
00968 {
00969 TMDL_HDMICEC_EVENT_ENABLED,
00970 TMDL_HDMICEC_EVENT_DISABLED
00971 } tmdlHdmiCecEventStatus_t;
00972
00973
00974
00975
00976
00977
00978
00979
00980
00981
00982
00983
00984 typedef struct
00985 {
00986 UInt8 slaveAddr;
00987 UInt8 firstRegister;
00988 UInt8 lenData;
00989 UInt8 *pData;
00990 } tmdlHdmiCecSysArgs_t;
00991 typedef tmErrorCode_t (*ptmdlHdmiCecSysFunc_t) (tmdlHdmiCecSysArgs_t *pSysArgs);
00992
00993
00994
00995
00996
00997
00998 typedef Void (*ptmbslHdmiCecSysFuncTimer_t) (UInt16 ms);
00999
01000
01001
01002
01003
01004
01005 typedef void (*ptmdlHdmiCecCallbackFunc_t) (tmdlHdmiCecEvent_t event,
01006 UInt8 *pdata,
01007 UInt8 size);
01008
01009
01010
01011
01012 typedef enum
01013 {
01014 TMDL_HDMICEC_DEVICE_UNKNOWN,
01015 TMDL_HDMICEC_DEVICE_TDA9950,
01016 TMDL_HDMICEC_DEVICE_TDA9989,
01017 } tmdlHdmiCecDeviceVersion_t;
01018
01019
01020
01021
01022
01023 typedef enum
01024 {
01025 TMDL_HDMICEC_CLOCK_XTAL,
01026 TMDL_HDMICEC_CLOCK_FRO,
01027 TMDL_HDMICEC_CLOCK_PCLK
01028 } tmdlHdmiCecClockSource_t;
01029
01030
01031
01032
01033
01034 typedef struct
01035 {
01036 tmdlHdmiCecDeviceVersion_t DeviceVersion;
01037 tmdlHdmiCECVersion_t HdmiCecVersion;
01038 } tmdlHdmiCecCapabilities_t;
01039
01040
01041
01042
01043
01044
01045
01046
01047 typedef struct _tmdlHdmiCecInstanceSetup_t
01048 {
01049 tmdlHdmiCECLogicalAddress_t DeviceLogicalAddress;
01050 tmdlHdmiCecClockSource_t cecClockSource;
01051
01052 } tmdlHdmiCecInstanceSetup_t, *ptmdlHdmiCecInstanceSetup_t;
01053
01054
01055
01056
01057
01058 typedef struct
01059 {
01060 UInt8 AddressByte;
01061 Bool MessageTypePolling;
01062 UInt8 Opcode;
01063 }tmdlHdmiCecSaveMessage_t;
01064
01065 typedef struct
01066 {
01067 UInt8 FrameByteCount;
01068 UInt8 AddressByte;
01069 UInt8 DataBytes[15];
01070 }tmdlHdmiCecFrameFormat_t;
01071
01072
01073
01074 #ifdef __cplusplus
01075 }
01076 #endif
01077
01078 #endif
01079
01080
01081
01082
01083