dosfstools: update to v4.0
[openwrt/openwrt.git] / tools / dosfstools / patches / 0011-Remove-linux-msdos_fs.h-includes.patch
diff --git a/tools/dosfstools/patches/0011-Remove-linux-msdos_fs.h-includes.patch b/tools/dosfstools/patches/0011-Remove-linux-msdos_fs.h-includes.patch
deleted file mode 100644 (file)
index 08bd36d..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-From e18d72f70e30109492e9602ace5560e0c90b4a8b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
-Date: Sat, 7 Mar 2015 13:23:23 +0100
-Subject: [PATCH 11/14] Remove linux/msdos_fs.h includes
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
-Signed-off-by: Andreas Bombe <aeb@debian.org>
----
- src/file.c     |  7 +------
- src/file.h     |  2 ++
- src/fsck.fat.h |  8 ++------
- src/mkfs.fat.c | 32 +++---------------------------
- src/msdos_fs.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 5 files changed, 69 insertions(+), 41 deletions(-)
- create mode 100644 src/msdos_fs.h
-
-diff --git a/src/file.c b/src/file.c
-index 0b53840..9519070 100644
---- a/src/file.c
-+++ b/src/file.c
-@@ -30,14 +30,9 @@
- #include <ctype.h>
- #include <unistd.h>
--#define _LINUX_STAT_H         /* hack to avoid inclusion of <linux/stat.h> */
--#define _LINUX_STRING_H_      /* hack to avoid inclusion of <linux/string.h> */
--#define _LINUX_FS_H           /* hack to avoid inclusion of <linux/fs.h> */
--
--#include <linux/msdos_fs.h>
--
- #include "common.h"
- #include "file.h"
-+#include "msdos_fs.h"
- #include "charconv.h"
- FDSC *fp_root = NULL;
-diff --git a/src/file.h b/src/file.h
-index 3adfc96..eaaf356 100644
---- a/src/file.h
-+++ b/src/file.h
-@@ -23,6 +23,8 @@
- #ifndef _FILE_H
- #define _FILE_H
-+#include "msdos_fs.h"
-+
- typedef enum { fdt_none, fdt_drop, fdt_undelete } FD_TYPE;
- typedef struct _fptr {
-diff --git a/src/fsck.fat.h b/src/fsck.fat.h
-index 27e9d52..e5f6178 100644
---- a/src/fsck.fat.h
-+++ b/src/fsck.fat.h
-@@ -28,16 +28,12 @@
- #define _DOSFSCK_H
- #include <fcntl.h>
--#define _LINUX_STAT_H         /* hack to avoid inclusion of <linux/stat.h> */
--#define _LINUX_STRING_H_      /* hack to avoid inclusion of <linux/string.h> */
--#define _LINUX_FS_H           /* hack to avoid inclusion of <linux/fs.h> */
--
--#include <linux/msdos_fs.h>
--
- #include <stddef.h>
- #include <stdint.h>
- #include <endian.h>
-+#include "msdos_fs.h"
-+
- #define VFAT_LN_ATTR (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME)
- #define FAT_STATE_DIRTY 0x01
-diff --git a/src/mkfs.fat.c b/src/mkfs.fat.c
-index 3d1512f..76d40d8 100644
---- a/src/mkfs.fat.c
-+++ b/src/mkfs.fat.c
-@@ -67,6 +67,8 @@
- #include <stdint.h>
- #include <endian.h>
-+#include "msdos_fs.h"
-+
- /* In earlier versions, an own llseek() was used, but glibc lseek() is
-  * sufficient (or even better :) for 64 bit offsets in the meantime */
- #define llseek lseek
-@@ -99,21 +101,6 @@ static inline int cdiv(int a, int b)
-     return (a + b - 1) / b;
- }
--/* MS-DOS filesystem structures -- I included them here instead of
--   including linux/msdos_fs.h since that doesn't include some fields we
--   need */
--
--#define ATTR_RO      1                /* read-only */
--#define ATTR_HIDDEN  2                /* hidden */
--#define ATTR_SYS     4                /* system */
--#define ATTR_VOLUME  8                /* volume label */
--#define ATTR_DIR     16               /* directory */
--#define ATTR_ARCH    32               /* archived */
--
--#define ATTR_NONE    0                /* no attribute bits */
--#define ATTR_UNUSED  (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN)
--      /* attribute bits that are copied "as is" */
--
- /* FAT values */
- #define FAT_EOF      (atari_format ? 0x0fffffff : 0x0ffffff8)
- #define FAT_BAD      0x0ffffff7
-@@ -200,19 +187,6 @@ struct fat32_fsinfo {
-     uint32_t reserved2[4];
- };
--struct msdos_dir_entry {
--    char name[8], ext[3];     /* name and extension */
--    uint8_t attr;             /* attribute bits */
--    uint8_t lcase;            /* Case for base and extension */
--    uint8_t ctime_ms;         /* Creation time, milliseconds */
--    uint16_t ctime;           /* Creation time */
--    uint16_t cdate;           /* Creation date */
--    uint16_t adate;           /* Last access date */
--    uint16_t starthi;         /* high 16 bits of first cl. (FAT32) */
--    uint16_t time, date, start;       /* time, date and first cluster */
--    uint32_t size;            /* file size (in bytes) */
--} __attribute__ ((packed));
--
- /* The "boot code" we put into the filesystem... it writes a message and
-    tells the user to try again */
-@@ -1244,7 +1218,7 @@ static void setup_tables(void)
-           htole16((unsigned short)(ctime->tm_mday +
-                                    ((ctime->tm_mon + 1) << 5) +
-                                    ((ctime->tm_year - 80) << 9)));
--      de->ctime_ms = 0;
-+      de->ctime_cs = 0;
-       de->ctime = de->time;
-       de->cdate = de->date;
-       de->adate = de->date;
-diff --git a/src/msdos_fs.h b/src/msdos_fs.h
-new file mode 100644
-index 0000000..54b2a34
---- /dev/null
-+++ b/src/msdos_fs.h
-@@ -0,0 +1,61 @@
-+/* msdos_fs.h - MS-DOS filesystem constants/structures
-+
-+   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 3 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, see <http://www.gnu.org/licenses/>.
-+
-+   The complete text of the GNU General Public License
-+   can be found in /usr/share/common-licenses/GPL-3 file.
-+*/
-+
-+#ifndef _MSDOS_FS_H
-+#define _MSDOS_FS_H
-+
-+#include <stdint.h>
-+
-+#define SECTOR_SIZE 512               /* sector size (bytes) */
-+#define MSDOS_DPS (SECTOR_SIZE / sizeof(struct msdos_dir_entry))
-+#define MSDOS_DPS_BITS 4      /* log2(MSDOS_DPS) */
-+#define MSDOS_DIR_BITS 5      /* log2(sizeof(struct msdos_dir_entry)) */
-+
-+#define ATTR_NONE 0   /* no attribute bits */
-+#define ATTR_RO 1     /* read-only */
-+#define ATTR_HIDDEN 2 /* hidden */
-+#define ATTR_SYS 4    /* system */
-+#define ATTR_VOLUME 8 /* volume label */
-+#define ATTR_DIR 16   /* directory */
-+#define ATTR_ARCH 32  /* archived */
-+
-+/* attribute bits that are copied "as is" */
-+#define ATTR_UNUSED (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN)
-+
-+#define DELETED_FLAG 0xe5     /* marks file as deleted when in name[0] */
-+#define IS_FREE(n) (!*(n) || *(n) == DELETED_FLAG)
-+
-+#define MSDOS_NAME 11                 /* maximum name length */
-+#define MSDOS_DOT ".          "               /* ".", padded to MSDOS_NAME chars */
-+#define MSDOS_DOTDOT "..         "    /* "..", padded to MSDOS_NAME chars */
-+
-+struct msdos_dir_entry {
-+    uint8_t name[8], ext[3];  /* name and extension */
-+    uint8_t attr;             /* attribute bits */
-+    uint8_t lcase;            /* Case for base and extension */
-+    uint8_t ctime_cs;         /* Creation time, centiseconds (0-199) */
-+    uint16_t ctime;           /* Creation time */
-+    uint16_t cdate;           /* Creation date */
-+    uint16_t adate;           /* Last access date */
-+    uint16_t starthi;         /* High 16 bits of cluster in FAT32 */
-+    uint16_t time, date, start;       /* time, date and first cluster */
-+    uint32_t size;            /* file size (in bytes) */
-+} __attribute__ ((packed));
-+
-+#endif /* _MSDOS_FS_H */
--- 
-1.9.1
-