Annotation of qemu/roms/openbios/fs/hfs/include/hfs.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * libhfs - library for reading and writing Macintosh HFS volumes
        !             3:  * Copyright (C) 1996-1998 Robert Leslie
        !             4:  *
        !             5:  * This program is free software; you can redistribute it and/or modify
        !             6:  * it under the terms of the GNU General Public License as published by
        !             7:  * the Free Software Foundation; either version 2 of the License, or
        !             8:  * (at your option) any later version.
        !             9:  *
        !            10:  * This program is distributed in the hope that it will be useful,
        !            11:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            12:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            13:  * GNU General Public License for more details.
        !            14:  *
        !            15:  * You should have received a copy of the GNU General Public License
        !            16:  * along with this program; if not, write to the Free Software
        !            17:  * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
        !            18:  * MA 02110-1301, USA.
        !            19:  *
        !            20:  * $Id: hfs.h,v 1.11 1998/11/02 22:09:01 rob Exp $
        !            21:  */
        !            22: 
        !            23: # define HFS_BLOCKSZ           512
        !            24: # define HFS_BLOCKSZ_BITS      9
        !            25: 
        !            26: # define HFS_MAX_FLEN          31
        !            27: # define HFS_MAX_VLEN          27
        !            28: 
        !            29: typedef struct _hfsvol_  hfsvol;
        !            30: typedef struct _hfsfile_ hfsfile;
        !            31: typedef struct _hfsdir_  hfsdir;
        !            32: 
        !            33: typedef struct {
        !            34:   char name[HFS_MAX_VLEN + 1]; /* name of volume (MacOS Standard Roman) */
        !            35:   int flags;                   /* volume flags */
        !            36: 
        !            37:   unsigned long totbytes;      /* total bytes on volume */
        !            38:   unsigned long freebytes;     /* free bytes on volume */
        !            39: 
        !            40:   unsigned long alblocksz;     /* volume allocation block size */
        !            41:   unsigned long clumpsz;       /* default file clump size */
        !            42: 
        !            43:   unsigned long numfiles;      /* number of files in volume */
        !            44:   unsigned long numdirs;       /* number of directories in volume */
        !            45: 
        !            46:   time_t crdate;               /* volume creation date */
        !            47:   time_t mddate;               /* last volume modification date */
        !            48:   time_t bkdate;               /* last volume backup date */
        !            49: 
        !            50:   unsigned long blessed;       /* CNID of MacOS System Folder */
        !            51: } hfsvolent;
        !            52: 
        !            53: typedef struct {
        !            54:   char name[HFS_MAX_FLEN + 1]; /* catalog name (MacOS Standard Roman) */
        !            55:   int flags;                   /* bit flags */
        !            56:   unsigned long cnid;          /* catalog node id (CNID) */
        !            57:   unsigned long parid;         /* CNID of parent directory */
        !            58: 
        !            59:   time_t crdate;               /* date of creation */
        !            60:   time_t mddate;               /* date of last modification */
        !            61:   time_t bkdate;               /* date of last backup */
        !            62: 
        !            63:   short fdflags;               /* Macintosh Finder flags */
        !            64: 
        !            65:   struct {
        !            66:     signed short v;            /* Finder icon vertical coordinate */
        !            67:     signed short h;            /* horizontal coordinate */
        !            68:   } fdlocation;
        !            69: 
        !            70:   union {
        !            71:     struct {
        !            72:       unsigned long dsize;     /* size of data fork */
        !            73:       unsigned long rsize;     /* size of resource fork */
        !            74: 
        !            75:       char type[5];            /* file type code (plus null) */
        !            76:       char creator[5];         /* file creator code (plus null) */
        !            77:     } file;
        !            78: 
        !            79:     struct {
        !            80:       unsigned short valence;  /* number of items in directory */
        !            81: 
        !            82:       struct {
        !            83:        signed short top;       /* top edge of folder's rectangle */
        !            84:        signed short left;      /* left edge */
        !            85:        signed short bottom;    /* bottom edge */
        !            86:        signed short right;     /* right edge */
        !            87:       } rect;
        !            88:     } dir;
        !            89:   } u;
        !            90: } hfsdirent;
        !            91: 
        !            92: # define HFS_ISDIR             0x0001
        !            93: # define HFS_ISLOCKED          0x0002
        !            94: 
        !            95: # define HFS_CNID_ROOTPAR      1
        !            96: # define HFS_CNID_ROOTDIR      2
        !            97: # define HFS_CNID_EXT          3
        !            98: # define HFS_CNID_CAT          4
        !            99: # define HFS_CNID_BADALLOC     5
        !           100: 
        !           101: # define HFS_FNDR_ISONDESK             (1 <<  0)
        !           102: # define HFS_FNDR_COLOR                        0x0e
        !           103: # define HFS_FNDR_COLORRESERVED                (1 <<  4)
        !           104: # define HFS_FNDR_REQUIRESSWITCHLAUNCH (1 <<  5)
        !           105: # define HFS_FNDR_ISSHARED             (1 <<  6)
        !           106: # define HFS_FNDR_HASNOINITS           (1 <<  7)
        !           107: # define HFS_FNDR_HASBEENINITED                (1 <<  8)
        !           108: # define HFS_FNDR_RESERVED             (1 <<  9)
        !           109: # define HFS_FNDR_HASCUSTOMICON                (1 << 10)
        !           110: # define HFS_FNDR_ISSTATIONERY         (1 << 11)
        !           111: # define HFS_FNDR_NAMELOCKED           (1 << 12)
        !           112: # define HFS_FNDR_HASBUNDLE            (1 << 13)
        !           113: # define HFS_FNDR_ISINVISIBLE          (1 << 14)
        !           114: # define HFS_FNDR_ISALIAS              (1 << 15)
        !           115: 
        !           116: extern const char *hfs_error;
        !           117: extern const unsigned char hfs_charorder[];
        !           118: 
        !           119: # define HFS_MODE_RDONLY       0
        !           120: # define HFS_MODE_RDWR         1
        !           121: # define HFS_MODE_ANY          2
        !           122: 
        !           123: # define HFS_MODE_MASK         0x0003
        !           124: 
        !           125: # define HFS_OPT_NOCACHE       0x0100
        !           126: # define HFS_OPT_2048          0x0200
        !           127: # define HFS_OPT_ZERO          0x0400
        !           128: 
        !           129: # define HFS_SEEK_SET          0
        !           130: # define HFS_SEEK_CUR          1
        !           131: # define HFS_SEEK_END          2
        !           132: 
        !           133: hfsvol *hfs_mount( int os_fd, int);
        !           134: int hfs_flush(hfsvol *);
        !           135: void hfs_flushall(void);
        !           136: int hfs_umount(hfsvol *);
        !           137: void hfs_umountall(void);
        !           138: hfsvol *hfs_getvol(const char *);
        !           139: void hfs_setvol(hfsvol *);
        !           140: 
        !           141: int hfs_vstat(hfsvol *, hfsvolent *);
        !           142: int hfs_vsetattr(hfsvol *, hfsvolent *);
        !           143: 
        !           144: int hfs_chdir(hfsvol *, const char *);
        !           145: unsigned long hfs_getcwd(hfsvol *);
        !           146: int hfs_setcwd(hfsvol *, unsigned long);
        !           147: int hfs_dirinfo(hfsvol *, unsigned long *, char *);
        !           148: 
        !           149: hfsdir *hfs_opendir(hfsvol *, const char *);
        !           150: int hfs_readdir(hfsdir *, hfsdirent *);
        !           151: int hfs_closedir(hfsdir *);
        !           152: 
        !           153: hfsfile *hfs_create(hfsvol *, const char *, const char *, const char *);
        !           154: hfsfile *hfs_open(hfsvol *, const char *);
        !           155: int hfs_setfork(hfsfile *, int);
        !           156: int hfs_getfork(hfsfile *);
        !           157: unsigned long hfs_read(hfsfile *, void *, unsigned long);
        !           158: unsigned long hfs_write(hfsfile *, const void *, unsigned long);
        !           159: int hfs_truncate(hfsfile *, unsigned long);
        !           160: unsigned long hfs_seek(hfsfile *, long, int);
        !           161: int hfs_close(hfsfile *);
        !           162: 
        !           163: int hfs_stat(hfsvol *, const char *, hfsdirent *);
        !           164: int hfs_fstat(hfsfile *, hfsdirent *);
        !           165: int hfs_setattr(hfsvol *, const char *, const hfsdirent *);
        !           166: int hfs_fsetattr(hfsfile *, const hfsdirent *);
        !           167: 
        !           168: int hfs_mkdir(hfsvol *, const char *);
        !           169: int hfs_rmdir(hfsvol *, const char *);
        !           170: 
        !           171: int hfs_delete(hfsvol *, const char *);
        !           172: int hfs_rename(hfsvol *, const char *, const char *);
        !           173: 
        !           174: int hfs_zero(const char *, unsigned int, unsigned long *);
        !           175: int hfs_mkpart(const char *, unsigned long);
        !           176: int hfs_nparts(const char *);
        !           177: 
        !           178: int hfs_format(const char *, int, int,
        !           179:               const char *, unsigned int, const unsigned long []);
        !           180: int hfs_probe(int fd, long long offset);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.