/******************************************************************* ModuleName: scn_common FileName: scn_common.h DESCRIPTION:common data struct define AUTHOR: gaoyuan History: Date Version ========================== 13/05/2004 1.3 07/22/2003 1.2 04/16/2003 1.1 11/20/2002 1.0 ********************************************************************/ #ifndef SCN_COMMON_H__ #define SCN_COMMON_H__ #include using namespace std; #ifndef SAM_PRIVATE_EXPORTS #ifdef _WINDOWS64 #ifdef SAM_COMMON_EXPORTS #define SAM_COMMON_API __declspec(dllexport) #else #define SAM_COMMON_API __declspec(dllimport) #pragma comment(lib,"libscn_common.lib") #endif #else #include #endif #else #ifdef _WINDOWS64 #ifdef SAM_PRIVATE_EXPORTS #define SAM_PRIVATE_API __declspec(dllexport) #else #define SAM_PRIVATE_API __declspec(dllimport) #endif #endif #endif namespace NS_SYSADMIN { #ifndef SAM_PRIVATE_EXPORTS #ifdef _WINDOWS64 class SAM_COMMON_API CScnPub #else class CScnPub #endif #else class SAM_PRIVATE_API CScnPub #endif { public: CScnPub(); explicit CScnPub(int is_readwrite); ~CScnPub(); int SetNetCardStatus(char *card_id,unsigned char card_status); //int IsProcRun(const int proc_id); //int IsProcRun(const int scn_id, const int scn_inst,const int subscn_id, const int subscn_inst,const char *proc_alias, int &proc_id ); /* int Name_to_ID(const char *app_name, const char *ctx_name, const char *node_name, int &app_id, int &ctx_no, int &node_id ); */ int Name_to_ID(const char * subscn_name, const char * scn_name, const char *node_name, int &subscn_id, int &scn_id, int &node_id ); /* int ID_to_Name(const int app_id, const int ctx_no, const int node_id, char *app_name, char *ctx_name, char *node_name); */ int ID_to_Name(const int subscn_id, const int scn_id, const int node_id, char *subscn_name, char *scn_name, char *node_name); int scnlabel_name2id (int scn_id, const char* scn_label, int& scn_inst); int scnlabel_id2name (int scn_id, int scn_inst, char* scn_label); int subscnlabel_id2name (int scn_id, int scn_inst, int subscn_id, int subscn_inst, char* subscn_label); int subscnlabel_name2id (int scn_id, const char* scn_label, int subscn_id, const char* subscn_label, int& subscn_inst); int scn_id_name (int &scn_id, char* scn_name); int subscn_id_name (int &subscn_id, char* subscn_name); protected: int SetSystemInfo(); int SetSystemInfo(int is_readwrite); static char* MapFile(const char* file_name, const int stab_total_size); static int UMapFile(char* addr_t, const int size); #ifndef _WINDOWS64 //semaphore operations static int InitSem(const key_t key,const int nsems = 1); //initial semaphore static int p(const int sem_id, const int sem_num = 0); static int v(const int sem_id, const int set_num = 0); #else //semaphore operations static int p(const char* sem_name, const int sem_num); static int v(const char* sem_name, const int sem_num = 1, const int release_num = 1); #endif public: int m_ProcReportSemid; int m_NetStatusSemid; int m_AppStatusSemid; struct PROC_REPORT_INFO *m_ProcReportInfo; struct NET_CARD_STATUS *m_NetStatusInfo; struct SUBSCN_STATUS_INFO *m_ScnStatusInfo; protected: int m_ProcessNo; int m_TotalBufSize; public: static const char PATH_VIRGULE = '/'; }; } #endif