[ros-diffs] [akhaldi] 56535: [DDK] * Add netioddk.h.

akhaldi at svn.reactos.org akhaldi at svn.reactos.org
Mon May 7 18:53:11 UTC 2012


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=56535&view=auto
==============================================================================
--- 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 at 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




More information about the Ros-diffs mailing list