2 * BATCH.H - A structure to preserve the context of a batch file
9 typedef struct tagBATCHCONTEXT
11 struct tagBATCHCONTEXT
*prev
;
13 TCHAR BatchFilePath
[MAX_PATH
];
15 LPTSTR raw_params
; /* Holds the raw params given by the input */
17 BOOL bEcho
; /* Preserve echo flag across batch calls */
18 REDIRECTION
*RedirList
;
19 PARSED_COMMAND
*current
;
20 struct _SETLOCAL
*setlocal
;
21 } BATCH_CONTEXT
, *LPBATCH_CONTEXT
;
23 typedef struct tagFORCONTEXT
25 struct tagFORCONTEXT
*prev
;
29 } FOR_CONTEXT
, *LPFOR_CONTEXT
;
32 /* The stack of current batch contexts.
33 * NULL when no batch is active
35 extern LPBATCH_CONTEXT bc
;
37 extern LPFOR_CONTEXT fc
;
39 extern BOOL bEcho
; /* The echo flag */
41 #define BATCH_BUFFSIZE 8192
43 extern TCHAR textline
[BATCH_BUFFSIZE
]; /* Buffer for reading Batch file lines */
46 LPTSTR
FindArg (TCHAR
, BOOL
*);
47 LPTSTR
BatchParams (LPTSTR
, LPTSTR
);
49 INT
Batch (LPTSTR
, LPTSTR
, LPTSTR
, PARSED_COMMAND
*);
50 LPTSTR
ReadBatchLine();
51 VOID
AddBatchRedirection(REDIRECTION
**);