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.

194 lines
3.3 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. ntddgpc.h
  5. Abstract:
  6. defines that are exported to user mode
  7. Author:
  8. Ofer Bar (oferbar) 23-May-1997
  9. Revision History:
  10. --*/
  11. #ifndef _NTDDGPC_
  12. #define _NTDDGPC_
  13. typedef struct _PROTOCOL_STAT {
  14. ULONG CreatedSp;
  15. ULONG DeletedSp;
  16. ULONG RejectedSp;
  17. ULONG CurrentSp;
  18. ULONG CreatedGp;
  19. ULONG DeletedGp;
  20. ULONG RejectedGp;
  21. ULONG CurrentGp;
  22. ULONG CreatedAp;
  23. ULONG DeletedAp;
  24. ULONG RejectedAp;
  25. ULONG CurrentAp;
  26. ULONG ClassificationRequests;
  27. ULONG PatternsClassified;
  28. ULONG PacketsClassified;
  29. ULONG DerefPattern2Zero;
  30. ULONG FirstFragsCount;
  31. ULONG LastFragsCount;
  32. ULONG InsertedPH;
  33. ULONG RemovedPH;
  34. ULONG InsertedRz;
  35. ULONG RemovedRz;
  36. ULONG InsertedCH;
  37. ULONG RemovedCH;
  38. } PROTOCOL_STAT, *PPROTOCOL_STAT;
  39. typedef struct _CF_STAT {
  40. ULONG CreatedBlobs;
  41. ULONG ModifiedBlobs;
  42. ULONG DeletedBlobs;
  43. ULONG RejectedBlobs;
  44. ULONG CurrentBlobs;
  45. ULONG DerefBlobs2Zero;
  46. } CF_STAT, *PCF_STAT;
  47. //
  48. // GPC stats
  49. //
  50. typedef struct _GPC_STATS {
  51. ULONG CreatedCf;
  52. ULONG DeletedCf;
  53. ULONG RejectedCf;
  54. ULONG CurrentCf;
  55. ULONG InsertedHF;
  56. ULONG RemovedHF;
  57. CF_STAT CfStat[GPC_CF_MAX];
  58. PROTOCOL_STAT ProtocolStat[GPC_PROTOCOL_TEMPLATE_MAX];
  59. } GPC_STAT, *PGPC_STAT;
  60. //
  61. // CF data struct
  62. //
  63. typedef struct _CF_DATA {
  64. ULONG CfId;
  65. ULONG NumberOfClients;
  66. ULONG Flags;
  67. ULONG NumberOfPriorities;
  68. } CF_DATA, *PCF_DATA;
  69. //
  70. // blob data struct
  71. //
  72. typedef struct _BLOB_DATA {
  73. ULONG CfId;
  74. ULONG BlobId;
  75. ULONG ByteCount;
  76. CHAR Data[1];
  77. } BLOB_DATA, *PBLOB_DATA;
  78. //
  79. // specific pattern data struct
  80. //
  81. typedef struct _SP_DATA {
  82. ULONG BlobId;
  83. CHAR Pattern[1];
  84. } SP_DATA, *PSP_DATA;
  85. //
  86. // generic pattern data struct
  87. //
  88. typedef struct _GP_DATA {
  89. ULONG CfId;
  90. ULONG Priority;
  91. ULONG BlobId;
  92. CHAR Pattern[1];
  93. // Mask is following here
  94. } GP_DATA, *PGP_DATA;
  95. //
  96. // the big output buffer
  97. //
  98. typedef struct _GPC_OUTPUT_BUFFER {
  99. ULONG Version;
  100. //
  101. // statistics until now
  102. //
  103. GPC_STAT Stats;
  104. //
  105. // number of elements in this report
  106. //
  107. ULONG NumberOfCf;
  108. ULONG NumberOfBlobs;
  109. ULONG NumberOfSp;
  110. ULONG NumberOfGp;
  111. CHAR Data[1];
  112. //
  113. // order of data:
  114. // CF_DATA
  115. // BLOB_DATA
  116. // SP_DATA
  117. // GP_DATA
  118. //
  119. } GPC_OUTPUT_BUFFER, *PGPC_OUTPUT_BUFFER;
  120. typedef struct _GPC_INPUT_BUFFER {
  121. ULONG Version;
  122. ULONG ProtocolTemplateId;
  123. ULONG Cf; // which CF or (-1) for all
  124. ULONG BlobCount; // (-1) for all
  125. ULONG PatternCount; // (-1) for all
  126. } GPC_INPUT_BUFFER, *PGPC_INPUT_BUFFER;
  127. /* Prototypes */
  128. /* End Prototypes */
  129. #endif /* _NTDDGPC_ */
  130. /* end ntddgpc.h */