1 /* 2 * linux/include/linux/hfs_fs_sb.h 3 * 4 * Copyright (C) 1995-1997 Paul H. Hargrove 5 * This file may be distributed under the terms of the GNU General Public License. 6 * 7 * This file defines the type (struct hfs_sb_info) which contains the 8 * HFS-specific information in the in-core superblock. 9 */ 10 11 #ifndef _LINUX_HFS_FS_SB_H 12 #define _LINUX_HFS_FS_SB_H 13 14 /* forward declaration: */ 15 struct hfs_name; 16 17 typedef int (*hfs_namein_fn) (char *, const struct hfs_name *); 18 typedef void (*hfs_nameout_fn) (struct hfs_name *, const char *, int); 19 typedef void (*hfs_ifill_fn) (struct inode *, ino_t, const int); 20 21 /* 22 * struct hfs_sb_info 23 * 24 * The HFS-specific part of a Linux (struct super_block) 25 */ 26 struct hfs_sb_info { 27 int magic; /* A magic number */ 28 struct hfs_mdb *s_mdb; /* The HFS MDB */ 29 int s_quiet; /* Silent failure when 30 changing owner or mode? */ 31 int s_lowercase; /* Map names to lowercase? */ 32 int s_afpd; /* AFPD compatible mode? */ 33 int s_version; /* version info */ 34 hfs_namein_fn s_namein; /* The function used to 35 map Mac filenames to 36 Linux filenames */ 37 hfs_nameout_fn s_nameout; /* The function used to 38 map Linux filenames 39 to Mac filenames */ 40 hfs_ifill_fn s_ifill; /* The function used 41 to fill in inode fields */ 42 const struct hfs_name *s_reserved1; /* Reserved names */ 43 const struct hfs_name *s_reserved2; /* Reserved names */ 44 __u32 s_type; /* Type for new files */ 45 __u32 s_creator; /* Creator for new files */ 46 umode_t s_umask; /* The umask applied to the 47 permissions on all files */ 48 uid_t s_uid; /* The uid of all files */ 49 gid_t s_gid; /* The gid of all files */ 50 char s_conv; /* Type of text conversion */ 51 }; 52 53 #endif 54