pcsyn.pp
来自「是一个手机功能的模拟程序」· PP 代码 · 共 1,421 行 · 第 1/3 页
PP
1,421 行
typedef T_RV_HDR T_RVF_MSG ;
typedef UINT32 T_RVF_MSG_ID;
T_RVF_RET rvf_send_msg (T_RVF_G_ADDR_ID addr_id, void * p_msg);
T_RVF_MB_STATUS rvf_get_msg_buf (T_RVF_MB_ID mb_id,
UINT32 message_size,
T_RVF_MSG_ID msg_id,
T_RVF_MSG ** pp_msg);
T_RVF_RET rvf_free_msg (T_RVF_MSG * p_msg);
T_RVF_RET rvf_free_timer_msg (T_RVF_MSG *p_msg);
void * rvf_read_mbox (UINT8 mbox);
void * rvf_read_addr_mbox (T_RVF_G_ADDR_ID task_id, UINT8 mbox);
UINT8 rvf_send_event (T_RVF_G_ADDR_ID task_id, UINT16 event);
T_RVF_RET rvf_initialize_mutex( T_RVF_MUTEX * mutex);
T_RVF_RET rvf_lock_mutex( T_RVF_MUTEX * mutex);
T_RVF_RET rvf_unlock_mutex( T_RVF_MUTEX * mutex);
T_RVF_RET rvf_delete_mutex( T_RVF_MUTEX * mutex);
T_RVF_RET rvf_create_mb(T_RVF_MB_NAME mb_name, T_RVF_MB_PARAM mb_param, T_RVF_MB_ID *mb_id);
T_RVF_RET rvf_delete_mb(T_RVF_MB_NAME mb_name);
T_RVF_RET rvf_get_mb_id(T_RVF_MB_NAME mb_name, T_RVF_MB_ID *mb_id);
T_RVF_MB_STATUS rvf_get_mb_status(T_RVF_MB_ID mb_id);
T_RVF_RET rvf_mb_is_used(T_RVF_MB_NAME mb_name, UINT8* isUsed) ;
T_RVF_MB_STATUS rvf_get_buf(T_RVF_MB_ID mb_id, UINT32 buffer_size, void** p_buffer);
T_RVF_MB_STATUS rvf_count_buf(T_RVF_MB_ID mb_id, void * p_buffer);
T_RVF_RET rvf_free_buf( void * p_buffer);
T_RVF_RET rvf_set_callback_func(T_RVF_MB_ID mb_id, MB_CALLBACK_FUNC func);
T_RVF_RET rvf_change_callback_func(T_RVF_MB_ID mb_id, MB_CALLBACK_FUNC func);
void rvf_get_protected_buf(T_RVF_MB_ID mb_id, UINT32 buffer_size, void** p_buffer);
UINT32 rvf_get_buf_size (void *bptr);
T_RVF_RET rvf_get_mb_param( T_RVF_MB_NAME mb_name, T_RVF_MB_PARAM * param);
T_RVF_RET rvf_set_mb_param( T_RVF_MB_NAME mb_name, T_RVF_MB_PARAM * param);
T_RVF_RET rvf_enqueue (T_RVF_BUFFER_Q *p_q, void *p_buf);
T_RVF_RET rvf_enqueue_head (T_RVF_BUFFER_Q *p_q, void *p_buf);
void * rvf_dequeue (T_RVF_BUFFER_Q *p_q);
void * rvf_scan_next (T_RVF_BUFFER_Q * p_q, void * p_buf);
T_RVF_RET rvf_remove_from_queue (T_RVF_BUFFER_Q * p_q, void * p_buf);
UINT16 rvf_wait(UINT16 flag, UINT32 ticks);
UINT16 rvf_evt_wait(T_RVF_G_ADDR_ID rtask, UINT16 flag, UINT32 timeout) ;
void rvf_delay(UINT32 ticks);
void rvf_start_timer(UINT8 tnum, UINT32 ticks, BOOLEAN is_continuous);
void rvf_stop_timer (UINT8 tnum);
char * rvf_get_time_stamp(char *tbuf);
UINT32 rvf_get_tick_count(void);
void rvf_init_timer_list (T_RVF_TIMER_LIST_Q *p_timer_listq);
void rvf_init_timer_list_entry (T_RVF_TIMER_LIST_ENT *p_tle);
UINT16 rvf_update_timer_list (T_RVF_TIMER_LIST_Q *p_timer_listq);
void rvf_add_to_timer_list (T_RVF_TIMER_LIST_Q *p_timer_listq, T_RVF_TIMER_LIST_ENT *p_tle);
void rvf_remove_from_timer_list (T_RVF_TIMER_LIST_Q *p_timer_listq, T_RVF_TIMER_LIST_ENT *p_tle);
T_RVF_TIMER_LIST_ENT* rvf_get_expired_entry (T_RVF_TIMER_LIST_Q *p_timer_listq);
#line 324
UINT32 rvf_create_timer( T_RVF_G_ADDR_ID g_addrId,
UINT32 timerDuration,
BOOLEAN isContinuous,
void* p_action);
void rvf_del_timer ( UINT32 tm_id) ;
void rvf_reset_timer ( UINT32 tm_id, UINT32 new_duration,
BOOLEAN isContinuous);
void rvf_enable(void);
void rvf_disable(UINT8 who);
void rvf_dump_mem();
void rvf_dump_tasks();
void rvf_dump_pool();
void * rvf_wait_for_specific_msg(UINT16 msg_code, UINT8 mbox, UINT32 timeout);
#line 96 "D:/work/M288S/ssa/system-mmi/../../condat/gsm/condat/ms/src/bmi/mmiutilapi.h"
typedef struct mmimem_pcb_s
{
unsigned int magicWord;
void* pStartAddr;
unsigned int poolSize;
unsigned int partSize;
unsigned int aviableNum;
unsigned int totalNum;
unsigned int idx;
struct mmimem_pmHdr_s *pFree;
struct mmimem_pmHdr_s *pAllocated;
} T_MMIMEM_PCB;
typedef struct mmimem_pmHdr_s
{
struct mmimem_pmHdr_s *next;
T_MMIMEM_PCB *pPCB;
unsigned int inuse;
unsigned int line;
char caller[8];
} T_MMIMEM_PMHDR;
typedef struct mmimem_dcb_s
{
unsigned int magicWord;
void* pStartAddr;
unsigned int poolSize;
struct mmimem_dmHdr_s *pAllocated;
} T_MMIMEM_DCB;
typedef struct mmimem_dmHdr_s
{
struct mmimem_dmHdr_s *next;
T_MMIMEM_DCB *pDCB;
unsigned int size;
unsigned int inuse;
unsigned int line;
char caller[8];
} T_MMIMEM_DMHDR;
#line 210
typedef struct mmimem_info_s
{
unsigned int min_reqsz;
unsigned int max_reqsz;
unsigned int max_allocsz;
unsigned char max_allocpart[10];
unsigned char cur_allocpart[10];
unsigned char max_dyn_used;
unsigned char cur_dyn_used;
} T_MMIMEM_INFO;
#line 265
extern void MI_dbgPrintf(const char* const format, ...);
extern int MI_mmimem_Init(void);
extern int MI_mmimem_Alloc(void **buf, unsigned int size, char* name, int line);
#line 284
extern int MI_mmimem_Free(void *buf, char* name, int line);
#line 297
extern void MI_mmimem_Dump(void);
extern void MI_mmimem_Info(T_MMIMEM_INFO *pInfo);
#line 25 "D:/work/M288S/ssa/system-mmi/../../condat/gsm/condat/ms/src/pcsyn/inc/pcsyn.h"
extern T_HANDLE pcsyn_hCommMMI;
extern T_HANDLE pcsyn_hCommPCSYN;
typedef struct
{
U8 event_id;
U8 _align0;
U8 _align1;
U8 _align2;
T_sdu sdu;
}
T_HISR_PCSYN_IND;
typedef struct
{
U8 event_id;
U8 _align0;
U8 _align1;
U8 _align2;
T_sdu sdu;
}
T_MMI_PCSYN_IND;
typedef struct
{
U8 event_id;
U8 _align0;
U8 _align1;
U8 _align2;
T_sdu sdu;
}
T_PCSYN_MMI_IND;
const void psa_HISR_PCSYN_IND ( T_HISR_PCSYN_IND *hisr_pcsyn_ind);
const void mmi_pcsyn_ind ( T_MMI_PCSYN_IND *mmi_pcsyn_ind);
typedef struct
{
char *version;
}
T_MONITOR;
#line 85
typedef struct
{
U8 dummy;
}
T_MMI_PCSYN_DATAWAIT_IND;
typedef struct
{
BYTE controlid;
BYTE cid1;
BYTE cid2;
}T_PCSYN_MMI_STATUS_IND;
typedef struct
{
void *info;
BYTE stype;
BYTE rptype;
}T_PCSYN_MMI_SENDMMS_IND;
void M_MMI_PCSYN_WAITDATA_IND(T_MMI_PCSYN_DATAWAIT_IND *parameter);
void P_PCSYN_MMI_STATUS_IND(T_PCSYN_MMI_STATUS_IND *parameter);
void P_PCSYN_MMI_SENDMMS_IND(T_PCSYN_MMI_SENDMMS_IND *parameter);
void psa_PCSYN_MMI_IND (BYTE event_id,void* data, USHORT data_size);
typedef enum
{
P_PCSYN_MMI_SATTUS_IND_ID,
P_PCSYN_MMI_SENDMMS_IND_ID
};
extern void MI_dbgPrintf(const char* const format, ...);
#line 139
extern BYTE mem_buffer[];
extern int g_codepcsynmem ;
#line 35 "D:/work/M288S/ssa/system-mmi/../../condat/gsm/condat/ms/src/pcsyn/inc/pcsyn_protocol.h"
typedef enum
{
iDL_HEADER = -1,
iDL_FRAMETYPE ,
iDL_FRAMEID,
iDL_STATUS ,
iDL_FRAMEIDUL,
iDL_DATASIZE ,
iDL_DATA
};
typedef enum
{
iUL_HEADER = -1,
iUL_FRAMETYPE ,
iUL_FRAMEID,
iUL_DATASIZE,
iUL_DATA
};
typedef enum
{
PC_FT_Monitor = 0x00,
PC_FT_Control = 0x40,
PC_FT_Info = 0x80
}PC_FrameType;
typedef enum
{
PC_CF_Connect = 0x00,
PC_CF_DisConnect,
PC_CF_Cmd = 0x11,
PC_CF_DataEnd
}PC_CFType;
typedef enum
{
PC_IF_Data,
PC_IF_DataAck
}PC_IFType;
typedef enum
{
PC_NOCONNECT,
PC_CONNECTED,
PC_CMDRECV,
PC_DATAUL,
PC_DATADL,
PC_DATAULEND,
PC_WAITDISCONNECT
}PC_CNNT_STATUS;
#line 98
typedef enum
{
PC_Error_NoError = 0x00,
PC_Error_CheckSum,
PC_Error_InvalidPktSize = 0x03,
PC_Error_InvalidDataSize ,
PC_Error_NoConnect,
PC_Error_ConnectExisted,
PC_Error_InvalidFrameType,
PC_Error_InvalidFrameid,
PC_Error_FrameIsReRX = 0x20,
PC_Error_WaitData,
PC_Error_SerialNoResponse=0x81,
App_Error_DefaultError = 0x82,
App_Error_ReadError = 0x83,
App_Error_WriteError ,
App_Error_DeleteError ,
App_Error_CopyError ,
App_Error_InfoError ,
App_Error_SendError,
App_Error_StoreError,
PC_Error_MMINotAllow = 0x90,
PC_Error_MMINeedPause,
PC_Error_MemoryAlloc,
App_Error_ModifyError,
}PC_Error;
typedef struct
{
unsigned char stx;
unsigned char etx;
unsigned char dle;
unsigned char header_ul;
unsigned char header_dl;
unsigned char frameid;
unsigned char frametype;
unsigned int status ;
}PC_Protocol;
typedef struct
{
unsigned char frametype;
unsigned char frameid;
unsigned char datasize;
unsigned char data[128];
}PC_Packet_UL;
typedef struct
{
unsigned char frametype;
unsigned char frameid;
unsigned char status;
unsigned char frametype_ul;
unsigned char datasize;
unsigned char data[128];
}PC_Packet_DL;
typedef struct
{
unsigned int flag;
unsigned char *pdata_cmd;
unsigned int size_cmd;
unsigned char *pdata_ulbuff;
unsigned int size_ulbuff;
unsigned char *pdata_dlbuff;
unsigned int size_dlbuff;
unsigned int status;
}PC_Interface_Info;
#line 178
int handle_inbuffer(unsigned char *buff_in,unsigned short size_buff_in);
int pc_writebystatus(int status);
int pc_writebyinfo(unsigned int status);
unsigned int pc_interface(PC_Interface_Info * info);
extern unsigned long SER_tr_WriteNBytes (int serial_data_flow,
unsigned char *buffer,
unsigned long chars_to_write);
#line 62 "d:/work/m288s/ssa/system-mmi/../../condat/gsm/condat/ms/src/pcsyn/src/pcsyn.c"
int g_codepcsynmem = 0;
unsigned char mem_buffer[64000];
#line 73
void pcsyn_RX_process(unsigned char *buffer,unsigned short size)
{
if(size >= 3)
{
unsigned short l_buf = 8*size;
T_HISR_PCSYN_IND*hisr_pcsyn_ind = (T_HISR_PCSYN_IND*)vsi_c_new_sdu(((ULONG)(sizeof(T_PRIM_HEADER)+sizeof(T_HISR_PCSYN_IND))),0x2c00 ,l_buf,((size_t)(&((T_HISR_PCSYN_IND *)0)->sdu)),0 );;
hisr_pcsyn_ind->event_id = 0;
hisr_pcsyn_ind->sdu.o_buf = 0;
hisr_pcsyn_ind->sdu.l_buf = l_buf;
memcpy(hisr_pcsyn_ind->sdu.buf,buffer,size);
PSENDX (PCSYN, hisr_pcsyn_ind);
}
}
unsigned char pcsyn_id;
int pcsyn_init (void)
{
static int pcsyninit = 0;
if(pcsyninit )return 1;
rvt_register_id("L1",&pcsyn_id, pcsyn_RX_process) ;
pcsyninit = 1;
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?