📄 ipcclnt.hpp
字号:
/* ======================================================================== *\ | | | JOYIT Communication Technology | Copyright (C) 2002-2003, All Right Reserved. | | System: Programmable Signaling Gateway | Sub-system: PSG | Filename: ipcclnt.hpp | Environment: Red Hat Linux 9.0 & GNU C/C++ Compiler 3.2.2 | Function description: | |\* ======================================================================== */#ifndef _IPCCLNT_HPP#define _IPCCLNT_HPP#ifndef _PUBDEF_HPP#include "pubdef.hpp"#endif#ifndef _EVENT_HPP#include "event.hpp"#endif#ifndef _TIMER_HPP#include "timer.hpp"#endif#ifndef _DATATYPE_HPP#include "datatype.hpp"#endifextern "C"{};#pragma pack(1)struct SMsgHeader{ UINT8 PtlId; UINT8 PtlVer; UINT16 PktLength; ModuleID dmid; ModuleID smid; UINT8 Reserved; UINT8 Priority; };#ifdef __PSG_REDUNDANTstruct SRegister{ int iMsgType; int iMsgQueID; int iPid; BYTE bFileNameLen; BYTE caFileName[128]; char cFlag; //total number of moduales in system char cNodeID; //local node ID int iNodeStat[IPC_MAXNODE];//Real MID on other node char caReserved[8]; // Reserved for further used. Add 2005-01-05, by Wujianjin. int iSysmgrPid; // Local sysmgr process ID. Add 2005-01-05, by Wujianjin.};#elsestruct SRegister{ int iMsgType; int iMsgQueID; int iPid; BYTE bFileNameLen; BYTE caFileName[128]; UINT32 iFlag;};#endifstruct SDeregister{ int iMsgType; BYTE bFlag;};#pragma pack()class CIPCClient:public WEvent{public: CIPCClient(); ~CIPCClient(); int Init(int rid); int Register(); int Deregister(); int StartTimer(const WEvent &ev, int timeval, char flag=0, char pre=0); int StopTimer(const WEvent &ev);#ifdef __PSG_REDUNDANT int VerifyTimer(const WEvent& ev, int timeval, char flag=0, char pre=0); // Add 2005-01-10, by Wujianjin. int GetRegStat(SRegister ®){memcpy(®,&m_sRegister,sizeof(SRegister));return 0;}; int GetQid(){return m_iLocalMsgQueID;}; int GetRealMid(); int GetNodeID(){return m_cNodeID;}; int GetRegFlag(){return m_sRegister.cFlag;};#endif int SendMsg(const char *buf,UINT16 len); int SendMsg(const WEvent &ev); int GetMsg(char *buf); int GetMsg(WEvent &ev); int Wait(); void CheckQueue(); int DelQue(); int Exit();private: char m_caMsgQueFile[128]; int m_iLocalMsgQueID; int m_iRemoteMsgQueID; char m_caPath[128]; char m_cNodeID; int m_iLogicalID; char m_cSubID; int m_iRealID; SRegister m_sRegister; SDeregister m_sDeregister;};/* * * Declare the global pointer to point to CIPCClient objects. * 2003-08-11, Added. Wu jianjin * */extern CIPCClient * ipcPtr;#endif// ------------------------------------------------------------------------//// Revision list.// ==============//// 1.0, 2003-05-13, Lu Shengsheng// Initial version.//// ------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -