/************************************************************/
/* サーバ識別名をチェックして,CGMTを切り替える処理 */
/* argv[2]:サーバ識別名 argv[5]:サーバ状態パラメタ */
/* argv[4]:サーバ種別 argv[6]:開始/終了パラメタ */
/************************************************************/
#include <stdio.h>
#define KIND_ONL "online"
#define KIND_SBY "standby"
#define SERV_START "-s"
#define SERV_END "-e"
#define SERV_ABORT "-a"
#define STATUS_START "start"
#define STATUS_END "end"
#define TP1_11 "opentp11"
#define TP1_12 "opentp12"
#define CGMTCMD "/etc/mtconnect "
#define CGMT_FILE "/dev/cgmt0 "
#define CGMT_CONNECT "-c"
#define CGMT_DISCNNCT "-d"
#define CGMT_RESET "-c -r"
#define CMD_ZERO 0
main(argc,argv)
int argc;
char *argv[];
{
char cgmt_cmd[40];
if(strcmp(argv[2],TP1_11)==CMD_ZERO){
/*-----------------------------------------------------*/
/* サーバ識別名 "opentp11" の状態変化 */
/*-----------------------------------------------------*/
if(strcmp(argv[4],KIND_ONL) == CMD_ZERO){
/*---サーバ種別 online ------------------------------------*/
if((strcmp(argv[5],SERV_START) == CMD_ZERO) &&
(strcmp(argv[6],STATUS_START) == CMD_ZERO)){
/*-----------------------------------------------------*/
/* 実行サーバ:opentp11の起動処理開始 */
/* CGMTをアクセス可能にします。 */
/*-----------------------------------------------------*/
memset(cgmt_cmd,NULL,40);
strcpy(cgmt_cmd,CGMTCMD);
strcat(cgmt_cmd,CGMT_FILE);
strcat(cgmt_cmd,CGMT_CONNECT);
system(cgmt_cmd);
return;
}else;
if((strcmp(argv[5],SERV_ABORT) == CMD_ZERO) &&
(strcmd(argv[6],STATUS_START) == CMD_ZERO)){
/*-----------------------------------------------------*/
/* 実行サーバ:opentp11のサーバ障害 */
/* CGMTをアクセス不可能にします。 */
/*-----------------------------------------------------*/
memset(cgmt_cmd,NULL,40);
strcpy(cgmt_cmd,CGMTCMD);
strcat(cgmt_cmd,CGMT_FILE);
strcat(cgmt_cmd,CGMT_DISCNNCT);
system(cgmt_cmd);
return;
}else;
:
:
:
:
} /*---実行サーバ処理終了-----------------------------*/
else;
if((strcmp(argv[4],KIND_SBY) == CMD_ZERO){
/*---サーバ種別 standby -----------------------------------*/
if((strcmp(argv[5],SERV_START) == CMD_ZERO) &&
(strcmp(argv[6],STATUS_START) == CMD_ZERO)){
/*-----------------------------------------------------*/
/* 待機サーバ:opentp11の起動処理開始 */
/* CGMTをアクセス不可能にします。 */
/*-----------------------------------------------------*/
memset(cgmt_cmd,NULL,40);
strcpy(cgmt_cmd,CGMTCMD);
strcat(cgmt_cmd,CGMT_FILE);
strcat(cgmt_cmd,CGMT_DISCNNCT);
system(cgmt_cmd);
return;
}else;
if((strcmp(argv[5],SERV_ABORT) == CMD_ZERO) &&
(strcmd(argv[6],STATUS_START) == CMD_ZERO)){
/*-----------------------------------------------------*/
/* 実行サーバ:opentp11のサーバ障害 */
/* 待機サーバ:opentp11の系切り替え処理開始 */
/* CGMTをリセット後,アクセス可能にします。 */
/*-----------------------------------------------------*/
memset(cgmt_cmd,NULL,40);
strcpy(cgmt_cmd,CGMTCMD);
strcat(cgmt_cmd,CGMT_FILE);
strcat(cgmt_cmd,CGMT_RESET);
system(cgmt_cmd);
return;
}else;
:
:
:
:
} /*---待機サーバ処理終了-----------------------------*/
else;
}
else; /*---サーバ:opentp11処理終了-----------------------*/
if(strcmp(argv[2],TP1_12) == CMD_ZERO){
/*-----------------------------------------------------*/
/* サーバ識別名 "opentp12" の状態変化 */
/*-----------------------------------------------------*/
:
:
:
:
}
else;
} |