Files

74 lines
1.9 KiB
C

/*================================================================
Copyright (c) 2021, Quectel Wireless Solutions Co., Ltd. All rights reserved.
Quectel Wireless Solutions Proprietary and Confidential.
=================================================================*/
#ifndef _QUEC_AUTO_APN_H_
#define _QUEC_AUTO_APN_H_
#include "quec_cust_feature.h"
#include "quec_common.h"
#include "teldef.h"
#include "quec_rtos.h"
#ifdef QUEC_AUTOAPN_ADJUST_SUPPORT
typedef struct
{
INT16 mcc;
INT16 mnc;
char *apn;
char *usrname;
char *paswd;
char *authtype;
char *iptype; /*for IPTYPE, 0--IPV4V6, 1--IPV4, 2 -- IPV6 */
void *next; //next param
} QUEC_APN_INFO, *QUEC_APN_INFO_P;
#define QUEC_AUTO_APN_CONFIG "quec_autoapn_config"
#define QUEC_AUTO_APN_CFG_OFF 0
#define QUEC_AUTO_APN_CFG_ON 1
#define QUEC_AUTO_APN_URC_OFF 0
#define QUEC_AUTO_APN_URC_ON 1
typedef enum
{
QUEC_AUTOAPN_NULL,
QUEC_AUTOAPN_MATCHING,
QUEC_AUTOAPN_SYNC,
QUEC_AUTOAPN_COMPLETED,
QUEC_AUTOAPN_FAIL,
QUEC_AUTOAPN_SUSPEND,
} quec_autoapn_flag;
typedef enum
{
QUEC_IMSI_UPDATE,
QUEC_PDP_REJECT_GENERAL,
QUEC_PDP_REJECT_SPECIAL,
QUEC_PDP_ACTIVATE,
QUEC_NEW_ATTACH_REQ
}quec_autoapn_msg;
typedef struct
{
int vaild;
int adjust_status;
char current_IMSI[16];
UINT32 reserved1;
}quec_autoapn_cfg;
void quec_autoapn_table_link_init_by_current_imsi(void);
int quec_get_autoapn_cfg_vaild(void);
int quec_get_autoapn_adjust_status(void);
void quec_set_autoapn_adjust_status(int status);
void quec_autoapn_imsi_judge(char *simRspImsiBuf,INT32 len);
void quec_autoapn_handle_by_event(int event);
void quec_update_autoapn_config(void);
bool quec_get_defaultcid_matching_status(UINT8 cid);
#endif
#endif