Lines Matching refs:aitv
742 struct itimerval aitv;
745 error = kern_getitimer(td, uap->which, &aitv);
748 return (copyout(&aitv, uap->itv, sizeof (struct itimerval)));
752 kern_getitimer(struct thread *td, u_int which, struct itimerval *aitv)
768 *aitv = p->p_realtimer;
770 if (timevalisset(&aitv->it_value)) {
772 if (timevalcmp(&aitv->it_value, &ctv, <))
773 timevalclear(&aitv->it_value);
775 timevalsub(&aitv->it_value, &ctv);
779 *aitv = p->p_stats->p_timer[which];
784 ktritimerval(aitv);
798 struct itimerval aitv, oitv;
806 if ((error = copyin(uap->itv, &aitv, sizeof(struct itimerval))))
808 error = kern_setitimer(td, uap->which, &aitv, &oitv);
815 kern_setitimer(struct thread *td, u_int which, struct itimerval *aitv,
822 if (aitv == NULL)
829 ktritimerval(aitv);
831 if (itimerfix(&aitv->it_value) ||
832 aitv->it_value.tv_sec > INT32_MAX / 2)
834 if (!timevalisset(&aitv->it_value))
835 timevalclear(&aitv->it_interval);
836 else if (itimerfix(&aitv->it_interval) ||
837 aitv->it_interval.tv_sec > INT32_MAX / 2)
845 if (timevalisset(&aitv->it_value)) {
846 pr = tvtosbt(aitv->it_value) >> tc_precexp;
847 timevaladd(&aitv->it_value, &ctv);
848 sbt = tvtosbt(aitv->it_value);
853 p->p_realtimer = *aitv;
862 if (aitv->it_interval.tv_sec == 0 &&
863 aitv->it_interval.tv_usec != 0 &&
864 aitv->it_interval.tv_usec < tick)
865 aitv->it_interval.tv_usec = tick;
866 if (aitv->it_value.tv_sec == 0 &&
867 aitv->it_value.tv_usec != 0 &&
868 aitv->it_value.tv_usec < tick)
869 aitv->it_value.tv_usec = tick;
872 p->p_stats->p_timer[which] = *aitv;