# QyFrame **Repository Path**: yugr/QyFrame ## Basic Information - **Project Name**: QyFrame - **Description**: Qinyi support appliction repository - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2015-02-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QyFrame [loader code]: #define QY_MODULE 0xFF #include "QinYiCommon.h" QyFocusFnx g_QinYiFnxOnfocus; U8 g_bQyAuthenticate = UN_AUTHEN; U8 g_Loginpwd = 0; #include "qyadaptor.h" extern int QySetEntryPtr(void * padp); extern void *GetExeBuff(void); typedef int (*QyFlexCodeFnx)(int argc, void * argv[], unsigned int EntryAddr); typedef void (*QyFocusFnx)(int wndType, U16 srcid); U32 R9_BASE_BACKUP ; U32 FLAG_BASE_BACKUP ; #define PROG_MEMORY_SIZE (128*1024) char g_buffDynProg[PROG_MEMORY_SIZE]; void * QyInitAdaptor(void) { void * buff = NULL; int fsh = OpenQyFile(QY_PROG, L"AppsEntry.bin", FS_READ_ONLY); if( fsh > 0 ) { UINT flen= PROG_MEMORY_SIZE; UINT rd; FS_GetFileSize(fsh , &flen); kal_prompt_trace(MOD_MMI,"QyInitAdaptor, (%x : %x, %x)", flen, g_SettingProf->ProgFLen, g_SettingProf->ProgRamSize ); if( flen == g_SettingProf->ProgFLen && g_SettingProf->ProgRamSize < PROG_MEMORY_SIZE) { buff = &g_buffDynProg[0]; FS_Read(fsh, buff, flen, &rd); kal_prompt_trace(MOD_MMI,"flex bin: %d", rd); if( rd < g_SettingProf->ProgFLen ) buff = NULL; } FS_Close(fsh); } return buff; } void UnloadQYFlexCode(void) { // QyFree(GetExeBuff()); } int strTraceMtk(char * ptr) { kal_prompt_trace(MOD_MMI,"strTraceMtk:%s", ptr); return 7; } // Test only ///////////////////////////////////////////////////////////////////////////////////////////////////////////// // dynamic load extern kal_int8 g_qy_socket_id; extern U8 g_QyHeapBuff[]; typedef struct tag_ext_int { U8 ver ; U8 LogAuthenticate; }QY_EXT_INF; U8 g_pext[4*1024] = {0}; QY_ADAPTOR g_MtkAdp = { QY_ADAPTO_ELEMENT // Global variable value }; void QyAdpTrace(char * fmt) { kal_prompt_trace(MOD_MMI, fmt); } int QyPikeInitialize(void) { int len = 0; void * argv[] = {&g_MtkAdp}; QyFlexCodeFnx pQyEntry = (QyFlexCodeFnx)QyInitAdaptor(); if( pQyEntry ) { kal_prompt_trace(MOD_MMI,"ENTRY QY APP (%x)", &g_MtkAdp ); kal_prompt_trace(MOD_MMI, "Trace channel: %d",(int)MOD_MMI); len = pQyEntry((int) MOD_MMI , argv ,(U32)pQyEntry); kal_prompt_trace(MOD_MMI,"R9:%x", len); return 1; } return 0; }