diff --git a/src/include/fs/fat.h b/src/include/fs/fat.h deleted file mode 100644 index d445ce84b1..0000000000 --- a/src/include/fs/fat.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * GRUB -- GRand Unified Bootloader - * Copyright (C) 2001 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - - -/* - * Defines for the FAT BIOS Parameter Block (embedded in the first block - * of the partition. - */ - -typedef __signed__ char __s8; -typedef unsigned char __u8; -typedef __signed__ short __s16; -typedef unsigned short __u16; -typedef __signed__ int __s32; -typedef unsigned int __u32; - -/* Note that some shorts are not aligned, and must therefore - * be declared as array of two bytes. - */ -struct fat_bpb { - __s8 ignored[3]; /* Boot strap short or near jump */ - __s8 system_id[8]; /* Name - can be used to special case - partition manager volumes */ - __u8 bytes_per_sect[2]; /* bytes per logical sector */ - __u8 sects_per_clust;/* sectors/cluster */ - __u8 reserved_sects[2]; /* reserved sectors */ - __u8 num_fats; /* number of FATs */ - __u8 dir_entries[2]; /* root directory entries */ - __u8 short_sectors[2];/* number of sectors */ - __u8 media; /* media code (unused) */ - __u8 fat_length[2]; /* sectors/FAT */ - __u8 secs_track[2]; /* sectors per track */ - __u8 heads[2]; /* number of heads */ - __u8 hidden[2]; /* hidden sectors (unused) */ - __u8 long_sectors[2];/* number of sectors (if short_sectors == 0) */ - - /* The following fields are only used by FAT32 */ - __u8 fat32_length[2];/* sectors/FAT */ - __u8 flags[2]; /* bit 8: fat mirroring, low 4: active fat */ - __u8 version[2]; /* major, minor filesystem version */ - __u8 root_cluster[4];/* first cluster in root directory */ - __u8 info_sector[2]; /* filesystem info sector */ - __u8 backup_boot[2]; /* backup boot sector */ - __u8 reserved2[12]; /* Unused */ -}; - -#define FAT_CVT_U8(byte) (* (__u8*)(byte)) -#define FAT_CVT_U16(bytarr) le16_to_cpu(* (__u16*)(bytarr)) -#define FAT_CVT_U32(bytarr) le32_to_cpu(* (__u32*)(bytarr)) - -/* - * Defines how to differentiate a 12-bit and 16-bit FAT. - */ - -#define FAT_MAX_12BIT_CLUST 4087 /* 4085 + 2 */ - -/* - * Defines for the file "attribute" byte - */ - -#define FAT_ATTRIB_OK_MASK 0x37 -#define FAT_ATTRIB_NOT_OK_MASK 0xC8 -#define FAT_ATTRIB_DIR 0x10 -#define FAT_ATTRIB_LONGNAME 0x0F - -/* - * Defines for FAT directory entries - */ - -#define FAT_DIRENTRY_LENGTH 32 - -#define FAT_DIRENTRY_ATTRIB(entry) \ - FAT_CVT_U8(entry+11) -#define FAT_DIRENTRY_VALID(entry) \ - ( (FAT_CVT_U8(entry) != 0) \ - && (FAT_CVT_U8(entry) != 0xE5) \ - && !(FAT_DIRENTRY_ATTRIB(entry) & FAT_ATTRIB_NOT_OK_MASK) ) -#define FAT_DIRENTRY_FIRST_CLUSTER(entry) \ - (FAT_CVT_U16(entry+26)+(FAT_CVT_U16(entry+20) << 16)) -#define FAT_DIRENTRY_FILELENGTH(entry) \ - FAT_CVT_U32(entry+28) - -#define FAT_LONGDIR_ID(entry) \ - FAT_CVT_U8(entry) -#define FAT_LONGDIR_ALIASCHECKSUM(entry) \ - FAT_CVT_U8(entry+13) diff --git a/src/include/fs/fs.h b/src/include/fs/fs.h deleted file mode 100644 index b23a1b5158..0000000000 --- a/src/include/fs/fs.h +++ /dev/null @@ -1,222 +0,0 @@ -/* GRUB compatibility header */ - -/* - * GRUB -- GRand Unified Bootloader - * Copyright (C) 1999,2000,2001,2003 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include - -/* This disables some portion of code */ -#define STAGE1_5 1 - -static inline int -substring (const char *s1, const char *s2) -{ - while (*s1 == *s2) - { - /* The strings match exactly. */ - if (! *(s1++)) - return 0; - s2 ++; - } - - /* S1 is a substring of S2. */ - if (*s1 == 0) - return -1; - - /* S1 isn't a substring. */ - return 1; -} - -#define MAXINT 0x7fffffff - -/* This is only used by fsys_* to determine if it's hard disk. If it is, - * they try to guess filesystem type by partition type. I guess it is - * not necessory, so hardcoded to 0 (first floppy) --ts1 */ -#define current_drive 0 - -/* Ditto */ -#define current_slice 0 - -extern unsigned long part_start; -extern unsigned long part_length; -extern int filepos; -extern int filemax; -extern int fsmax; - -/* Error codes (descriptions are in common.c) */ -typedef enum -{ - ERR_NONE = 0, - ERR_BAD_FILENAME, - ERR_BAD_FILETYPE, - ERR_BAD_GZIP_DATA, - ERR_BAD_GZIP_HEADER, - ERR_BAD_PART_TABLE, - ERR_BAD_VERSION, - ERR_BELOW_1MB, - ERR_BOOT_COMMAND, - ERR_BOOT_FAILURE, - ERR_BOOT_FEATURES, - ERR_DEV_FORMAT, - ERR_DEV_VALUES, - ERR_EXEC_FORMAT, - ERR_FILELENGTH, - ERR_FILE_NOT_FOUND, - ERR_FSYS_CORRUPT, - ERR_FSYS_MOUNT, - ERR_GEOM, - ERR_NEED_LX_KERNEL, - ERR_NEED_MB_KERNEL, - ERR_NO_DISK, - ERR_NO_PART, - ERR_NUMBER_PARSING, - ERR_OUTSIDE_PART, - ERR_READ, - ERR_SYMLINK_LOOP, - ERR_UNRECOGNIZED, - ERR_WONT_FIT, - ERR_WRITE, - ERR_BAD_ARGUMENT, - ERR_UNALIGNED, - ERR_PRIVILEGED, - ERR_DEV_NEED_INIT, - ERR_NO_DISK_SPACE, - ERR_NUMBER_OVERFLOW, - - MAX_ERR_NUM -} fs_error_t; - -extern fs_error_t errnum; - -/* instrumentation variables */ -/* (Not used in FILO) */ -extern void (*disk_read_hook) (int, int, int); -extern void (*disk_read_func) (int, int, int); - -#define FSYS_BUFLEN 0x8000 -extern char FSYS_BUF[FSYS_BUFLEN]; - -#define print_possibilities 0 - -#define SECTOR_SIZE 512 -#define SECTOR_BITS 9 - -#ifdef CONFIG_FS_FAT -int fat_mount (void); -int fat_read (char *buf, int len); -int fat_dir (char *dirname); -#endif - -#if CONFIG_FS_EXT2 == 1 -int ext2fs_mount (void); -int ext2fs_read (char *buf, int len); -int ext2fs_dir (char *dirname); -#endif - -#ifdef CONFIG_FS_MINIX -int minix_mount (void); -int minix_read (char *buf, int len); -int minix_dir (char *dirname); -#endif - -#ifdef CONFIG_FS_REISERFS -int reiserfs_mount (void); -int reiserfs_read (char *buf, int len); -int reiserfs_dir (char *dirname); -int reiserfs_embed (int *start_sector, int needed_sectors); -#endif - -#ifdef CONFIG_FS_JFS -int jfs_mount (void); -int jfs_read (char *buf, int len); -int jfs_dir (char *dirname); -int jfs_embed (int *start_sector, int needed_sectors); -#endif - -#ifdef CONFIG_FS_XFS -int xfs_mount (void); -int xfs_read (char *buf, int len); -int xfs_dir (char *dirname); -#endif - -#if CONFIG_FS_ISO9660 == 1 -int iso9660_mount (void); -int iso9660_read (char *buf, int len); -int iso9660_dir (char *dirname); -#endif - -/* This is not a flag actually, but used as if it were a flag. */ -#define PC_SLICE_TYPE_HIDDEN_FLAG 0x10 - -#define PC_SLICE_TYPE_NONE 0 -#define PC_SLICE_TYPE_FAT12 1 -#define PC_SLICE_TYPE_FAT16_LT32M 4 -#define PC_SLICE_TYPE_EXTENDED 5 -#define PC_SLICE_TYPE_FAT16_GT32M 6 -#define PC_SLICE_TYPE_FAT32 0xb -#define PC_SLICE_TYPE_FAT32_LBA 0xc -#define PC_SLICE_TYPE_FAT16_LBA 0xe -#define PC_SLICE_TYPE_WIN95_EXTENDED 0xf -#define PC_SLICE_TYPE_EZD 0x55 -#define PC_SLICE_TYPE_MINIX 0x80 -#define PC_SLICE_TYPE_LINUX_MINIX 0x81 -#define PC_SLICE_TYPE_EXT2FS 0x83 -#define PC_SLICE_TYPE_LINUX_EXTENDED 0x85 -#define PC_SLICE_TYPE_VSTAFS 0x9e -#define PC_SLICE_TYPE_DELL_UTIL 0xde -#define PC_SLICE_TYPE_LINUX_RAID 0xfd - -/* For convinience. */ -/* Check if TYPE is a FAT partition type. Clear the hidden flag before - the check, to allow the user to mount a hidden partition in GRUB. */ -#define IS_PC_SLICE_TYPE_FAT(type) \ - ({ int _type = (type) & ~PC_SLICE_TYPE_HIDDEN_FLAG; \ - _type == PC_SLICE_TYPE_FAT12 \ - || _type == PC_SLICE_TYPE_FAT16_LT32M \ - || _type == PC_SLICE_TYPE_FAT16_GT32M \ - || _type == PC_SLICE_TYPE_FAT16_LBA \ - || _type == PC_SLICE_TYPE_FAT32 \ - || _type == PC_SLICE_TYPE_FAT32_LBA \ - || _type == PC_SLICE_TYPE_DELL_UTIL; }) - -#define IS_PC_SLICE_TYPE_MINIX(type) \ - (((type) == PC_SLICE_TYPE_MINIX) \ - || ((type) == PC_SLICE_TYPE_LINUX_MINIX)) - -#define IS_PC_SLICE_TYPE_BSD_WITH_FS(type,fs) 0 - -/* possible values for the *BSD-style partition type */ -#define FS_UNUSED 0 /* unused */ -#define FS_SWAP 1 /* swap */ -#define FS_V6 2 /* Sixth Edition */ -#define FS_V7 3 /* Seventh Edition */ -#define FS_SYSV 4 /* System V */ -#define FS_V71K 5 /* V7 with 1K blocks (4.1, 2.9) */ -#define FS_V8 6 /* Eighth Edition, 4K blocks */ -#define FS_BSDFFS 7 /* 4.2BSD fast file system */ -#define FS_MSDOS 8 /* MSDOS file system */ -#define FS_BSDLFS 9 /* 4.4BSD log-structured file system */ -#define FS_OTHER 10 /* in use, but unknown/unsupported */ -#define FS_HPFS 11 /* OS/2 high-performance file system */ -#define FS_ISO9660 12 /* ISO 9660, normally CD-ROM */ -#define FS_BOOT 13 /* partition contains bootstrap */ -#define FS_ADOS 14 /* AmigaDOS fast file system */ -#define FS_HFS 15 /* Macintosh HFS */ -#define FS_FILECORE 16 /* Acorn Filecore Filing System */ -#define FS_EXT2FS 17 /* Linux Extended 2 file system */ diff --git a/src/include/fs/iso9660.h b/src/include/fs/iso9660.h deleted file mode 100644 index 1c76800eb8..0000000000 --- a/src/include/fs/iso9660.h +++ /dev/null @@ -1,310 +0,0 @@ -#ifndef _ISO9660_H -#define _ISO9660_H - -/* - * The isofs filesystem constants/structures - */ - -/* This part borrowed from the bsd386 isofs */ -#define ISODCL(from, to) (to - from + 1) - -struct iso_volume_descriptor { - char type[ISODCL(1,1)]; /* 711 */ - char id[ISODCL(2,6)]; - char version[ISODCL(7,7)]; - char data[ISODCL(8,2048)]; -}; - -#define ISO_SECTOR_BITS (11) -#define ISO_SECTOR_SIZE (1< - -static inline int isonum_711(char *p) -{ - unsigned char x = *(unsigned char *)p; - return x; -} -static inline int isonum_712(char *p) -{ - return *(char *)p; -} -static inline int isonum_721(char *p) -{ - return le16_to_cpu(*(unsigned short *)p); -} -static inline int isonum_722(char *p) -{ - return be16_to_cpu(*(unsigned short *)p); -} -static inline int isonum_723(char *p) -{ - /* Ignore bigendian datum due to broken mastering programs */ - return le16_to_cpu(*(unsigned short *)p); -} -static inline int isonum_731(char *p) -{ - return le32_to_cpu(*(unsigned int *)p); -} -static inline int isonum_732(char *p) -{ - return be32_to_cpu(*(unsigned int *)p); -} -static inline int isonum_733(char *p) -{ - /* Ignore bigendian datum due to broken mastering programs */ - return le32_to_cpu(*(unsigned int *)p); -} -#endif /* _ISO9660_H */ diff --git a/src/include/fs/vfs.h b/src/include/fs/vfs.h deleted file mode 100644 index 4040566f65..0000000000 --- a/src/include/fs/vfs.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _VFS_H -#define _VFS_H - -#include - -#define DISK_IDE 1 -#define DISK_MEM 2 - -int devopen(const char *name, int *reopen); -int devread(unsigned long sector, unsigned long byte_offset, - unsigned long byte_len, void *buf); - -int file_open(const char *filename); -int file_read(void *buf, unsigned long len); -int file_seek(unsigned long offset); -unsigned long file_pos(void); -unsigned long file_size(void); - -#define PARTITION_UNKNOWN 0xbad6a7 - -#ifdef CONFIG_FS_ELTORITO -int open_eltorito_image(int part, unsigned long *start, unsigned long *length); -#else -# define open_eltorito_image(x,y,z) PARTITION_UNKNOWN -#endif - -extern int using_devsize; - -#endif /* _VFS_H */