2 * BATCH.H - A structure to preserve the context of a batch file
9 typedef struct tagBATCHCONTEXT
11 struct tagBATCHCONTEXT
*prev
;
12 char *mem
; /* batchfile content in memory */
13 DWORD memsize
; /* size of batchfile */
14 DWORD mempos
; /* current position to read from */
15 BOOL memfree
; /* true if it need to be freed when exitbatch is called */
16 TCHAR BatchFilePath
[MAX_PATH
];
18 LPTSTR raw_params
; /* Holds the raw params given by the input */
20 BOOL bEcho
; /* Preserve echo flag across batch calls */
21 REDIRECTION
*RedirList
;
22 PARSED_COMMAND
*current
;
23 struct _SETLOCAL
*setlocal
;
24 } BATCH_CONTEXT
, *LPBATCH_CONTEXT
;
26 typedef struct tagFORCONTEXT
28 struct tagFORCONTEXT
*prev
;
32 } FOR_CONTEXT
, *LPFOR_CONTEXT
;
35 /* The stack of current batch contexts.
36 * NULL when no batch is active
38 extern LPBATCH_CONTEXT bc
;
40 extern LPFOR_CONTEXT fc
;
42 extern BOOL bEcho
; /* The echo flag */
44 #define BATCH_BUFFSIZE 8192
46 extern TCHAR textline
[BATCH_BUFFSIZE
]; /* Buffer for reading Batch file lines */
49 LPTSTR
FindArg (TCHAR
, BOOL
*);
50 LPTSTR
BatchParams (LPTSTR
, LPTSTR
);
51 VOID
ExitBatch (VOID
);
52 INT
Batch (LPTSTR
, LPTSTR
, LPTSTR
, PARSED_COMMAND
*);
53 BOOL
BatchGetString (LPTSTR lpBuffer
, INT nBufferLength
);
54 LPTSTR
ReadBatchLine(VOID
);
55 VOID
AddBatchRedirection(REDIRECTION
**);