36 DPRINT(
"GetGroupCommand(%S %p)\n", pszCommand, pGroup);
38 if (pszCommand ==
NULL)
47 pCommand = pCommand->
pNext;
62 DPRINT(
"GetContextCommand(%S %p)\n", pszCommand, pContext);
64 if (pszCommand ==
NULL)
73 pCommand = pCommand->
pNext;
88 DPRINT(
"GetContextGroup(%S %p)\n", pszGroup, pContext);
99 pGroup = pGroup->
pNext;
114 DPRINT(
"GetContextSubContext(%S %p)\n", pszContext, pContext);
116 if (pszContext ==
NULL)
125 pSubContext = pSubContext->
pNext;
143 DWORD dwArgIndex = 0;
167 DPRINT(
"STATE_ANALYZE\n");
170 if (pCommand !=
NULL)
184 if (pTempSubContext !=
NULL)
194 DPRINT(
"STATE_COMMAND\n");
254 if (pCommand !=
NULL)
265 DPRINT(
"STATE_CONTEXT\n");
278 DPRINT(
"Set current context\n");
295 DPRINT(
"Change temorary context\n");
296 pTempContext = pTempSubContext;
302 DPRINT(
"STATE_PARENT_CONTEXT\n");
311 DPRINT(
"Change temorary context\n");
318 DPRINT(
"STATE_DONE dwError %ld\n", dwError);
342 memset(args_vector, 0,
sizeof(args_vector));
398 memset(args_vector, 0,
sizeof(args_vector));
void ConPuts(FILE *fp, LPCWSTR psz)
void ConPrintf(FILE *fp, LPCWSTR psz,...)
PCONTEXT_ENTRY pRootContext
PCONTEXT_ENTRY pCurrentContext
VOID PrintCommandHelp(_In_ PCONTEXT_ENTRY pContext, _In_ PCOMMAND_GROUP pGroup, _In_ PCOMMAND_ENTRY pCommand)
VOID PrintGroupHelp(_In_ PCONTEXT_ENTRY pContext, _In_ LPWSTR pszGroupName, _In_ BOOL bRecurse)
VOID PrintContextHelp(_In_ PCONTEXT_ENTRY pContext)
static DWORD InterpretCommand(_In_ LPWSTR *argv, _In_ DWORD dwArgCount, _Inout_ PBOOL bDone)
enum _INTERPRETER_STATE INTERPRETER_STATE
DWORD InterpretLine(_In_ LPWSTR pszInputLine)
VOID InterpretInteractive(VOID)
static PCOMMAND_GROUP GetContextGroup(PWSTR pszGroup, PCONTEXT_ENTRY pContext)
static PCOMMAND_ENTRY GetContextCommand(PWSTR pszCommand, PCONTEXT_ENTRY pContext)
static PCOMMAND_ENTRY GetGroupCommand(PWSTR pszCommand, PCOMMAND_GROUP pGroup)
static PCONTEXT_ENTRY GetContextSubContext(PWSTR pszContext, PCONTEXT_ENTRY pContext)
VOID PrintPrompt(_In_ PCONTEXT_ENTRY pContext)
static VOID PrintError(DWORD dwError)
#define HeapFree(x, y, z)
LPWSTR MergeStrings(_In_ LPWSTR pszStringArray[], _In_ INT nCount)
BOOL WINAPI MatchToken(_In_ LPCWSTR pwszUserToken, _In_ LPCWSTR pwszCmdToken)
#define ERROR_SUPPRESS_OUTPUT
#define ERROR_CMD_NOT_FOUND
_In_ LPWSTR _In_ DWORD dwArgCount
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
PFN_HANDLE_CMD pfnCmdHandler
struct _COMMAND_ENTRY * pNext
PCOMMAND_ENTRY pCommandListHead
struct _COMMAND_GROUP * pNext
PNS_CONTEXT_CONNECT_FN pfnConnectFn
struct _CONTEXT_ENTRY * pSubContextHead
struct _CONTEXT_ENTRY * pParentContext
struct _CONTEXT_ENTRY * pNext
PCOMMAND_GROUP pGroupListHead
PCOMMAND_ENTRY pCommandListHead
wchar_t * fgetws(wchar_t *buf, int bufsize, FILE *file)