#ifndef _COMPAT_SYS_TIME_TYPES_H_
#define _COMPAT_SYS_TIME_TYPES_H_
#ifdef _KERNEL
#include <lib/libkern/libkern.h>
#else
#include <stddef.h>
#include <string.h>
#endif
struct timeval50 {
long tv_sec;
long tv_usec;
};
struct itimerval50 {
struct timeval50 it_interval;
struct timeval50 it_value;
};
struct timespec50 {
int32_t tv_sec;
long tv_nsec;
};
struct itimerspec50 {
struct timespec50 it_interval;
struct timespec50 it_value;
};
static __inline void
timeval50_to_timeval(const struct timeval50 *ts50, struct timeval *ts)
{
memset(ts, 0, sizeof(*ts));
ts->tv_sec = ts50->tv_sec;
ts->tv_usec = (suseconds_t)ts50->tv_usec;
}
static __inline void
timeval_to_timeval50(const struct timeval *ts, struct timeval50 *ts50)
{
memset(ts50, 0, sizeof(*ts50));
ts50->tv_sec = (long)ts->tv_sec;
ts50->tv_usec = ts->tv_usec;
}
static __inline void
timespec50_to_timespec(const struct timespec50 *ts50, struct timespec *ts)
{
memset(ts, 0, sizeof(*ts));
ts->tv_sec = ts50->tv_sec;
ts->tv_nsec = ts50->tv_nsec;
}
static __inline void
timespec_to_timespec50(const struct timespec *ts, struct timespec50 *ts50)
{
memset(ts50, 0, sizeof(*ts50));
ts50->tv_sec = (int32_t)ts->tv_sec;
ts50->tv_nsec = ts->tv_nsec;
}
static __inline void
itimerval50_to_itimerval(const struct itimerval50 *ts50, struct itimerval *ts)
{
memset(ts, 0, sizeof(*ts));
timeval50_to_timeval(&ts50->it_interval, &ts->it_interval);
timeval50_to_timeval(&ts50->it_value, &ts->it_value);
}
static __inline void
itimerval_to_itimerval50(const struct itimerval *ts, struct itimerval50 *ts50)
{
memset(ts50, 0, sizeof(*ts50));
timeval_to_timeval50(&ts->it_interval, &ts50->it_interval);
timeval_to_timeval50(&ts->it_value, &ts50->it_value);
}
static __inline void
itimerspec50_to_itimerspec(const struct itimerspec50 *ts50,
struct itimerspec *ts)
{
memset(ts, 0, sizeof(*ts));
timespec50_to_timespec(&ts50->it_interval, &ts->it_interval);
timespec50_to_timespec(&ts50->it_value, &ts->it_value);
}
static __inline void
itimerspec_to_itimerspec50(const struct itimerspec *ts,
struct itimerspec50 *ts50)
{
memset(ts50, 0, sizeof(*ts50));
timespec_to_timespec50(&ts->it_interval, &ts50->it_interval);
timespec_to_timespec50(&ts->it_value, &ts50->it_value);
}
#endif