www.pudn.com > Media.rar > Api.h
#ifndef __API_H__
#define __API_H__
/**********************
API common define
***********************/
typedef enum
{
API_SUCCESS,
API_ERR_PARAMETER, // The input parameter is wrong
API_ERR_NOTSUPPORTED, // This function is not supported
API_ERR_DRIVERACCESS, // Fail to access the driver
API_ERR_HWACCESS, // Fail to access the hardware
API_ERR_UNEXPECTED // Unknown error
} API_STATUS;
/**********************
Audio define
***********************/
typedef enum
{
ALL_CHANNEL_OFF = 0,
TWO_WAY_CALL_VOIP_HANDSET,
TWO_WAY_CALL_VOIP_HEADSET,
TWO_WAY_CALL_VOIP_HANDSFREE,
TWO_WAY_CALL_PSTN_HANDSET,
TWO_WAY_CALL_PSTN_HEADSET,
TWO_WAY_CALL_PSTN_HANDSFREE,
TWO_WAY_CALL_VOIP_PSTN,
THREE_WAY_VOIP_PSTN_HANDSET,
THREE_WAY_VOIP_PSTN_HEADSET,
THREE_WAY_VOIP_PSTN_HANDSFREE,
PHONE_CALL_PATH_MAX = THREE_WAY_VOIP_PSTN_HANDSFREE
}PhoneCallPath;
typedef enum
{
NORMAL_MODE = 0, //Play sounds to speaker or headset, depend on headset detect
RING_TONE_MODE //Play sounds to speaker and headset at the same time.
}OutputPath;
/**********************
Camera define
***********************/
#define Panel_Width 480
#define Panel_Height 234
#define Camera_Width_RES 320
#define Camera_Height_RES 240
//TK022 start
typedef enum
{
YUV420 = 0,
YUV422
}ColorFormat;
//TK022 end
typedef struct
{
UCHAR *buf;
int size;
ColorFormat format; //TK022
}CameraGetFrame;
//TK019 start
typedef struct
{
unsigned long Height;
unsigned long Width;
unsigned long XPos;
unsigned long YPos;
unsigned char *Y;
unsigned char *Cb;
unsigned char *Cr;
unsigned long Y_size;
unsigned long Cb_size;
unsigned long Cr_size;
ColorFormat format; //TK022
} CameraShowOverlay;
//TK019 end
//RH023---begin
/**********************
Backlight define
***********************/
/*marked by RK001
typedef enum
{
BKL_Contrast_UP=0,
BKL_Contrast_DOWN,
BKL_Brightness_UP,
BKL_Brightness_DOWN,
BKL_CH_MAX = BKL_Brightness_DOWN
}BKLParam;
typedef enum
{
BKL_ON = 0,
BKL_OFF
}BAKFlag;
*/
//RK001---begin
typedef enum
{
BKL_Contrast_level=0,
BKL_CONTRAST_ADJUST,
BKL_BRIGHT_ADJUST,
BKL_CH_MAX = BKL_BRIGHT_ADJUST
}BKLParam;
typedef enum
{
BKL_0 = 0,
BKL_1,
BKL_2,
BKL_3,
BKL_4
}BAKFlag;
//RK001---END
typedef enum
{
BKL_BValue= 0,
BKL_CValue
}BAKParam;
//UCHAR *Parambuf;
/*********************
PSTN define
***********************/
typedef enum
{
PSTN_LED_MUTE=0,
PSTN_LED_Handsfree,
PSTN_LED_CAREMA,
PSTN_LED_Record,
PSTN_LED_PSTN,
PSTN_LED_Message,
PSTN_LED_KBL,
PSTN_LED_ALL_OFF,
PSTN_CH_MAX = PSTN_LED_ALL_OFF
}PSTNLEDNUM;
typedef enum
{
PSTN_SHOW_CALLID = 0,
PSTN_SEND_CALLID,
//KL024 -begin
PSTN_NUM_DIAL_KEY_PRESSED,
PSTN_NUM_DIAL_KEY_RELEASED
//KL024 -end
}PSTNCallID;
typedef struct
{
UCHAR *buf;
int size;
}CallIDBuffer,*pCallIDBuffer;//RH025.
//RH023---end
typedef enum//RH028
{
PSTN_DIAL_DTMF = 0,
PSTN_DIAL_PLUSE_10,
PSTN_DIAL_PLUSE_20
}PhoneTypeID;
/*********************
Device ID define
***********************/
//KL022 -begin
typedef struct
{
WCHAR ID[16];
WCHAR MAC[6];
} DeviceID;
//KL022 -end
/*********************
SECURITY SD define
***********************/
//KL028 -begin
typedef struct
{
HANDLE file_handle ;
size_t position_index ;
size_t table_index;
} decrypt_handle;
//KL028 -end
//////////////////////////////////////////////////////////////////
//Audio API
API_STATUS FAR WINAPI APIAudioPhoneCallRouting(PhoneCallPath SetPath);
typedef API_STATUS (FAR WINAPI *pAPIAudioPhoneCallRouting)(PhoneCallPath SetPath);
API_STATUS FAR WINAPI APIAudioSetOutputPath(OutputPath SetPath);
typedef API_STATUS (FAR WINAPI *pAPIAudioSetOutputPath)(OutputPath SetPath);
//Camera API
//API_STATUS FAR WINAPI APICameraStartPreview(ULONG Width, ULONG Height, ULONG XPos, ULONG YPos);
//typedef API_STATUS (FAR WINAPI *pAPICameraStartPreview)(ULONG Width, ULONG Height, ULONG XPos, ULONG YPos);
API_STATUS FAR WINAPI APICameraStartPreview(ULONG Width, ULONG Height, ULONG XPos, ULONG YPos, BOOL OverlayEnable); //TK019
typedef API_STATUS (FAR WINAPI *pAPICameraStartPreview)(ULONG Width, ULONG Height, ULONG XPos, ULONG YPos, BOOL OverlayEnable); //TK019
API_STATUS FAR WINAPI APICameraStopPreview();
typedef API_STATUS (FAR WINAPI *pAPICameraStopPreview)();
API_STATUS FAR WINAPI APICameraGetFrame(CameraGetFrame *pBufInfo);
typedef API_STATUS (FAR WINAPI *pAPICameraGetFrame)(CameraGetFrame *pBufInfo);
//TK019 start
API_STATUS FAR WINAPI APICameraShowFrame(CameraShowOverlay *pSetOverlay, BOOL Enable);
typedef API_STATUS (FAR WINAPI *pAPICameraShowFrame)(CameraShowOverlay *pSetOverlay, BOOL Enable);
//TK019 end
//RH023---begin
//Backlght API
/*marked by RK001
API_STATUS FAR WINAPI APIBKLAdjustment(BKLParam SetParam);
typedef API_STATUS (FAR WINAPI *pAPIBKLAdjustment)(BKLParam SetParam);
*/
//RK001 begin
API_STATUS FAR WINAPI APIBKLAdjustment(BKLParam SetParam, DWORD adjustmentParam);
typedef API_STATUS (FAR WINAPI *pAPIBKLAdjustment)(BKLParam SetParam, DWORD adjustmentParam);
//RK001 END
API_STATUS FAR WINAPI APIBKLFlag(BAKFlag bFlag);
typedef API_STATUS (FAR WINAPI *pAPIBKLFlag)(BAKFlag bFlag);
//RH027---begin
API_STATUS FAR WINAPI APIBKLIParam(BAKParam SetValue, UCHAR *Parambuf);
typedef API_STATUS (FAR WINAPI *pAPIBKLIParam)(BAKParam SetValue, UCHAR *Parambuf);
//RH027---end
//PSTN API
API_STATUS FAR WINAPI APIPSTNLEDShow(PSTNLEDNUM SetParam, BOOL pIsEnable);//KL029 modified
typedef API_STATUS (FAR WINAPI *pAPIPSTNLEDShow)(PSTNLEDNUM SetParam, BOOL pIsEnable);//KL029 modified
API_STATUS FAR WINAPI APIPSTNCallNum(PSTNCallID pstnId, CallIDBuffer *pIDbuf);
typedef API_STATUS (FAR WINAPI *pAPIPSTNCallNum)(PSTNCallID pstnId, CallIDBuffer *pIDbuf);
API_STATUS FAR WINAPI APIPSTNPhoneType(PhoneTypeID SetNumID);//RH028
typedef API_STATUS (FAR WINAPI *pAPIPSTNPhoneType)(PhoneTypeID SetNumID);
//RH023---end
//KL022 -begin
API_STATUS FAR WINAPI APIGetID(WCHAR *pID);
typedef API_STATUS (FAR WINAPI *pAPIGetID)(WCHAR *pID);
API_STATUS FAR WINAPI APIGetMAC(WCHAR *pMAC);
typedef API_STATUS (FAR WINAPI *pAPIGetMAC)(WCHAR *pMAC);
API_STATUS FAR WINAPI APIGetDeviceID(DeviceID *pDeviceID);
typedef API_STATUS (FAR WINAPI *pAPIGetDeviceID)(DeviceID *pDeviceID);
//KL022 -end
//KL028 -begin
API_STATUS FAR WINAPI APIGetDecryptHandle(HANDLE pfileHandle, decrypt_handle *phandle);
typedef API_STATUS (FAR WINAPI *pAPIGetDecryptHandle)(HANDLE pfileHandle, decrypt_handle *phandle);
API_STATUS FAR WINAPI APIDecryptData( decrypt_handle *pter , byte * poutput, size_t *poutput_size ,byte * pinput, size_t pinput_size);
typedef API_STATUS (FAR WINAPI *pAPIDecryptData)( decrypt_handle *pter , byte * poutput, size_t *poutput_size ,byte * pinput, size_t pinput_size);
API_STATUS FAR WINAPI APIEncryptData( decrypt_handle * pter , byte * poutput, size_t *poutput_size ,byte * pinput, size_t pinput_size);
typedef API_STATUS (FAR WINAPI *pAPIEncryptData)( decrypt_handle *pter , byte * poutput, size_t *poutput_size ,byte * pinput, size_t pinput_size);
//KL028 -end
#endif