| /****************************************************************************** |
| *(C) Copyright 2018 ASR Microelectronics |
| * All Rights Reserved |
| ******************************************************************************/ |
| /* ---------------------------------------------------------------------------- |
| * |
| * Filename: mbim_phonebook.h |
| * |
| * |
| * Description: all PHONEBOOK mbim related functions |
| * |
| * Notes: |
| * |
| ******************************************************************************/ |
| #ifndef MBIM_PHONEBOOK_H |
| #define MBIM_PHONEBOOK_H |
| |
| /****************************************************************************** |
| * Include files |
| ******************************************************************************/ |
| #include <stdlib.h> |
| |
| #include "mbim_types.h" |
| #include "mbim_protocol.h" |
| |
| /****************************************************************************** |
| * Macros |
| ******************************************************************************/ |
| |
| |
| /****************************************************************************** |
| * Defines |
| ******************************************************************************/ |
| #define PHONEBOOK_CID_PARAMS UINT32 cid, UINT32 transactionId, UINT32 commandType, UINT32 infoBufLen, char *infoBuf_p |
| #define PHONEBOOK_CID_PARAMS_USAGE cid, transactionId, commandType, infoBufLen, infoBuf_p |
| |
| typedef int (*phonebookUuidProcessors)(PHONEBOOK_CID_PARAMS); |
| |
| /****************************************************************************** |
| * External variables |
| ******************************************************************************/ |
| |
| |
| /****************************************************************************** |
| * MBIM_CID_PHONEBOOK (Chapter 10.5.22) |
| ******************************************************************************/ |
| |
| typedef enum _MBIM_PHONEBOOK_STATE_ENUM |
| { |
| MBIMPhonebookNotInitialized = 0, |
| MBIMPhonebookInitialized |
| }MBIM_PHONEBOOK_STATE_ENUM; |
| |
| typedef struct _MBIM_PHONEBOOK_CONFIGURATION_INFO |
| { |
| UINT32 PhonebookState; |
| UINT32 TotalNbrOfEntries; |
| UINT32 UsedEntries; |
| UINT32 MaxNumberLength; |
| UINT32 MaxNameLength; |
| }MBIM_PHONEBOOK_CONFIGURATION_INFO, *P_MBIM_PHONEBOOK_CONFIGURATION_INFO; |
| |
| |
| typedef enum _MBIM_PHONEBOOK_FLAG |
| { |
| MBIMPhonebookFlagAll = 0, |
| MBIMPhonebookFlagIndex |
| }MBIM_PHONEBOOK_FLAG; |
| |
| typedef struct _MBIM_PHONEBOOK_ENTRY |
| { |
| UINT32 EntryIndex; |
| UINT32 NumberOffset; |
| UINT32 NumberLength; |
| UINT32 NameOffset; |
| UINT32 NameLength; |
| char DataBuffer[0]; |
| }MBIM_PHONEBOOK_ENTRY, *P_MBIM_PHONEBOOK_ENTRY; |
| |
| typedef struct _MBIM_PHONEBOOK_READ_REQ |
| { |
| UINT32 FilterFlag; |
| UINT32 FilterMessageIndex; |
| }MBIM_PHONEBOOK_READ_REQ, *p_MBIM_PHONEBOOK_READ_REQ; |
| |
| typedef struct _MBIM_PHONEBOOK_READ_INFO |
| { |
| UINT32 ElementCount; |
| // Here goes OL_PAIR_LIST |
| // Then data buffer |
| }MBIM_PHONEBOOK_READ_INFO, *P_MBIM_PHONEBOOK_READ_INFO; |
| |
| typedef enum _MBIM_PHONEBOOK_WRITE_FLAG |
| { |
| MBIMPhonebookFlagSaveUnused = 0, |
| MBIMPhonebookFlagSaveIndex |
| }MBIM_PHONEBOOK_WRITE_FLAG; |
| |
| typedef struct _MBIM_SET_PHONEBOOK_WRITE |
| { |
| UINT32 SaveFlag; |
| UINT32 SaveIndex; |
| UINT32 NumberOffset; |
| UINT32 NumberLength; |
| UINT32 NameOffset; |
| UINT32 NameLength; |
| char DataBuffer[0]; |
| }MBIM_SET_PHONEBOOK_WRITE, *P_MBIM_SET_PHONEBOOK_WRITE; |
| |
| #endif |