ReactOS  0.4.15-dev-344-g6808e40
cmd.h
Go to the documentation of this file.
1 /*
2  * CMD.H - header file for the modules in CMD.EXE
3  *
4  *
5  * History:
6  *
7  * 7-15-95 Tim Norman
8  * started
9  *
10  * 06/29/98 (Rob Lake)
11  * Moved error messages in here
12  *
13  * 07/12/98 (Rob Lake)
14  * Moved more error messages here.
15  *
16  * 30-Jul-1998 (John P Price <linux-guru@gcfl.net>)
17  * Added compile date to version.
18  *
19  * 26-Feb-1999 (Eric Kohl)
20  * Introduced a new version string.
21  * Thanks to Emanuele Aliberti!
22  */
23 
24 #pragma once
25 
26 #include <config.h>
27 
28 #include "cmdver.h"
29 #include "cmddbg.h"
30 
31 #define BREAK_BATCHFILE 1
32 #define BREAK_OUTOFBATCH 2
33 #define BREAK_INPUT 3
34 #define BREAK_IGNORE 4
35 
36 /* define some error messages */
37 #define D_ON _T("on")
38 #define D_OFF _T("off")
39 
40 /* command line buffer length */
41 #define CMDLINE_LENGTH 8192
42 
43 /* 16k = max buffer size */
44 #define BUFF_SIZE 16384
45 
46 /* Global variables */
48 extern WORD wColor;
49 extern WORD wDefColor;
50 extern BOOL bCtrlBreak;
51 extern BOOL bIgnoreEcho;
52 extern BOOL bExit;
53 extern BOOL bDisableBatchEcho;
54 extern BOOL bEnableExtensions;
55 extern BOOL bDelayedExpansion;
56 extern INT nErrorLevel;
57 
58 
59 /* Prototypes for ALIAS.C */
62 
63 /* Prototypes for ASSOC.C */
65 
66 /* Prototypes for BEEP.C */
68 
69 /* Prototypes for CALL.C */
71 
72 /* Prototypes for CHOICE.C */
74 
75 /* Prototypes for CLS.C */
77 
78 /* Prototypes for CMD.C */
82 struct _PARSED_COMMAND;
83 
84 INT
86  IN struct _PARSED_COMMAND *Cmd);
87 
88 INT
90  IN struct _PARSED_COMMAND *Cmd);
91 
95 BOOL SubstituteVars(TCHAR *Src, TCHAR *Dest, TCHAR Delim);
96 BOOL SubstituteForVars(TCHAR *Src, TCHAR *Dest);
99 BOOL ReadLine(TCHAR *commandline, BOOL bMore);
100 
101 extern HANDLE CMD_ModuleHandle;
102 
103 
104 /* Prototypes for CMDINPUT.C */
106 
109 
110 #define IS_COMPLETION_DISABLED(CompletionCtrl) \
111  ((CompletionCtrl) == 0x00 || (CompletionCtrl) == 0x0D || (CompletionCtrl) >= 0x20)
112 
113 
114 /* Prototypes for CMDTABLE.C */
115 #define CMD_SPECIAL 1
116 #define CMD_BATCHONLY 2
117 #define CMD_HIDE 4
118 
119 typedef struct tagCOMMAND
120 {
122  INT flags;
123  INT (*func)(LPTSTR);
124 } COMMAND, *LPCOMMAND;
125 
126 extern COMMAND cmds[]; /* The internal command table */
127 
129 
130 LPCTSTR GetParsedEnvVar ( LPCTSTR varName, UINT* varNameLen, BOOL ModeSetA );
131 
132 /* Prototypes for CTTY.C */
133 #ifdef INCLUDE_CMD_CTTY
135 #endif
136 
137 /* Prototypes for COLOR.C */
139 
140 /* Prototypes for CONSOLE.C */
141 #include "console.h"
142 
143 /* Prototypes for COPY.C */
145 
146 /* Prototypes for DATE.C */
148 
149 /* Prototypes for DEL.C */
151 
152 /* Prototypes for DELAY.C */
154 
155 /* Prototypes for DIR.C */
159 
160 /* Prototypes for DIRSTACK.C */
167 
168 /* Prototypes for ECHO.C */
174 
175 /* Prototypes for ERROR.C */
176 VOID
178  IN DWORD dwErrorCode,
179  IN LPTSTR szFormat OPTIONAL,
180  ...);
181 
195 
197 
198 /* Prototypes for FILECOMP.C */
199 #ifdef FEATURE_UNIX_FILENAME_COMPLETION
201 INT ShowCompletionMatches (LPTSTR, INT);
202 #endif
203 #ifdef FEATURE_4NT_FILENAME_COMPLETION
205 #endif
206 
207 
208 /* Prototypes for FOR.C */
209 #define FOR_DIRS 1 /* /D */
210 #define FOR_F 2 /* /F */
211 #define FOR_LOOP 4 /* /L */
212 #define FOR_RECURSIVE 8 /* /R */
213 INT cmd_for (LPTSTR);
215 
216 
217 /* Prototypes for FREE.C */
219 
220 /* Prototypes for GOTO.C */
222 
223 /* Prototypes for HISTORY.C */
224 #ifdef FEATURE_HISTORY
226 VOID History(INT, LPTSTR);/*add entries browse history*/
232 #endif
233 
234 /* Prototypes for IF.C */
235 #define IFFLAG_NEGATE 1 /* NOT */
236 #define IFFLAG_IGNORECASE 2 /* /I */
238  IF_STRINGEQ, /* == */
241 
242 /* Prototypes for INTERNAL.C */
251 
252 /* Prototypes for LOCALE.C */
253 extern TCHAR cDateSeparator;
254 extern INT nDateFormat;
255 extern TCHAR cTimeSeparator;
256 extern INT nTimeFormat;
258 extern TCHAR cDecimalSeparator;
259 extern INT nNumberGroups;
260 
264 
265 /* Prototypes for MEMORY.C */
267 
268 /* Prototypes for MKLINK.C */
270 
271 /* Prototypes for MISC.C */
272 INT GetRootPath(TCHAR *InPath,TCHAR *OutPath,INT size);
273 BOOL SetRootPath(TCHAR *oldpath,TCHAR *InPath);
279 VOID freep (LPTSTR *);
287 
288 #define PROMPT_NO 0
289 #define PROMPT_YES 1
290 #define PROMPT_ALL 2
291 #define PROMPT_BREAK 3
292 
293 BOOL __stdcall PagePrompt(PCON_PAGER Pager, DWORD Done, DWORD Total);
296 
297 /* Prototypes for MOVE.C */
299 
300 /* Prototypes for MSGBOX.C */
302 
303 /* Prototypes from PARSER.C */
305 typedef struct _PARSED_COMMAND
306 {
311  union
312  {
313  struct
314  {
317  } Command;
318  struct
319  {
324  } If;
325  struct
326  {
332  } For;
333  };
339 
340 /* Prototypes from PATH.C */
342 
343 /* Prototypes from PROMPT.C */
347 
348 /* Prototypes for REDIR.C */
351 
352 typedef enum _REDIR_MODE
353 {
357 } REDIR_MODE;
358 typedef struct _REDIRECTION
359 {
365 } REDIRECTION;
370 
371 /* Prototypes for REN.C */
373 
374 /* Prototypes for REN.C */
376 
377 /* Prototypes for SCREEN.C */
379 
380 /* Prototypes for SET.C */
381 INT cmd_set (LPTSTR);
382 
383 /* Prototypes for SETLOCAL.C */
387 
388 /* Prototypes for START.C */
390 
391 /* Prototypes for STRTOCLR.C */
393 
394 /* Prototypes for TIME.C */
396 
397 /* Prototypes for TIMER.C */
399 
400 /* Prototypes for TITLE.C */
402 
403 /* Prototypes for TYPE.C */
405 
406 /* Prototypes for VER.C */
409 INT cmd_ver (LPTSTR);
410 
411 /* Prototypes for VERIFY.C */
413 
414 /* Prototypes for VOL.C */
415 INT cmd_vol (LPTSTR);
416 
417 /* Prototypes for WHERE.C */
419 
420 /* Prototypes for WINDOW.C */
423 
424 /* The MSDOS Batch Commands [MS-DOS 5.0 User's Guide and Reference p359] */
425 int cmd_if(TCHAR *);
426 int cmd_pause(TCHAR *);
427 int cmd_shift(TCHAR *);
VOID InitLocale(VOID)
Definition: locale.c:25
VOID InitLastPath(VOID)
INT GetRedirection(LPTSTR, REDIRECTION **)
INT DoCommand(LPTSTR first, LPTSTR rest, struct _PARSED_COMMAND *Cmd)
Definition: cmd.c:552
INT cmd_mklink(LPTSTR)
Definition: mklink.c:124
int cmd_shift(TCHAR *)
GLenum func
Definition: glext.h:6028
VOID PrintCommandList(VOID)
Definition: cmdtable.c:234
INT FormatTime(TCHAR *, LPSYSTEMTIME)
Definition: dir.c:703
INT CommandTimer(LPTSTR param)
Definition: timer.c:59
#define IN
Definition: typedefs.h:39
BOOL add_entry(LPINT ac, LPTSTR **arg, LPCTSTR entry)
Definition: misc.c:184
Definition: cmd.h:304
BOOL bCtrlBreak
Definition: cmd.c:154
BOOL CheckCtrlBreak(INT)
Definition: misc.c:132
Definition: tftpd.h:59
Definition: cmd.h:304
INT nErrorLevel
Definition: cmd.c:157
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
INT CommandHistory(LPTSTR param)
Definition: history.c:71
VOID InitHistory(VOID)
Definition: history.c:132
BOOL IsValidPathName(LPCTSTR)
Definition: misc.c:482
LPCTSTR GetParsedEnvVar(LPCTSTR varName, UINT *varNameLen, BOOL ModeSetA)
BOOL SubstituteVars(TCHAR *Src, TCHAR *Dest, TCHAR Delim)
Definition: cmd.c:1225
struct _PARSED_COMMAND * Subcommands
Definition: cmd.h:307
VOID CleanHistory(VOID)
Definition: history.c:163
INT cmd_rmdir(LPTSTR)
Definition: internal.c:408
Definition: cmd.h:304
LPTSTR List
Definition: cmd.h:330
VOID error_invalid_drive(VOID)
Definition: error.c:119
enum _REDIR_MODE REDIR_MODE
INT cmd_start(LPTSTR)
Definition: start.c:37
LPTSTR Params
Definition: cmd.h:329
BOOL FileGetString(HANDLE, LPTSTR, INT)
Definition: misc.c:513
BYTE Type
Definition: cmd.h:310
LPCTSTR GetEnvVarOrSpecial(LPCTSTR varName)
Definition: cmd.c:871
INT cmd_goto(LPTSTR)
Definition: goto.c:39
VOID ErrorMessage(IN DWORD dwErrorCode, IN LPTSTR szFormat OPTIONAL,...)
Definition: error.c:26
INT CommandActivate(LPTSTR)
const GLint * first
Definition: glext.h:5794
VOID error_parameter_format(TCHAR)
Definition: error.c:67
VOID History_move_to_bottom(VOID)
Definition: history.c:280
INT cmd_date(LPTSTR)
Definition: date.c:176
TCHAR * LeftArg
Definition: cmd.h:322
#define INT
Definition: polytest.cpp:20
VOID DestroyDirectoryStack(VOID)
Definition: dirstack.c:91
INT CommandDirs(LPTSTR)
Definition: dirstack.c:154
LPTSTR * splitspace(LPTSTR, LPINT)
Definition: misc.c:381
INT cmd_copy(LPTSTR)
Definition: copy.c:331
BOOL bEnableExtensions
Definition: cmd.c:160
INT cmd_endlocal(LPTSTR)
Definition: setlocal.c:95
INT CommandFree(LPTSTR)
Definition: free.c:86
INT FormatDate(TCHAR *, LPSYSTEMTIME, BOOL)
Definition: dir.c:674
Definition: cmd.h:304
Definition: cmd.h:237
VOID InitPrompt(VOID)
Definition: prompt.c:57
INT cmd_type(LPTSTR)
Definition: type.c:34
struct _REDIRECTION REDIRECTION
VOID StripQuotes(LPTSTR)
INT cmd_path(LPTSTR)
Definition: path.c:36
INT nTimeFormat
Definition: locale.c:21
INT CommandRem(LPTSTR)
Definition: internal.c:559
struct tagCOMMAND * LPCOMMAND
INT flags
Definition: cmdcons.c:28
int32_t INT
Definition: typedefs.h:57
struct _PARSED_COMMAND * Next
Definition: cmd.h:308
INT CommandMsgbox(LPTSTR)
CHAR * LPTSTR
Definition: xmlstorage.h:192
BYTE Operator
Definition: cmd.h:321
LPTSTR name
Definition: cmd.h:121
REDIR_MODE Mode
Definition: cmd.h:363
BYTE Switches
Definition: cmd.h:327
HANDLE OldHandle
Definition: cmd.h:361
INT cmd_cls(LPTSTR)
Definition: cls.c:33
INT CommandEchoerr(LPTSTR)
Definition: echo.c:106
VOID SetHandle(UINT Number, HANDLE Handle)
Definition: redir.c:50
INT CommandAssoc(LPTSTR)
Definition: assoc.c:190
LPTSTR GetTimeString(VOID)
Definition: locale.c:73
VOID freep(LPTSTR *)
Definition: misc.c:446
INT cmd_mkdir(LPTSTR)
Definition: internal.c:324
LPTSTR _stpcpy(LPTSTR, LPCTSTR)
Definition: misc.c:460
Definition: cmd.h:239
struct _PARSED_COMMAND::@54::@58 For
unsigned int BOOL
Definition: ntddk_ex.h:94
INT nNumberGroups
Definition: locale.c:22
VOID error_req_param_missing(VOID)
Definition: error.c:112
INT ConvertULargeInteger(ULONGLONG num, LPTSTR des, UINT len, BOOL bPutSeparator)
Definition: cmd.c:188
INT cmd_move(LPTSTR)
Definition: move.c:87
INT CommandMemory(LPTSTR)
Definition: memory.c:18
INT cmd_replace(LPTSTR)
Definition: replace.c:392
INT cmd_call(LPTSTR)
Definition: call.c:37
HANDLE RunFile(DWORD, LPTSTR, LPTSTR, LPTSTR, INT)
Definition: cmd.c:265
const WCHAR * str
INT GetDirectoryStackDepth(VOID)
Definition: dirstack.c:98
TCHAR First[]
Definition: cmd.h:316
INT FilePromptYN(UINT)
Definition: misc.c:600
INT ExecuteCommand(IN struct _PARSED_COMMAND *Cmd)
INT ParseCommandLine(LPTSTR)
Definition: cmd.c:631
INT cmd_setlocal(LPTSTR)
Definition: setlocal.c:39
VOID error_out_of_memory(VOID)
Definition: error.c:140
BOOL SearchForExecutable(LPCTSTR, LPTSTR)
Definition: where.c:142
INT cmd_chdir(LPTSTR)
Definition: internal.c:219
VOID error_invalid_parameter_format(LPTSTR)
Definition: error.c:147
TCHAR cTimeSeparator
Definition: locale.c:17
VOID CompleteFilename(LPTSTR, BOOL, LPTSTR, UINT)
Definition: filecomp.c:545
INT cmd_time(LPTSTR)
Definition: time.c:132
TCHAR cThousandSeparator
Definition: locale.c:18
TCHAR cDecimalSeparator
Definition: locale.c:19
LPTSTR DuplicateEnvironment(VOID)
Definition: setlocal.c:22
VOID error_path_not_found(VOID)
Definition: error.c:88
INT FilePromptYNA(UINT)
Definition: misc.c:664
INT cmd_for(LPTSTR)
Definition: for.c:37
BYTE Number
Definition: cmd.h:362
char TCHAR
Definition: xmlstorage.h:189
_In_ HANDLE Handle
Definition: extypes.h:390
BOOL __stdcall PagePrompt(PCON_PAGER Pager, DWORD Done, DWORD Total)
Definition: misc.c:553
BOOL bIgnoreEcho
Definition: cmd.c:155
BOOL IsExistingDirectory(LPCTSTR)
Definition: misc.c:506
GLsizeiptr size
Definition: glext.h:5919
COMMAND cmds[]
Definition: main.c:21
VOID InitDirectoryStack(VOID)
Definition: dirstack.c:80
INT CommandPushd(LPTSTR)
Definition: dirstack.c:107
Definition: cmd.h:304
uint64_t ULONGLONG
Definition: typedefs.h:66
TCHAR * RightArg
Definition: cmd.h:323
BOOL ReadCommand(LPTSTR, INT)
Definition: cmdinput.c:138
GLfloat param
Definition: glext.h:5796
VOID GetPathCase(TCHAR *, TCHAR *)
Definition: misc.c:86
TCHAR Filename[]
Definition: cmd.h:364
INT cmd_title(LPTSTR)
Definition: title.c:18
unsigned short WORD
Definition: ntddk_ex.h:93
TCHAR PathCompletionChar
Definition: cmdinput.c:112
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint num
Definition: glext.h:9618
BOOL SubstituteForVars(TCHAR *Src, TCHAR *Dest)
Definition: cmd.c:1391
#define __stdcall
Definition: typedefs.h:25
INT CommandShowCommands(LPTSTR)
Definition: internal.c:571
VOID error_invalid_switch(TCHAR)
Definition: error.c:74
INT CommandScreen(LPTSTR)
Definition: screen.c:18
VOID error_file_not_found(VOID)
Definition: error.c:95
VOID PrintOSVersion(VOID)
Definition: ver.c:114
Definition: cmd.h:239
LPTSTR lpOriginalEnvironment
Definition: cmd.c:163
struct tagCOMMAND COMMAND
TCHAR * Rest
Definition: cmd.h:315
Definition: ncftp.h:79
BOOL OnOffCommand(LPTSTR param, LPBOOL flag, INT message)
Definition: echo.c:32
WORD wColor
LPTSTR GetDateString(VOID)
Definition: locale.c:58
INT cmd_set(LPTSTR)
Definition: set.c:73
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
Definition: glfuncs.h:52
Definition: sacdrv.h:277
TCHAR cDateSeparator
Definition: locale.c:16
VOID error_sfile_not_found(LPTSTR)
Definition: error.c:102
INT CommandWindow(LPTSTR)
INT CommandPopd(LPTSTR)
Definition: dirstack.c:132
VOID History_del_current_entry(LPTSTR str)
Definition: history.c:175
BOOL StringToColor(LPWORD, LPTSTR *)
Definition: strtoclr.c:255
uint32_t entry
Definition: isohybrid.c:63
int cmd_if(TCHAR *)
int cmd_pause(TCHAR *)
GLenum GLsizei len
Definition: glext.h:6722
INT cmd_verify(LPTSTR)
Definition: verify.c:30
INT cmd_ver(LPTSTR)
Definition: ver.c:126
VOID UndoRedirection(REDIRECTION *, REDIRECTION *End)
Definition: redir.c:142
INT CommandDelete(LPTSTR)
Definition: del.c:358
VOID FreeCommand(PARSED_COMMAND *Cmd)
Definition: parser.c:1016
struct _PARSED_COMMAND::@54::@57 If
VOID EchoCommand(PARSED_COMMAND *Cmd)
Definition: parser.c:812
BOOL SetRootPath(TCHAR *oldpath, TCHAR *InPath)
Definition: internal.c:182
LPTSTR * split(LPTSTR, LPINT, BOOL, BOOL)
Definition: misc.c:282
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
Definition: ntpoapi.h:204
unsigned char BYTE
Definition: xxhash.c:193
INT CommandAlias(LPTSTR)
Definition: alias.c:174
TCHAR Variable
Definition: cmd.h:328
TCHAR AutoCompletionChar
Definition: cmdinput.c:111
Definition: cmd.h:304
INT CommandEchoserr(LPTSTR)
Definition: echo.c:121
BOOL bDisableBatchEcho
Definition: cmd.c:159
INT ExecuteCommandWithEcho(IN struct _PARSED_COMMAND *Cmd)
struct _REDIRECTION * Redirections
Definition: cmd.h:309
VOID error_too_many_parameters(LPTSTR)
Definition: error.c:81
Definition: cmd.h:239
VOID msg_pause(VOID)
Definition: error.c:169
TCHAR * Unparse(PARSED_COMMAND *Cmd, TCHAR *Out, TCHAR *OutEnd)
Definition: parser.c:906
uint16_t * LPWORD
Definition: typedefs.h:55
INT GetRootPath(TCHAR *InPath, TCHAR *OutPath, INT size)
Definition: internal.c:152
_REDIR_MODE
Definition: cmd.h:352
VOID error_syntax(LPTSTR)
Definition: error.c:154
INT CommandDir(LPTSTR)
Definition: dir.c:1835
INT CommandChoice(LPTSTR)
Definition: choice.c:102
LPCTSTR PeekHistory(INT)
Definition: history.c:287
INT cmd_beep(LPTSTR)
Definition: beep.c:31
BOOL * LPBOOL
Definition: windef.h:162
Definition: cmd.h:239
BOOL ReadLine(TCHAR *commandline, BOOL bMore)
Definition: cmd.c:1454
static const WCHAR des[]
Definition: oid.c:1212
INT cmd_rename(LPTSTR)
Definition: ren.c:53
VOID error_bad_command(LPTSTR)
Definition: error.c:126
VOID RemoveBreakHandler(VOID)
Definition: cmd.c:1578
BOOL bExit
Definition: cmd.c:152
unsigned int UINT
Definition: ndis.h:50
VOID ExpandAlias(LPTSTR, INT)
Definition: alias.c:89
VOID FreeRedirection(REDIRECTION *)
Definition: redir.c:153
BOOL PerformRedirection(REDIRECTION *)
Definition: redir.c:63
VOID AddBreakHandler(VOID)
Definition: cmd.c:1572
INT cmd_ctty(LPTSTR)
Definition: ctty.c:102
PARSED_COMMAND * ParseCommand(LPTSTR Line)
Definition: parser.c:767
struct _PARSED_COMMAND PARSED_COMMAND
struct _REDIRECTION * Next
Definition: cmd.h:360
INT cmd_prompt(LPTSTR)
Definition: prompt.c:244
Definition: cmd.h:304
INT CommandEcho(LPTSTR)
Definition: echo.c:65
INT nDateFormat
Definition: locale.c:20
HANDLE CMD_ModuleHandle
Definition: cmd.c:164
VOID error_no_pipe(VOID)
Definition: error.c:133
INT ExecuteIf(struct _PARSED_COMMAND *Cmd)
Definition: if.c:66
TCHAR cgetchar(VOID)
Definition: misc.c:41
struct tagFORCONTEXT * Context
Definition: cmd.h:331
INT ExecuteFor(struct _PARSED_COMMAND *Cmd)
Definition: for.c:453
VOID History(INT, LPTSTR)
Definition: history.c:326
HANDLE GetHandle(UINT Number)
Definition: redir.c:39
Definition: cmd.h:239
INT CommandDelay(LPTSTR)
Definition: delay.c:17
INT CommandEchos(LPTSTR)
Definition: echo.c:91
VOID FreeLastPath(VOID)
Definition: cmd.h:239
BOOL bDelayedExpansion
Definition: cmd.c:161
Definition: main.c:14
INT CommandExit(LPTSTR)
Definition: internal.c:514
BOOL IsExistingFile(LPCTSTR)
Definition: misc.c:499
BYTE Flags
Definition: cmd.h:320
INT cmd_vol(LPTSTR)
Definition: vol.c:64
VOID InitOSVersion(VOID)
Definition: ver.c:32
VOID PrintPrompt(VOID)
Definition: prompt.c:109
LPTSTR DoDelayedExpansion(LPTSTR Line)
Definition: cmd.c:1427
INT CommandColor(LPTSTR)
Definition: color.c:32
int * LPINT
Definition: windef.h:178
struct _PARSED_COMMAND::@54::@56 Command
WORD wDefColor
Definition: cmd.c:179
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68