package net.fusejna;
import java.util.Arrays;
import java.util.List;
import com.sun.jna.NativeLong;
import com.sun.jna.Structure;
public class StructTimespec extends Structure
{
public static final class ByReference extends StructTimespec implements Structure.ByReference
{
}
public static final class ByValue extends StructTimespec implements Structure.ByValue
{
}
public static final List<String> FIELD_ORDER = Arrays.asList("tv_sec", "tv_nsec");
public NativeLong tv_sec;
public NativeLong tv_nsec;
@Override
protected List<String> getFieldOrder()
{
return FIELD_ORDER;
}
public final long nsec()
{
return tv_nsec.longValue();
}
public final long sec()
{
return tv_sec.longValue();
}
public final void set(final double time)
{
set((long) time, (long) (time * 1000000000d));
}
public final void set(final long sec, final long nsec)
{
tv_sec.setValue(sec);
tv_nsec.setValue(nsec);
write();
}
public final void setMillis(final long millis)
{
set(millis / 1000L, (millis % 1000L) * 1000000L);
}
public final void setSeconds(final long seconds)
{
set(seconds);
}
}