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.

157 lines
3.5 KiB

  1. //+-----------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (c) Microsoft Corporation 1992 - 1997
  6. //
  7. // File: kdcexp.h
  8. //
  9. // Contents: Private Exports from kdcsvc.dll
  10. //
  11. //
  12. // History: 27-June-1997 MikeSw Created
  13. //
  14. //------------------------------------------------------------------------
  15. #ifndef __KDCEXP_H__
  16. #define __KDCEXP_H__
  17. #ifdef __cplusplus
  18. extern "C"
  19. {
  20. #endif // __cplusplus
  21. NTSTATUS
  22. KdcVerifyPac(
  23. IN ULONG ChecksumSize,
  24. IN PUCHAR Checksum,
  25. IN ULONG SignatureType,
  26. IN ULONG SignatureSize,
  27. IN PUCHAR Signature
  28. );
  29. #define KDC_VERIFY_PAC_NAME "KdcVerifyPac"
  30. typedef NTSTATUS
  31. (NTAPI *PKDC_VERIFY_PAC_ROUTINE)(
  32. IN ULONG ChecksumSize,
  33. IN PUCHAR Checksum,
  34. IN ULONG SignatureType,
  35. IN ULONG SignatureSize,
  36. IN PUCHAR Signature
  37. );
  38. KERBERR
  39. KdcGetTicket(
  40. IN OPTIONAL PVOID Context,
  41. IN OPTIONAL PSOCKADDR ClientAddress,
  42. IN OPTIONAL PSOCKADDR ServerAddress,
  43. IN PKERB_MESSAGE_BUFFER InputMessage,
  44. OUT PKERB_MESSAGE_BUFFER OutputMessage
  45. );
  46. #define KDC_GET_TICKET_NAME "KdcGetTicket"
  47. typedef KERBERR
  48. (NTAPI *PKDC_GET_TICKET_ROUTINE) (
  49. IN OPTIONAL PVOID Context,
  50. IN OPTIONAL PSOCKADDR ClientAddress,
  51. IN OPTIONAL PSOCKADDR ServerAddress,
  52. IN PKERB_MESSAGE_BUFFER InputMessage,
  53. OUT PKERB_MESSAGE_BUFFER OutputMessage
  54. );
  55. #define KDC_CHANGE_PASSWORD_NAME "KdcChangePassword"
  56. KERBERR
  57. KdcChangePassword(
  58. IN OPTIONAL PVOID Context,
  59. IN OPTIONAL PSOCKADDR ClientAddress,
  60. IN OPTIONAL PSOCKADDR ServerAddress,
  61. IN PKERB_MESSAGE_BUFFER InputMessage,
  62. OUT PKERB_MESSAGE_BUFFER OutputMessage
  63. );
  64. VOID
  65. KdcFreeMemory(
  66. IN PVOID Ptr
  67. );
  68. #define KDC_FREE_MEMORY_NAME "KdcFreeMemory"
  69. typedef VOID
  70. (NTAPI * PKDC_FREE_MEMORY_ROUTINE) (
  71. IN PVOID Ptr
  72. );
  73. NTSTATUS
  74. KdcAccountChangeNotification (
  75. IN PSID DomainSid,
  76. IN SECURITY_DB_DELTA_TYPE DeltaType,
  77. IN SECURITY_DB_OBJECT_TYPE ObjectType,
  78. IN ULONG ObjectRid,
  79. IN OPTIONAL PUNICODE_STRING ObjectName,
  80. IN PLARGE_INTEGER ModifiedCount,
  81. IN PSAM_DELTA_DATA DeltaData OPTIONAL
  82. );
  83. BOOLEAN
  84. KdcUpdateKrbtgtPassword(
  85. IN PUNICODE_STRING DnsDomainName,
  86. IN PLARGE_INTEGER MaxPasswordAge
  87. );
  88. //
  89. // Exported routines from kerberos.dll
  90. //
  91. NTSTATUS
  92. KerbMakeKdcCall(
  93. IN PUNICODE_STRING RealmName,
  94. IN OPTIONAL PUNICODE_STRING AccountName,
  95. IN BOOLEAN CallPDC,
  96. IN BOOLEAN UseTcp,
  97. IN PKERB_MESSAGE_BUFFER RequestMessage,
  98. IN OUT PKERB_MESSAGE_BUFFER ReplyMessage,
  99. IN ULONG AdditionalFlags,
  100. OUT PBOOLEAN CalledPDC
  101. );
  102. VOID
  103. KerbFree(
  104. IN PVOID Buffer
  105. );
  106. NTSTATUS
  107. KerbCreateTokenFromTicket(
  108. IN PLUID NewLuid,
  109. IN OPTIONAL PKERB_AP_REQUEST Request,
  110. IN PKERB_ENCRYPTED_TICKET InternalTicket,
  111. IN PKERB_AUTHENTICATOR Authenticator,
  112. IN ULONG ContextFlags,
  113. IN PKERB_ENCRYPTION_KEY TicketKey,
  114. IN PUNICODE_STRING ServiceDomain,
  115. IN KERB_ENCRYPTION_KEY* pSessionKey,
  116. OUT PLUID NewLogonId,
  117. OUT PSID * UserSid,
  118. OUT PHANDLE NewTokenHandle,
  119. OUT PUNICODE_STRING ClientName,
  120. OUT PUNICODE_STRING ClientDomain,
  121. OUT PUNICODE_STRING ClientNetbiosDomain,
  122. OUT OPTIONAL PS4U_DELEGATION_INFO* S4uDelegationInfo
  123. );
  124. BOOLEAN
  125. KerbIsInitialized(
  126. );
  127. NTSTATUS
  128. KerbKdcCallBack(
  129. );
  130. #ifdef __cplusplus
  131. }
  132. #endif // __cplusplus
  133. #endif // __KDCEXP_H__