/*============================================================================================ Copyright(c) 2018 Quectel Wierless Solution,Co.,Ltd. All Rights Reserved. Quectel Wireless Solution Proprietary and Confidential. ============================================================================*/ #ifndef _QUEC_GNSS_ROM_H_ #define _QUEC_GNSS_ROM_H_ #ifdef __cplusplus extern "C" { #endif #define QUEC_GNSS_BOOT_INFO_NAME "gnss_boot" #define QUEC_GNSS_FIRM_INFO_NAME "gnss_firm" #define GNSS_SEEK_SET 0 /* Seek from beginning of file. */ #define GNSS_SEEK_CUR 1 /* Seek from current position. */ #define GNSS_SEEK_END 2 /* Seek from end of file. */ typedef enum { GNSS_BOOT_TYPE =0, GNSS_KERNEL_TYPE, GNSS_APFLASH_TYPE }firm_type; typedef struct { int (*m_gnss_firm_open) (firm_type t); /*打开固件*/ unsigned int (*m_get_gnss_firm_size) (firm_type t); /*获取gnss kernel固件的大小*/ unsigned int (*m_read_gnss_firm_buffer) (firm_type t,char* buf ,unsigned int len); /*读取gnss kernl固件*/ unsigned int (*m_gnss_firm_seek) (firm_type t,int offset ,int whence); /*设置kernel固件读指针位置*/ int (*m_gnss_firm_close) (firm_type t); } g_quec_gnss_rom_t; extern g_quec_gnss_rom_t g_gnss_rom_api; #define quec_gnss_firm_open(t) g_gnss_rom_api.m_gnss_firm_open(t) #define quec_gnss_get_firm_size(t) g_gnss_rom_api.m_get_gnss_firm_size(t) #define quec_gnss_read_firm_buffer(t,buf,len) g_gnss_rom_api.m_read_gnss_firm_buffer(t,buf,len) #define quec_gnss_firm_seek(t,offset,whence) g_gnss_rom_api.m_gnss_firm_seek(t,offset,whence) #define quec_gnss_firm_close(t) g_gnss_rom_api.m_gnss_firm_close(t) void quec_gnss_firm_init(void); int quec_gnss_file_write(const char * file_name,char *buffer,unsigned int filesize); int quec_gnss_file_exist(const char *file_name); int quec_gnss_file_read(const char * file_name,char *buffer,unsigned int filesize); #ifdef __cplusplus } /*"C" */ #endif #endif