https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c0e70a8e31be88de91e12…
commit c0e70a8e31be88de91e12662eefc4208c600b198
Author: Eric Kohl <eric.kohl(a)reactos.org>
AuthorDate: Mon Jul 10 22:30:36 2023 +0200
Commit: Eric Kohl <eric.kohl(a)reactos.org>
CommitDate: Mon Jul 10 22:30:36 2023 +0200
[PSDK] Add the netsh.h header file
---
sdk/include/psdk/netsh.h | 239 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 239 insertions(+)
diff --git a/sdk/include/psdk/netsh.h b/sdk/include/psdk/netsh.h
new file mode 100644
index 00000000000..39cef2f6ff3
--- /dev/null
+++ b/sdk/include/psdk/netsh.h
@@ -0,0 +1,239 @@
+#ifndef _NETSH_H_
+#define _NETSH_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef
+DWORD
+WINAPI
+(GET_RESOURCE_STRING_FN)(
+ _In_ DWORD dwMsgID,
+ _Out_ LPWSTR lpBuffer,
+ _In_ DWORD nBufferMax);
+
+typedef GET_RESOURCE_STRING_FN *PGET_RESOURCE_STRING_FN;
+
+typedef
+DWORD
+WINAPI
+(NS_DLL_INIT_FN)(
+ _In_ DWORD dwNetshVersion,
+ _Out_ PVOID pReserved);
+
+typedef NS_DLL_INIT_FN *PNS_DLL_INIT_FN;
+
+typedef
+DWORD
+WINAPI
+(NS_HELPER_START_FN)(
+ _In_ const GUID *pguidParent,
+ _In_ DWORD dwVersion);
+
+typedef NS_HELPER_START_FN *PNS_HELPER_START_FN;
+
+typedef
+DWORD
+WINAPI
+(NS_HELPER_STOP_FN)(
+ _In_ DWORD dwReserved);
+
+typedef NS_HELPER_STOP_FN *PNS_HELPER_STOP_FN;
+
+typedef
+DWORD
+WINAPI
+(NS_CONTEXT_COMMIT_FN)(
+ _In_ DWORD dwAction);
+
+typedef NS_CONTEXT_COMMIT_FN *PNS_CONTEXT_COMMIT_FN;
+
+typedef
+DWORD
+WINAPI
+(NS_CONTEXT_CONNECT_FN)(
+ _In_ LPCWSTR pwszMachine);
+
+typedef NS_CONTEXT_CONNECT_FN *PNS_CONTEXT_CONNECT_FN;
+
+typedef
+DWORD
+WINAPI
+(NS_CONTEXT_DUMP_FN)(
+ _In_ LPCWSTR pwszRouter,
+ _In_ LPWSTR *ppwcArguments,
+ _In_ DWORD dwArgCount,
+ _In_ LPCVOID pvData);
+
+typedef NS_CONTEXT_DUMP_FN *PNS_CONTEXT_DUMP_FN;
+
+typedef
+BOOL
+WINAPI
+(NS_OSVERSIONCHECK)(
+ _In_ UINT CIMOSType,
+ _In_ UINT CIMOSProductSuite,
+ _In_ LPCWSTR CIMOSVersion,
+ _In_ LPCWSTR CIMOSBuildNumber,
+ _In_ LPCWSTR CIMServicePackMajorVersion,
+ _In_ LPCWSTR CIMServicePackMinorVersion,
+ _In_ UINT uiReserved,
+ _In_ DWORD dwReserved);
+
+typedef NS_OSVERSIONCHECK *PNS_OSVERSIONCHECK;
+
+typedef
+DWORD
+WINAPI
+(FN_HANDLE_CMD)(
+ _In_ LPCWSTR pwszMachine,
+ _In_ LPWSTR *ppwcArguments,
+ _In_ DWORD dwCurrentIndex,
+ _In_ DWORD dwArgCount,
+ _In_ DWORD dwFlags,
+ _In_ LPCVOID pvData,
+ _Out_ BOOL *pbDone);
+
+typedef FN_HANDLE_CMD *PFN_HANDLE_CMD;
+
+
+typedef struct _CMD_ENTRY
+{
+ LPCWSTR pwszCmdToken;
+ PFN_HANDLE_CMD pfnCmdHandler;
+ DWORD dwShortCmdHelpToken;
+ DWORD dwCmdHlpToken;
+ DWORD dwFlags;
+ PNS_OSVERSIONCHECK pOsVersionCheck;
+} CMD_ENTRY, *PCMD_ENTRY;
+
+typedef struct _CMD_GROUP_ENTRY
+{
+ LPCWSTR pwszCmdGroupToken;
+ DWORD dwShortCmdHelpToken;
+ ULONG ulCmdGroupSize;
+ DWORD dwFlags;
+ PCMD_ENTRY pCmdGroup;
+ PNS_OSVERSIONCHECK pOsVersionCheck;
+} CMD_GROUP_ENTRY, *PCMD_GROUP_ENTRY;
+
+typedef struct _NS_HELPER_ATTRIBUTES
+{
+ union
+ {
+ struct
+ {
+ DWORD dwVersion;
+ DWORD dwReserved;
+ };
+ ULONGLONG _ullAlign;
+ };
+ GUID guidHelper;
+ PNS_HELPER_START_FN pfnStart;
+ PNS_HELPER_STOP_FN pfnStop;
+} NS_HELPER_ATTRIBUTES, *PNS_HELPER_ATTRIBUTES;
+
+typedef struct _NS_CONTEXT_ATTRIBUTES
+{
+ union
+ {
+ struct
+ {
+ DWORD dwVersion;
+ DWORD dwReserved;
+ };
+ ULONGLONG _ullAlign;
+ };
+ LPWSTR pwszContext;
+ GUID guidHelper;
+ DWORD dwFlags;
+ ULONG ulPriority;
+ ULONG ulNumTopCmds;
+ CMD_ENTRY *pTopCmds;
+ ULONG ulNumGroups;
+ CMD_GROUP_ENTRY *pCmdGroups;
+ PNS_CONTEXT_COMMIT_FN pfnCommitFn;
+ PNS_CONTEXT_DUMP_FN pfnDumpFn;
+ PNS_CONTEXT_CONNECT_FN pfnConnectFn;
+ PVOID pReserved;
+ PNS_OSVERSIONCHECK pfnOsVersionCheck;
+} NS_CONTEXT_ATTRIBUTES, *PNS_CONTEXT_ATTRIBUTES;
+
+typedef struct _TAG_TYPE
+{
+ LPCWSTR pwszTag;
+ DWORD dwRequired;
+ BOOL bPresent;
+} TAG_TYPE, *PTAG_TYPE;
+
+typedef struct _TOKEN_VALUE
+{
+ LPCWSTR pwszToken;
+ DWORD dwValue;
+} TOKEN_VALUE, *PTOKEN_VALUE;
+
+DWORD
+WINAPI
+MatchEnumTag(
+ _In_ HANDLE hModule,
+ _In_ LPCWSTR pwcArg,
+ _In_ DWORD dwNumArg,
+ _In_ const TOKEN_VALUE *pEnumTable,
+ _Out_ PDWORD pdwValue);
+
+BOOL
+WINAPI
+MatchToken(
+ _In_ LPCWSTR pwszUserToken,
+ _In_ LPCWSTR pwszCmdToken);
+
+DWORD
+WINAPI
+PreprocessCommand(
+ _In_ HANDLE hModule,
+ _Inout_ LPWSTR *ppwcArguments,
+ _In_ DWORD dwCurrentIndex,
+ _In_ DWORD dwArgCount,
+ _Inout_ PTAG_TYPE pttTags,
+ _In_ DWORD dwTagCount,
+ _In_ DWORD dwMinArgs,
+ _In_ DWORD dwMaxArgs,
+ _Out_ DWORD *pdwTagType);
+
+DWORD
+CDECL
+PrintError(
+ _In_opt_ HANDLE hModule,
+ _In_ DWORD dwErrId,
+ ...);
+
+DWORD
+CDECL
+PrintMessageFromModule(
+ _In_ HANDLE hModule,
+ _In_ DWORD dwMsgId,
+ ...);
+
+DWORD
+CDECL
+PrintMessage(
+ _In_ LPCWSTR pwszMessage,
+ ...);
+
+DWORD
+WINAPI
+RegisterContext(
+ _In_ const NS_CONTEXT_ATTRIBUTES *pChildContext);
+
+DWORD
+WINAPI
+RegisterHelper(
+ _In_ const GUID *pguidParentContext,
+ _In_ const NS_HELPER_ATTRIBUTES *pfnRegisterSubContext);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NETSH_H_ */