Author: akhaldi
Date: Mon May 7 18:53:11 2012
New Revision: 56535
URL:
http://svn.reactos.org/svn/reactos?rev=56535&view=rev
Log:
[DDK]
* Add netioddk.h.
Added:
trunk/reactos/include/ddk/netioddk.h (with props)
Added: trunk/reactos/include/ddk/netioddk.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/netioddk.h?rev…
==============================================================================
--- trunk/reactos/include/ddk/netioddk.h (added)
+++ trunk/reactos/include/ddk/netioddk.h [iso-8859-1] Mon May 7 18:53:11 2012
@@ -1,0 +1,158 @@
+/*
+ * netioddk.h
+ *
+ * This file is part of the ReactOS DDK package.
+ *
+ * Contributors:
+ * Amine Khaldi (amine.khaldi(a)reactos.org)
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may
+ * use, modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+
+#ifndef _NETIODDK_
+#define _NETIODDK_
+
+#pragma once
+
+#include <netiodef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if (NTDDI_VERSION >= NTDDI_VISTA)
+
+typedef CONST struct _NPI_CLIENT_CHARACTERISTICS * PNPI_CLIENT_CHARACTERISTICS;
+typedef CONST struct _NPI_PROVIDER_CHARACTERISTICS * PNPI_PROVIDER_CHARACTERISTICS;
+typedef CONST struct _NPI_REGISTRATION_INSTANCE * PNPI_REGISTRATION_INSTANCE;
+
+typedef struct _NPI_REGISTRATION_INSTANCE {
+ USHORT Version;
+ USHORT Size;
+ PNPIID NpiId;
+ PNPI_MODULEID ModuleId;
+ ULONG Number;
+ CONST VOID *NpiSpecificCharacteristics OPTIONAL;
+} NPI_REGISTRATION_INSTANCE;
+
+typedef struct _NPI {
+ HANDLE Handle;
+ CONST VOID* Dispatch;
+} NPI;
+
+typedef NTSTATUS
+(NTAPI NPI_CLIENT_ATTACH_PROVIDER_FN)(
+ _In_ HANDLE NmrBindingHandle,
+ _In_ PVOID ClientContext,
+ _In_ PNPI_REGISTRATION_INSTANCE ProviderRegistrationInstance);
+typedef NPI_CLIENT_ATTACH_PROVIDER_FN *PNPI_CLIENT_ATTACH_PROVIDER_FN;
+
+typedef NTSTATUS
+(NTAPI NPI_CLIENT_DETACH_PROVIDER_FN )(
+ _In_ PVOID ClientBindingContext);
+typedef NPI_CLIENT_DETACH_PROVIDER_FN *PNPI_CLIENT_DETACH_PROVIDER_FN;
+
+typedef VOID
+(NTAPI NPI_CLIENT_CLEANUP_BINDING_CONTEXT_FN)(
+ _In_ PVOID ClientBindingContext);
+typedef NPI_CLIENT_CLEANUP_BINDING_CONTEXT_FN *PNPI_CLIENT_CLEANUP_BINDING_CONTEXT_FN;
+
+typedef struct _NPI_CLIENT_CHARACTERISTICS {
+ USHORT Version;
+ USHORT Length;
+ PNPI_CLIENT_ATTACH_PROVIDER_FN ClientAttachProvider;
+ PNPI_CLIENT_DETACH_PROVIDER_FN ClientDetachProvider;
+ PNPI_CLIENT_CLEANUP_BINDING_CONTEXT_FN ClientCleanupBindingContext;
+ NPI_REGISTRATION_INSTANCE ClientRegistrationInstance;
+} NPI_CLIENT_CHARACTERISTICS;
+
+typedef NTSTATUS
+(NTAPI NPI_PROVIDER_ATTACH_CLIENT_FN)(
+ _In_ HANDLE NmrBindingHandle,
+ _In_ PVOID ProviderContext,
+ _In_ PNPI_REGISTRATION_INSTANCE ClientRegistrationInstance,
+ _In_ PVOID ClientBindingContext,
+ _In_ CONST VOID *ClientDispatch,
+ _Out_ PVOID *ProviderBindingContext,
+ _Out_ CONST VOID* *ProviderDispatch);
+typedef NPI_PROVIDER_ATTACH_CLIENT_FN *PNPI_PROVIDER_ATTACH_CLIENT_FN;
+
+typedef NTSTATUS
+(NTAPI NPI_PROVIDER_DETACH_CLIENT_FN)(
+ _In_ PVOID ProviderBindingContext);
+typedef NPI_PROVIDER_DETACH_CLIENT_FN *PNPI_PROVIDER_DETACH_CLIENT_FN;
+
+typedef VOID
+(NTAPI NPI_PROVIDER_CLEANUP_BINDING_CONTEXT_FN)(
+ _In_ PVOID ProviderBindingContext);
+typedef NPI_PROVIDER_CLEANUP_BINDING_CONTEXT_FN
*PNPI_PROVIDER_CLEANUP_BINDING_CONTEXT_FN;
+
+typedef struct _NPI_PROVIDER_CHARACTERISTICS {
+ USHORT Version;
+ USHORT Length;
+ PNPI_PROVIDER_ATTACH_CLIENT_FN ProviderAttachClient;
+ PNPI_PROVIDER_DETACH_CLIENT_FN ProviderDetachClient;
+ PNPI_PROVIDER_CLEANUP_BINDING_CONTEXT_FN ProviderCleanupBindingContext;
+ NPI_REGISTRATION_INSTANCE ProviderRegistrationInstance;
+} NPI_PROVIDER_CHARACTERISTICS;
+
+NTSTATUS
+NmrRegisterClient(
+ _In_ PNPI_CLIENT_CHARACTERISTICS ClientCharacteristics,
+ _In_opt_ __drv_aliasesMem PVOID ClientContext,
+ _Out_ PHANDLE NmrClientHandle);
+
+NTSTATUS
+NmrDeregisterClient(
+ _In_ HANDLE NmrClientHandle);
+
+NTSTATUS
+NmrWaitForClientDeregisterComplete(
+ _In_ HANDLE NmrClientHandle);
+
+NTSTATUS
+NmrClientAttachProvider(
+ _In_ HANDLE NmrBindingHandle,
+ _In_ __drv_aliasesMem PVOID ClientBindingContext,
+ _In_ CONST VOID *ClientDispatch,
+ _Out_ PVOID *ProviderBindingContext,
+ _Out_ CONST VOID* *ProviderDispatch);
+
+VOID
+NmrClientDetachProviderComplete(
+ _In_ HANDLE NmrBindingHandle);
+
+NTSTATUS
+NmrRegisterProvider(
+ _In_ PNPI_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
+ _In_opt_ __drv_aliasesMem PVOID ProviderContext,
+ _Out_ PHANDLE NmrProviderHandle);
+
+NTSTATUS
+NmrDeregisterProvider(
+ _In_ HANDLE NmrProviderHandle);
+
+NTSTATUS
+NmrWaitForProviderDeregisterComplete(
+ _In_ HANDLE NmrProviderHandle);
+
+VOID
+NmrProviderDetachClientComplete(
+ _In_ HANDLE NmrBindingHandle);
+
+#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NETIODDK_ */
Propchange: trunk/reactos/include/ddk/netioddk.h
------------------------------------------------------------------------------
svn:eol-style = native