blob: e6427e7bd0b9a9f83cd257f6ef899598fb0711ed [file] [log] [blame]
/******************************************************************************
*(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