xref: /reactos/sdk/include/ddk/backpack.h (revision 1734f297)
1 #ifndef _BACKPACK_
2 #define _BACKPACK_
3 
4 typedef struct _THROTTLING_STATE
5 {
6     LARGE_INTEGER NextTime;
7     volatile ULONG CurrentIncrement;
8     ULONG MaximumDelay;
9     LARGE_INTEGER Increment;
10     volatile ULONG NumberOfQueries;
11 } THROTTLING_STATE, *PTHROTTLING_STATE;
12 
13 #define RxInitializeThrottlingState(BP, Inc, MaxDelay) \
14 {                                                      \
15     if ((Inc) > 0)                                     \
16     {                                                  \
17         (BP)->Increment.QuadPart = (Inc) * 10000;      \
18         (BP)->MaximumDelay = (MaxDelay) / (Inc);       \
19         (BP)->CurrentIncrement = 0;                    \
20     }                                                  \
21 }
22 
23 #endif
24