/*================================================================ 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