added a lot of printk output to ease writing of emulator
[linux-2.4.21-pre4.git] / include / linux / hfs_fs_sb.h
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