Serenity Operating System
1/*
2 * Copyright (c) 2022, Undefine <undefine@undefine.pl>
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#include <AK/DOSPackedTime.h>
8
9namespace AK {
10
11Time time_from_packed_dos(DOSPackedDate date, DOSPackedTime time)
12{
13 if (date.value == 0)
14 return Time();
15
16 return Time::from_timestamp(first_dos_year + date.year, date.month, date.day, time.hour, time.minute, time.second * 2, 0);
17}
18
19DOSPackedDate to_packed_dos_date(unsigned year, unsigned month, unsigned day)
20{
21 DOSPackedDate date;
22 date.year = year - first_dos_year;
23 date.month = month;
24 date.day = day;
25
26 return date;
27}
28
29DOSPackedTime to_packed_dos_time(unsigned hour, unsigned minute, unsigned second)
30{
31 DOSPackedTime time;
32 time.hour = hour;
33 time.minute = minute;
34 time.second = second / 2;
35
36 return time;
37}
38
39}