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