diff --git a/src/add-ons/kernel/file_systems/udf/Icb.cpp b/src/add-ons/kernel/file_systems/udf/Icb.cpp index 354c12bd6b..b9576be827 100644 --- a/src/add-ons/kernel/file_systems/udf/Icb.cpp +++ b/src/add-ons/kernel/file_systems/udf/Icb.cpp @@ -1,5 +1,7 @@ #include "Icb.h" +#include "time.h" + #include "AllocationDescriptorList.h" #include "DirectoryIterator.h" #include "Utils.h" @@ -37,6 +39,18 @@ Icb::InitCheck() return fInitStatus; } +time_t +Icb::AccessTime() +{ + return make_time(FileEntry()->access_date_and_time()); +} + +time_t +Icb::ModificationTime() +{ + return make_time(FileEntry()->modification_date_and_time()); +} + status_t Icb::Read(off_t pos, void *buffer, size_t *length, uint32 *block) { diff --git a/src/add-ons/kernel/file_systems/udf/Icb.h b/src/add-ons/kernel/file_systems/udf/Icb.h index 3da853d6a6..88492d9dfd 100644 --- a/src/add-ons/kernel/file_systems/udf/Icb.h +++ b/src/add-ons/kernel/file_systems/udf/Icb.h @@ -77,6 +77,8 @@ public: uint16 FileLinkCount() { return FileEntry()->file_link_count(); } uint64 Length() { return FileEntry()->information_length(); } mode_t Mode() { return (IsDirectory() ? S_IFDIR : S_IFREG) | S_IRUSR | S_IRGRP | S_IROTH; } + time_t AccessTime(); + time_t ModificationTime(); uint8 *AllocationDescriptors() { return AbstractEntry()->AllocationDescriptors(); } uint32 AllocationDescriptorsSize() { return AbstractEntry()->AllocationDescriptorsLength(); }