- printf("Security ID = %d\n", inode->security_id);
- printf("Subdir offset = %"PRIu64"\n", dentry->subdir_offset);
-
- /* Translate the timestamps into something readable */
- time = wim_timestamp_to_unix(inode->creation_time);
- p = asctime(gmtime(&time));
- *(strrchr(p, '\n')) = '\0';
- printf("Creation Time = %s UTC\n", p);
-
- time = wim_timestamp_to_unix(inode->last_access_time);
- p = asctime(gmtime(&time));
- *(strrchr(p, '\n')) = '\0';
- printf("Last Access Time = %s UTC\n", p);
-
- time = wim_timestamp_to_unix(inode->last_write_time);
- p = asctime(gmtime(&time));
- *(strrchr(p, '\n')) = '\0';
- printf("Last Write Time = %s UTC\n", p);
-
- printf("Reparse Tag = 0x%"PRIx32"\n", inode->reparse_tag);
- printf("Hard Link Group = 0x%"PRIx64"\n", inode->ino);
- printf("Hard Link Group Size = %"PRIu32"\n", inode->link_count);
- printf("Number of Alternate Data Streams = %hu\n", inode->num_ads);
- printf("Filename = \"");
- print_string(dentry->file_name, dentry->file_name_len);
- puts("\"");
- printf("Filename Length = %hu\n", dentry->file_name_len);
- printf("Filename (UTF-8) = \"%s\"\n", dentry->file_name_utf8);
- printf("Filename (UTF-8) Length = %hu\n", dentry->file_name_utf8_len);
- printf("Short Name = \"");
- print_string(dentry->short_name, dentry->short_name_len);
- puts("\"");
- printf("Short Name Length = %hu\n", dentry->short_name_len);
- printf("Full Path (UTF-8) = \"%s\"\n", dentry->full_path_utf8);
+ tprintf(T("Security ID = %d\n"), inode->i_security_id);
+ tprintf(T("Subdir offset = %"PRIu64"\n"), dentry->subdir_offset);
+
+ wim_timestamp_to_str(inode->i_creation_time, buf, sizeof(buf));
+ tprintf(T("Creation Time = %"TS"\n"), buf);
+
+ wim_timestamp_to_str(inode->i_last_access_time, buf, sizeof(buf));
+ tprintf(T("Last Access Time = %"TS"\n"), buf);
+
+ wim_timestamp_to_str(inode->i_last_write_time, buf, sizeof(buf));
+ tprintf(T("Last Write Time = %"TS"\n"), buf);
+
+ if (inode->i_attributes & FILE_ATTRIBUTE_REPARSE_POINT) {
+ tprintf(T("Reparse Tag = 0x%"PRIx32"\n"), inode->i_reparse_tag);
+ tprintf(T("Reparse Point Flags = 0x%"PRIx16"\n"),
+ inode->i_not_rpfixed);
+ tprintf(T("Reparse Point Unknown 2 = 0x%"PRIx32"\n"),
+ inode->i_rp_unknown_2);
+ }
+ tprintf(T("Reparse Point Unknown 1 = 0x%"PRIx32"\n"),
+ inode->i_rp_unknown_1);
+ tprintf(T("Hard Link Group = 0x%"PRIx64"\n"), inode->i_ino);
+ tprintf(T("Hard Link Group Size = %"PRIu32"\n"), inode->i_nlink);
+ tprintf(T("Number of Alternate Data Streams = %hu\n"), inode->i_num_ads);
+ if (dentry_has_long_name(dentry))
+ wimlib_printf(T("Filename = \"%"WS"\"\n"), dentry->file_name);
+ if (dentry_has_short_name(dentry))
+ wimlib_printf(T("Short Name \"%"WS"\"\n"), dentry->short_name);
+ if (dentry->_full_path)
+ tprintf(T("Full Path = \"%"TS"\"\n"), dentry->_full_path);
+