FreeCalypso > hg > fc-magnetite
view src/aci2/mfw/mfw_sat.h @ 302:0740b5ff15f6
reconstructed L1_GPRS source imported from tcs211-l1-reconst
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 31 Oct 2017 03:42:35 +0000 |
parents | 93999a60b835 |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------+ | PROJECT: MMI-Framework (8417) $Workfile:: mfw_sat.h $| | $Author:: Xsp $ CONDAT GmbH $Revision:: 5 $| | CREATED: 07.05.99 $Modtime:: 29/02/00 18:19 $| | STATE : code | +--------------------------------------------------------------------+ MODULE : MFW_SAT PURPOSE : SIM Application Toolkit Handling EXPORT : TO DO : $History:: mfw_sat.h $ Shashi Shekar B.S., a0876501, 16 Mar, 2006, OMAPS00061462 Icon support for SetupMenu & Select item. Jan 16, 2006 DR: OMAPS00061460 - Shashi Shekar B.S. Description: SAT Icon support Solution : SAT icon support added. * * Jun 16, 2005 REF: CRR 31543 x0021334 * Issue: SATK: cannot get TR for send ussd command * Solution: When the user presses "Hang up" key when * the SAT USSD session is in progress,a call is * made to function 'sAT_end_ussd()' to end the session. * ***************** Version 5 ***************** * User: Xsp Date: 3/03/00 Time: 12:51 * Updated in $/GSM/Condat/MS/SRC/MFW * Changfed type of xxxWindow fields in MfwSat struct... * * ***************** Version 4 ***************** * User: Xsp Date: 14/02/00 Time: 18:11 * Updated in $/GSM/Condat/MS/SRC/MFW * Solved compiler errors... * * ***************** Version 3 ***************** * User: Xsp Date: 14/02/00 Time: 14:43 * Updated in $/GSM/Condat/MS/SRC/MFW * Added window pointers to sat structure... * * ***************** Version 2 ***************** * User: Fk Date: 11.02.00 Time: 15:40 * Updated in $/GSM/Condat/MS/SRC/MFW * New event 'SAT Session End' derived from empty command * * ***************** Version 1 ***************** * User: Es Date: 6.07.99 Time: 12:42 * Created in $/GSM/DEV/MS/SRC/MFW * SIM application toolkit handler * Initial */ #ifndef _DEF_MFW_SAT_H_ #define _DEF_MFW_SAT_H_ #include "mfw_win.h" #include "mfw_phb.h" /* top get aci_cmh.h */ #include "mfw_ss.h" // Jun 16, 2005 REF: CRR 31543 x0021334 // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 #ifdef FF_MMI_SAT_ICON #include "mfw_sima.h" #endif #define MFW_MAX_NT_SIZE 6 /* save changed files notification */ #define MFW_MAX_PFP_ELEM 15 // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 #ifdef FF_MMI_SAT_ICON typedef struct { /* SAT ICON DATA */ U8 width; /* SAT Icon width */ U8 height; /* SAT Icon height */ char* dst; /* Icon data */ } SatIconInfo; #endif typedef struct { /* SAT ICON IDENTIFIER */ U8 qual; /* icon qualifier */ U8 id; /* icon identifier */ U8 pad1; U8 pad2; } SatIconId; typedef struct { /* SAT TEXT STRING */ SatIconId icon; /* icon identifier */ U16 text; /* offset to text string */ U8 responseFlag; /* immediate response */ U8 code; /* data coding scheme */ U8 len; /* length of text */ U8 pad1; U8 pad2; U8 pad3; // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 #ifdef FF_MMI_SAT_ICON SatIconInfo iconInfo; #endif } SatTxt; typedef struct { /* SAT ADDRESS */ U16 number; /* offset to dial number */ U8 ton; /* type of number, npi */ U8 len; /* length of dial number */ } SatAddress; typedef struct { /* SAT MISCELLEANEOUS DATA */ U16 data; /* offset to data */ U8 len; /* length of data */ U8 pad; } SatData; typedef struct { /* SAT LIST DATA */ U8 len; /* number of bytes in list */ U8 elem [1]; /* list elements */ } SatList; typedef struct { /* SAT SMS TPDU */ U16 data; /* offset to pdu data */ U8 len; /* pdu length */ U8 pad; } SatSmsPdu; typedef struct { /* SAT MENU ITEM */ U16 text; /* offset to text data */ U8 id; /* item identifier */ U8 action; /* next action id */ U8 icon; /* items icon */ U8 len; /* length of text */ U8 pad1; U8 pad2; // Shashi Shekar B.S., a0876501, Feb 4, 2006, DR: OMAPS00061462 #ifdef FF_MMI_SAT_ICON SatIconInfo iconInfo; #endif } SatItem; typedef struct { /* SAT INPUT USER STRING */ SatTxt prompt; /* prompt string */ SatTxt defRsp; /* default response */ U8 rspMin; /* minimal response length */ U8 rspMax; /* maximal response length */ U8 pad1; U8 pad2; } SatInput; typedef struct { /* SAT PLAY TONE */ SatTxt alpha; /* tones alpha tag */ U8 tone; /* code for tone */ U8 durUnit; /* code for duration unit */ U8 durValue; /* duration value */ U8 pad; } SatTone; typedef struct { /* SAT SETUP MENU */ SatTxt header; /* menu header */ U8 itemIconQual; /* item icon qualifier */ U8 nItems; /* number of menu items */ U8 pad1; U8 pad2; SatItem items [1]; /* menu items (min. one) */ } SatMenu; typedef struct { /* SAT SEND SMS */ SatTxt info; /* user information */ SatAddress addr; /* address */ SatSmsPdu sms; /* SMS TPDU */ } SatSMS; typedef struct { /* SAT SEND SS */ SatTxt info; /* user information */ SatAddress ss; /* SS string */ } SatSS; typedef struct { /* SAT SETUP CALL */ SatTxt info; /* user information */ SatTxt info2; /* setup information */ SatAddress addr; /* address */ SatData bc; /* bearer capabilities */ SatData sa; /* subaddress */ U8 durUnit; /* redial time unit */ U8 durValue; /* redial max time */ U8 pad1; U8 pad2; } SatCall; typedef struct { /* SAT EXEC AT/DTMF */ SatTxt info; /* user information */ SatData cmd; /* AT cmd / DTMF sequence */ } SatExec; typedef struct { /* CALL CONTROL RESULT */ SatAddress addr; /* address */ SatAddress addr2; /* address on SMS control */ SatData bc; /* bearer capabilities */ SatData bc2; /* bearer capabilities 2 */ SatData sa; /* subaddress */ SatTxt info; /* alpha information */ S32 redialTime; /* maximal redial time */ S16 callId; /* id of new call */ U8 bcRepInd; /* BC repeat indicator */ U8 result; /* call control result */ } SatCcRes; typedef struct { /* SAT REFRESH FILES */ U16* files; /* Pointer to the files list */ U16 files_nr; /* length of the files list */ U8 status; /*Status of the refresh procedure */ } SatRefreshFiles; /* -1 -> to be done or */ /* SIM_FU_ERROR,SIM_FU_SUCCESS,SIM_FU_SUCC_ADD */ #if defined(FF_WAP) typedef struct { U8 prov_file_id_len; /*length of provisional file ids*/ U8* prov_file_id; /*provisiona file ids */ } ProvFileRef; typedef struct { /* SAT LAUNCH BROWSER COMMAND */ U8 identity; /* Browser identity as in GSM 11.14 12.47 */ U8* url; /* Universal Res Loc as in GSM 11.14 12.48*/ U8 n_bearer; /* Number of elements in the bearer list */ U8* bearer; /* Bearer list as in GSM 11.14 12.49 (Null terminated)*/ U8 n_prov_file_ref; /* Number of elements in the prov. file ref. table. */ ProvFileRef prov_file_ref[MFW_MAX_PFP_ELEM]; /* Prov. file ref. list*/ SatTxt text_string; /*Text string as in GSM 11.14 12.15 */ U8 alpha_len; /*Alpha identifier length as in GSM 11.14 12.2 */ U8* alpha_id; /*Alpha identifier as in GSM 11.14 12.2 */ } SatLaunchBrowser; #endif /*FF_WAP*/ /* SPR#1786 - DS - SAT Class E */ typedef enum { MFW_SAT_EST_NONE = 0, /* No establishment type given */ MFW_SAT_EST_IMMEDIATE, /* Immediate channel establishment */ MFW_SAT_EST_ONDEMAND /* On-demand channel establishment */ } T_MFW_SAT_EST; typedef enum { MFW_SAT_CHN_NONE = 0, /* No channel type given */ MFW_SAT_CHN_VOICE, /* Channel type Voice */ MFW_SAT_CHN_CSD, /* Channel type CSD */ MFW_SAT_CHN_GPRS /* Channel type GPRS */ } T_MFW_SAT_CHN; typedef struct { T_MFW_SAT_CHN channel_type; T_MFW_SAT_EST establishment_type; SatTxt alpha_id; /* Alpha identifier as in GSM 11.14 section 12.22 */ U8 dur1Unit; /* redial time unit duration 1 */ U8 dur1Value; /* redial max time duration 1 */ U8 dur2Unit; /* redial time unit duration 2 */ U8 dur2Value; /* redial max time duration 2 */ } SatOpenChannel; typedef struct { 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(FF_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 */ // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 #ifdef FF_MMI_SAT_ICON #define MfwSatCmdNone 0x00000000 /* SAT No command */ #endif #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(FF_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(FF_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(FF_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(FF_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 Mfw_SAT_DTMF_EndSession(void); // x0021334 : To test SAT session end - CQ33597 void satSignal (U32 evt, void *data); void rAT_PercentSATI (S16 len, U8 *sc); /* BEGIN : Sumit: Neptune */ #ifndef NEPTUNE_BOARD void rAT_PercentSATN (S16 len, U8 *sc, T_ACI_SATN_CNTRL_TYPE cntrl_type); #else void rAT_PercentSATN ( SHORT len,UBYTE *satCmd); #endif /* END SUMIT: Neptune*/ #ifdef FF_SAT_E void rAT_PercentSATA (S16 cId, S32 rdlTimeout_ms,T_ACI_SATA_ADD *addParm); #else void rAT_PercentSATA (S16 cId, S32 rdlTimeout_ms); #endif /* FF_SAT_E */ // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 #ifdef FF_MMI_SAT_ICON void simReadIconData (U8 record_number); void sim_img_cnf (USHORT error, UBYTE record_number, UBYTE *efimg); void sim_img_instance_data_cnf (USHORT error, UBYTE *data_instance); void iconDataUpdate(SatTxt *t, UBYTE width, UBYTE height, char *dst); void convert_21_image(UBYTE width, UBYTE height, UBYTE depth, UBYTE *src, UBYTE *palette, UBYTE *dst); void convert_11_image(UBYTE width, UBYTE height, char *src, char *dst); #endif 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(void); #if defined(FF_WAP) MfwRes satBrowserTerminated(U8 cause); #endif void sate_error(T_ACI_CME_ERR error); /* SPR#2321 - DS - SAT error handling */ // Jun 16, 2005 REF: CRR 31543 x0021334 // Issue: SATK: cannot get TR for send ussd command // Prototype for new function T_MFW_SS_RETURN satHangup (T_ACI_CMD_SRC sId); #endif