Source code of Windows XP (NT5)
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.

118 lines
1.9 KiB

  1. /*++
  2. Copyright (c) 1990 Microsoft Corporation
  3. Module Name:
  4. bowname.h
  5. Abstract:
  6. This module defines the name related structures for the NT datagram browser
  7. Author:
  8. Larry Osterman (LarryO) 1-Jun-1990
  9. Revision History:
  10. 4-Sep-1991 LarryO
  11. Created
  12. --*/
  13. #ifndef _BOWNAME_
  14. #define _BOWNAME_
  15. struct _TRANSPORT;
  16. typedef struct _BOWSER_NAME {
  17. CSHORT Signature;
  18. CSHORT Size;
  19. ULONG ReferenceCount;
  20. LIST_ENTRY GlobalNext;
  21. LIST_ENTRY NameChain;
  22. UNICODE_STRING Name; // Text version of this name
  23. DGRECEIVER_NAME_TYPE NameType; // Type of this name.
  24. } BOWSER_NAME, *PBOWSER_NAME;
  25. typedef
  26. NTSTATUS
  27. (*PNAME_ENUM_ROUTINE) (
  28. IN PBOWSER_NAME Name,
  29. IN OUT PVOID Context
  30. );
  31. NTSTATUS
  32. BowserForEachName (
  33. IN PNAME_ENUM_ROUTINE Routine,
  34. IN OUT PVOID Context
  35. );
  36. NTSTATUS
  37. BowserAllocateName(
  38. IN PUNICODE_STRING NameToAdd,
  39. IN DGRECEIVER_NAME_TYPE NameType,
  40. IN struct _TRANSPORT *Transport OPTIONAL,
  41. IN PDOMAIN_INFO DomainInfo
  42. );
  43. NTSTATUS
  44. BowserDeleteName(
  45. IN PBOWSER_NAME Name
  46. );
  47. NTSTATUS
  48. BowserDeleteNameByName(
  49. IN PDOMAIN_INFO DomainInfo,
  50. IN PUNICODE_STRING Name,
  51. IN DGRECEIVER_NAME_TYPE NameType
  52. );
  53. VOID
  54. BowserReferenceName(
  55. IN PBOWSER_NAME Name
  56. );
  57. VOID
  58. BowserDereferenceName(
  59. IN PBOWSER_NAME Name
  60. );
  61. NTSTATUS
  62. BowserDeleteNameAddresses(
  63. IN PBOWSER_NAME Name
  64. );
  65. PBOWSER_NAME
  66. BowserFindName (
  67. IN PUNICODE_STRING NameToFind,
  68. IN DGRECEIVER_NAME_TYPE NameType
  69. );
  70. NTSTATUS
  71. BowserEnumerateNamesInDomain (
  72. IN PDOMAIN_INFO DomainInfo,
  73. IN struct _TRANSPORT *Transport,
  74. OUT PVOID OutputBuffer,
  75. OUT ULONG OutputBufferLength,
  76. IN OUT PULONG EntriesRead,
  77. IN OUT PULONG TotalEntries,
  78. IN OUT PULONG TotalBytesNeeded,
  79. IN ULONG_PTR OutputBufferDisplacement
  80. );
  81. NTSTATUS
  82. BowserpInitializeNames(
  83. VOID
  84. );
  85. VOID
  86. BowserpUninitializeNames(
  87. VOID
  88. );
  89. #endif // _BOWNAME_