• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/compat/ndis/

Lines Matching refs:timer

87     "Show ntoskrnl timer stats");
1616 * KeWaitForSingleObject() on NDIS timer and event objects, so we
1617 * have to support that as well. Conseqently, our NDIS timer and event
1618 * code has to be closely tied into our ntoskrnl timer and event code,
1630 * - For timers, if the timer has already fired and the timer is in
1632 * timer. Unlike an event, timers get signalled automatically when
1635 * events: KeInitializeTimerEx() lets you initialize a timer as
3404 * a timer or event object, you actually end up with an
3413 * a timer object by simply allocating the memory for a ktimer
3415 * the timer has no object_header and no reference counting or
3621 ktimer *timer;
3627 timer = arg;
3632 ntoskrnl_remove_timer(timer);
3639 if (timer->k_header.dh_inserted == FALSE) {
3641 printf("NTOS: timer %p fired even though "
3642 "it was canceled\n", timer);
3646 /* Mark the timer as no longer being on the timer queue. */
3648 timer->k_header.dh_inserted = FALSE;
3652 timer->k_header.dh_sigstate = 1;
3653 ntoskrnl_waittest(&timer->k_header, IO_NO_INCREMENT);
3656 * If this is a periodic timer, re-arm it
3659 * it's possible the DPC might cancel the timer,
3664 if (timer->k_period) {
3666 tv.tv_usec = timer->k_period * 1000;
3667 timer->k_header.dh_inserted = TRUE;
3668 ntoskrnl_insert_timer(timer, tvtohz(&tv));
3674 dpc = timer->k_dpc;
3678 /* If there's a DPC associated with the timer, queue it up. */
3711 printf("timer sets: %qu\n", ntoskrnl_timer_sets);
3712 printf("timer reloads: %qu\n", ntoskrnl_timer_reloads);
3713 printf("timer cancels: %qu\n", ntoskrnl_timer_cancels);
3714 printf("timer fires: %qu\n", ntoskrnl_timer_fires);
3724 ntoskrnl_insert_timer(timer, ticks)
3725 ktimer *timer;
3733 * Try and allocate a timer.
3749 timer->k_callout = c;
3752 callout_reset(c, ticks, ntoskrnl_timercall, timer);
3756 ntoskrnl_remove_timer(timer)
3757 ktimer *timer;
3761 e = (callout_entry *)timer->k_callout;
3762 callout_stop(timer->k_callout);
3770 KeInitializeTimer(timer)
3771 ktimer *timer;
3773 if (timer == NULL)
3776 KeInitializeTimerEx(timer, EVENT_TYPE_NOTIFY);
3780 KeInitializeTimerEx(timer, type)
3781 ktimer *timer;
3784 if (timer == NULL)
3787 bzero((char *)timer, sizeof(ktimer));
3788 InitializeListHead((&timer->k_header.dh_waitlisthead));
3789 timer->k_header.dh_sigstate = FALSE;
3790 timer->k_header.dh_inserted = FALSE;
3792 timer->k_header.dh_type = DISP_TYPE_NOTIFICATION_TIMER;
3794 timer->k_header.dh_type = DISP_TYPE_SYNCHRONIZATION_TIMER;
3795 timer->k_header.dh_size = sizeof(ktimer) / sizeof(uint32_t);
4080 KeSetTimerEx(timer, duetime, period, dpc)
4081 ktimer *timer;
4090 if (timer == NULL)
4095 if (timer->k_header.dh_inserted == TRUE) {
4096 ntoskrnl_remove_timer(timer);
4100 timer->k_header.dh_inserted = FALSE;
4105 timer->k_duetime = duetime;
4106 timer->k_period = period;
4107 timer->k_header.dh_sigstate = FALSE;
4108 timer->k_dpc = dpc;
4125 timer->k_header.dh_inserted = TRUE;
4126 ntoskrnl_insert_timer(timer, tvtohz(&tv));
4137 KeSetTimer(timer, duetime, dpc)
4138 ktimer *timer;
4142 return (KeSetTimerEx(timer, duetime, 0, dpc));
4147 * a timer that has a DPC will result in the DPC also being
4152 KeCancelTimer(timer)
4153 ktimer *timer;
4157 if (timer == NULL)
4162 pending = timer->k_header.dh_inserted;
4164 if (timer->k_header.dh_inserted == TRUE) {
4165 timer->k_header.dh_inserted = FALSE;
4166 ntoskrnl_remove_timer(timer);
4178 KeReadStateTimer(timer)
4179 ktimer *timer;
4181 return (timer->k_header.dh_sigstate);
4187 ktimer timer;
4192 KeInitializeTimer(&timer);
4193 KeSetTimer(&timer, *interval, NULL);
4194 KeWaitForSingleObject(&timer, 0, 0, alertable, NULL);