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.

82 lines
2.5 KiB

  1. /*++
  2. Copyright (c) 1994 Microsoft Corporation
  3. Module Name:
  4. rdbss.h
  5. Abstract:
  6. This module defines the RDBSS specific data structures
  7. Author:
  8. Balan Sethu Raman [SethuR] 16-July-95 -- Created
  9. Revision History:
  10. Notes:
  11. All the data structures that are exposed to the mini redirector writers need to be
  12. consolidated in this module.
  13. --*/
  14. #ifndef _RDBSS_H_
  15. #define _RDBSS_H_
  16. //
  17. // In the previous redirector implementation the file system statistics and the network
  18. // protocol statistics were combined into one data structure ( and correctly so ) since
  19. // the old redirector supported only one protocol. However this does not apply to the
  20. // new redirector (RDR2) since there are more than one mini redirectors and the two
  21. // need to be distingushed. The RDBSS_STATISTICS structure provides the file system
  22. // level statistics while the protocol level statistics definition is under the control of
  23. // the mini redirector implementers.
  24. //
  25. // The staistics can be obtained by issuing the FSCTL_RDBSS_GET_STATISTICS. If no mini
  26. // redirector name is provided the RDBSS_STATISTICS are returned and if a mini
  27. // redirctor name is provided the statistics of the appropriate mini redirector are
  28. // returned ( the call is passed through to the appropriate mini redirector ).
  29. //
  30. typedef struct _RDBSS_STATISTICS {
  31. LARGE_INTEGER StatisticsStartTime;
  32. LARGE_INTEGER PagingReadBytesRequested;
  33. LARGE_INTEGER NonPagingReadBytesRequested;
  34. LARGE_INTEGER CacheReadBytesRequested;
  35. LARGE_INTEGER NetworkReadBytesRequested;
  36. LARGE_INTEGER PagingWriteBytesRequested;
  37. LARGE_INTEGER NonPagingWriteBytesRequested;
  38. LARGE_INTEGER CacheWriteBytesRequested;
  39. LARGE_INTEGER NetworkWriteBytesRequested;
  40. ULONG InitiallyFailedOperations;
  41. ULONG FailedCompletionOperations;
  42. ULONG ReadOperations;
  43. ULONG RandomReadOperations;
  44. ULONG WriteOperations;
  45. ULONG RandomWriteOperations;
  46. ULONG NumberOfSrvCalls;
  47. ULONG NumberOfSrvOpens;
  48. ULONG NumberOfNetRoots;
  49. ULONG NumberOfVirtualNetRoots;
  50. } RDBSS_STATISTICS, *PRDBSS_STATISTICS;
  51. // This call is provided for the benefit of mini redirector implementers. Each mini
  52. // redirector writer is free to choose the appropriate division of labour between
  53. // the RDBSS and the corresponding mini redirector in maintaining the statistics.
  54. extern NTSTATUS
  55. RdbssGetStatistics(PRDBSS_STATISTICS pRdbssStatistics);
  56. #endif // _RDBSS_H_