/******************************************************************************* * @file alipay_rom.h * @author ZS308A Team * @version V1.0 * @date 2022-12-13 * @brief alipay rom api *******************************************************************************/ #ifndef _ALIPAY_ROM_H #define _ALIPAY_ROM_H /******************************************************************************/ //includes /******************************************************************************/ #include #include #include "alipay_third.h" /******************************************************************************/ //constants /******************************************************************************/ /******************************************************************************/ //typedef /******************************************************************************/ #ifdef __CC_ARM /* ARM Compiler */ #pragma anon_unions #endif /* alipay os api */ typedef struct { void (*alipay_slave_write)(uint8_t buf[],uint8_t len); void (*alipay_ble_timer_start)(void); void (*wxpay_slave_write)(uint8_t buf[],uint8_t len); void (*wxpay_ble_timer_start)(void); void (*get_mac_addr)(uint8_t mac_addr[]); uint32_t (*get_unix_second)(void); void (*rand_get_value)(uint8_t rand_buf[],uint8_t *len); uint32_t (*flash_get_start)(void); void (*flash_read_data)(uint32_t addr,uint8_t read_data[],unsigned short len); void (*flash_write_data)(uint32_t addr,uint8_t write_data[],unsigned short len); void (*flash_erase_page)(uint32_t addr); void (*printf)(const char *format, int32_t value); } alipay_os_api_t; /* alipay api */ typedef struct { /* Init env and os api */ void (*init)(const alipay_os_api_t *api); /* pay lib api */ uint8_t (*pay_lib_init)(uint8_t type); void (*alipay_send_ble_data_proc)(void); void (*alipay_master_write_data)(uint8_t buf[],uint8_t len); alipay_status_e (*alipay_get_bind_status)(uint32_t unix_second,uint8_t is_connected,uint8_t type); void (*alipay_get_bind_code)(uint8_t buf[],uint8_t *buf_size); void (*alipay_get_pay_code)(uint8_t buf[],uint16_t *buf_size); void (*alipay_get_userinfo)(uint8_t nick_name[],uint16_t *name_len,uint8_t login_id[],uint16_t *id_len); void (*alipay_detect_bind)(void); void (*wxpay_send_ble_data_proc)(void); void (*wxpay_master_write_data)(uint8_t buf[],uint8_t len); wxpay_status_e (*wxpay_get_bind_status)(uint32_t unix_second,uint8_t is_connected,uint8_t type); void (*wxpay_get_bind_code)(uint8_t buf[],uint8_t *buf_size); void (*wxpay_get_pay_code)(uint8_t buf[],uint16_t *buf_size); void (*wxpay_get_userinfo)(uint8_t nick_name[],uint16_t *name_len,uint8_t login_id[],uint16_t *id_len); void (*wxpay_detect_bind)(void); } alipay_api_t; /******************************************************************************/ //function /******************************************************************************/ extern void alipay_rom_init(const alipay_os_api_t *api); /******************************************************************************/ //api /******************************************************************************/ #define p_alipay_api ((const alipay_api_t*)CONFIG_ALIPAY_WXPAY_ROM_BASE) #endif /* _ALIPAY_ROM_H */