|
|
1.1 root 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 <[email protected]>
8: * Original code 1996-1998 by Robert Leslie <[email protected]>
9: * other work 2000 from Brad Boyer ([email protected])
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)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.