📄 mfw_sat.h
字号:
SatTxt alpha_id; /* Alpha identifier as in GSM 11.14 section 12.22 */
} SatCloseChannel;
typedef struct
{
SatTxt alpha_id; /* Alpha identifier as in GSM 11.14 section 12.22 */
} SatSendData;
typedef struct
{
SatTxt alpha_id; /* Alpha identifier as in GSM 11.14 section 12.22 */
} SatReceiveData;
typedef struct SatCmdTag /* SAT COMMAND BUFFER */
{
U8 number; /* command number */
U8 type; /* command type */
U8 qual; /* command qualifier */
U8 source; /* source device */
U8 dest; /* destination device */
U8 pad1;
U8 pad2;
U8 pad3;
union /* command data */
{
SatTxt text; /* display text */
SatInput inp; /* input user string */
SatTone tone; /* play tone */
SatMenu menu; /* setup menu */
SatSMS sms; /* send SMS */
SatSS ss; /* send SS */
SatCall call; /* setup call */
SatList events; /* setup event list */
SatExec cmd; /* execute AT/DTMF command */
SatCcRes ccres; /* call control information */
SatRefreshFiles refFiles; /* files to be refreshed */
SatData files; /* old code for REFRESH*/
#if defined(WAP)
SatLaunchBrowser browser; /* launch browser command */
#endif
/* SPR#1786 - DS - Added the following SAT Class E commands */
SatOpenChannel open; /* open channel command */
SatCloseChannel close; /* close channel command */
SatSendData send; /* send data command */
SatReceiveData receive; /* receive data command */
/* !!! Does fill now need to be changed? !!! */
U8 fill [448]; /* maximal union size */
} c;
} SatCmd;
typedef struct MfwSatTag /* SAT CONTROL BLOCK */
{
MfwEvt map; /* selection of events */
MfwEvt evt; /* current event */
MfwCb handler; /* event handler */
SatCmd *cmd; /* event related data */
MfwHnd parentWindow; /* mother of all SAT windows */
MfwHnd currentWindow; /* SAT window in use */
} MfwSat;
/* SAT COMMAND TYPES */
#define SatCmdRefresh 0x01 /* refresh command */
#define SatCmdMoreTime 0x02 /* more time command */
#define SatCmdPollTime 0x03 /* poll interval command */
#define SatCmdPollOff 0x04 /* polling off command */
#define SatCmdEvtList 0x05 /* set event list command */
#define SatCmdCall 0x10 /* set up call command */
#define SatCmdSndSS 0x11 /* send SS command */
#define SatCmdSndUSSD 0x12 /* send USSD command */
#define SatCmdSndSMS 0x13 /* send SMS command */
#define SatCmdSndDTMF 0x14 /* send DTMF command */
#define SatCmdLaunchBrowser 0x15 /*Launch Browser */
#define SatCmdPlayTone 0x20 /* play tone command */
#define SatCmdDispText 0x21 /* display text command */
#define SatCmdGetKey 0x22 /* get inkey command */
#define SatCmdGetString 0x23 /* get input command */
#define SatCmdSelItem 0x24 /* select item command */
#define SatCmdSetMenu 0x25 /* set up menu command */
#define SatCmdLocalInf 0x26 /* provide local info */
#define SatCmdIdleText 0x28 /* setup idle mode text */
#define SatCmdExecAT 0x34 /* run AT command */
/* SPR#1786 - DS - Command types for SAT Class E */
#define SatCmdOpenChannel 0x40 /* Open Channel command */
#define SatCmdCloseChannel 0x41 /* Close Channel command */
#define SatCmdReceiveData 0x42 /* Receive Data command SPR#2508 - DS - Swapped Send and Receive values */
#define SatCmdSendData 0x43 /* Send Data command */
#define SatCmdEOS 0x81 /* end of proactive session */
/* SAT EVENT FLAGS */
#define MfwSatRefresh 0x00000001 /* refresh SIM fields */
#define MfwSatTextOut 0x00000002 /* display string */
#define MfwSatGetKey 0x00000004 /* get user keystroke */
#define MfwSatGetString 0x00000008 /* get user input */
#define MfwSatPlayTone 0x00000010 /* play audio tone */
#define MfwSatSetupMenu 0x00000020 /* setup toolkit menu */
#define MfwSatSelectItem 0x00000040 /* select menu item */
#define MfwSatSendSMS 0x00000080 /* send short message */
#define MfwSatSendSS 0x00000100 /* send service command */
#define MfwSatCall 0x00000200 /* setup a call */
#define MfwSatSendUSSD 0x00000400 /* send USSD */
#define MfwSatSetEvents 0x00000800 /* setup event list */
#define MfwSatCcRes 0x00001000 /* call control result */
#define MfwSatCcAlert 0x00002000 /* call control alerting */
#define MfwSatIdleText 0x00004000 /* setup idle mode text */
#define MfwSatExecAT 0x00008000 /* run AT command */
#define MfwSatSendDTMF 0x00010000 /* send DTMF tones */
#define MfwSatDataRefreshed 0x00020000 /* Sent when data has already been refreshed */
#if defined(WAP)
#define MfwSatLaunchBrowser 0x00040000 /* Launch Browser command */
#endif
/* SPR#1786 - DS - SAT Class E events */
#define MfwSatOpenChannel 0x00080000 /* Open Channel command */
#define MfwSatCloseChannel 0x00100000 /* Close Channel command */
#define MfwSatSendData 0x00200000 /* Send Data command */
#define MfwSatReceiveData 0x00400000 /* Receive Data command */
#define MfwSatErrBusy 0x00800000 /* SPR#2321 - DS - SAT Busy Error */
#define MfwSatSessionEnd 0x80000000 /* session terminated */
/* SAT DEVICE IDENTITIES */
#define SatDevKeypad 0x01 /* keypad device */
#define SatDevDisplay 0x02 /* display device */
#define SatDevSpeaker 0x03 /* earpiece device */
#define SatDevSIM 0x81 /* SIM device */
#define SatDevME 0x82 /* mobile equipment device */
#define SatDevNet 0x83 /* network device */
/* SPR#2321 - DS - SAT Class E Device Identities */
#define SatDevCh1 0x21 /* Channel one */
#define SatDevCh2 0x22 /* Channel two */
#define SatDevCh3 0x23 /* Channel three */
#define SatDevCh4 0x24 /* Channel four */
#define SatDevCh5 0x25 /* Channel five */
#define SatDevCh6 0x26 /* Channel six */
#define SatDevCh7 0x27 /* Channel seven */
/* SAT EVENT TYPES FOR MMI */
#define SatEvtUserAction 0x04 /* user activity */
#define SatEvtIdleScreen 0x05 /* idle screen available */
#if defined(WAP)
#define SatEvtBrowserTermination 0x08 /* Sat Browser termination */
#endif
/* SAT ERROR CODES */
#define SatResSuccess 0x00 /* performed successsfully */
#define SatResPartial 0x01 /* ok,partial comprehension */
#define SatResMissing 0x02 /* ok,missing information */
#define SatResAdditional 0x03 /* ok,additional EFs read */
#define SatResNoIcon 0x04 /* ok,no icon displayed */
#define SatResModified 0x05 /* ok,modified by SIM */
#define SatResUserAbort 0x10 /* terminated by user */
#define SatResUserBack 0x11 /* backward move by user */
#define SatResUserNoResp 0x12 /* no response from user */
#define SatResUserHelp 0x13 /* help request from user */
#define SatResUserAbortUSSD 0x14 /* USSD terminated by user */
#define SatResBusyME 0x20 /* ME temporary failure */
#define SatResBusyNet 0x21 /* Net temporary failure */
#define SatResReject 0x22 /* user reject call setup */
#define SatResCleared 0x23 /* call cleared (user/net) */
#define SatResTimerConflict 0x24 /* conflict on timer state */
#define SatResCCTemp 0x25 /* CC by SIM: temp failure */
#define SatResImpossible 0x30 /* ME cannot do it */
#define SatResUnknownType 0x31 /* type not understood */
#define SatResUnknownData 0x32 /* data not understood */
#define SatResUnknownNumber 0x33 /* number not understood */
#define SatResSSerror 0x34 /* SS return error */
#define SatResSMSerror 0x35 /* SMS-RP error */
#define SatResNoValues 0x36 /* missing required values */
#define SatResUSSDerror 0x37 /* USSD return error */
#define SatResMultiCard 0x38 /* Multiple card error */
#define SatResCCPermanent 0x39 /* CC by SIM: perm. failure */
/* SAT ADDITIONAL INFO */
#define SatResAiNoCause 0x00 /* no specific cause */
#define SatResAiBusyScreen 0x01 /* screen is busy */
#define SatResAiBusyCall 0x02 /* ME busy on call */
#define SatResAiBusySS 0x03 /* ME busy on SS */
#define SatResAiNoService 0x04 /* no service available */
#define SatResAiAccess 0x05 /* access control class bar */
#define SatResAiNoRadio 0x06 /* no radio resource */
#define SatResAiNoSpeech 0x07 /* not in speech call */
#define SatResAiBusyUSSD 0x08 /* ME busy on USSD */
#define SatResAiBusyDTMF 0x09 /* ME busy on send DTMF */
/* SAT MULTICARD INFO */
#define SatResAiNoReader 0x01 /* no card reader */
#define SatResAiNoCard 0x02 /* no card */
#define SatResAiBusyReader 0x03 /* card reader busy */
#define SatResAiCardOff 0x04 /* no card power */
#define SatResAiPDUError 0x05 /* PDU format error */
#define SatResAiMuteCard 0x06 /* mute card */
#define SatResAiXmitError 0x07 /* transmission error */
#define SatResAiProtocol 0x08 /* unsuppoerted protocol */
#define SatResAiIllReader 0x09 /* invalid card reader */
/* SAT LAUNCH BROWSER ADDITIONAL INFO */
#define SatResAiBearerUnavailable 0x01 /* bearer unavailable */
#define SatResAiBrowserUnavailable 0x02 /* browser unavailable */
#define SatResAiUnableToReadData 0x03 /* ME unable to read the provisioning data */
/* SAT BROWSER TERMINATION CAUSE CODE */
#if defined(WAP)
#define SatBrowserTerminCauseUser 0x00
#define SatBrowserTerminCauseError 0x01
#endif
/* SAT SETUP EVENT LIST FLAGS */
#define SatEvtUserActionActivated 0x01 /* user activity */
#define SatEvtIdleScreenActivated 0x02 /* idle screen available */
#if defined(WAP)
#define SatEvtBrowserTerminateActivated 0x04 /* Browser terminated */
#endif
/* PROTOTYPES */
MfwRes satInit (U8 *profile, U8 plen);
MfwRes satExit (void);
MfwHnd satCreate (MfwHnd w, MfwEvt e, MfwCb f, SatCmd *c);
MfwRes satDelete (MfwHnd h);
MfwRes satString (SatCmd *cmd, SatTxt *txt, U8 *res, int rlen);
MfwRes satItem (SatCmd *cmd, U8 itemId, U8 *res, int rlen);
MfwRes satMenuItem (U8 itemId, U8 help);
MfwRes satEvtDownload (U8 evt);
MfwRes satDone (SatCmd *cmd, U8 *res, int rlen);
int satEvtRegistered (int evt); /*SPR#2121 - DS - Check if evt has been registered by SAT Setup Event List command*/
void satAccept (void);
void satReject (void);
void satDisc (void);
void satSignal (U32 evt, void *data);
void rAT_PercentSATI (S16 len, U8 *sc);
void rAT_PercentSATN (S16 len, U8 *sc);
void rAT_PercentSATA (S16 cId, S32 rdlTimeout_ms,T_ACI_SATA_ADD *addParm);
void rAT_PercentSATE (S16 len, U8 *sc);
BOOL satChangeNotify (int ref, T_SIM_FILE_UPDATE_IND *updateInd);
void satUpdateFiles ( U8 updated, USHORT dataId );
BOOL satRefreshNotification ( int ref, T_SIM_FILE_UPDATE_IND *updateInd);
void satRefreshAbort();
#if defined(WAP)
MfwRes satBrowserTerminated(U8 cause);
#endif
void sate_error(T_ACI_CME_ERR error); /* SPR#2321 - DS - SAT error handling */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -