[AC_BE] = "AC_BE", [AC_BK] = "AC_BK", };
*/
-inline void fwp_timespec_add (struct timespec *sum, const struct timespec *left,
+void fwp_timespec_add (struct timespec *sum, const struct timespec *left,
const struct timespec *right)
{
sum->tv_sec = left->tv_sec + right->tv_sec;
}
}
-inline void fwp_timespec_sub (struct timespec *diff, const struct timespec *left,
+void fwp_timespec_sub (struct timespec *diff, const struct timespec *left,
const struct timespec *right)
{
diff->tv_sec = left->tv_sec - right->tv_sec;
}
}
+void fwp_timespec_modulo(struct timespec *remainder, struct timespec *dividend,
+ struct timespec *dividor)
+{
+ long long a, b, res;
+
+ a = dividend->tv_sec * SEC_TO_USEC + dividend->tv_nsec / USEC_TO_NSEC;
+ b = dividor->tv_sec * SEC_TO_USEC + dividor->tv_nsec / USEC_TO_NSEC;
+ res = a % b;
+ remainder->tv_sec = res / SEC_TO_USEC;
+ remainder->tv_nsec = ( res % SEC_TO_USEC ) * USEC_TO_NSEC;
+}
+
int fwp_set_rt_prio(int priority)
{
int maxpri, minpri;
param.sched_priority = priority;
if (sched_setscheduler(0, SCHED_FIFO, ¶m) == -1) {
- FWP_ERROR("sched_setscheduler call failed: %s\n",
- strerror(errno));
+ /*FWP_ERROR("sched_setscheduler call failed: %s\n",
+ strerror(errno));*/
return -1;
}