📄 cmdpipe.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 + -