yuezonghe | 824eb0c | 2024-06-27 02:32:26 -0700 | [diff] [blame] | 1 | /*******************************************************************************
|
| 2 | * Copyright (C) 2007, ZTE Corporation.
|
| 3 | *
|
| 4 | * File Name: drvs_iokeys.h
|
| 5 | * File Mark:
|
| 6 | * Description:
|
| 7 | * Others:
|
| 8 | * Version: 1.0
|
| 9 | * Author: geanfeng
|
| 10 | * Date: 2014-02-11
|
| 11 | * History 1:
|
| 12 | * Date:
|
| 13 | * Version:
|
| 14 | * Author:
|
| 15 | * Modification:
|
| 16 | * History 2:
|
| 17 | ********************************************************************************/
|
| 18 |
|
| 19 | #ifndef _DRVS_IOKEYS_H
|
| 20 | #define _DRVS_IOKEYS_H
|
| 21 |
|
| 22 | /****************************************************************************
|
| 23 | * Macros
|
| 24 | ****************************************************************************/
|
| 25 | #define IOKEYS(x) (1)
|
| 26 | /****************************************************************************
|
| 27 | * Types
|
| 28 | ****************************************************************************/
|
| 29 | /*IO CTRL Function KEY*/
|
| 30 | typedef enum _T_DRVIO_CTRL_KEY
|
| 31 | {
|
| 32 | // for io dal layer use
|
| 33 | IOCTL_IODEV_REGISTER_NOTIFY = 2,
|
| 34 | IOCTL_IODEV_GET_DEV_STATUS,
|
| 35 | IOCTL_IODEV_WAIT_CONNECT,
|
| 36 | IOCTL_IODEV_DISALLOW_DISCONNECT,
|
| 37 | IOCTL_IODEV_ALLOW_DISCONNECT,
|
| 38 | IOCTL_IODEV_VENDOR = 31,
|
| 39 | //end
|
| 40 |
|
| 41 | /*ÒÔÏ¿ØÖÆ×ÖÔÚÉ豸Á¬½Óºó²ÅÓÐЧ*/
|
| 42 |
|
| 43 | // for common io device
|
| 44 |
|
| 45 | IOCTL_IODEV_SET_BLOCKTIME = 0x1000,
|
| 46 |
|
| 47 | // for block device function
|
| 48 |
|
| 49 | IOCTL_BLKDEV_GET_INFO=0x2000,
|
| 50 | IOCTL_BLKDEV_EREASE,
|
| 51 | IOCTL_BLKDEV_GET_STATE,
|
| 52 |
|
| 53 | // for serial device function
|
| 54 |
|
| 55 | IOCTL_SERIAL_SET_CONFIG=0x3000,
|
| 56 | IOCTL_SERIAL_UART_SET_CTSRTS,
|
| 57 | IOCTL_SERIAL_UART_SET_CONFIG,
|
| 58 |
|
| 59 | // for virtual com port
|
| 60 |
|
| 61 | IOCTL_VCOM_GET_USB_STATUS=0x4000,
|
| 62 | IOCTL_VCOM_OPEN_ECHO,
|
| 63 | IOCTL_VCOM_CLOSE_ECHO,
|
| 64 |
|
| 65 |
|
| 66 | // for virtual NIC(Netword Interface Card)
|
| 67 |
|
| 68 | IOCTL_VNIC_CONNECT=0x5000,
|
| 69 | IOCTL_VNIC_DISCONNECT,
|
| 70 |
|
| 71 | IOCTL_VNIC_REG_CBK_XFER_STATISTICS,
|
| 72 | IOCTL_VNIC_FREE_UNREAD_BUF,
|
| 73 | IOCTL_VNIC_REG_CBK_NIC_DISABLE,
|
| 74 | IOCTL_VNIC_GET_USB_STATUS,
|
| 75 | IOCTL_VNIC_REG_CBK_NIC_ENABLE,
|
| 76 | IOCTL_VNIC_GET_VNIC_STATE,
|
| 77 | IOCTL_VNIC_SET_ECM_TPYE,
|
| 78 | IOCTL_VNIC_SET_NET_DEV,
|
| 79 |
|
| 80 | // for io voice
|
| 81 |
|
| 82 | IOCTL_VOICE_SET_SAMPLE = 0x6000, /*Set sample.param:T_ZDrvVoice_Sample*/
|
| 83 | IOCTL_VOICE_SET_INPUT_PATH, /*Set input path. param:T_ZDrv_VoiceInputPath*/
|
| 84 | IOCTL_VOICE_SET_OUTPUT_PATH, /*Set output path. param:T_ZDrv_VoiceOutputPath*/
|
| 85 | IOCTL_VOICE_SET_INPUT_VOL, /*Set input volume. param:T_ZDrvVoice_InputVolLevel*/
|
| 86 | IOCTL_VOICE_SET_OUTPUT_VOL, /*Set output volume. param:T_ZDrvVoice_OutputVolLevel*/
|
| 87 | IOCTL_VOICE_ENABLE, /*enable voice channel.param:none*/
|
| 88 | IOCTL_VOICE_DISABLE, /*disable voice channel.param:none*/
|
| 89 |
|
| 90 | IOCTL_VOICE_SET_VT_START, /*Start voice for VideoTelephone. param:T_ZDrvVoice_AmrInfoPtr*/
|
| 91 | IOCTL_VOICE_SET_VT_STOP, /*Stop voice for VideoTelephone. param:NULL*/
|
| 92 | IOCTL_VOICE_SET_MUTE, /*Set voice mute or not. param:T_ZDrvVoice_MuteInfo*/
|
| 93 | IOCTL_VOICE_RECORD_START, /*record start.param:T_ZDrvRcd_InfoParam*/
|
| 94 | IOCTL_VOICE_RECORD_STOP, /*record stop.param:none*/
|
| 95 | IOCTL_VOICE_RECORD_DATA_READ, /*read record data. param:T_ZDrvVoice_BufInfo*/
|
| 96 | IOCTL_VOICE_TEST_LOOPBACK, /*Set voice loop or not. param:T_ZDrvVoice_Switch*/
|
| 97 | IOCTL_VOICE_RCD_FREE_BUFF, /*free record buffer. param:VOID*/
|
| 98 |
|
| 99 | IOCTL_VOICE_CONFIG_PARAM, /*config volte param .param:T_ZDrvVp_Cfg, for volte*/
|
| 100 | IOCTL_VOICE_READ_START, /* volte read start .param:VOID, for volte*/
|
| 101 | IOCTL_VOICE_READ_STOP, /* volte read stop .param:VOID, for volte*/
|
| 102 | IOCTL_VOICE_WRITE_START, /* volte write start .param:VOID, for volte*/
|
| 103 | IOCTL_VOICE_WRITE_STOP, /* volte write stop .param:VOID, for volte*/
|
| 104 | IOCTL_VOICE_MODE_CONFIG,
|
| 105 |
|
| 106 | // for audio
|
| 107 | IOCTL_AUDIO_RECORD_START, /* start record,param:T_ZDrvRcd_InfoParam */
|
| 108 | IOCTL_AUDIO_RECORD_STOP, /* stop record,param:none */
|
| 109 | IOCTL_AUDIO_SET_RECORD_PATH, /* set record input path,param:T_ZDrv_CodecInputPath */
|
| 110 | IOCTL_AUDIO_SET_RECORD_VOL, /* set record volum,param:T_ZDrvAudio_InputVolLevel */
|
| 111 | IOCTL_AUDIO_RCD_FREE_BUFF, /* free record buffer,param:VOID * */
|
| 112 | IOCTL_AUDIO_SET_RECORD_SAMPLE, /* Set audio codec config for RECORD, SAMPLE param:T_ZDrvAudio_SampleRate */
|
| 113 | IOCTL_AUDIO_SET_SAMPLE, /* Set audio codec config for PLAY, SAMPLE param:T_ZDrvAudio_SampleRate */
|
| 114 | IOCTL_AUDIO_SET_BANLANCE, /* set balance,param:T_ZDrvAudio_Banlance */
|
| 115 | IOCTL_AUDIO_SET_OUTPUT_PATH, /* Set OUTPUT path for play ,param:T_ZDrv_AudioOutputPath */
|
| 116 | IOCTL_AUDIO_SET_OUTPUT_VOL, /* Set OUTPUT volume for play ,param:T_ZDrvAudio_OutputVolLevel */
|
| 117 | IOCTL_AUDIO_SET_EQMODE, /* set EQmode,param:T_ZDrvAUDIO_EQMODE */
|
| 118 | IOCTL_AUDIO_ENABLE_3DEFFECT, /* set 3deffect,param:T_ZDrvAudio_3DEFFECT */
|
| 119 | IOCTL_AUDIO_SET_MUTE, /* set mute,param:BOOL */
|
| 120 | IOCTL_AUDIO_PLAY_START, /* start audio play ,param:T_ZDrvAudio_PlayParam */
|
| 121 | IOCTL_AUDIO_PLAY_STOP, /* stop audio play,param:none */
|
| 122 | IOCTL_AUDIO_PLAY_PAUSE, /* pause audio play,param:none */
|
| 123 | IOCTL_AUDIO_PLAY_RESUME, /* resume audio play ,param:none */
|
| 124 | IOCTL_AUDIO_GET_PLAY_INFO, /* get the audio play info ,param:T_ZDrvAudio_PlayInfo */
|
| 125 | IOCTL_AUDIO_GET_BUFFER, /* get the audio buffer ,param:T_ZDrvAudio_BufInfo */
|
| 126 | IOCTL_AUDIO_SET_CALLBACK, /* set audio callback func,param:T_ZDrvAudio_CallbackFunc */
|
| 127 |
|
| 128 | //for earpiece
|
| 129 | IOCTL_EARP_SET_CALLBACK , /*Set callback function, it is used to register the callback function which will send the earpiece switch status to user.*/
|
| 130 | IOCTL_EARP_GET_PLUG_STATUS , /*Get earpiece plug status, replace the read function.*/
|
| 131 | IOCTL_EARP_SET_HOOK_ENABLE,
|
| 132 | IOCTL_EARP_SET_HOOK_DISABLE,
|
| 133 |
|
| 134 | // for io led
|
| 135 | IOCTL_LED_WAN = 0x7000,
|
| 136 | IOCTL_LED_LAN,
|
| 137 | IOCTL_LED_SMS,
|
| 138 | IOCTL_LED_BATTERY,
|
| 139 | IOCTL_LED_TRAFFIC,
|
| 140 | IOCTL_LED_SLEEP,
|
| 141 | IOCTL_LED_LEFT_1,
|
| 142 | IOCTL_LED_LEFT_2,
|
| 143 | IOCTL_LED_LEFT_3,
|
| 144 | IOCTL_LED_LEFT_4,
|
| 145 | IOCTL_LED_1_2_ON,
|
| 146 | IOCTL_LED_1_2_3_ON,
|
| 147 | IOCTL_LED_ALL_ON,
|
| 148 | IOCTL_LED_ALL_OFF,
|
| 149 | IOCTL_LED_CTRL_MOD,
|
| 150 | IOCTL_LED_LGP,
|
| 151 |
|
| 152 | // for rtc
|
| 153 | IOCTL_PMIC_RTC_SET_TIME = 0x8000,
|
| 154 | IOCTL_PMIC_RTC_GET_TIME,
|
| 155 | IOCTL_PMIC_RTC_SET_ALARM,
|
| 156 | IOCTL_PMIC_RTC_GET_ALARM,
|
| 157 | IOCTL_PMIC_RTC_ENABLE_ALARM,
|
| 158 | IOCTL_PMIC_RTC_ENABLE_CYCLE,
|
| 159 | IOCTL_PMIC_RTC_REGIS_CYCLE_NOTIFY,
|
| 160 | IOCTL_PMIC_RTC_REGIS_ALARM_NOTIFY,
|
| 161 | IOCTL_PMIC_RTC_ENABLE_TIMER, //Éètimerʱ¼ä, 0¹Ø±Õ
|
| 162 | IOCTL_PMIC_RTC_REGIS_TIMER_NOTIFY, //Éètimerʱ¼ä»Øµ÷º¯Êý
|
| 163 | IOCTL_PMIC_RTC_GET_TIMER_REMAIN, //»ñÈ¡timerÊ£Óàʱ¼ä
|
| 164 | IOCTL_PMIC_RTC_CYCLE_INT_SEL,
|
| 165 |
|
| 166 |
|
| 167 | //for charger
|
| 168 | IOCTL_CHARGER_SET_CALLBACK = 0x9000,
|
| 169 | IOCTL_CHARGER_GET_VOLTAGE,
|
| 170 | IOCTL_CHARGER_GET_CHG_STATUS,
|
| 171 | IOCTL_CHARGER_GET_DISCHG_STATUS,
|
| 172 | IOCTL_CHARGER_TEMP_DETECT,
|
| 173 | IOCTL_CHARGER_CHG_SWITCH,
|
| 174 | IOCTL_CHARGER_DISCHG_SWITCH,
|
| 175 | IOCTL_CHARGER_QUICK_START_FLAG,
|
| 176 | IOCTL_CHARGER_GET_CHGTYPE,
|
| 177 | IOCTL_CHARGER_BOOST_ON,
|
| 178 | IOCTL_CHARGER_RELEASE_BUTTON,
|
| 179 | IOCTL_CHARGER_GET_ELECQUAN,
|
| 180 | IOCTL_CHARGER_DEBUG,
|
| 181 |
|
| 182 |
|
| 183 | IOCTL_CHARGER_SET_OTG,
|
| 184 | IOCTL_CHARGER_SET_SHIPPING_MODE,
|
| 185 | IOCTL_CHARGER_GET_ERROR_CODE,
|
| 186 | IOCTL_CHARGER_SET_STOP_CURRENT,
|
| 187 | IOCTL_CHARGER_GET_STOP_REASON,
|
| 188 | IOCTL_CHARGER_GET_USB_STATUS,
|
| 189 |
|
| 190 | //for LCD
|
| 191 | IOCTL_LCD_UPDATE = 0xA000,
|
| 192 | IOCTL_LCD_SLEEP,
|
| 193 | IOCTL_LCD_BACKLIGHT,
|
| 194 | IOCTL_LCD_BRIGHTNESS,
|
| 195 | IOCTL_LCD_GET_INFO,
|
| 196 | IOCTL_LCD_VOU_WBUPDATE,
|
| 197 | //for spi
|
| 198 | IOCTL_SSP_SET_XFER_WIDTH,
|
| 199 | IOCTL_SSP_SET_CHG_FREQ,
|
| 200 | IOCTL_SSP_SET_MSMODE,
|
| 201 | IOCTL_SSP_SET_TXTHES,
|
| 202 | IOCTL_SSP_SET_RXTHES,
|
| 203 |
|
| 204 | //for FM
|
| 205 | IOCTL_FM_SET_OUTPATH = 0xB000,
|
| 206 | IOCTL_FM_SET_VOL,
|
| 207 | IOCTL_FM_SET_SOUNDMODE,
|
| 208 | IOCTL_FM_SET_FREQ,
|
| 209 | IOCTL_FM_SET_SCANNEXT,
|
| 210 | IOCTL_FM_GET_CURFREQ,
|
| 211 | IOCTL_FM_GET_CURVOL,
|
| 212 |
|
| 213 | //for VIB
|
| 214 | IOCTL_VIB_ENABLE = 0xC000,
|
| 215 | IOCTL_VIB_CHECKSTA,
|
| 216 |
|
| 217 | /* for Keypad */
|
| 218 | IOCTL_KPD_SET_BLG_ON = 0xD000,
|
| 219 | IOCTL_KPD_SET_BLG_OFF,
|
| 220 | IOCTL_KPD_SET_BLG_BRIGHTNESS,
|
| 221 | IOCTL_KPD_GET_BLG_STATUS,
|
| 222 | IOCTL_KPD_GET_KEYS_STATUS,
|
| 223 | IOCTL_KPD_GET_HEADPHONE_STATE,
|
| 224 |
|
| 225 | //for FLASHLIGHT
|
| 226 | IOCTL_FLASHLIGHT_ENABLE = 0xF000,
|
| 227 | IOCTL_FLASHLIGHT_CHECKSTA,
|
| 228 | //for CAMERA
|
| 229 | IOCTL_CAM_SENSOR_GET_INFO = 0x10000,
|
| 230 | IOCTL_CAM_SENSOR_SELECT,
|
| 231 | IOCTL_CAM_SET_ZOOM,
|
| 232 | IOCTL_CAM_SET_IMG_SIZE,
|
| 233 | IOCTL_CAM_SET_EFFECT,
|
| 234 | IOCTL_CAM_SET_MIRRORFLIP,
|
| 235 | IOCTL_CAM_SET_BRIGHTNESS,
|
| 236 | IOCTL_CAM_SET_CONTRAST,
|
| 237 | IOCTL_CAM_SET_SATURATION,
|
| 238 | IOCTL_CAM_SET_WHITE_BALANCE,
|
| 239 | IOCTL_CAM_SET_LIGHTMODE,
|
| 240 | IOCTL_CAM_SET_NIGHTMODE,
|
| 241 | IOCTL_CAM_SET_FRAMERATE,
|
| 242 | IOCTL_CAM_GET_ONEFRAME,
|
| 243 | IOCTL_CAM_FREE_FRAME_BUFFER,
|
| 244 | // IOCTL_CAM_SET_EXPOSURE_COMPENSATION,
|
| 245 | IOCTL_CAM_SET_ANTIFLICKER,
|
| 246 | IOCTL_CAM_START,
|
| 247 | IOCTL_CAM_STOP,
|
| 248 | IOCTL_UNDEFINE=0x7FFFFFFF
|
| 249 |
|
| 250 | } T_DRVIO_CTRL_KEY;
|
| 251 |
|
| 252 | //===================IO DEV===============
|
| 253 |
|
| 254 | #if IOKEYS(IOCTL_VNIC_GET_VNIC_STATE)
|
| 255 | /*VNIC State*/
|
| 256 | typedef enum _T_DRVIO_VNIC_STATE
|
| 257 | {
|
| 258 | DRVIO_VNIC_DISABLE = 0x0, //½ûÓÃ״̬
|
| 259 | DRVIO_VNIC_READY = 0x1, //δÁ¬½Ó£¬¿É²¦ºÅ
|
| 260 | DRVIO_VNIC_CONNECT = 0x2, //ÒÑÁ¬½Ó
|
| 261 | DRVIO_VNIC_ERR = 0xff, //Ò쳣״̬
|
| 262 | }
|
| 263 | T_DRVIO_VNIC_STATE;
|
| 264 | #endif
|
| 265 |
|
| 266 | #if IOKEYS(IOCTL_IODEV_GET_DEV_STATUS)
|
| 267 | /*Device Status*/
|
| 268 | typedef struct _T_DRVIO_DEV_STATUS
|
| 269 | {
|
| 270 | UINT32 CONNECT: 1;
|
| 271 | UINT32 reserved:31;
|
| 272 | }
|
| 273 | T_DRVIO_DEV_STATUS;
|
| 274 | #endif
|
| 275 |
|
| 276 | #if IOKEYS(IOCTL_IODEV_REGISTER_NOTIFY)
|
| 277 | /*Global Event*/
|
| 278 | typedef enum _T_DRVIO_EVENT
|
| 279 | {
|
| 280 | DRVIO_EV_CONNECT = 2,
|
| 281 | DRVIO_EV_PRE_DISCONNECT,
|
| 282 | DRVIO_EV_DISCONNECT,
|
| 283 | } T_DRVIO_EVENT;
|
| 284 |
|
| 285 | /*Device Notify*/
|
| 286 | typedef struct _T_ZDrvIO_DevNotify
|
| 287 | {
|
| 288 | VOID ( *notify_fn )(VOID *privData, T_DRVIO_EVENT event);
|
| 289 | VOID *privData;
|
| 290 | }
|
| 291 | T_ZDrvIO_DevNotify;
|
| 292 | #endif
|
| 293 |
|
| 294 | //===================block device===============
|
| 295 |
|
| 296 | #if IOKEYS(IOCTL_BLKDEV_GET_INFO)
|
| 297 | typedef struct _T_BlkDev_Info
|
| 298 | {
|
| 299 | UINT32 blkSize;
|
| 300 | UINT32 blkCnt;
|
| 301 | }T_BlkDev_Info;
|
| 302 | #endif
|
| 303 |
|
| 304 |
|
| 305 | #if IOKEYS(IOCTL_BLKDEV_EREASE)
|
| 306 | typedef struct _T_BlkDev_EraseInfo
|
| 307 | {
|
| 308 | UINT32 startBlk;
|
| 309 | UINT32 blkCnt;
|
| 310 | }T_BlkDev_EraseInfo;
|
| 311 | #endif
|
| 312 |
|
| 313 |
|
| 314 | #if IOKEYS(IOCTL_SERIAL_SET_CONFIG)
|
| 315 | typedef struct _T_UartDev_ConfigInfo
|
| 316 | {
|
| 317 | UINT8 dataBits;
|
| 318 | UINT8 stopBits;
|
| 319 | UINT8 parity;
|
| 320 | UINT32 baudrate;
|
| 321 | }T_UartDev_ConfigInfo;
|
| 322 | #endif
|
| 323 |
|
| 324 |
|
| 325 |
|
| 326 | typedef union
|
| 327 | {
|
| 328 | UINT8 nodeInBytes[8];
|
| 329 | struct
|
| 330 | {
|
| 331 | UINT8* pNodeBuf;
|
| 332 | UINT32 uiNodeBufLen;
|
| 333 | }
|
| 334 | node;
|
| 335 | }
|
| 336 | T_ZDrv_BufNode;
|
| 337 |
|
| 338 | typedef T_ZDrv_BufNode T_ZDrvVcom_BufNode;
|
| 339 |
|
| 340 | typedef unsigned long long UINT64;
|
| 341 |
|
| 342 | #if IOKEYS(IOCTL_VNIC_REG_CBK_XFER_STATISTICS)
|
| 343 | typedef struct _T_ZDrvVnic_XferStatistics
|
| 344 | {
|
| 345 | UINT64 TxOkCnt;
|
| 346 | UINT64 RxOkCnt;
|
| 347 | UINT64 TxErrCnt;
|
| 348 | UINT64 RxErrCnt;
|
| 349 | UINT64 TxOverFlowCnt;
|
| 350 | UINT64 RxOverFlowCnt;
|
| 351 | }
|
| 352 | T_ZDrvVnic_XferStatistics;
|
| 353 |
|
| 354 | typedef T_ZDrvVnic_XferStatistics* (* VnicCbk_XferStatistics) (VOID);
|
| 355 | #endif
|
| 356 |
|
| 357 |
|
| 358 | #if IOKEYS(IOCTL_VNIC_REG_CBK_NIC_DISABLE)
|
| 359 | typedef VOID (* VnicCbk_Disable) (VOID*privData);
|
| 360 | #endif
|
| 361 |
|
| 362 |
|
| 363 | #if IOKEYS(IOCTL_VNIC_REG_CBK_NIC_ENABLE)
|
| 364 | typedef VOID (* VnicCbk_Enable) (VOID*privData);
|
| 365 | #endif
|
| 366 |
|
| 367 | //typedef UINT32 (* VnicCbk_GetSpeed) (VOID);
|
| 368 |
|
| 369 | #endif/*_DRVS_IOKEYS_H*/
|
| 370 |
|