mirror of
https://github.com/reactos/reactos.git
synced 2025-04-20 20:36:35 +00:00
[DDK]
* Add netioddk.h. svn path=/trunk/; revision=56535
This commit is contained in:
parent
1727caafd1
commit
c0a4db6701
1 changed files with 158 additions and 0 deletions
158
reactos/include/ddk/netioddk.h
Normal file
158
reactos/include/ddk/netioddk.h
Normal file
|
@ -0,0 +1,158 @@
|
|||
/*
|
||||
* netioddk.h
|
||||
*
|
||||
* This file is part of the ReactOS DDK package.
|
||||
*
|
||||
* Contributors:
|
||||
* Amine Khaldi (amine.khaldi@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_ */
|
Loading…
Reference in a new issue