| /*********************************************************************** | |
| * Copyright (C) 2001, ZTE Corporation. | |
| * | |
| * File Name: earpiece_api.h | |
| * File Mark: | |
| * Description: Provide earpiece module function prototype declaration and type declaration. | |
| * Others: | |
| * Version: v0.5 | |
| * Author: LvWenhua | |
| * Date: 2007-10-25 | |
| * | |
| * History 1: | |
| * Date: | |
| * Version: | |
| * Author: | |
| * Modification: | |
| * History 2: | |
| **********************************************************************/ | |
| #ifndef _EARPIECE_API_H | |
| #define _EARPIECE_API_H | |
| /************************************************************************** | |
| * Include files * | |
| **************************************************************************/ | |
| /************************************************************************** | |
| * Macro * | |
| **************************************************************************/ | |
| #define ZDRV_DEV_EARP "earpiece" /*The device name of earpiece driver.*/ | |
| /************************************************************************** | |
| * Types * | |
| **************************************************************************/ | |
| /*Information from driver to upper application.*/ | |
| typedef enum { | |
| EARP_INFO_PLUG = 0, /*Earpiece is plugged.*/ | |
| EARP_INFO_UNPLUG , /*Earpiece is unplugged.*/ | |
| EARP_INFO_HOOK_SWITCH , /*Earpiece hook key is pressed and released.*/ | |
| MAX_EARP_INFO | |
| } T_ZDrvEarp_Info; | |
| typedef enum { | |
| EARP_STATE_PLUG = 0, /*Earpiece is plugged.*/ | |
| EARP_STATE_UNPLUG , /*Earpiece is unplugged.*/ | |
| MAX_EARP_STATE | |
| } T_ZDrvEarp_State; | |
| typedef void (*T_ZDrvEarp_CallbackFunc) (T_ZDrvEarp_Info); | |
| #if 0 | |
| typedef enum | |
| { | |
| IOCTL_EARP_SET_CALLBACK = 0, /*Set callback function, it is used to register the callback function which will send the earpiece switch status to user.*/ | |
| IOCTL_EARP_GET_PLUG_STATUS , /*Get earpiece plug status, replace the read function.*/ | |
| IOCTL_EARP_SET_HOOK_ENABLE, | |
| IOCTL_EARP_SET_HOOK_DISABLE, | |
| MAX_IOCTL_EARP | |
| }T_ZDrvEarp_IoCtl; | |
| #endif | |
| /************************************************************************** | |
| * Global Variable * | |
| **************************************************************************/ | |
| /************************************************************************** | |
| * Function Prototypes * | |
| **************************************************************************/ | |
| /************************************************************************** | |
| * Function: zDrv_Open | |
| * Description: This function is used to open device according to device name. | |
| * Parameters: | |
| * Input: | |
| pathname:device name, ZDRV_DEV_EARP in earpiece | |
| * flags: no use, 0 | |
| * Output: None | |
| * Returns: | |
| * device file descriptor if successed. [1, ZDRV_MAX_DEV_FILE_NUM), please refer to dal_api.h | |
| * DRV_ERR_NO_THIS_DEVICE: this device hasn't been installed yet | |
| * DRV_ERR_FD_OVERFLOW: no free fd entry | |
| * DRV_ERR_NOT_SUPPORTED: this device don't support open operation. | |
| * DRV_ERR_OPEN_TIMES: has been opened already. | |
| * others: others error code. for detailed information, please refer to the header file of hal layer | |
| * Others: None | |
| **************************************************************************/ | |
| /*SINT32 zDrv_Open (const CHAR *pathname, SINT32 flags)*/ | |
| /************************************************************************** | |
| * Function: zDrv_Close | |
| * Description: This function is used to close a device according to device file descriptor. | |
| * Parameters: | |
| * Input: | |
| * fd :device file descriptor | |
| * Output:None | |
| * Returns: | |
| * DRV_SUCCESS: successed. | |
| * DRV_ERR_NOT_OPENED: has not been opend yet. | |
| * DRV_ERR_FD_TABLE: device driver table has been invalid. | |
| * DRV_ERR_NOT_SUPPORTED: this device don't support close operation. | |
| * others: others error code. for detailed information, please refer to the header file of hal layer | |
| * Others: None | |
| **************************************************************************/ | |
| /*SINT32 zDrv_Close(UINT32 fd)*/ | |
| /************************************************************************** | |
| * Function: zDrv_Ioctl | |
| * Description: This function is used to control device according to fd(device file descriptor). | |
| * Parameters: | |
| * Input: | |
| * fd:device file descriptor | |
| * cmd:command code | |
| * arg:command parameters | |
| * Output:None | |
| * Returns: | |
| * DRV_SUCCESS: successed. | |
| * DRV_ERR_INVALID_PARAM: the input parameters are invalid | |
| * DRV_ERR_NOT_OPENED: has not been opend yet. | |
| * DRV_ERR_FD_TABLE: device driver table has been invalid. | |
| * DRV_ERR_NOT_SUPPORTED: this device don't support ioctrl operation. | |
| * DRV_ERR_INVALID_IOCTL_CMD: this command has not been supported yet. | |
| * others: for detailed information, please refer to the header file of hal layer | |
| * | |
| * Others: None | |
| **************************************************************************/ | |
| /*SINT32 zDrv_Ioctl(UINT32 fd, UINT32 cmd, VOID* arg)*/ | |
| /************************************************************************** | |
| * Function: zDrvEarp_Init | |
| * Description: This function is used to install earpiece driver. | |
| * Parameters: | |
| * Input:None | |
| * Output:None | |
| * Returns: | |
| * DRV_SUCCESS: successed. | |
| * DRV_ERROR: error | |
| * DRV_ERR_DEV_OVERFLOW: no free device driver entry in table | |
| * DRV_ERR_MEM_ALLOC: failed to alloc memory | |
| * Others: None | |
| **************************************************************************/ | |
| SINT32 zDrvEarp_Init(VOID); | |
| /************************************************************************** | |
| * Function: zDrvEarp_Exit | |
| * Description: This function is used to uninstall earpiece driver. | |
| * Parameters: | |
| * Input:None | |
| * Output:None | |
| * Returns: | |
| * DRV_SUCCESS: successed. | |
| * DRV_ERROR: error | |
| * DRV_ERR_DEV_TABLE: device driver table has been invalid. | |
| * DRV_ERR_NO_THIS_DEVICE: this device hasn't been installed yet | |
| * Others: None | |
| **************************************************************************/ | |
| SINT32 zDrvEarp_Exit(VOID); | |
| #endif /* _EARPIECE_API_H */ | |