Leaked source code of windows server 2003
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.

65 lines
1.9 KiB

  1. // Copyright (c) 1993-1999 Microsoft Corporation
  2. #ifndef _CMDLINE_HXX_
  3. #define _CMDLINE_HXX_
  4. #include "idict.hxx"
  5. #include "cmdana.hxx"
  6. class CommandLine : public _cmd_arg
  7. {
  8. private:
  9. IDICT* pArgDict; // arguments dictionary
  10. public:
  11. CommandLine()
  12. {
  13. pArgDict = NULL;
  14. }
  15. // register argument vector with the command processor
  16. void RegisterArgs( char *[], short );
  17. // process arguments. This is the command analyser main loop, so to speak.
  18. STATUS_T ProcessArgs();
  19. // get the next argument from the argument vector.
  20. char * GetNextArg();
  21. // push back argument. Undo the effect of GetNextArg.
  22. void UndoGetNextArg();
  23. // depending upon the switch argument type, bump the argument pointer to
  24. // the next switch.
  25. STATUS_T BumpThisArg( char **, unsigned short );
  26. // set any post switch processing defaults
  27. STATUS_T SetPostDefaults();
  28. void SetPostDefaults64();
  29. // process a filename switch .
  30. STATUS_T ProcessFilenameSwitch( short, char * );
  31. // process a multiple arguments switch.
  32. STATUS_T ProcessMultipleSwitch( short, char *, char * );
  33. // process a onetime argument switch.
  34. STATUS_T ProcessOnetimeSwitch( short, char * );
  35. // process an ordinary switch
  36. STATUS_T ProcessOrdinarySwitch( short, char * );
  37. // process a simple switch multiply defined.
  38. STATUS_T ProcessSimpleMultipleSwitch( short, char * );
  39. void Confirm();
  40. STATUS_T Help();
  41. char* GetCompilerVersion();
  42. char* GetCompileTime();
  43. };
  44. #endif // _CMDLINE_HXX_