X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/df1e857ac4d1410ae2bd354e361210b842ab7bc8..c6de44b989e9d7286337e4cbf4d82d919f9120e6:/lunaix-os/kernel/fs/iso9660/utils.c diff --git a/lunaix-os/kernel/fs/iso9660/utils.c b/lunaix-os/kernel/fs/iso9660/utils.c new file mode 100644 index 0000000..748077d --- /dev/null +++ b/lunaix-os/kernel/fs/iso9660/utils.c @@ -0,0 +1,24 @@ +#include + +struct iso_drecord* +iso9660_get_drecord(struct iso_var_mdu* drecord_mdu) +{ + if (drecord_mdu->len <= sizeof(struct iso_drecord)) { + return NULL; + } + return (struct iso_drecord*)drecord_mdu->content; +} + +#define FOUR_DIGIT(x) (x[0] + x[1] * 10 + x[2] * 100 + x[3] * 1000) +#define TWO_DIGIT(x) (x[0] + x[1] * 10) + +time_t +iso9660_dt2unix(struct iso_datetime* isodt) +{ + return time_tounix(FOUR_DIGIT(isodt->year), + TWO_DIGIT(isodt->month), + TWO_DIGIT(isodt->day), + TWO_DIGIT(isodt->hour), + TWO_DIGIT(isodt->min), + TWO_DIGIT(isodt->sec)); +}