124 lines
1.9 KiB
C++
124 lines
1.9 KiB
C++
/*++
|
|
|
|
Copyright (C) Microsoft Corporation, 1997 - 1997
|
|
All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
parser.cxx
|
|
|
|
Abstract:
|
|
|
|
Command line parser header.
|
|
|
|
Author:
|
|
|
|
Steve Kiraly (SteveKi) 29-Sept-1996
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#ifndef _PARSER_HXX
|
|
#define _PARSER_HXX
|
|
|
|
/********************************************************************
|
|
|
|
File info structure used for command file redirection.
|
|
|
|
********************************************************************/
|
|
struct AFileInfo {
|
|
PVOID pData; // File data
|
|
LPTSTR pszOffset; // Offset to usable data
|
|
};
|
|
|
|
/********************************************************************
|
|
|
|
Function prototypes.
|
|
|
|
********************************************************************/
|
|
static
|
|
PVOID
|
|
private_alloc(
|
|
UINT size
|
|
);
|
|
|
|
static
|
|
VOID
|
|
private_free(
|
|
PVOID pvoid
|
|
);
|
|
|
|
BOOL
|
|
StringToArgv(
|
|
const TCHAR *string,
|
|
UINT *pac,
|
|
TCHAR ***pppav,
|
|
BOOL bParseExeName
|
|
);
|
|
|
|
VOID
|
|
ReleaseArgv(
|
|
TCHAR **av
|
|
);
|
|
|
|
BOOL
|
|
IsolateProgramName(
|
|
const TCHAR *p,
|
|
TCHAR *program_name,
|
|
TCHAR **string
|
|
);
|
|
|
|
BOOL
|
|
AddStringToArgv(
|
|
TCHAR ***argv,
|
|
TCHAR *word
|
|
);
|
|
|
|
VOID
|
|
vProcessCommandFileRedirection(
|
|
IN LPCTSTR pszCmdLine,
|
|
IN OUT TString &strCmdLine
|
|
);
|
|
|
|
BOOL
|
|
bFlushBuffer(
|
|
IN LPCTSTR pszBuffer,
|
|
IN UINT nSize,
|
|
IN OUT LPTSTR *pszCurrent,
|
|
IN OUT TString &strDestination,
|
|
IN BOOL bForceFlush
|
|
);
|
|
|
|
BOOL
|
|
bReadCommandFileRedirection(
|
|
IN LPCTSTR szFilename,
|
|
IN AFileInfo *pFileInfo
|
|
);
|
|
|
|
VOID
|
|
vReplaceNewLines(
|
|
IN LPTSTR pszLine
|
|
);
|
|
|
|
//
|
|
// Use private_free to release the output buffer.
|
|
//
|
|
BOOL
|
|
AnsiToUnicodeString(
|
|
IN LPSTR pAnsi,
|
|
OUT LPWSTR *ppUnicode
|
|
);
|
|
|
|
#if DBG
|
|
|
|
VOID
|
|
vDumpArgList(
|
|
UINT ac,
|
|
TCHAR **av
|
|
);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|