diff options
Diffstat (limited to 'include/linux/umsdos_fs.h')
-rw-r--r-- | include/linux/umsdos_fs.h | 51 |
1 files changed, 43 insertions, 8 deletions
diff --git a/include/linux/umsdos_fs.h b/include/linux/umsdos_fs.h index 9f943237e..170761a5e 100644 --- a/include/linux/umsdos_fs.h +++ b/include/linux/umsdos_fs.h @@ -2,11 +2,7 @@ #define LINUX_UMSDOS_FS_H #define UMSDOS_VERSION 0 -#define UMSDOS_RELEASE 3 - -#ifndef LINUX_FS_H -#include <linux/fs.h> -#endif +#define UMSDOS_RELEASE 4 /* This is the file acting as a directory extension */ #define UMSDOS_EMD_FILE "--linux-.---" @@ -14,6 +10,13 @@ #define UMSDOS_PSDROOT_NAME "linux" #define UMSDOS_PSDROOT_LEN 5 +#ifndef _LINUX_TYPES_H +#include <linux/types.h> +#endif +#ifndef _LINUX_DIRENT_H +#include <linux/dirent.h> +#endif + struct umsdos_fake_info { char fname[13]; int len; @@ -79,12 +82,40 @@ struct umsdos_info{ #define UMSDOS_INIT_EMD 1242 /* Create the EMD file if not there */ #define UMSDOS_DOS_SETUP 1243 /* Set the defaults of the MsDOS driver */ -#include <linux/stat.h> - +#define UMSDOS_RENAME_DOS 1244 /* rename a file/directory in the DOS */ + /* directory only */ struct umsdos_ioctl{ struct dirent dos_dirent; struct umsdos_dirent umsdos_dirent; - struct new_stat stat; + /* The following structure is used to exchange some data */ + /* with utilities (umsdos_progs/util/umsdosio.c). The first */ + /* releases were using struct stat from "sys/stat.h". This was */ + /* causing some problem for cross compilation of the kernel */ + /* Since I am not really using the structure stat, but only some field */ + /* of it, I have decided to replicate the structure here */ + /* for compatibility with the binaries out there */ + struct { + dev_t st_dev; + unsigned short __pad1; + ino_t st_ino; + umode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + unsigned short __pad2; + off_t st_size; + unsigned long st_blksize; + unsigned long st_blocks; + time_t st_atime; + unsigned long __unused1; + time_t st_mtime; + unsigned long __unused2; + time_t st_ctime; + unsigned long __unused3; + unsigned long __unused4; + unsigned long __unused5; + }stat; char version,release; }; @@ -93,6 +124,10 @@ struct umsdos_ioctl{ #ifdef __KERNEL__ +#ifndef LINUX_FS_H +#include <linux/fs.h> +#endif + extern struct inode_operations umsdos_dir_inode_operations; extern struct file_operations umsdos_file_operations; extern struct inode_operations umsdos_file_inode_operations; |