⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmdpipe.c

📁 公关系统服务器后台程序
💻 C
字号:
#include <stdio.h>#include <fcntl.h>#include <sys/stat.h>#include <unistd.h>#include <stdlib.h>#include "cmddef.h"#include "macpool.h"#include "hardview.h"#include "shmpool.h"#include "opepool.h"#include "opepipe.h"#include "global.h"#define SERVICE_NUM	6int cmdpipehandle(int pipegui){	char pipecmd;	cmdHead cmdinfo;	read(pipegui,(void*)&pipecmd,sizeof(char));#if DEBUG	printf("pipecmd==%d\n",pipecmd);#endif	switch(pipecmd)	{	case cmdGETNUM:		if(serverType)		{			cmdinfo.cmdType=cmdGETNUM;			cmdinfo.cmdLen=poolGetCount();			writePipe((char*)&cmdinfo,sizeof(cmdinfo));		}		break;				case cmdCHKTERM:	{		if(serverType)		{			short i,totalNum,totalCount;			char pageIndex;					macPoolDef macPool;			totalNum=poolGetUsed();			totalCount=poolGetCount();					read(pipegui,(void*)&pageIndex,sizeof(char));			if((pageIndex-1)*13>totalCount)				return 0;					cmdinfo.cmdType=cmdCHKTERM;			if(pageIndex*13>totalCount)				cmdinfo.cmdLen=totalCount-(pageIndex-1)*13;			else				cmdinfo.cmdLen=13;			writePipe((char*)&cmdinfo,sizeof(cmdinfo));			for(i=(pageIndex-1)*13;i<pageIndex*13;i++)			{				viewPool(&macPool,i);				writePipe((char*)&macPool,sizeof(macPool));			}		}		break;	}	case cmdCHKDISK:	{		diskVolume diskV;		cmdinfo.cmdType=cmdCHKDISK;		cmdinfo.cmdLen=sizeof(diskVolume);		readDisk(&diskV);		writePipe((char*)&cmdinfo,sizeof(cmdinfo));		writePipe((char*)&diskV,sizeof(diskVolume));		break;	}	case cmdCHKSERVICE:	{		char buf[256];		cmdinfo.cmdType=cmdCHKSERVICE;		cmdinfo.cmdLen=readService(buf);		writePipe((char*)&cmdinfo,sizeof(cmdinfo));		writePipe(buf,cmdinfo.cmdLen);		break;	}	}	return 1;}int chkConnect(){	int i,count;	macPoolDef mp;	cmdHead cmdinfo;	char eventMark=0;		count=poolGetCount();	for(i=0;i<count;i++)	{		poolQueryNode(&mp,i);		if(mp.macid>0)		{			if(mp.connect==1)			{				mp.pingc--;				if(mp.pingc==0)				{					mp.connect=0;					eventMark=1;				}				poolWriteNode(&mp,i);			}		}	}	if(eventMark==1)	{		cmdinfo.cmdType=cmdTERMEVENT;		cmdinfo.cmdLen=0;		writePipe((char*)&cmdinfo,sizeof(cmdinfo));		system("echo 'cmdTERMEVENT......'>> /tmp/systemGuard.log");	}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -