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.

68 lines
1.1 KiB

  1. /*++
  2. Copyright (c) 1989-2001 Microsoft Corporation
  3. Module Name:
  4. dns.h
  5. Abstract:
  6. Kernel Mode DNS resolver
  7. Author:
  8. Jiandong Ruan
  9. Revision History:
  10. --*/
  11. #ifndef __DNS_H__
  12. #define __DNS_H__
  13. #define DNS_MAX_RESOLVER 8
  14. typedef struct {
  15. KSPIN_LOCK Lock;
  16. ULONG NextId;
  17. //
  18. // Resolvers
  19. // An array is enough. No need to use the fancy linked-list.
  20. // We don't expect more than 8 DNS resolvers. If so, having
  21. // a TRUE kernel-mode DNS resolver is more meaningful than
  22. // using a user-mode proxy.
  23. //
  24. LONG ResolverNumber;
  25. PIRP ResolverList[DNS_MAX_RESOLVER];
  26. //
  27. // The list of requests which are being served.
  28. //
  29. LIST_ENTRY BeingServedList;
  30. //
  31. // The list of request waiting for the next available resolver
  32. //
  33. LIST_ENTRY WaitingServerList;
  34. } SMBDNS;
  35. extern SMBDNS Dns;
  36. NTSTATUS
  37. SmbNewResolver(
  38. PSMB_DEVICE Device,
  39. PIRP Irp
  40. );
  41. NTSTATUS
  42. SmbInitDnsResolver(
  43. VOID
  44. );
  45. VOID
  46. SmbShutdownDnsResolver(
  47. VOID
  48. );
  49. #endif