Subversion Repositories shark

Rev

Blame | Last modification | View Log | RSS feed

/*
 * linux/include/linux/hfs_fs_sb.h
 *
 * Copyright (C) 1995-1997  Paul H. Hargrove
 * This file may be distributed under the terms of the GNU General Public License.
 *
 * This file defines the type (struct hfs_sb_info) which contains the
 * HFS-specific information in the in-core superblock.
 */


#ifndef _LINUX_HFS_FS_SB_H
#define _LINUX_HFS_FS_SB_H

/* forward declaration: */
struct hfs_name;

typedef int (*hfs_namein_fn) (char *, const struct hfs_name *);
typedef void (*hfs_nameout_fn) (struct hfs_name *, const char *, int);
typedef void (*hfs_ifill_fn) (struct inode *, ino_t, const int);

/*
 * struct hfs_sb_info
 *
 * The HFS-specific part of a Linux (struct super_block)
 */

struct hfs_sb_info {
        int                     magic;          /* A magic number */
        struct hfs_mdb          *s_mdb;         /* The HFS MDB */
        int                     s_quiet;        /* Silent failure when
                                                   changing owner or mode? */

        int                     s_lowercase;    /* Map names to lowercase? */
        int                     s_afpd;         /* AFPD compatible mode? */
        int                     s_version;      /* version info */
        hfs_namein_fn           s_namein;       /* The function used to
                                                   map Mac filenames to
                                                   Linux filenames */

        hfs_nameout_fn          s_nameout;      /* The function used to
                                                    map Linux filenames
                                                    to Mac filenames */

        hfs_ifill_fn            s_ifill;        /* The function used
                                                   to fill in inode fields */

        const struct hfs_name   *s_reserved1;   /* Reserved names */
        const struct hfs_name   *s_reserved2;   /* Reserved names */
        __u32                   s_type;         /* Type for new files */
        __u32                   s_creator;      /* Creator for new files */
        umode_t                 s_umask;        /* The umask applied to the
                                                   permissions on all files */

        uid_t                   s_uid;          /* The uid of all files */
        gid_t                   s_gid;          /* The gid of all files */
        char                    s_conv;         /* Type of text conversion */
};

#endif