1 /* cpio.c - cpio and tar filesystem. */
3 * GRUB -- GRand Unified Bootloader
4 * Copyright (C) 2007,2008,2009,2013 Free Software Foundation, Inc.
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #include <grub/misc.h>
22 #define ALIGN_CPIO(x) (ALIGN_UP ((x), 4))
23 #define MAGIC "070701"
24 #define MAGIC2 "070702"
43 static inline unsigned long long
44 read_number (const char *str
, grub_size_t size
)
46 unsigned long long ret
= 0;
47 while (size
-- && grub_isxdigit (*str
))
50 if (dig
>= '0' && dig
<= '9')
52 else if (dig
>= 'a' && dig
<= 'f')
56 ret
= (ret
<< 4) | (dig
);
63 #include "cpio_common.c"
67 grub_fs_register (&grub_cpio_fs
);
72 grub_fs_unregister (&grub_cpio_fs
);