add some missing attributes for win32
This commit is contained in:
parent
c3ca0a22fb
commit
3110870743
|
@ -176,7 +176,10 @@ static int fileattrs_get(sigar_t *sigar,
|
||||||
sigar_file_attrs_t *fileattrs,
|
sigar_file_attrs_t *fileattrs,
|
||||||
int linkinfo)
|
int linkinfo)
|
||||||
{
|
{
|
||||||
|
BY_HANDLE_FILE_INFORMATION info;
|
||||||
WIN32_FILE_ATTRIBUTE_DATA attrs;
|
WIN32_FILE_ATTRIBUTE_DATA attrs;
|
||||||
|
HANDLE handle;
|
||||||
|
DWORD flags;
|
||||||
|
|
||||||
SIGAR_ZERO(fileattrs);
|
SIGAR_ZERO(fileattrs);
|
||||||
|
|
||||||
|
@ -189,6 +192,29 @@ static int fileattrs_get(sigar_t *sigar,
|
||||||
|
|
||||||
fillin_fileattrs(fileattrs, &attrs, linkinfo);
|
fillin_fileattrs(fileattrs, &attrs, linkinfo);
|
||||||
|
|
||||||
|
flags = fileattrs->type == SIGAR_FILETYPE_DIR ?
|
||||||
|
FILE_FLAG_BACKUP_SEMANTICS :
|
||||||
|
FILE_ATTRIBUTE_NORMAL;
|
||||||
|
|
||||||
|
handle = CreateFile(file,
|
||||||
|
GENERIC_READ,
|
||||||
|
FILE_SHARE_READ,
|
||||||
|
NULL,
|
||||||
|
OPEN_EXISTING,
|
||||||
|
flags,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
if (handle != INVALID_HANDLE_VALUE) {
|
||||||
|
if (GetFileInformationByHandle(handle, &info)) {
|
||||||
|
fileattrs->inode =
|
||||||
|
info.nFileIndexLow |
|
||||||
|
(info.nFileIndexHigh << 32);
|
||||||
|
fileattrs->device = info.dwVolumeSerialNumber;
|
||||||
|
fileattrs->nlink = info.nNumberOfLinks;
|
||||||
|
}
|
||||||
|
CloseHandle(handle);
|
||||||
|
}
|
||||||
|
|
||||||
return SIGAR_OK;
|
return SIGAR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue