mirror of
https://github.com/reactos/reactos.git
synced 2025-06-20 07:36:05 +00:00
Create a branch for header work.
svn path=/branches/header-work/; revision=45691
This commit is contained in:
parent
14fe274b1c
commit
9ea495ba33
19538 changed files with 0 additions and 1063950 deletions
|
@ -1,222 +0,0 @@
|
|||
/*
|
||||
* TIMER.C - timer internal command.
|
||||
*
|
||||
* clone from 4nt timer command
|
||||
*
|
||||
* 20 Aug 1999
|
||||
* started - Paolo Pantaleo <paolopan@freemail.it>
|
||||
*/
|
||||
|
||||
#include <precomp.h>
|
||||
|
||||
#ifdef INCLUDE_CMD_TIMER
|
||||
|
||||
|
||||
#define NCS_NOT_SPECIFIED -1
|
||||
#define NCS_ON 1
|
||||
#define NCS_OFF 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//print timer value
|
||||
#define PT(format) PrintElapsedTime(GetTickCount()-cT,format)
|
||||
|
||||
|
||||
//current timer Time (at wich started to count)
|
||||
#define cT clksT[clk_n]
|
||||
|
||||
//current timer status
|
||||
#define cS clksS[clk_n]
|
||||
|
||||
|
||||
static VOID
|
||||
PrintElapsedTime (DWORD time,INT format)
|
||||
{
|
||||
DWORD h,m,s,ms;
|
||||
|
||||
TRACE ("PrintElapsedTime(%d,%d)",time,format);
|
||||
|
||||
switch (format)
|
||||
{
|
||||
case 0:
|
||||
ConOutResPrintf(STRING_TIMER_HELP1, time);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
ms = time % 1000;
|
||||
time /= 1000;
|
||||
s = time % 60;
|
||||
time /=60;
|
||||
m = time % 60;
|
||||
h = time / 60;
|
||||
ConOutResPrintf(STRING_TIMER_HELP2,
|
||||
h, cTimeSeparator,
|
||||
m, cTimeSeparator,
|
||||
s, cDecimalSeparator, ms/10);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INT CommandTimer (LPTSTR param)
|
||||
{
|
||||
// all timers are kept
|
||||
static DWORD clksT[10];
|
||||
|
||||
// timers status
|
||||
// set all the clocks off by default
|
||||
static BOOL clksS[10]={FALSE,FALSE,FALSE,FALSE,
|
||||
FALSE,FALSE,FALSE,FALSE,FALSE,FALSE};
|
||||
|
||||
// TRUE if /S in command line
|
||||
BOOL bS = FALSE;
|
||||
|
||||
// avoid to set clk_n more than once
|
||||
BOOL bCanNSet = TRUE;
|
||||
|
||||
INT NewClkStatus = NCS_NOT_SPECIFIED;
|
||||
|
||||
// the clock number specified on the command line
|
||||
// 1 by default
|
||||
INT clk_n=1;
|
||||
|
||||
// output format
|
||||
INT iFormat=1;
|
||||
|
||||
|
||||
// command line parsing variables
|
||||
INT argc;
|
||||
LPTSTR *p;
|
||||
|
||||
INT i;
|
||||
|
||||
if (_tcsncmp (param, _T("/?"), 2) == 0)
|
||||
{
|
||||
ConOutResPrintf(STRING_TIMER_HELP3, cTimeSeparator, cTimeSeparator, cDecimalSeparator);
|
||||
return 0;
|
||||
}
|
||||
|
||||
nErrorLevel = 0;
|
||||
|
||||
p = split (param, &argc, FALSE);
|
||||
|
||||
//read options
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
//set timer on
|
||||
if (!(_tcsicmp(&p[i][0],_T("on"))) && NewClkStatus == NCS_NOT_SPECIFIED)
|
||||
{
|
||||
NewClkStatus = NCS_ON;
|
||||
continue;
|
||||
}
|
||||
|
||||
//set timer off
|
||||
if (!(_tcsicmp(&p[i][0],_T("off"))) && NewClkStatus == NCS_NOT_SPECIFIED)
|
||||
{
|
||||
NewClkStatus = NCS_OFF;
|
||||
continue;
|
||||
}
|
||||
|
||||
// other options
|
||||
if (p[i][0] == _T('/'))
|
||||
{
|
||||
// set timer number
|
||||
if (_istdigit(p[i][1]) && bCanNSet)
|
||||
{
|
||||
clk_n = p[i][1] - _T('0');
|
||||
bCanNSet = FALSE;
|
||||
continue;
|
||||
}
|
||||
|
||||
// set s(plit) option
|
||||
if (_totupper(p[i][1]) == _T('S'))
|
||||
{
|
||||
bS = TRUE;
|
||||
continue;
|
||||
}
|
||||
|
||||
// specify format
|
||||
if (_totupper(p[i][1]) == _T('F'))
|
||||
{
|
||||
iFormat = p[i][2] - _T('0');
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// do stuff (start/stop/read timer)
|
||||
if(NewClkStatus == NCS_ON)
|
||||
{
|
||||
cT=GetTickCount();
|
||||
cS=TRUE;
|
||||
|
||||
ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
|
||||
ConOutPuts(GetTimeString());
|
||||
freep(p);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(bS)
|
||||
{
|
||||
if(cS)
|
||||
{
|
||||
ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
|
||||
ConOutPuts(GetTimeString());
|
||||
PrintElapsedTime(GetTickCount()-cT, iFormat);
|
||||
freep(p);
|
||||
return 0;
|
||||
}
|
||||
|
||||
cT=GetTickCount();
|
||||
cS=TRUE;
|
||||
ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
|
||||
ConOutPuts(GetTimeString());
|
||||
freep(p);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (NewClkStatus == NCS_NOT_SPECIFIED)
|
||||
{
|
||||
if (cS)
|
||||
{
|
||||
cS=FALSE;
|
||||
ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
|
||||
ConOutPuts(GetTimeString());
|
||||
PrintElapsedTime(GetTickCount()-cT, iFormat);
|
||||
freep(p);
|
||||
return 0;
|
||||
}
|
||||
|
||||
cT=GetTickCount();
|
||||
cS=TRUE;
|
||||
ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
|
||||
ConOutPuts(GetTimeString());
|
||||
freep(p);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if (NewClkStatus == NCS_OFF)
|
||||
{
|
||||
if (cS)
|
||||
{
|
||||
cS=FALSE;
|
||||
ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
|
||||
ConOutPuts(GetTimeString());
|
||||
PrintElapsedTime(GetTickCount()-cT, iFormat);
|
||||
freep(p);
|
||||
return 0;
|
||||
}
|
||||
ConOutResPrintf (STRING_TIMER_TIME,clk_n,cS?_T("ON"):_T("OFF"));
|
||||
ConOutPuts(GetTimeString());
|
||||
freep(p);
|
||||
return 0;
|
||||
}
|
||||
|
||||
freep(p);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* INCLUDE_CMD_TIMER */
|
Loading…
Add table
Add a link
Reference in a new issue