This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
AbetoArmarios_Web/Source/udrive/docs/SRC/unicmd.c
2007-06-18 10:53:18 +00:00

96 lines
2.2 KiB
C

// Copyright 2004 - 2007 The Uniform Server Development Team
// File: unicmd.c
// Author: Deepak Thukral
// Date: 12/20/2006
// Usage: [FILE].exe start/stop [start options: DRIVE LETTER(char), MY SQL(string = mysql)]
// version 0.1
// Include Headers
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <stddef.h>
// End include headers
// Start Server funtion. Arguments required (drive letter and mysql option)
int startServer(char drive, int opt)
{
if(tolower(drive) == 'b' || tolower(drive) < 97 || tolower(drive) >122){
printf("Invalid Drive Letter, plese choose [A-Z] exculding drive B");
return 1;
}
drive = toupper(drive);
char buff1[100];
char buff2[100];
sprintf(buff1, "Server_start.bat %c mysql 0 0", drive);
sprintf(buff2, "Server_start.bat %c", drive);
if(opt)
system(buff1);
else
system(buff2);
return 0;
}
// Stop Server
int stopServer(int a)
{
system("Stop.bat");
return 0;
}
// Print Usage
void printUsage(int a){
printf("Usage:\n unicmd.exe start [start options: w(drive letter), mysql]\n e.g\n unicmd.exe start w mysql\n unicmd.exe stop");
return;
}
// Main
int main(int argc, char *argv[])
{
//Check arguments
if(argc < 2 || argc > 4) {printUsage(1);return 0;}
if(_tcsicmp(argv[1],"start") && _tcsicmp(argv[1],"stop")){printUsage(1);return 0;}
//Start is supplied
if(_tcsicmp(argv[1],"start") == 0){
int excode;
if(argc == 2){
excode = startServer('w', 0);
if(!excode)printf("Uniform Server has started successfully.");
return 0;
}
if(argc == 3){
excode = startServer(argv[2][0], 0);
if(!excode)printf("Uniform Server has started successfully.");
return 0;
}
else{
if(argv[3] == "mysql")
excode = startServer(argv[2][0], 1);
else
excode = startServer(argv[2][0], 0);
}
if(!excode)printf("Uniform Server has started successfully.");
return 0;
}
// Stop is supplied
if(_tcsicmp(argv[1],"stop") == 0){
int excode = stopServer(1);
if(!excode)printf("Uniform Server has stopped successfully.");
return 0;
}
return 0;
}