blob: e6fd2c02e3f920e4c736896dc2f7f5ee640e7219 [file] [log] [blame]
bigbiff bigbiff9c754052013-01-09 09:09:08 -05001/*
2 uct.c (09.11.10)
3 Upper Case Table creation code.
4
5 Copyright (C) 2011, 2012 Andrew Nayenko
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#include "uct.h"
22#include "uctc.h"
23
24static off64_t uct_alignment(void)
25{
26 return get_cluster_size();
27}
28
29static off64_t uct_size(void)
30{
31 return sizeof(upcase_table);
32}
33
34static int uct_write(struct exfat_dev* dev)
35{
36 if (exfat_write(dev, upcase_table, sizeof(upcase_table)) < 0)
37 {
38 exfat_error("failed to write upcase table of %zu bytes",
39 sizeof(upcase_table));
40 return 1;
41 }
42 return 0;
43}
44
45const struct fs_object uct =
46{
47 .get_alignment = uct_alignment,
48 .get_size = uct_size,
49 .write = uct_write,
50};