Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.2 KiB

  1. /*++
  2. Copyright (c) 1997-2001 Microsoft Corporation
  3. Module Name:
  4. NsIpSec.h
  5. Abstract:
  6. External interface declarations for IpSec NAT shim
  7. Author:
  8. Jonathan Burstein (jonburs) 10-July-2001
  9. Environment:
  10. Kernel mode
  11. Revision History:
  12. --*/
  13. #pragma once
  14. //
  15. // Function Type Definitions
  16. //
  17. typedef NTSTATUS
  18. (*PNS_PROCESS_OUTGOING_PACKET)(
  19. IN IPHeader UNALIGNED *pIpHeader,
  20. IN PVOID pvProtocolHeader,
  21. IN ULONG ulProtocolHeaderSize,
  22. OUT PVOID *ppvIpSecContext
  23. );
  24. typedef NTSTATUS
  25. (*PNS_PROCESS_INCOMING_PACKET)(
  26. IN IPHeader UNALIGNED *pIpHeader,
  27. IN PVOID pvProtocolHeader,
  28. IN ULONG ulProtocolHeaderSize,
  29. IN PVOID pvIpSecContext
  30. );
  31. typedef NTSTATUS
  32. (*PNS_CLEANUP_SHIM)(
  33. VOID
  34. );
  35. //
  36. // Structure Definitions
  37. //
  38. typedef struct _IPSEC_NATSHIM_FUNCTIONS
  39. {
  40. OUT PNS_PROCESS_OUTGOING_PACKET pOutgoingPacketRoutine;
  41. OUT PNS_PROCESS_INCOMING_PACKET pIncomingPacketRoutine;
  42. OUT PNS_CLEANUP_SHIM pCleanupRoutine;
  43. } IPSEC_NATSHIM_FUNCTIONS, *PIPSEC_NATSHIM_FUNCTIONS;
  44. //
  45. // Function Prototypes
  46. //
  47. NTSTATUS
  48. NsInitializeShim(
  49. IN PDEVICE_OBJECT pIpSecDeviceObject,
  50. IN PIPSEC_NATSHIM_FUNCTIONS pShimFunctions
  51. );