blob: d719e417988f50f28513543c557c6d8c13d35e79 [file] [log] [blame] [edit]
package jnr.posix.windows;
/**
* WIN32_FILE_ATTRIBUTE_DATA
*/
public class WindowsFileInformation extends CommonFileInformation {
final UnsignedLong dwFileAttributes;
// FIXME: I have no idea why I could not include FileTime here but having it do its own layout seems to change
// something.
final UnsignedLong chigh;
final UnsignedLong clow;
final UnsignedLong ahigh;
final UnsignedLong alow;
final UnsignedLong uhigh;
final UnsignedLong ulow;
final UnsignedLong nFileSizeHigh;
final UnsignedLong nFileSizeLow;
public WindowsFileInformation(jnr.ffi.Runtime runtime) {
super(runtime);
dwFileAttributes = new UnsignedLong();
clow = new UnsignedLong();
chigh = new UnsignedLong();
alow = new UnsignedLong();
ahigh = new UnsignedLong();
ulow = new UnsignedLong();
uhigh = new UnsignedLong();
nFileSizeHigh = new UnsignedLong();
nFileSizeLow = new UnsignedLong();
}
public HackyFileTime getCreationTime() {
return new HackyFileTime(chigh, clow);
}
public HackyFileTime getLastAccessTime() {
return new HackyFileTime(ahigh, alow);
}
public HackyFileTime getLastWriteTime() {
return new HackyFileTime(uhigh, ulow);
}
public int getFileAttributes() {
return dwFileAttributes.intValue();
}
public long getFileSizeHigh() {
return nFileSizeHigh.longValue();
}
public long getFileSizeLow() {
return nFileSizeLow.longValue();
}
}