2 * libhfsp - library for reading and writing Macintosh HFS+ volumes
4 * This file contains defintions that are special for Apple.
5 * The names match the defintions found in Apple Header files.
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)
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.
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.
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,
26 * $Id: apple.h,v 1.2 2000/09/08 14:55:08 hasi Exp $
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;
40 /* A point, normally used by Quickdraw,
41 * but found in Finderinformation, too
44 SInt16 v; /* vertical coordinate */
45 SInt16 h; /* horizontal coordinate */
48 /* A rectancle, normally used by Quickdraw,
49 * but found in Finderinformation, too.
52 SInt16 top; /* top edge of rectangle */
53 SInt16 left; /* left edge */
54 SInt16 bottom; /* bottom edge */
55 SInt16 right; /* right edge */
58 /* Information about the location and size of a folder
62 Rect frRect; /* folder's rectangle */
63 SInt16 frFlags; /* flags */
64 Point frLocation; /* folder's location */
65 SInt16 frView; /* folder's view */
68 /* Extended folder information used by the Finder ...
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 */
78 /* Finder information for a File
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 */
88 /* Extendend Finder Information for a file
91 SInt16 fdIconID; /* icon ID */
92 SInt16 fdUnused[4]; /* reserved */
93 SInt16 fdComment; /* comment ID */
94 SInt32 fdPutAway; /* home directory ID */
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)