Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1988-1999 Microsoft Corporation
Module Name:
ckeys.c
Abstract:
Dummy support for DOS KEYS command
--*/
#include "cmd.h"
extern TCHAR KeysStr[]; extern struct envdata CmdEnv ;
/* global variables */ int KeysFlag = 0; /* KeysFlag indicates on / off */
/**************** START OF SPECIFICATIONS ***********************/ /* */ /* SUBROUTINE NAME: eKeys */ /* */ /* DESCRIPTIVE NAME: Keys internal command */ /* */ /* FUNCTION: If no argument supplied then display the state */ /* of on / off. If argument is on / off then */ /* change the state. If argument is list then */ /* display the stack. */ /* */ /* NOTES: New for OS/2 1.2. */ /* */ /* ENTRY POINT: eKeys */ /* LINKAGE: */ /* */ /* INPUT: */ /* n */ /* */ /* EXIT-NORMAL: */ /* returns SUCCESS */ /* */ /* EXIT-ERROR: */ /* none. */ /* */ /* EFFECTS: */ /* */ /* INTERNAL REFERENCES: */ /* ROUTINES: */ /* PutStdErr */ /* PutStdOut */ /* TokStr */ /* strcmpi */ /* strncpy */ /* */ /* EXTERNAL REFERENCES: */ /* ROUTINES: */ /**************** END OF SPECIFICATIONS *************************/
eKeys( n ) struct cmdnode *n; /* the command node for the Keys command */ { TCHAR *argptr; /* pointer to tozenized argument */
/* get the value of the argument pointer */ argptr = TokStr( n->argptr, 0, TS_NOFLAGS );
/* take action based on the argument */
if ((*argptr == 0) && (KeysFlag)) { PutStdOut( MSG_KEYS_ON, NOARGS ); }
else if ((*argptr == 0) && (!KeysFlag)) { PutStdOut( MSG_KEYS_OFF, NOARGS ); }
else if (!(argptr[ mystrlen( argptr ) + 1 ] == 0)) { /* too many parameters */ PutStdErr( MSG_BAD_SYNTAX, NOARGS ); }
else if (_tcsicmp( argptr, TEXT("ON") ) == 0) { /* set keys on */ KeysFlag = TRUE; SetEnvVar(KeysStr, TEXT("ON"), &CmdEnv); } else if (_tcsicmp( argptr, TEXT("OFF") ) == 0) { /* set keys off */ KeysFlag = FALSE; SetEnvVar(KeysStr, TEXT("OFF"), &CmdEnv); }
else if (_tcsicmp( argptr, TEXT("LIST") ) == 0) { }
else { /* invalid parameter */ PutStdErr( MSG_BAD_PARM1, NOARGS ); }
return SUCCESS;
} /* eKeys */
|