68 lines
2.2 KiB
C
68 lines
2.2 KiB
C
//
|
|
// Created by xemon on 30.11.22.
|
|
//
|
|
|
|
#ifndef UVEOS_ON_NATION_ERAGLONASSUVEOS_ECALLPROVIDER_H
|
|
#define UVEOS_ON_NATION_ERAGLONASSUVEOS_ECALLPROVIDER_H
|
|
|
|
#include "stdint.h"
|
|
#include "stdbool.h"
|
|
|
|
typedef bool (*sendEcallCall)(
|
|
void *env,
|
|
|
|
uint8_t *msd,
|
|
size_t msdLength,
|
|
|
|
char *phoneNumber,
|
|
size_t phoneNumberLength,
|
|
|
|
eEcallActivationType activationType,
|
|
eEcallTestMode testMode,
|
|
bool blocReg
|
|
);
|
|
|
|
typedef bool (*setNewMsd)(
|
|
void *env,
|
|
uint8_t *msd,
|
|
size_t msdLength
|
|
);
|
|
|
|
typedef bool (*eraGlonassEcallProviderCall)(void *env);
|
|
|
|
typedef struct {
|
|
void *env;
|
|
void *smsEnv;
|
|
setNewMsd settingNewMsd;
|
|
sendEcallCall ecall;
|
|
eraGlonassEcallProviderCall isDialing;
|
|
eraGlonassEcallProviderCall isMsdSent;
|
|
eraGlonassEcallProviderCall isMsdReSent;
|
|
eraGlonassEcallProviderCall isActive;
|
|
eraGlonassEcallProviderCall hangup;
|
|
|
|
void (*checkSms)(void *env);
|
|
bool (*isNetworkReg) (void *env, uint32_t state, bool mode);
|
|
bool (*isNetworkState) (void *env, uint16_t time);
|
|
|
|
void *ShutdownEnv;
|
|
void (*CheckShutdown)(void *env);
|
|
|
|
} tEraGlonassEcallProvider;
|
|
|
|
#define EraGlonassEcallProvider_SettingNewMsd(ENV, MSD, MSD_LEN) (ENV)->settingNewMsd((ENV)->env,MSD, MSD_LEN)
|
|
#define EraGlonassEcallProvider_Ecall(ENV, MSD, MSD_LEN, PHONE, PHONE_LEN, ACTIVATION, MODE, BLOCREG) (ENV)->ecall((ENV)->env,MSD, MSD_LEN, PHONE, PHONE_LEN, ACTIVATION, MODE, BLOCREG)
|
|
#define EraGlonassEcallProvider_IsDialing(ENV) (ENV)->isDialing((ENV)->env)
|
|
#define EraGlonassEcallProvider_IsMsdSent(ENV) (ENV)->isMsdSent((ENV)->env)
|
|
#define EraGlonassEcallProvider_IsMsdReSent(ENV) (ENV)->isMsdReSent((ENV)->env)
|
|
#define EraGlonassEcallProvider_IsActive(ENV) (ENV)->isActive((ENV)->env)
|
|
#define EraGlonassEcallProvider_Hangup(ENV) (ENV)->hangup((ENV)->env)
|
|
#define EraGlonassEcallProvider_CheckSms(ENV) (ENV)->checkSms((ENV)->smsEnv)
|
|
#define EraGlonassEcallProvider_CheckNetState(ENV, TIME) (ENV)->isNetworkState((ENV)->env,TIME)
|
|
#define EraGlonassEcallProvider_CheckShutdownIsBattary(ENV) (ENV)->CheckShutdown((ENV)->ShutdownEnv)
|
|
|
|
#define EraGlonassEcallProvider_NetRegistration(ENV, MODE) (ENV)->isNetworkReg((ENV)->env,0,MODE)
|
|
|
|
|
|
#endif //UVEOS_ON_NATION_ERAGLONASSUVEOS_ECALLPROVIDER_H
|