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.

58 lines
2.1 KiB

  1. /* profile.h - definitions for profile.dll */
  2. extern word far pascal PROFCLEAR (int);
  3. extern word far pascal PROFDUMP (int,FPC);
  4. extern word far pascal PROFFREE (int);
  5. extern word far pascal PROFINIT (int,FPC);
  6. extern word far pascal PROFOFF (int);
  7. extern word far pascal PROFON (int);
  8. #define PROF_SHIFT 2 /* Power of 2 profile granularity */
  9. #define MOD_NAME_SIZE 10 /* size of module name */
  10. /* Profile flags */
  11. #define PT_SYSTEM 0 /* select system profiling */
  12. #define PT_USER 1 /* select user profiling */
  13. #define PT_USEDD 2 /* tell PROFON to call profile DD */
  14. #define PT_USEKP 4 /* Do kernel-support profiling */
  15. #define PT_VERBOSE 8 /* Also collect detail kernel tics */
  16. #define PT_NODD 0 /* tell PROFON not to call profile DD */
  17. /* Profiling SCOPE
  18. * ---------------
  19. * PT_SYSTEM
  20. * Profile the ENTIRE system;
  21. * Exists for the use of tools like PSET, which gather data on
  22. * system behavior. Avoids need to write/modify test programs.
  23. *
  24. * PT_USER (i.e., PT_SYSTEM not specified)
  25. * Profile ONLY in the context of the calling process;
  26. * Exists to gather data on an individual program and those parts of
  27. * the system exercised by that program.
  28. *
  29. * Profiling Configuration
  30. * -----------------------
  31. * PT_USEDD
  32. * Call PROFILE device driver, if installed, on every timer tick.
  33. * Used by Presentation Manager "attributed" profiling, in
  34. * particular. Allows for arbitrary actions at "profile" time.
  35. *
  36. * PT_USEKP
  37. * Cause kernel to record profiling information;
  38. * These are the 4-byte granularity tick counts kept for each
  39. * code segment of interest. Making this optional allows one to
  40. * do PT_USEDD profiling without taking the memory hit of Kernel
  41. * Profiling.
  42. *
  43. * PT_VERBOSE
  44. * Collect detailed tick counts on KERNEL code segments;
  45. * Works only if PT_USEKP also specified. Generally useful
  46. * only for kernel programmers tuning the kernel.
  47. *
  48. *
  49. * The above flags can be used in any combination, with the exception
  50. * that PT_VERBOSE is allowed only if PT_USEKP is also specified.
  51. */