Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / openbios / fs / hfsplus / include / apple.h
1 /*
2  * libhfsp - library for reading and writing Macintosh HFS+ volumes
3  *
4  * This file contains defintions that are special for Apple.
5  * The names match the defintions found in Apple Header files.
6  *
7  * Copyright (C) 2000 Klaus Halfmann <khalfmann@libra.de>
8  * Original code 1996-1998 by Robert Leslie <rob@mars.rog>
9  * other work 2000 from Brad Boyer (flar@pants.nu)
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
24  * MA 02110-1301, USA.
25  *
26  * $Id: apple.h,v 1.2 2000/09/08 14:55:08 hasi Exp $
27  */
28
29 typedef signed char         Char;
30 typedef unsigned char       UChar;
31 typedef signed char         SInt8;
32 typedef unsigned char       UInt8;
33 typedef signed short        SInt16;
34 typedef unsigned short      UInt16;
35 typedef signed long         SInt32;
36 typedef unsigned long       UInt32;
37 typedef unsigned long       OSType;
38 typedef unsigned long long  UInt64;
39
40 /* A point, normally used by Quickdraw,
41  * but found in Finderinformation, too
42  */
43 typedef struct {
44   SInt16        v;              /* vertical coordinate */
45   SInt16        h;              /* horizontal coordinate */
46 } Point;
47
48 /* A rectancle, normally used by Quickdraw,
49  * but found in Finderinformation, too.
50  */
51 typedef struct {
52   SInt16        top;            /* top edge of rectangle */
53   SInt16        left;           /* left edge */
54   SInt16        bottom;         /* bottom edge */
55   SInt16        right;          /* right edge */
56 } Rect;
57
58 /* Information about the location and size of a folder
59  * used by the Finder.
60  */
61 typedef struct {
62   Rect          frRect;         /* folder's rectangle */
63   SInt16        frFlags;        /* flags */
64   Point         frLocation;     /* folder's location */
65   SInt16        frView;         /* folder's view */
66 } DInfo;
67
68 /* Extended folder information used by the Finder ...
69  */
70 typedef struct {
71   Point         frScroll;       /* scroll position */
72   SInt32        frOpenChain;    /* directory ID chain of open folders */
73   SInt16        frUnused;       /* reserved */
74   SInt16        frComment;      /* comment ID */
75   SInt32        frPutAway;      /* directory ID */
76 } DXInfo;
77
78 /* Finder information for a File
79  */
80 typedef struct {
81   OSType        fdType;         /* file type */
82   OSType        fdCreator;      /* file's creator */
83   SInt16        fdFlags;        /* flags */
84   Point         fdLocation;     /* file's location */
85   SInt16        fdFldr;         /* file's window */
86 } FInfo;
87
88 /* Extendend Finder Information for a file
89  */
90 typedef struct {
91   SInt16        fdIconID;       /* icon ID */
92   SInt16        fdUnused[4];    /* reserved */
93   SInt16        fdComment;      /* comment ID */
94   SInt32        fdPutAway;      /* home directory ID */
95 } FXInfo;
96
97 /* Flagvalues for FInfo and DInfo */
98 # define HFS_FNDR_ISONDESK              (1 <<  0)
99 # define HFS_FNDR_COLOR                 0x0e
100 # define HFS_FNDR_COLORRESERVED         (1 <<  4)
101 # define HFS_FNDR_REQUIRESSWITCHLAUNCH  (1 <<  5)
102 # define HFS_FNDR_ISSHARED              (1 <<  6)
103 # define HFS_FNDR_HASNOINITS            (1 <<  7)
104 # define HFS_FNDR_HASBEENINITED         (1 <<  8)
105 # define HFS_FNDR_RESERVED              (1 <<  9)
106 # define HFS_FNDR_HASCUSTOMICON         (1 << 10)
107 # define HFS_FNDR_ISSTATIONERY          (1 << 11)
108 # define HFS_FNDR_NAMELOCKED            (1 << 12)
109 # define HFS_FNDR_HASBUNDLE             (1 << 13)
110 # define HFS_FNDR_ISINVISIBLE           (1 << 14)
111 # define HFS_FNDR_ISALIAS               (1 << 15)