blob: a9c2852f30b50fed2d37b4aa8f33a79a42de3c95 [file] [log] [blame]
/******************************************************************************
*(C) Copyright 2018 ASR Microelectronics
* All Rights Reserved
******************************************************************************/
/* ----------------------------------------------------------------------------
*
* Filename: mbim_stk.h
*
*
* Description: all stk mbim related functions should be added here
*
*
* Notes:
*
******************************************************************************/
#ifndef MBIM_STK_H
#define MBIM_STK_H
/******************************************************************************
* Include files
******************************************************************************/
#include <stdlib.h>
#include "mbim_types.h"
#include "mbim_protocol.h"
/******************************************************************************
* Macros
******************************************************************************/
/******************************************************************************
* Defines
******************************************************************************/
#define STK_CID_PARAMS UINT32 cid, UINT32 transactionId, UINT32 commandType, UINT32 infoBufLen, char *infoBuf_p
#define STK_CID_PARAMS_USAGE cid, transactionId, commandType, infoBufLen, infoBuf_p
typedef int (*stkUuidProcessors)(STK_CID_PARAMS);
/******************************************************************************
* External variables
******************************************************************************/
/******************************************************************************
* MBIM_CID_STK_PAC (Chapter 10.5.26)
******************************************************************************/
typedef enum _MBIM_STK_PAC_PROFILE
{
MBIMSTKNotHandledByFunctionCannotBeHandledByHost = 0,
MBIMSTKNotHandledByFunctionMayBeHandledByHost,
MBIMSTKHandledByFunctionOnlyTransparentToHost,
MBIMSTKHandledByFunctionNotificationToHostPossible,
MBIMSTKHandledByFunctionNotificationsToHostEnabled,
MBIMSTKHandledByFunctionCanBeOverriddenByHost,
MBIMSTKHandledByHostFunctionNotAbleToHandle,
MBIMSTKHandledByHostFunctionAbleToHandle,
}MBIM_STK_PAC_PROFILE;
typedef enum _MBIM_STK_PAC_TYPE
{
MBIMSTKProactiveCommand = 0,
MBIMSTKNotification,
}MBIM_STK_PAC_TYPE;
typedef struct _MBIM_SET_STK_PAC
{
UINT8 PacHostControl[32];
}MBIM_SET_STK_PAC, *P_MBIM_SET_STK_PAC;
typedef struct _MBIM_STK_PAC_INFO
{
UINT8 PacSupport[256];
}MBIM_STK_PAC_INFO, *P_MBIM_STK_PAC_INFO;
typedef struct _MBIM_STK_PAC
{
UINT32 PacType;
char DataBuffer[0];
}MBIM_STK_PAC, *P_MBIM_STK_PAC;
typedef struct _MBIM_SET_STK_TERMINAL_RESPONSE
{
UINT32 ResponseLength;
char *DataBuffer;
}MBIM_SET_STK_TERMINAL_RESPONSE, *P_MBIM_SET_STK_TERMINAL_RESPONSE;
typedef struct _MBIM_STK_TERMINAL_RESPONSE_INFO
{
UINT32 ResultDataStringOffset;
UINT32 ResultLength;
UINT32 StatusWords;
char DataBuffer[0];
}MBIM_STK_TERMINAL_RESPONSE_INFO, *P_MBIM_STK_TERMINAL_RESPONSE_INFO;
typedef struct _MBIM_SET_STK_ENVELOPE
{
char *DataBuffer;
}MBIM_SET_STK_ENVELOPE, *P_MBIM_SET_STK_ENVELOPE;
typedef struct _MBIM_STK_ENVELOPE_INFO
{
char EnvelopeSupport[32];
}MBIM_STK_ENVELOPE_INFO, *P_MBIM_STK_ENVELOPE_INFO;
#endif