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.

85 lines
2.9 KiB

  1. /*++
  2. Copyright (c) 2001 Microsoft Corporation
  3. Module Name:
  4. rasdiagp.h
  5. Abstract:
  6. This file contains all public data structures and defines used
  7. by Rasmontr.dll. These were added to expose the NetSh.exe commands
  8. within Rasmontr to the RAS Client Diagnostics User Interface.
  9. Author:
  10. Jeff Sigman (JeffSi) September 04, 2001
  11. Environment:
  12. User Mode
  13. Revision History:
  14. JeffSi 09/04/01 Created
  15. --*/
  16. #ifndef _RASDIAGP_H_
  17. #define _RASDIAGP_H_
  18. //
  19. // Valid flags for DiagGetReportFunc
  20. //
  21. #define RAS_DIAG_EXPORT_TO_FILE 0x00000001 // Save report to a file, return
  22. // report file name in pwszString.
  23. // No compression or file deletion.
  24. #define RAS_DIAG_EXPORT_TO_EMAIL 0x00000002 // Attach compressed report to the
  25. // email addressed in pwszString.
  26. // Delete un-compressed report.
  27. #define RAS_DIAG_DISPLAY_FILE 0x00000004 // Save report to a temp file name,
  28. // return file name in pwszString.
  29. // No compression or file deletion.
  30. #define RAS_DIAG_VERBOSE_REPORT 0x00000008 // Include all reporting information
  31. // Warning, can take more than 5 min
  32. typedef struct _GET_REPORT_STRING_CB
  33. {
  34. DWORD dwPercent;
  35. PVOID pContext;
  36. PWCHAR pwszState;
  37. } GET_REPORT_STRING_CB;
  38. typedef DWORD (*DiagGetReportCb)(IN GET_REPORT_STRING_CB* pInfo);
  39. typedef DWORD (*DiagInitFunc)();
  40. typedef DWORD (*DiagUnInitFunc)();
  41. typedef DWORD (*DiagClearAllFunc)();
  42. typedef DWORD (*DiagGetReportFunc)(IN DWORD dwFlags,
  43. IN OUT LPCWSTR pwszString,
  44. IN OPTIONAL DiagGetReportCb pCallback,
  45. IN OPTIONAL PVOID pContext);
  46. typedef BOOL (*DiagGetStateFunc)();
  47. typedef DWORD (*DiagSetAllFunc)(IN BOOL fEnable);
  48. typedef DWORD (*DiagSetAllRasFunc)(IN BOOL fEnable);
  49. typedef DWORD (*DiagWppTracing)();
  50. typedef struct _RAS_DIAGNOSTIC_FUNCTIONS
  51. {
  52. DiagInitFunc Init; // Must be called before any funcs are used
  53. DiagUnInitFunc UnInit; // Must be called when finished for cleanup
  54. DiagClearAllFunc ClearAll; // Clears all tracing logs, then enables all
  55. DiagGetReportFunc GetReport; // Get report based on RAS_DIAG flags
  56. DiagGetStateFunc GetState; // Returns whether all of RAS tracing is on
  57. DiagSetAllFunc SetAll; // Enables all tracing (modem, ipsec, RAS,...)
  58. DiagSetAllRasFunc SetAllRas; // Enables only RAS (%windir%\tracing) tracing
  59. DiagWppTracing WppTrace; // Enables any active WPP tracing sessions
  60. } RAS_DIAGNOSTIC_FUNCTIONS;
  61. typedef DWORD (*DiagGetDiagnosticFunctions) (OUT RAS_DIAGNOSTIC_FUNCTIONS* pFunctions);
  62. #endif // _RASDIAGP_H_