| BingK | Дата: Суббота, 20.09.2008, 18:14 | Сообщение # 1 |  
 
Подполковник 
Имя: BingK 
С нами с: 03.08.2008 
Сообщений: 100 
Модель телефона: S75/S68/SK65 
Статус: Offline 
  
 | Code    typedef struct   {     int flag; //8, 0     int (*onkey)(void *, GUI_MSG *);     void (*ghook)(void *, int );     void *proc3; //locret     const int *softkeys;     const SOFTKEYSTAB *softkeystab;     int flags2; //1     int lgp_null; //?     const int *icons;     int zero0; //0     int _2; //2     int _100;     int _101;     int zero1; //0   }POPUP_DESC; 
   #pragma swi_number=0x2A3   __swi __arm void UpdateMenuCursorItem(void *gui, int n);   //thumb   //pattern_NSG=??,B5,??,1C,_blf(??,B5,??,1C,??,1C,??,??,??,??,??,1C,??,34,??,69,??,22,??,32,??,42,??,59),??,1C+1 
   #pragma swi_number=0x2A4   __swi __arm void *GetMenuGUI(void *malloc_adr, void *mfree_adr);   //thumb   //pattern_NSG=??,B5,??,1C,??,20,??,1C,??,00,??,47,??,1C,??,1C,??,??,??,??,??,BD+1 
   #pragma swi_number=0x2A5   __swi __arm void *GetMultiLinesMenuGUI(void *malloc_adr, void *mfree_adr);   //thumb   //pattern_NSG=??,B5,??,1C,??,20,??,1C,??,01,??,47,??,1C,??,1C,??,??,??,??,??,BD+1 
   #pragma swi_number=0x2A6   __swi __arm void SetHeaderToMenu(void *gui, const HEADER_DESC *hdr, void *malloc_adr);   //thumb   //pattern_NSG=??,B5,??,1C,??,22,_blf(??,B5,??,1C,??,1C,??,1C,??,??,??,??,??,28,??,D1,??,2A),??,BD+1 
   #pragma swi_number=0x2A7   __swi __arm void SetMenuToGUI(void *gui, const void *menu_desc);//MENU_DESC,ML_MENU_DESC   //thumb   //pattern_NSG=??,B5,??,1C,??,1C,??,??,??,??,??,21,??,1C,_blf(??,1C,??,68,??,20,??,69,??,43,??,D0,??,20,??,47),??,1C,??,36,??,36,??,28,??,D0,+1        
   #pragma swi_number=0x2A8   __swi __arm int GetMenuItemCount(void *gui);   //thumb   //pattern_NSG=??,21,??,31,??,58,??,30,??,69,??,29,??,D0,??,38,??,47+1 
   //???   #pragma swi_number=0x2A9   __swi __arm int CreatePopupGUI(int flag, void *user_pointer, const POPUP_DESC *, int lgp_msg);   //thumb   //pattern_NSG=??,1C,??,99,??,??,??,??,??,B0,??,BD,??,B5,??,4C,??,1C,??,1C+D 
   #pragma swi_number=0x2AA   __swi __arm int CreatePopupGUI_ws(int flag, void *user_pointer, const POPUP_DESC *, WSHDR *msg);   //thumb   //pattern_NSG=??,B5,??,1C,??,1C,??,1C,??,49,??,B0,??,48,??,??,??,??,??,1C,??,1C,??,??,??,??,??,49,??,1C,??,??,??,??,??,1C,??,1C,??,??,??,??,??    ,1C,??,1C,??,??,??,??,??,1C,??,99,??,??,??,??,??,B0,??,BD+1 
   #pragma swi_number=0x2AB   __swi __arm void *GetPopupUserPointer(void *gui);   //thumb   //pattern_NSG=C0,30,00,68,70,47,80,30,40,68,70,47+1 
   #pragma swi_number=0x2AC   __swi __arm int DeleteSMS(int index, int n); //return 0x3E8   //thumb   //pattern_NSG=??,B5,??,4E,??,1C,??,1C,??,1C,??,49,??,B0,??,??,??,??,??,1C,??,1C+1 
   #pragma swi_number=0x2AD   __swi __arm int SetNewSMSToReaded(int index, int _1); //return 0x3E8   //thumb   //pattern_NSG=??,B5,??,1C,??,4C,??,49,??,B0,??,1C,??,??,??,??,??,AB,??,8A,??,1C+1       some examples:    Code unsigned int CreateMLMenu(const ML_MENU_DESC *menu, const HEADER_DESC *hdr, int start_item, int n_items, void *user_pointer)   {       void *ma=malloc_adr();       void *gui=GetMultiLinesMenuGUI(ma, mfree_adr());       SetMenuToGUI(gui, menu);       SetMenuItemCount(gui, n_items);       MenuSetUserPointer(gui, user_pointer);       SetCursorToMenuItem(gui, start_item);       SetHeaderToMenu(gui, hdr, ma);       return (CreateGUI(gui));   } 
   unsigned int CreateSLMenu(const MENU_DESC *menu, const HEADER_DESC *hdr, int start_item, int n_items, void *user_pointer)   {                 void *ma=malloc_adr();       void *gui=GetMenuGUI(ma, mfree_adr());       SetMenuToGUI(gui, menu);       SetMenuItemCount(gui, n_items);       MenuSetUserPointer(gui, user_pointer);       SetCursorToMenuItem(gui, start_item);       SetHeaderToMenu(gui, hdr, ma);       return (CreateGUI(gui));   }        Code  void UpdateMenuCursorItem(void *gui, int n);    is a little the same as :    Code SetCursorToMenuItem(gui, n);   RefreshGUI();    but if you use MenuSearchCallBack, UpdateMenuCursorItem is better.   int DeleteSMS(int index, int n);   int SetNewSMSToReaded(int index, int _1);   index = (the byte position of the sms in sms.dat -2)/(sizeof(PDU))+1;   update:   int DeleteSMS(int index, int n);   some of the pattern is for NEWSGOLD only.   and they are found for E71v45, not tested.    Code    //E71v45 
   0A8C: 0xA0953319   ; 2A3:  __thumb void UpdateMenuCursorItem(void *gui, int n)   0A90: 0xA0950125   ; 2A4:  __thumb void *GetMenuGUI(void *malloc_adr, void *mfree_adr)   0A94: 0xA0957479   ; 2A5:  __thumb void *GetMultiLinesMenuGUI(void *malloc_adr, void *mfree_adr)   0A98: 0xA094F739   ; 2A6:  __thumb void SetHeaderToMenu(void *gui, const HEADER_DESC *hdr, void *malloc_adr)   0A9C: 0xA09540DB   ; 2A7:  __thumb void SetMenuToGUI(void *gui, const void *menu_desc)   0AA0: 0xA0950F33   ; 2A8:  __thumb int GetMenuItemCount(void *gui)   0AA4: 0xA094E8C1   ; 2A9:  __thumb int CreatePopupGUI(int flag, void *user_pointer, const POPUP_DESC *, int lgp_msg)   0AA8: 0xA094E803   ; 2AA:  __thumb int CreatePopupGUI_ws(int flag, void *user_pointer, const POPUP_DESC *, WSHDR *msg)   0AAC: 0xA09572F9   ; 2AB:  __thumb void *GetPopupUserPointer(void *gui)   0AB0: 0xA0B56FB3   ; 2AC:  __thumb int DeleteSMS(int index, int _1)   0AB4: 0xA0B575C5   ; 2AD:  __thumb int SetNewSMSToReaded(int index, int _1)     
  S7Csw47[MasterPack+ELFPack]   S68Csw51[MasterPack+ELFPack]   SK6Csw50[ELFPack]   DCA- 510/540/110/140   I am From China !
 
 Сообщение отредактировано BingK - Воскресенье, 21.09.2008, 10:27  |  
|   | 
 |    |