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.

83 lines
1.9 KiB

  1. /*++
  2. Copyright (c) 1994 Microsoft Corporation
  3. Module Name:
  4. RxTimer.h
  5. Abstract:
  6. This module defines the prototypes and structures for the timer on the rdbss architecture.
  7. What is provided is a 55ms timer...that is, if you register a routine then you get a call
  8. every 55ms. On NT, you're at DPC level.
  9. Also contained here are the routines for posting to a thread from DPC level.
  10. Author:
  11. Joe Linn [JoeLinn] 2-mar-95
  12. Revision History:
  13. Balan Sethu Raman [SethuR] 7-March-95
  14. Modified signatures to provide one shot timer service. Merged timer entry and
  15. work item definitions.
  16. --*/
  17. #ifndef _RXTIMER_H_
  18. #define _RXTIMER_H_
  19. //
  20. // The RX_WORK_ITEM encapsulates the context for posting to a worker thread as well as
  21. // a timer routine to be triggered after a specific interval.
  22. //
  23. typedef struct _RX_WORK_ITEM_ {
  24. RX_WORK_QUEUE_ITEM WorkQueueItem;
  25. ULONG LastTick;
  26. ULONG Options;
  27. } RX_WORK_ITEM, *PRX_WORK_ITEM;
  28. extern NTSTATUS
  29. NTAPI
  30. RxPostOneShotTimerRequest(
  31. IN PRDBSS_DEVICE_OBJECT pDeviceObject,
  32. IN PRX_WORK_ITEM pWorkItem,
  33. IN PRX_WORKERTHREAD_ROUTINE Routine,
  34. IN PVOID pContext,
  35. IN LARGE_INTEGER TimeInterval);
  36. extern NTSTATUS
  37. NTAPI
  38. RxPostRecurrentTimerRequest(
  39. IN PRDBSS_DEVICE_OBJECT pDeviceObject,
  40. IN PRX_WORKERTHREAD_ROUTINE Routine,
  41. IN PVOID pContext,
  42. IN LARGE_INTEGER TimeInterval);
  43. extern NTSTATUS
  44. NTAPI
  45. RxCancelTimerRequest(
  46. IN PRDBSS_DEVICE_OBJECT pDeviceObject,
  47. IN PRX_WORKERTHREAD_ROUTINE Routine,
  48. IN PVOID pContext
  49. );
  50. //
  51. // Routines for initializing and tearing down the timer service in RDBSS
  52. //
  53. extern NTSTATUS
  54. NTAPI
  55. RxInitializeRxTimer();
  56. extern VOID
  57. NTAPI
  58. RxTearDownRxTimer(void);
  59. #endif // _RXTIMER_STUFF_DEFINED_
  60.