644 lines
19 KiB
C
644 lines
19 KiB
C
|
|
/************************************************************************/
|
|
/* Title: omc_public.h */
|
|
/* Desc: Public variables def for PACS OMC Project. */
|
|
/* Author: Meng Xiaozhen */
|
|
/* CrtDate: 2000-08-16 */
|
|
/* AltDate: 2001-06-21 */
|
|
/* CVS: $Id: omc_public.h,v 1.1 2000/08/03 01:09:33 mengxz Exp $ */
|
|
/************************************************************************/
|
|
#ifndef OMC_PUBLIC__H
|
|
#define OMC_PUBLIC__H
|
|
|
|
#ifndef PUBLIC__H
|
|
#include "public.h"
|
|
#endif
|
|
|
|
#ifndef IPTRANS__H
|
|
#include "iptrans.h"
|
|
#endif
|
|
|
|
#define DEBUG 1
|
|
|
|
/***************************************************/
|
|
/* Macro define for Server's system number */
|
|
#define GRP_NUM 32
|
|
|
|
#define TS_NUM 32
|
|
#define TS_SUB 16
|
|
#define TS_E1 8
|
|
|
|
#define PW_NUM 32
|
|
#define PW_SUB 3
|
|
|
|
#define ETH_NUM 32
|
|
#define ETH_SUB 16
|
|
|
|
#define RDEV_NUM 32
|
|
#define RDEV_SUB 8
|
|
#define RDEV_E1 1
|
|
|
|
#define BSS_NUM 48
|
|
|
|
#define BSC_NUM 12
|
|
#define BSC_SUB 9
|
|
#define BSC_E1 2
|
|
|
|
#define BTS_NUM 24 //BTS system include 12 BTS subsystem
|
|
#define BTSSITE_NUM 48 //BTS site include 6 BTS subsystem
|
|
#define BTS_SUB 12
|
|
#define BTS_E1 2
|
|
|
|
#define SVR_NUM 36
|
|
|
|
#define CONN_NUM 128
|
|
#define CLIENT_NUM 50
|
|
#define BTN_NUM 66
|
|
|
|
#define ALARM_NUM 20
|
|
#define CACHE_BUF 512
|
|
/***************************************************/
|
|
|
|
/***************************************************/
|
|
/* Macro definition of start ID for applet's button used by system device */
|
|
#define TS_START_BTN 0
|
|
#define RDEV_START_BTN 18
|
|
#define SVR_START_BTN 34
|
|
#define BSC_START_BTN 54
|
|
/***************************************************/
|
|
|
|
|
|
/***************************************************/
|
|
/* Macro define for Server's IP Address */
|
|
#define OMC_0 "172.18.128.1"
|
|
#define OMC_1 "172.18.129.1"
|
|
#define HLR_0 "172.18.132.1"
|
|
#define HLR_1 "172.18.133.1"
|
|
#define PPS_0 "172.18.136.1"
|
|
#define PPS_1 "172.18.137.1"
|
|
#define CDR_0 "172.18.160.1"
|
|
#define CDR_1 "172.18.161.1"
|
|
/***************************************************/
|
|
|
|
/***************************************************/
|
|
/* Macro define for Mysql Database */
|
|
#define HOST_NAME "localhost"
|
|
#define DB_NAME1 "mysql"
|
|
#define DB_PORT_NUM 0
|
|
#define SOCKET_NAME NULL
|
|
#define FLAGS 0
|
|
#define USER_NAME "root"
|
|
#define PASSWORD "rootaa"
|
|
/***************************************************/
|
|
|
|
/***************************************************/
|
|
/* Macro def for (UDP)Communication port used by OMC */
|
|
#define PORT_OUT 4951 //for sending message to ts
|
|
#define PORT_BASE 4951
|
|
#define PORT_REALSTAT 3 /* 4951 + 3 = 4954 */
|
|
#define PORT_CSTA 4 /* 4951 + 4 = 4955 */
|
|
#define PORT_COMM 5 /* 4951 + 5 = 4956 */
|
|
#define PORT_HEARTBEAT 6 /* 4951 + 6 = 4957 */
|
|
#define PORT_CLUSTER 27 /* 4951 + 27 =4978 */
|
|
#define BROADCAST_IP "172.18.255.255"
|
|
#define CLUSTER_IP "239.255.10.1"
|
|
#define BROADCAST 0 //if broadcast message
|
|
|
|
/***************************************************/
|
|
/* Macro def for shm key and sem key used by OMC */
|
|
#define COMM_FLAG_SHM_KEY 0x6a000000
|
|
#define COMM_FLAG_SHM_PERM 0666
|
|
#define COMM_FLAG_SEM_KEY 300
|
|
#define COMM_FLAG_SEM_PERM 0666
|
|
#define COMM_FLAG_SEM_NUM 1
|
|
#define COMM_FLAG_SIZE 1024
|
|
|
|
#define COMM_LIST_SHM_KEY 0x6a100000
|
|
#define COMM_LIST_SHM_PERM 0666
|
|
#define COMM_LIST_SEM_KEY 310
|
|
#define COMM_LIST_SEM_PERM 0666
|
|
#define COMM_LIST_SEM_NUM 1
|
|
|
|
#define STATUS_SHM_KEY 0x6a200000
|
|
#define STATUS_SHM_PERM 0666
|
|
#define STATUS_SEM_KEY 320
|
|
#define STATUS_SEM_PERM 0666
|
|
#define STATUS_SEM_NUM 1
|
|
|
|
#define CACHE_SHM_KEY 0x6a400000
|
|
#define CACHE_SHM_PERM 0666
|
|
#define CACHE_SEM_KEY 340
|
|
#define CACHE_SEM_PERM 0666
|
|
#define CACHE_SEM_NUM 1
|
|
|
|
#define BSS_SHM_KEY 0x6a600000
|
|
#define BSS_SHM_PERM 0666
|
|
#define BSS_SEM_KEY 360
|
|
#define BSS_SEM_PERM 0666
|
|
#define BSS_SEM_NUM 1
|
|
|
|
#define LED_SHM_KEY 0x6a800000
|
|
#define LED_SHM_PERM 0666
|
|
#define LED_SEM_KEY 380
|
|
#define LED_SEM_PERM 0666
|
|
#define LED_SEM_NUM 1
|
|
|
|
#define CLUSTER_SHM_KEY 0x6a900000
|
|
#define CLUSTER_SHM_PERM 0666
|
|
#define CLUSTER_SEM_KEY 390
|
|
#define CLUSTER_SEM_PERM 0666
|
|
#define CLUSTER_SEM_NUM 1
|
|
/***************************************************/
|
|
|
|
/*############################################################################
|
|
* shm structure
|
|
* between heartbeat transceiver and heartbeat processor
|
|
* &
|
|
* between heartbeat transceiver and svr cluster processor
|
|
*###########################################################################*/
|
|
typedef struct cache_list{
|
|
long msgSrcIP;
|
|
u_short msgLength;
|
|
BYTE msgContent[CACHE_BUF];
|
|
}cache_list;
|
|
|
|
typedef struct status_cahce{
|
|
//int send_flag;
|
|
/*this flag is only for server cluster funciton
|
|
*0/1/2=ignore cluster FSM influence,directly send heartbeat/cluster permit *to send heartbeat/can't send heartbeat,waiting cluster's info
|
|
*/
|
|
u_short msgReadSub;
|
|
u_short msgWriteSub;
|
|
cache_list msgcache[CACHE_BUF];
|
|
}status_cache;
|
|
|
|
/*############################################################################
|
|
* shm structure between real status processor and heartbeat processor
|
|
*###########################################################################*/
|
|
|
|
typedef struct clientinfo {
|
|
BYTE used_flag; // 0/1=not used/used
|
|
BYTE grp_id; // group which is requested by client now
|
|
BYTE is_responsed; // 0/1/2=not response/responsing/responsed
|
|
long ip;
|
|
unsigned int waittime; //if waittime>60seconds,timeout
|
|
BYTE updatetime[16]; //last time when client request info
|
|
} client_info;
|
|
|
|
typedef struct conninfo {
|
|
BYTE avail_flag; // 0/1=unavailable/available
|
|
BYTE disp_name; // 0/1=not display/display
|
|
char name[16];
|
|
char remark[44];
|
|
BYTE lsys_type;// local device system type
|
|
BYTE lsys_id; //local device system id
|
|
BYTE lsub_id; //local device subsystem id
|
|
BYTE rsys_type; //remote device system type
|
|
BYTE rsys_id; //remote device system id
|
|
BYTE rsub_id; //remote device subsystem id
|
|
} conn_info;
|
|
|
|
typedef struct btninfo {
|
|
BYTE used_flag; // 0/1=not use/used
|
|
BYTE sys_type; // device system type
|
|
BYTE sys_id; // device system id
|
|
BYTE sub_id; // device subsystem id
|
|
} btn_info;
|
|
|
|
typedef struct grp_simple_stat {
|
|
btn_info btn[BTN_NUM]; // relationship between button and device
|
|
unsigned int coord[2]; // X,Y coord for group icon
|
|
int critical; // critical counter
|
|
int alarm; // alarm counter
|
|
BYTE isinstalled; // 0/1=not install/install
|
|
BYTE ts_id[2]; // Transit switch id(default=99,no ts)
|
|
BYTE disp_name; // 0/1=not display/display
|
|
BYTE grp_name[17]; // Group name
|
|
BYTE grp_remark[45]; // remark about group
|
|
BYTE stat_amount; // number of status for group icon
|
|
BYTE stat_direct; // direction of display status (0/1=h/v)
|
|
BYTE ischanged;
|
|
/* 0/1=N/Y,process will send message to client if status is changed
|
|
*/
|
|
BYTE status;
|
|
/*0=critical ; 1=normal ; 2=alarm ; 3= uninstalled
|
|
*/
|
|
}grpsimple_stat;
|
|
|
|
typedef struct subts_detail_stat {
|
|
BYTE subtype; //subsystem status
|
|
BYTE timeout; //if the subsystem is timeout(0/1=timeout/not)
|
|
BYTE substat0[8];// simple status of this subsystem
|
|
/* substat0[0] -- if subsys is installed(0/1=not/yes)
|
|
* substat0[1] -- if subsys is normal(0/1=abnormal/normal)
|
|
* substat0[2] -- if subsys send master clock(0/1=not/sending)
|
|
* substat0[3] -- locking clock(0-7:2=normal,7=idle,other=abnormal)
|
|
*/
|
|
BYTE substat1[8]; // performance or status data of subsystem
|
|
/* substat1[0-1] -- CPU Load ('00'-'45')
|
|
* substat1[2-4] -- Clock frequency('000'-'255')
|
|
*/
|
|
|
|
BYTE e1stat0[TS_E1][8]; //simple status of all E1
|
|
/* e1[i][0] -- e1[i] installed/not installed (0/1=not/yes)
|
|
* e1[i][1] -- e1[i] layer 2 installed/not installed (0/1=not/yes)
|
|
* e1[i][2] -- e1[i] layer 1 connected/disconnected (0/1=not/yes)
|
|
* e1[i][3] -- e1[i] layer 2 connected/disconnected (0/1=not/yes)
|
|
* e1[i][4] -- e1[i] without/with ECHO CANCELLER (0/1=not/yes)
|
|
*/
|
|
BYTE e1stat1[TS_E1][8]; // performance or status data of all E1
|
|
/* e1[i][0-1] -- e1[i] idle channels('00'/'30')
|
|
*/
|
|
|
|
long lock_alarmtime;
|
|
/*last time inserting alarm log into db because of clock locking error
|
|
*/
|
|
long e1_alarmtime[TS_E1][2];
|
|
/*last time inserting alarm log into db because of e1 1,2th error
|
|
*/
|
|
BYTE version_info[16];
|
|
/*version information for the application
|
|
*/
|
|
BYTE updatetime[16]; //last time refreshing subsystem status
|
|
}subtsdetail_stat;
|
|
|
|
typedef struct subpw_detail_stat {
|
|
BYTE timeout; //if the subsystem is timeout(0/1=timeout/not)
|
|
BYTE substat[2]; // status of this subsystem(0/1=abnomal/normal)
|
|
/* substat[0] -- if subsys is installed(0/1=not/yes)
|
|
* substat[1] -- if subsys is normal(0/1=abnormal/normal)
|
|
*/
|
|
|
|
long pcard_alarmtime;
|
|
/*last time inserting alarm log into db because of power card error
|
|
*/
|
|
BYTE updatetime[16]; //last time refreshing subsystem status
|
|
}subpwdetail_stat;
|
|
|
|
typedef struct ts_detail_stat {
|
|
BYTE grp_id;
|
|
BYTE clock_status;//if master clock is normal(0/1=N/Y)
|
|
long clock_alarmtime;//master clock status
|
|
/*last time inserting alarm log into db because of master clock error
|
|
*/
|
|
subtsdetail_stat sub_detail[TS_SUB];
|
|
subpwdetail_stat subpw_detail[PW_SUB];
|
|
}tsdetail_stat;
|
|
|
|
typedef struct subts_simple_stat {
|
|
BYTE isinstalled;
|
|
BYTE ischanged;
|
|
/* 0/1=N/Y,process will send message to client if status is changed
|
|
*/
|
|
BYTE status;
|
|
/*0=critical ; 1=normal ; 2=alarm ; 3=uninstalled
|
|
*/
|
|
int critical; // critical counter
|
|
int alarm; // alarm counter
|
|
int waittime; // if TS subsystem is timeout
|
|
BYTE issent ; // if sending get request to timeout ts subsystem
|
|
} subtssimple_stat;
|
|
|
|
|
|
typedef struct ts_simple_stat {
|
|
BYTE isinstalled; // 0/1=N/Y
|
|
BYTE location; // 0/1=local/remote
|
|
BYTE ischanged;
|
|
/* 0/1=N/Y,process will send message to client if status is changed
|
|
*/
|
|
BYTE status;
|
|
/*0=critical ; 1=normal ; 2=alarm ; 3=uninstalled
|
|
*/
|
|
int critical; // critical counter
|
|
int alarm; // alarm counter
|
|
BYTE grp_id;
|
|
BYTE disp_name; // 0/1=not display/display
|
|
BYTE name[16];
|
|
BYTE remark[44];
|
|
int coord[2];
|
|
BYTE stat_amount; // number of status for ts icon
|
|
BYTE stat_direct; // direction of display status (0/1=h/v)
|
|
subtssimple_stat sub_simple[TS_SUB];
|
|
subtssimple_stat subpw_simple[PW_SUB];
|
|
} tssimple_stat;
|
|
|
|
typedef struct subeth_detail_stat {
|
|
BYTE timeout; //if the subsystem is timeout(0/1=timeout/not)
|
|
long self_ip; //ip address of LAN Module self
|
|
BYTE mac[6]; //physical address of LAN Module
|
|
|
|
BYTE substat[6];
|
|
/* substat[0] -- if LAN Module is installed(0/1)
|
|
* substat[1] -- if LAN Module is normal(0/1)
|
|
* substat[2] -- if there is unreachable ip(0/1)
|
|
* substat[3] -- if LAN Module upload program to csu(0/1)
|
|
* substat[4] -- if csu is availabe (0/1)
|
|
*/
|
|
|
|
BYTE cpu_load[2]; //CPU load of LAN module(hex value)
|
|
BYTE unreachable_ip[4]; //ip Can't be found by LAN Module (hex value)
|
|
long unreach_time;
|
|
|
|
long alarmtime[2];
|
|
/*CSU Upload program status
|
|
*alarmtime[0] -- can't reach target ip address
|
|
*alarmtime[1] -- uploading program
|
|
*/
|
|
BYTE version_info[16];
|
|
/*version information for the application
|
|
*/
|
|
char updatetime[16];
|
|
}subethdetail_stat;
|
|
|
|
typedef struct eth_detail_stat {
|
|
BYTE grp_id;
|
|
subethdetail_stat sub_detail[ETH_SUB];
|
|
}ethdetail_stat;
|
|
|
|
typedef struct subeth_simple_stat {
|
|
BYTE isinstalled;
|
|
BYTE ischanged;
|
|
/* 0/1=N/Y,process will send message to client if status is changed
|
|
*/
|
|
BYTE status;
|
|
/*0=critical ; 1=normal ; 2=alarm ; 3=uninstalled
|
|
*/
|
|
int critical; // critical counter
|
|
int alarm; // alarm counter
|
|
int waittime; // if TS subsystem is timeout
|
|
BYTE issent ; // if sending get request to timeout ts subsystem
|
|
} subethsimple_stat;
|
|
|
|
typedef struct eth_simple_stat {
|
|
BYTE isinstalled; // 0/1=N/Y
|
|
BYTE ischanged;
|
|
/* 0/1=N/Y,process will send message to client if status is changed
|
|
*/
|
|
BYTE status;
|
|
/*0=critical ; 1=normal ; 2=alarm ; 3=uninstalled
|
|
*/
|
|
int critical; // critical counter
|
|
int alarm; // alarm counter
|
|
BYTE grp_id;
|
|
subethsimple_stat sub_simple[ETH_SUB];
|
|
} ethsimple_stat;
|
|
|
|
typedef struct subrdev_detail_stat {
|
|
BYTE subtype; //0-4
|
|
|
|
BYTE timeout; //if the subsystem is timeout(0/1=timeout/not)
|
|
BYTE substat0[6];
|
|
/* substat[0] -- if subsys is installed(0/1=N/Y)
|
|
* substat[1] -- if subsys is normal(0/1=N/Y)
|
|
* sysstat[2] -- if send master clock(0/1=N/Y)
|
|
*/
|
|
BYTE substat1[6];
|
|
/* substat[0-1] -- used CPU(00/30)
|
|
*/
|
|
|
|
BYTE e1stat0[RDEV_E1][8];
|
|
/* e1[0] -- e1 installed/not installed (0/1=N/Y)
|
|
* e1[1] -- e1 layer 1 connected/disconnected (0/1=N/Y)
|
|
* e1[2] -- e1 layer 2 connected/disconnected (0/1=N/Y)
|
|
*/
|
|
BYTE e1stat1[RDEV_E1][8];
|
|
/* e1[i][0-1] -- e1 idle channels('00'--'30')
|
|
*/
|
|
|
|
long e1_alarmtime[RDEV_E1][2];
|
|
/* alarmtime[i][0] -- e1[i] layer 1
|
|
* alarmtime[i][1] -- e1[i] layer 2
|
|
*/
|
|
BYTE version_info[16];
|
|
/*version information for the application
|
|
*/
|
|
char updatetime[16];
|
|
}subrdevdetail_stat;
|
|
|
|
typedef struct rdev_detail_stat {
|
|
BYTE grp_id;
|
|
BYTE systype; //05=VPS;06=PCR
|
|
BYTE clock_status;//if master clock is normal(0/1=N/Y)
|
|
long clock_alarmtime;//master clock status
|
|
/*last time inserting alarm log into db because of master clock error
|
|
*/
|
|
subrdevdetail_stat sub_detail[RDEV_SUB];
|
|
}rdevdetail_stat;
|
|
|
|
typedef struct subrdev_simple_stat {
|
|
BYTE isinstalled;
|
|
BYTE ischanged;
|
|
/* 0/1=N/Y,process will send message to client if status is changed
|
|
*/
|
|
BYTE status;
|
|
/*0=critical ; 1=normal ; 2=alarm ; 3=uninstalled
|
|
*/
|
|
int critical; // critical counter
|
|
int alarm; // alarm counter
|
|
int waittime; // if Rdev subsystem is timeout
|
|
BYTE issent ; // if sending get request to timeout ts subsystem
|
|
} subrdevsimple_stat;
|
|
|
|
typedef struct rdev_simple_stat {
|
|
BYTE isinstalled; // 0/1=N/Y
|
|
BYTE location; // 0/1=local/remote
|
|
BYTE ischanged;
|
|
/* 0/1=N/Y,process will send message to client if status is changed
|
|
*/
|
|
BYTE status;
|
|
/*0=critical ; 1=normal ; 2=alarm ; 3=uninstalled
|
|
*/
|
|
int critical; // critical counter
|
|
int alarm; // alarm counter
|
|
BYTE grp_id;
|
|
BYTE disp_name; // 0/1=not display/display
|
|
BYTE name[16];
|
|
BYTE remark[44];
|
|
int coord[2];
|
|
BYTE stat_amount; // number of status for rdev icon
|
|
BYTE stat_direct; // direction of display status (0/1=h/v)
|
|
subrdevsimple_stat sub_simple[RDEV_SUB];
|
|
} rdevsimple_stat;
|
|
|
|
typedef struct bts_simple_stat {
|
|
BYTE isinstalled; // 0/1=not/installed
|
|
BYTE bts_site_id;
|
|
BYTE bts_link_id;
|
|
BYTE location; // 0/1=local/remote
|
|
BYTE ischanged;
|
|
/* 0/1=N/Y,process will send message to client if status is changed
|
|
*/
|
|
BYTE status;
|
|
/*0=critical ; 1=normal ; 2=alarm ; 3=uninstalled
|
|
*/
|
|
int critical; // critical counter
|
|
int alarm; // alarm counter
|
|
BYTE grp_id;
|
|
BYTE disp_name; // 0/1=not display/display
|
|
BYTE name[16];
|
|
BYTE remark[44];
|
|
int coord[2];
|
|
BYTE stat_amount; // number of status for bts site icon
|
|
BYTE stat_direct; // direction of display status (0/1=h/v)
|
|
} btssimple_stat;
|
|
|
|
typedef struct bsc_simple_stat {
|
|
BYTE isinstalled; // 0/1=not/installed
|
|
BYTE location; // 0/1=local/remote
|
|
BYTE timeout; // 0/1=timeout/not timeout
|
|
BYTE ischanged;
|
|
/* 0/1=N/Y,process will send message to client if status is changed
|
|
*/
|
|
BYTE status;
|
|
/*0=critical ; 1=normal ; 2=alarm ; 3=uninstalled
|
|
*/
|
|
int critical; // critical counter
|
|
int alarm; // alarm counter
|
|
BYTE grp_id;
|
|
BYTE disp_name; // 0/1=not display/display
|
|
BYTE name[16];
|
|
BYTE remark[44];
|
|
int coord[2];
|
|
BYTE stat_amount; // number of status for bsc icon
|
|
BYTE stat_direct; // direction of display status (0/1=h/v)
|
|
} bscsimple_stat;
|
|
|
|
|
|
/* structure for server detail status in heartbeat processor
|
|
************************************/
|
|
typedef struct svr_detail_stat {
|
|
BYTE timeout; //if the subsystem is timeout(0/1=not/timeout)
|
|
BYTE grp_id;
|
|
BYTE systype;
|
|
BYTE sys_id;
|
|
int cpuused;
|
|
int viravail;
|
|
int virfree;
|
|
int memavail;
|
|
int memfree;
|
|
int hdavail;
|
|
int hdfree;
|
|
BYTE init_progress[3];
|
|
BYTE proc_id[16];
|
|
BYTE proc_status[16];
|
|
BYTE subproc_num[16];
|
|
BYTE sysstat[16]; // 0/1=abnormal/normal
|
|
/*
|
|
* 0=Normal,1=abnormal
|
|
*sysstat[0]: system status
|
|
* sysstat[1]:cpu status sysstat[2]:swap status
|
|
* sysstat[3]:memory status sysstat[4]:disk status
|
|
* sysstat[5]:proc_status sysstat[6]:server working status
|
|
* sysstat[7]:database status
|
|
*/
|
|
long alarmtime[6];
|
|
|
|
BYTE version_info[16];
|
|
/*version information for the application
|
|
*/
|
|
BYTE updatetime[16];
|
|
} svrdetail_stat;
|
|
|
|
typedef struct svr_simple_stat {
|
|
BYTE grp_id;
|
|
BYTE location;
|
|
BYTE isinstalled;
|
|
int waittime;
|
|
BYTE ischanged;
|
|
/* 0/1=N/Y,process will send message to client if status is changed
|
|
*/
|
|
BYTE status;
|
|
/*0=critical ; 1=normal ; 2=alarm ; 3=uninstalled
|
|
*/
|
|
int critical; // critical counter
|
|
int alarm; // alarm counter
|
|
BYTE disp_name; // 0/1=not display/display
|
|
BYTE name[16];
|
|
BYTE remark[44];
|
|
int coord[2];
|
|
BYTE stat_amount; // number of status for bts site icon
|
|
BYTE stat_direct; // direction of display status (0/1=h/v)
|
|
} svrsimple_stat;
|
|
|
|
struct alarm_log {
|
|
BYTE systype;
|
|
BYTE sys_id;
|
|
BYTE sub_id;
|
|
BYTE e1no;
|
|
BYTE alarmnum;
|
|
BYTE occurtime[16];
|
|
};
|
|
|
|
typedef struct ts_alarm_log {
|
|
int readSub;
|
|
int writeSub;
|
|
struct alarm_log alrlist[ALARM_NUM];
|
|
} tsalarm_log;
|
|
|
|
typedef struct ask_alarm_log {
|
|
long client_ip; //ip address where the request is sent from
|
|
int init_Req_Flag;
|
|
int readSub;
|
|
int writeSub;
|
|
struct alarm_log alrlist[ALARM_NUM];
|
|
} askalarm_log;
|
|
|
|
/*
|
|
* shared memory structure
|
|
*************************/
|
|
typedef struct shm_ts_stat {
|
|
BYTE init_flag;
|
|
BYTE sys_struct;//0/1=single/double plane system structure
|
|
grpsimple_stat grp_simple[GRP_NUM];
|
|
tsdetail_stat ts_detail[TS_NUM];
|
|
tssimple_stat ts_simple[TS_NUM];
|
|
ethdetail_stat eth_detail[ETH_NUM];
|
|
ethsimple_stat eth_simple[ETH_NUM];
|
|
rdevdetail_stat vps_detail[RDEV_NUM];
|
|
rdevsimple_stat vps_simple[RDEV_NUM];
|
|
rdevdetail_stat pcr_detail[RDEV_NUM];
|
|
rdevsimple_stat pcr_simple[RDEV_NUM];
|
|
svrdetail_stat svr_detail[SVR_NUM];
|
|
svrsimple_stat svr_simple[SVR_NUM];
|
|
/*
|
|
sysnum=systype*2+sys_id
|
|
svr_simple[0]=OMC-0
|
|
svr_simple[1]=OMC-1
|
|
svr_simple[2]=HLR-0
|
|
svr_simple[3]=HLR-1
|
|
svr_simple[4]=PRP-0
|
|
svr_simple[5]=PRP-1
|
|
svr_simple[6]=CDR-0
|
|
svr_simple[7]=CDR-1
|
|
*/
|
|
bscsimple_stat bsc_simple[BSC_NUM];
|
|
|
|
BYTE global_status[ETH_NUM];
|
|
conn_info connection[CONN_NUM];
|
|
client_info client[CLIENT_NUM];
|
|
/*global_status[0]= if normal ;global_status[1]= if changed*/
|
|
tsalarm_log alarmlog;
|
|
} shm_stat;
|
|
|
|
/*****************************************************************************/
|
|
/* Lan Module's global status*/
|
|
typedef struct global_status{
|
|
BYTE eth_mac[ETH_NUM][ETH_SUB][7];
|
|
long update_time[ETH_NUM][ETH_SUB];
|
|
long alarm_time[ETH_NUM][ETH_SUB];
|
|
}eth_global;
|
|
/***************************************************/
|
|
|
|
/*****************************************************************************/
|
|
/* structure for BSS simple status in heartbeat processor
|
|
************************************/
|
|
typedef struct bss_simple_stat {
|
|
BYTE isinstalled[BSS_NUM];
|
|
BYTE ischanged[BSS_NUM];
|
|
BYTE isnormal[BSS_NUM];
|
|
unsigned int waittime[BSS_NUM];
|
|
} bsssimple_stat;
|
|
/***************************************************/
|
|
|
|
#endif /*OMC_PUBLIC__H */
|