internal static unsafe void DateTimeToPcapTimestamp(DateTime dateTime, timeval *pcapTimestamp) { dateTime = dateTime.ToUniversalTime(); DateTime dateTime1 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); TimeSpan timeSpan = dateTime - dateTime1; *(int *)pcapTimestamp = (int)timeSpan.TotalSeconds; *(int *)((IntPtr)pcapTimestamp + 4L) = (int)((timeSpan.TotalMilliseconds - (double)*(int *)pcapTimestamp * 1000.0) * 1000.0); }
public static void timeradd(timeval *a, timeval *b, timeval *result) { (result)->tv_sec = (nint)((a)->tv_sec) + (b)->tv_sec; (result)->tv_usec = (nint)((a)->tv_usec) + (b)->tv_usec; if ((result)->tv_usec >= 1000000) { (result)->tv_sec = (nint)((result)->tv_sec) + 1; (result)->tv_usec -= (nint)(1000000); } }
public static void timersub(timeval *a, timeval *b, timeval *result) { (result)->tv_sec = (nint)((a)->tv_sec) - (b)->tv_sec; (result)->tv_usec = (nint)((a)->tv_usec) - (b)->tv_usec; if ((result)->tv_usec < 0) { (result)->tv_sec = (nint)((result)->tv_sec) - 1; (result)->tv_usec += (nint)(1000000); } }
internal static unsafe void PcapTimestampToDateTime(timeval *pcapTimestamp, out DateTime dateTime) { DateTime dateTime1 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); dateTime = dateTime1; TimeSpan timeSpan = TimeSpan.FromSeconds((double)*(int *)pcapTimestamp) + TimeSpan.FromTicks((long)*(int *)((IntPtr)pcapTimestamp + 4L) * 10L); DateTime dateTime2 = dateTime.Add(timeSpan); dateTime = dateTime2; DateTime dateTime3 = dateTime.ToLocalTime(); dateTime = dateTime3; }
public static extern int futimesat(int __fd, [NativeTypeName("const char *")] sbyte *__file, [NativeTypeName("const struct timeval [2]")] timeval *__tvp);
public static extern int futimes(int __fd, [NativeTypeName("const struct timeval [2]")] timeval *__tvp);
public static extern int adjtime([NativeTypeName("const struct timeval *")] timeval *__delta, [NativeTypeName("struct timeval *")] timeval *__olddelta);
public static extern int settimeofday([NativeTypeName("const struct timeval *")] timeval *__tv, [NativeTypeName("const struct timezone *")] timezone *__tz);
public static extern int gettimeofday([NativeTypeName("struct timeval *")] timeval *__tv, void *__tz);
public static extern int pa_timeval_cmp([NativeTypeName("const struct timeval *")] timeval *a, [NativeTypeName("const struct timeval *")] timeval *b);
public static extern int select(int __nfds, fd_set *__readfds, fd_set *__writefds, fd_set *__exceptfds, [NativeTypeName("struct timeval *")] timeval *__timeout);
public static extern unsafe int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, timeval *timeout);
public static extern nuint pa_timeval_load([NativeTypeName("const struct timeval *")] timeval *tv);
public static extern timeval *pa_timeval_store([NativeTypeName("struct timeval *")] timeval *tv, [NativeTypeName("pa_usec_t")] nuint v);
public static bool timerisset(timeval *tvp) { return(((tvp)->tv_sec != 0) || ((tvp)->tv_usec != 0)); }
public static void timerclear(timeval *tvp) { (tvp)->tv_usec = 0; (tvp)->tv_sec = 0; }
public static void TIMEVAL_TO_TIMESPEC(timeval *tv, timespec *ts) { (ts)->tv_sec = (tv)->tv_sec; (ts)->tv_nsec = (tv)->tv_usec * (nint)(1000); }
public static void TIMESPEC_TO_TIMEVAL(timeval *tv, timespec *ts) { (tv)->tv_sec = (ts)->tv_sec; (tv)->tv_usec = (ts)->tv_nsec / 1000; }
public static extern timeval *pa_gettimeofday([NativeTypeName("struct timeval *")] timeval *tv);