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 + -
显示快捷键?