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.
|
|
/*
* the format strings may be: * .* must match exactly * .*\*.* head and tail must match, with wild card in middle * .*# head must match. tail can either be adjacent or next word * at the moment '-' is not treated specialy * note that 'middle' may be at either end since '.*' matches null. */
#define TAKESARG 0x20 /* tag to indicate argument or not */
#define FLAG 1 /* set the flag */
#define STRING 2 | TAKESARG /* set the string, either from here, or next word */
#define SUBSTR 3 | TAKESARG /* set single letter flags from substring */
#define NUMBER 4 | TAKESARG /* set read in the number */
#define UNFLAG 5 /* turn the flag off */
#define PSHSTR 6 | TAKESARG /* like string, but puts it on a LIST structure */
#define NOVSTR 7 | TAKESARG /* like string, but complains about overwriting */
#define NUM_ARGS 50 /* Limit of flags passed from driver to pass */
#define MSC_ENVFLAGS "MSC_CMD_FLAGS"
/* Environment variable flags passed in, used for getenv() */ #define PUT_MSC_ENVFLAGS "MSC_CMD_FLAGS="
/* Environment variable flags passed in, used for putenv() */
/* return values from getflags */ #define R_SWITCH 1
#define R_CFILE 2
#define R_ASMFILE 3
#define R_OBJFILE 4
#define R_ERROR 5
#define R_FILE 6
#define R_EXIT 7
#define R_FFILE 8
#define R_PFILE 9
#define R_AFILE 10
#define R_OFILE 11
/* r. nevin, 1/11/85 */ #define R_HELP 12
/* b. nguyen, 4/7/86 */ #define R_HELPC 13
#define R_HELPF 14
struct cmdtab { WCHAR *format; /* format matching string */ char *flag; /* pointer to what to fill in */ /* this is really a
* union * { * WCHAR **str; * int *flag; * struct subtab *sub; * struct LIST *list; * } cm; * but you cant initialize unions so we have to fake it. */ char retval; /* crack_cmd will return whatever is here */ UCHAR type; /* control mask */ };
struct subtab { int letter; int type; int *flag; };
|