patch-2.1.87 linux/include/linux/umsdos_fs.h
Next file: linux/include/linux/umsdos_fs.p
Previous file: linux/include/linux/ufs_fs_sb.h
Back to the patch index
Back to the overall index
- Lines: 168
- Date:
Mon Feb 16 15:36:43 1998
- Orig file:
v2.1.86/linux/include/linux/umsdos_fs.h
- Orig date:
Fri Feb 6 15:34:49 1998
diff -u --recursive --new-file v2.1.86/linux/include/linux/umsdos_fs.h linux/include/linux/umsdos_fs.h
@@ -4,6 +4,8 @@
#define UMSDOS_VERSION 0
#define UMSDOS_RELEASE 4
+#define UMSDOS_ROOT_INO 1
+
/* This is the file acting as a directory extension */
#define UMSDOS_EMD_FILE "--linux-.---"
#define UMSDOS_EMD_NAMELEN 12
@@ -20,32 +22,34 @@
#include <linux/ioctl.h>
#endif
+
struct umsdos_fake_info {
- char fname[13];
- int len;
+ char fname[13];
+ int len;
};
#define UMSDOS_MAXNAME 220
/* This structure is 256 bytes large, depending on the name, only part */
/* of it is written to disk */
+/* nice though it would be, I can't change this and preserve backward compatibility */
struct umsdos_dirent {
- unsigned char name_len; /* if == 0, then this entry is not used */
- unsigned char flags; /* UMSDOS_xxxx */
- unsigned short nlink; /* How many hard links point to this entry */
- uid_t uid; /* Owner user id */
- gid_t gid; /* Group id */
- time_t atime; /* Access time */
- time_t mtime; /* Last modification time */
- time_t ctime; /* Creation time */
- dev_t rdev; /* major and minor number of a device */
- /* special file */
- umode_t mode; /* Standard UNIX permissions bits + type of */
- char spare[12]; /* unused bytes for future extensions */
- /* file, see linux/stat.h */
- char name[UMSDOS_MAXNAME]; /* Not '\0' terminated */
- /* but '\0' padded, so it will allow */
- /* for adding news fields in this record */
- /* by reducing the size of name[] */
+ unsigned char name_len; /* if == 0, then this entry is not used */
+ unsigned char flags; /* UMSDOS_xxxx */
+ unsigned short nlink; /* How many hard links point to this entry */
+ uid_t uid; /* Owner user id */
+ gid_t gid; /* Group id */
+ time_t atime; /* Access time */
+ time_t mtime; /* Last modification time */
+ time_t ctime; /* Creation time */
+ dev_t rdev; /* major and minor number of a device */
+ /* special file */
+ umode_t mode; /* Standard UNIX permissions bits + type of */
+ char spare[12]; /* unused bytes for future extensions */
+ /* file, see linux/stat.h */
+ char name[UMSDOS_MAXNAME]; /* Not '\0' terminated */
+ /* but '\0' padded, so it will allow */
+ /* for adding news fields in this record */
+ /* by reducing the size of name[] */
};
#define UMSDOS_HIDDEN 1 /* Never show this entry in directory search */
#define UMSDOS_HLINK 2 /* It is a (pseudo) hard link */
@@ -58,15 +62,16 @@
#define UMSDOS_REC_SIZE 64
/* Translation between MSDOS name and UMSDOS name */
+
struct umsdos_info{
- int msdos_reject; /* Tell if the file name is invalid for MSDOS */
- /* See umsdos_parse */
- struct umsdos_fake_info fake;
- struct umsdos_dirent entry;
- off_t f_pos; /* offset of the entry in the EMD file */
- /* or offset where the entry may be store */
- /* if it is a new entry */
- int recsize; /* Record size needed to store entry */
+ int msdos_reject; /* Tell if the file name is invalid for MSDOS */
+ /* See umsdos_parse */
+ struct umsdos_fake_info fake;
+ struct umsdos_dirent entry;
+ off_t f_pos; /* offset of the entry in the EMD file */
+ /* or offset where the entry may be store */
+ /* if it is a new entry */
+ int recsize; /* Record size needed to store entry */
};
/* Definitions for ioctl (number randomly chosen) */
@@ -88,38 +93,39 @@
#define UMSDOS_RENAME_DOS _IO(0x04,220) /* rename a file/directory in the DOS */
/* directory only */
struct umsdos_ioctl{
- struct dirent dos_dirent;
- struct umsdos_dirent umsdos_dirent;
- /* 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;
+ struct dirent dos_dirent;
+ struct umsdos_dirent umsdos_dirent;
+ /* 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 */
+ /* FIXME PTW 1998, this has probably changed */
+ 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;
};
/* Different macros to access struct umsdos_dirent */
@@ -135,7 +141,6 @@
extern struct file_operations umsdos_file_operations;
extern struct inode_operations umsdos_file_inode_operations;
extern struct inode_operations umsdos_file_inode_operations_no_bmap;
-extern struct inode_operations umsdos_file_inode_operations_readpage;
extern struct inode_operations umsdos_symlink_inode_operations;
extern int init_umsdos_fs(void);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov