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

📄 adm.h

📁 此源代码只用于学习,不得用于其他商业活动 .
💻 H
字号:
/*****************************************************************
* Copyright (c) 2002, 南京联创系统集成股份有限公司综合结算产品部
* All rights reserved.
*
* 文件名称:adm.h
* 摘    要:声明监控平台程序所用到数据结构和函数声明
*
* 当前版本:通用版本,可以移植到aix,hpux,solaris,linux上
* 作    者:冯亮(feng@lianchuang.com)
* 完成日期:
******************************************************************/
#ifndef	_ADM_H_
#define	_ADM_H_

#include "config.h"
#include <curses.h>
#include <time.h>
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>

#include "basesock.h"

#ifdef __cplusplus
extern "C"
{
#endif//#ifdef __cplusplus

void TimeBreak(int sigid);

#ifdef __cplusplus
}
#endif//#ifdef __cplusplus

#ifdef aCC

#ifdef __cplusplus
extern "C"
{
#endif//#ifdef __cplusplus

	 /*在(x,y) 上显示一串字符*/
	int mvaddstr(int y , int x , const char * str);
	/*用ch水平画线,长度为n*/
	int mvhline(int y, int x, chtype ch, int n);
	/*用ch垂直画线,长度为n*/
	int mvvline(int y, int x, chtype ch, int n);

#ifdef __cplusplus
}
#endif//#ifdef __cplusplus

#endif//#ifdef aCC

/*配置文件路径*/
#define CONFIG_FILE	"config/admconfig.ini"

/*一行最大字符数*/
#define STRING_LEN	1024

typedef struct _S_TYPEINFO_
{
	char	MonitorType[10];		/*监控类型*/
	char	Type[ 32 + 1];				/*业务类型*/
	struct 	_S_TYPEINFO_	*Next;	/*指向下一个节点的指针*/
}S_TypeInfo;

typedef	struct
{
	char	HostIP[16 + 1];           /*主机IP地址*/
	unsigned int	HostPort;       /*主机端口号*/
	char	HostAddr[24+1];         /*主机地址*/
	int	HostSocket;             	/*主机socket*/
}S_HostInfo;

typedef	struct
{
	char	Alias[32+1];            /*别名*/
	char	Type[32+1];             /*类型*/
	int		Index;                  /*索引*/
	char	HostAddr[24+1];         /*主机地址*/
	int		SocketId;               /*socket ID*/
	char	StartDate[10+1];        /*开始日期*/
	char	StartTime[8+1];         /*开始时间*/
	char	ProcID[10+1];           /*进程ID*/
	char	Object[255+1];           /*处理对象*/
	char	Status[10+1];           /*处理状态*/
	char	Step[10+1];             /*处理步骤*/
	char	Count[10+1];            /*处理记数*/
	char	TotalSize[10+1];        /*总共需处理的字节数*/
	char	FinishedSize[10+1];     /*已完成的字节数*/
	char	ProcessCpu[10+1];       /*进程的CPU使用率*/
	char	ProcessMem[10+1];       /*进程占用的内存(KB)*/
	char	CDRProcSpeed[20+1];     /*处理话单的速度 条/秒*/
	char	ErrorCDRRate[10+1];     /*目前错误率*/
	char	HostCpu[10+1];          /*主机的CPU使用率*/
	char	HostMem[10+1];          /*主机已使用的内存(KB)*/
}S_ProcInfo;

typedef	struct
{
	char	Path[256+1];            /*路径*/
	char	Type[32+1];             /*类型*/
	unsigned long	DiskSize;       /*磁盘大小*/
	unsigned long	AvailSize;      /*有效空间大小*/
	char	HostAddr[24+1];         /*主机地址*/
	int	SocketId;               /*socket ID号*/
}S_DiskInfo;


//函数原型

/*磁盘操作*/
void AdminDisk(const char *Type);

/*进程操作*/
void AdminProc(const char *Type);

/*程序退出时销毁全局变量*/
void DestroyGlobalVal(void);

/*调试程序时用*/
void dumpdebuginfo(const char * debug_info);

/*判断空格*/
bool IsSpace(char c);

/*读取配置文件数据*/
bool LoadConfig(void);

/*调用磁盘信息*/
void LoadDiskData(const char *Type);

/*调用进程信息*/
void LoadProcData(const char *Type);

/*重建磁盘监控菜单*/
void RebuildDisk(const char *Type);

/*重建主菜单*/
void RebuildMenu(void);

/*重建进程监控菜单*/
void RebuildProc(const char *Type);

/*启动全部进程*/
void StartAll(const char *Type);

/*启动一个进程*/
void StartOne(const char *Type);

/*停止全部进程*/
void StopAll(const char *Type);

/*停止一个进程*/
void StopOne(const char *Type);

/*定时器响应*/
void MainTimeBreak(int sigid);

void ProcTimeBreak(int sigid);

void DiskTimeBreak(int sigid);

#endif//_ADM_H_

//---------------------------------The End-----------------------------------------

⌨️ 快捷键说明

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