int main(
int argc,
char *argv[])
{
int retval = 0;
UINT32 rc = 0;
UINT8 state = 0;
char phoneNumberFlag = 0;
INT8 phoneNumber[16];
INT8 pinCode[16];
INT8 alarmMsg[64];
memset(phoneNumber, 0, sizeof(phoneNumber));
memset(pinCode, 0, sizeof(pinCode));
strcpy(pinCode, "0000");
while((retval = getopt(argc, argv, "hp:P:")) != -1)
{
switch(retval)
{
case 'p':
strcpy(phoneNumber, optarg);
phoneNumberFlag = 1;
break;
case 'P':
memset(pinCode, 0, sizeof(pinCode));
strcpy(pinCode, optarg);
break;
case '?':
case 'h':
default:
printf("Power Alarm program.\n\n");
printf("Usage: ./power [OPTIONS]\n\n");
printf("Options:\n");
printf("\t%-8s Phone Number\n", "-p");
printf("\t%-8s PIN Code. Default PIN Code = 0000\n", "-P");
printf("\n");
return;
}
}
if(rc !=
MISC_ERR_OK) printf(
"MX_RTU_Dual_Power1_Get(&state), return code = %d\r\n", rc);
else
{
if(phoneNumberFlag)
{
if(state == 0)
{
memset(alarmMsg, 0, sizeof(alarmMsg));
strcpy(alarmMsg, "Power1 disconnect of Moxa RTU");
{
printf("MX_RTU_SMS_Send_Ascii(%s, %s, %s, %d), return code = %d\r\n", phoneNumber, pinCode, alarmMsg, strlen(alarmMsg), rc);
exit(1);
}
}
}
else
{
if(state == 0)
{
printf("Power1 disconnect of Moxa RTU\r\n");
}
}
}
if(rc !=
MISC_ERR_OK) printf(
"MX_RTU_Dual_Power2_Get(&state), return code = %d\r\n", rc);
else
{
if(phoneNumberFlag)
{
if(state == 0)
{
memset(alarmMsg, 0, sizeof(alarmMsg));
strcpy(alarmMsg, "Power2 disconnect of Moxa RTU");
{
printf("MX_RTU_SMS_Send_Ascii(%s, %s, %s, %d), return code = %d\r\n", phoneNumber, pinCode, alarmMsg, strlen(alarmMsg), rc);
exit(1);
}
}
}
else
{
if(state == 0)
{
printf("Power2 disconnect of Moxa RTU\r\n");
}
}
}
return 0;
}