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.

156 lines
6.9 KiB

  1. //-----------------------------------------------------------------------------
  2. //
  3. //
  4. // File: smtpdlfs.h
  5. //
  6. // Description: Header file that defines structures to be dumped by the SMTP
  7. // debugger extension.
  8. //
  9. // Author: Mike Swafford (MikeSwa)
  10. //
  11. // History:
  12. // 2/22/99 - GPulla created
  13. // 7/4/99 - MikeSwa Updated and checked in
  14. //
  15. // Copyright (C) 1999 Microsoft Corporation
  16. //
  17. //-----------------------------------------------------------------------------
  18. #include <_dbgdump.h>
  19. BEGIN_ENUM_DESCRIPTOR(STATE_ENUM)
  20. ENUM_VALUE2(EHLO, "EHLO")
  21. ENUM_VALUE2(HELO, "HELO")
  22. ENUM_VALUE2(RCPT, "RCPT")
  23. ENUM_VALUE2(MAIL, "MAIL")
  24. ENUM_VALUE2(AUTH, "AUTH")
  25. ENUM_VALUE2(DATA, "DATA")
  26. ENUM_VALUE2(STARTTLS, "STARTTLS")
  27. ENUM_VALUE2(TLS, "TLS")
  28. ENUM_VALUE2(QUIT, "QUIT")
  29. ENUM_VALUE2(RSET, "RSET")
  30. ENUM_VALUE2(NOOP, "NOOP")
  31. ENUM_VALUE2(VRFY, "VRFY")
  32. ENUM_VALUE2(ETRN, "ETRN")
  33. ENUM_VALUE2(TURN, "TURN")
  34. ENUM_VALUE2(BDAT, "BDAT")
  35. ENUM_VALUE2(HELP, "HELP")
  36. ENUM_VALUE2(LAST_SMTP_STATE, "LAST_SMTP_STATE")
  37. END_ENUM_DESCRIPTOR
  38. BEGIN_BIT_MASK_DESCRIPTOR(OutboundConnectionFlags)
  39. BIT_MASK_VALUE2(SIZE_OPTION, "SIZE_OPTION")
  40. BIT_MASK_VALUE2(PIPELINE_OPTION, "PIPELINE_OPTION")
  41. BIT_MASK_VALUE2(EBITMIME_OPTION, "EBITMIME_OPTION")
  42. BIT_MASK_VALUE2(SMARTHOST_OPTION, "SMARTHOST_OPTION")
  43. BIT_MASK_VALUE2(DSN_OPTION, "DSN_OPTION")
  44. BIT_MASK_VALUE2(TLS_OPTION, "TLS_OPTION")
  45. BIT_MASK_VALUE2(AUTH_NTLM, "AUTH_NTLM")
  46. BIT_MASK_VALUE2(AUTH_CLEARTEXT, "AUTH_CLEARTEXT")
  47. BIT_MASK_VALUE2(ETRN_SENT, "ETRN_SENT")
  48. BIT_MASK_VALUE2(ETRN_OPTION, "ETRN_OPTION")
  49. BIT_MASK_VALUE2(SASL_OPTION, "SASL_OPTION")
  50. BIT_MASK_VALUE2(CHUNKING_OPTION, "CHUNKING_OPTION")
  51. BIT_MASK_VALUE2(BINMIME_OPTION, "BINMIME_OPTION")
  52. BIT_MASK_VALUE2(ENHANCEDSTATUSCODE_OPTION, "ENHANCEDSTATUSCODE_OPTION")
  53. BIT_MASK_VALUE2(AUTH_GSSAPI, "AUTH_GSSAPI")
  54. BIT_MASK_VALUE2(AUTH_DIGEST, "AUTH_DIGEST")
  55. BIT_MASK_VALUE2(ETRN_ONLY_OPTION, "ETRN_ONLY_OPTION")
  56. BIT_MASK_VALUE2(STARTTLS_OPTION, "STARTTLS_OPTION")
  57. END_BIT_MASK_DESCRIPTOR
  58. BEGIN_FIELD_DESCRIPTOR(Connection_Object)
  59. FIELD3(FieldTypeClassSignature, SMTP_CONNECTION, m_signature)
  60. FIELD4(FieldTypeEnum, SMTP_CONNECTION, m_State, GET_ENUM_DESCRIPTOR(STATE_ENUM))
  61. FIELD3(FieldTypeBoolean, SMTP_CONNECTION, m_HelloSent)
  62. FIELD3(FieldTypeBoolean, SMTP_CONNECTION, m_RecvdMailCmd)
  63. FIELD3(FieldTypeBoolean, SMTP_CONNECTION, m_RecvdRcptCmd)
  64. FIELD3(FieldTypeBoolean, SMTP_CONNECTION, m_RecvdAuthCmd)
  65. FIELD3(FieldTypePointer, SMTP_CONNECTION, m_precvBuffer)
  66. FIELD3(FieldTypeDword, SMTP_CONNECTION, m_cbParsable)
  67. FIELD3(FieldTypeDword, SMTP_CONNECTION, m_cbReceived)
  68. FIELD3(FieldTypeDword, SMTP_CONNECTION, m_cbCurrentWriteBuffer)
  69. FIELD3(FieldTypeDword, SMTP_CONNECTION, m_cbRecvBufferOffset)
  70. FIELD3(FieldTypePointer, SMTP_CONNECTION, m_pFileWriteBuffer)
  71. FIELD3(FieldTypePointer, SMTP_CONNECTION, m_pOutputBuffer)
  72. FIELD3(FieldTypeBool, SMTP_CONNECTION, m_fNegotiatingSSL)
  73. FIELD3(FieldTypeBool, SMTP_CONNECTION, m_SecurePort)
  74. FIELD3(FieldTypeBool, SMTP_CONNECTION, m_fIsChunkComplete)
  75. FIELD3(FieldTypeBool, SMTP_CONNECTION, m_InHeader)
  76. FIELD3(FieldTypeBool, SMTP_CONNECTION, m_TimeToRewriteHeader)
  77. FIELD3(FieldTypeDword, SMTP_CONNECTION, m_SessionSize)
  78. FIELD3(FieldTypeDword, SMTP_CONNECTION, m_TotalMsgSize)
  79. FIELD3(FieldTypeDword, SMTP_CONNECTION, m_cbMaxRecvBuffer)
  80. FIELD3(FieldTypePointer, SMTP_CONNECTION, m_pInstance)
  81. FIELD3(FieldTypeDword, SMTP_CONNECTION, m_MailBodyError)
  82. FIELD3(FieldTypeDword, SMTP_CONNECTION, m_nBytesRemainingInChunk)
  83. FIELD3(FieldTypeDword, SMTP_CONNECTION, m_cbTempBDATLen)
  84. //FIELD3(FieldTypeDword, SMTP_CONNECTION, m_WritesPendingCount)
  85. //FIELD3(FieldTypeDword, SMTP_CONNECTION, m_SuspectedWriteError)
  86. END_FIELD_DESCRIPTOR
  87. BEGIN_FIELD_DESCRIPTOR(Smtp_Server_Stats)
  88. // FIELD3(FieldTypeDword, SMTP_SERVER_STATISTICS, m_signature)
  89. FIELD3(FieldTypePointer, SMTP_SERVER_STATISTICS, m_pInstance)
  90. END_FIELD_DESCRIPTOR
  91. BEGIN_FIELD_DESCRIPTOR(Smtp_Server_Inst)
  92. FIELD3(FieldTypeClassSignature, SMTP_SERVER_INSTANCE, m_signature)
  93. FIELD3(FieldTypePStr, SMTP_SERVER_INSTANCE, m_szMailQueueDir)
  94. FIELD3(FieldTypePStr, SMTP_SERVER_INSTANCE, m_szMailPickupDir)
  95. FIELD3(FieldTypePStr, SMTP_SERVER_INSTANCE, m_szMailDropDir)
  96. FIELD3(FieldTypeStruct, SMTP_SERVER_INSTANCE, m_ConnectionsList)
  97. FIELD3(FieldTypeDword, SMTP_SERVER_INSTANCE, m_cCurrentConnections)
  98. FIELD3(FieldTypeDword, SMTP_SERVER_INSTANCE, m_cCurrentOutConnections)
  99. FIELD3(FieldTypeDword, SMTP_SERVER_INSTANCE, m_cMaxCurrentConnections)
  100. FIELD3(FieldTypeDword, SMTP_SERVER_INSTANCE, m_cMaxOutConnections)
  101. FIELD3(FieldTypeDword, SMTP_SERVER_INSTANCE, m_cMaxOutConnectionsPerDomain)
  102. FIELD3(FieldTypeDword, SMTP_SERVER_INSTANCE, m_cbMaxMsgSize)
  103. FIELD3(FieldTypeDword, SMTP_SERVER_INSTANCE, m_cbMaxMsgSizeBeforeClose)
  104. END_FIELD_DESCRIPTOR
  105. BEGIN_FIELD_DESCRIPTOR(Smtp_Iis_Inst)
  106. FIELD3(FieldTypeDword, SMTP_IIS_SERVICE, m_OldMaxPoolThreadValue)
  107. FIELD3(FieldTypeLong, SMTP_IIS_SERVICE, m_cCurrentSystemRoutingThreads)
  108. FIELD3(FieldTypeDword, SMTP_IIS_SERVICE, m_cMaxSystemRoutingThreads)
  109. FIELD3(FieldTypeDword, SMTP_IIS_SERVICE, m_dwStartHint)
  110. // FIELD3(FieldTypeDword, SMTP_IIS_SERVICE, m_nInstance)
  111. // FIELD3(FieldTypeLong, SMTP_IIS_SERVICE, m_nStartedInstances)
  112. // FIELD3(FieldTypeStruct, SMTP_IIS_SERVICE, m_InstanceListHead)
  113. END_FIELD_DESCRIPTOR
  114. BEGIN_FIELD_DESCRIPTOR(Smtp_Outbound_Connection)
  115. FIELD3(FieldTypeClassSignature, SMTP_CONNECTION, m_signature)
  116. FIELD3(FieldTypeSymbol, SMTP_CONNOUT, m_NextState) //pointer to a function
  117. FIELD3(FieldTypeDword, SMTP_CONNOUT, m_cbParsable)
  118. FIELD3(FieldTypeStruct, SMTP_CONNOUT, m_OutputBuffer)
  119. FIELD3(FieldTypePointer, SMTP_CONNOUT, m_pOutputBuffer)
  120. FIELD3(FieldTypeStruct, SMTP_CONNOUT, m_NativeCommandBuffer)
  121. FIELD3(FieldTypePointer, SMTP_CONNOUT, m_pIMsg) //pointer to imsg object
  122. FIELD3(FieldTypePointer, SMTP_CONNOUT, m_pISMTPConnection) //pointer to smtp_conn object
  123. FIELD3(FieldTypePointer, SMTP_CONNOUT, m_precvBuffer)
  124. FIELD4(FieldTypeDWordBitMask, SMTP_CONNOUT, m_Flags, GET_BIT_MASK_DESCRIPTOR(OutboundConnectionFlags))
  125. END_FIELD_DESCRIPTOR
  126. BEGIN_FIELD_DESCRIPTOR(Drop_Directory)
  127. FIELD3(FieldTypeClassSignature, CDropDir, m_dwSig)
  128. END_FIELD_DESCRIPTOR
  129. BEGIN_FIELD_DESCRIPTOR(Class_Buffer)
  130. FIELD3(FieldTypeClassSignature, CBuffer, m_dwSignature)
  131. FIELD3(FieldTypePointer, CBuffer, m_pIoBuffer)
  132. FIELD3(FieldTypeDword, CBuffer, m_cCount)
  133. END_FIELD_DESCRIPTOR
  134. BEGIN_STRUCT_DESCRIPTOR
  135. STRUCT(SMTP_CONNECTION, Connection_Object)
  136. STRUCT(SMTP_SERVER_STATISTICS, Smtp_Server_Stats)
  137. STRUCT(SMTP_SERVER_INSTANCE, Smtp_Server_Inst)
  138. STRUCT(SMTP_IIS_SERVICE, Smtp_Iis_Inst)
  139. STRUCT(SMTP_CONNOUT, Smtp_Outbound_Connection)
  140. STRUCT(CDropDir, Drop_Directory)
  141. STRUCT(CBuffer, Class_Buffer)
  142. END_STRUCT_DESCRIPTOR