X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=inline;f=include%2Fcectypes.h;h=d8376206f31d442dfb6957aa9796e48eda0a77c6;hb=66e5bd7231e47eaef8a6472856443b4acffb48bd;hp=3b81bdce41444c62a2b8280da875856e88e1b779;hpb=fa4798bd538f6114390884ad6f2f9c44c9f77e09;p=deb_libcec.git diff --git a/include/cectypes.h b/include/cectypes.h index 3b81bdc..d837620 100644 --- a/include/cectypes.h +++ b/include/cectypes.h @@ -2,7 +2,7 @@ /* * This file is part of the libCEC(R) library. * - * libCEC(R) is Copyright (C) 2011 Pulse-Eight Limited. All rights reserved. + * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. * libCEC(R) is an original work, containing original code. * * libCEC(R) is a trademark of Pulse-Eight Limited. @@ -37,6 +37,12 @@ #include #include +#if defined(_WIN32) || defined(_WIN64) +#define CEC_CDECL __cdecl +#else +#define CEC_CDECL +#endif + #if !defined(DECLSPEC) #if defined(_WIN32) || defined(_WIN64) #include @@ -65,14 +71,16 @@ namespace CEC { #define ESCOFFSET 3 #define CEC_BUTTON_TIMEOUT 500 #define CEC_POWER_STATE_REFRESH_TIME 30000 +#define CEC_FW_VERSION_UNKNOWN 0xFFFF -#define CEC_DEFAULT_TRANSMIT_TIMEOUT 1000 -#define CEC_DEFAULT_TRANSMIT_WAIT 2000 -#define CEC_DEFAULT_TRANSMIT_RETRIES 1 +#define CEC_DEFAULT_TRANSMIT_RETRY_WAIT 500 +#define CEC_DEFAULT_TRANSMIT_TIMEOUT 1000 +#define CEC_DEFAULT_TRANSMIT_WAIT 2000 +#define CEC_DEFAULT_TRANSMIT_RETRIES 1 #define CEC_MIN_LIB_VERSION 1 #define CEC_LIB_VERSION_MAJOR 1 -#define CEC_LIB_VERSION_MINOR 3 +#define CEC_LIB_VERSION_MINOR 4 typedef enum cec_abort_reason { @@ -586,6 +594,8 @@ typedef enum cec_adapter_messagecode MSGCODE_TRANSMIT_FAILED_TIMEOUT_LINE, MSGCODE_FIRMWARE_VERSION, MSGCODE_START_BOOTLOADER, + MSGCODE_SET_POWERSTATE, + MSGCODE_SET_CONTROLLED, MSGCODE_FRAME_EOM = 0x80, MSGCODE_FRAME_ACK = 0x40, } cec_adapter_messagecode; @@ -866,29 +876,33 @@ typedef struct cec_logical_addresses #endif } cec_logical_addresses; -struct ICECCallbacks +typedef int (CEC_CDECL* CBCecLogMessageType)(void *param, const CEC::cec_log_message &); +typedef int (CEC_CDECL* CBCecKeyPressType)(void *param, const cec_keypress &); +typedef int (CEC_CDECL* CBCecCommandType)(void *param, const cec_command &); + +typedef struct ICECCallbacks { /*! * @brief Transfer a log message from libCEC to the client. * @param message The message to transfer. * @return 1 when ok, 0 otherwise. */ - int (*CecLogMessage)(const cec_log_message &message); + CBCecLogMessageType CBCecLogMessage; /*! * @brief Transfer a keypress from libCEC to the client. * @param key The keypress to transfer. * @return 1 when ok, 0 otherwise. */ - int (*CecKeyPress)(const cec_keypress &key); + CBCecKeyPressType CBCecKeyPress; /*! * @brief Transfer a CEC command from libCEC to the client. * @param command The command to transfer. * @return 1 when ok, 0 otherwise. */ - int (*CecCommand)(const cec_command &command); -}; + CBCecCommandType CBCecCommand; +} ICECCallbacks; #ifdef UNUSED #elif defined(__GNUC__)