xref: /openbsd-src/gnu/usr.sbin/mkhybrid/src/libhfs_iso/file.h (revision f0d9efc08bdf8f314c206a5c81ebc300245394f8)
1*f0d9efc0Sbeck /*
2*f0d9efc0Sbeck  * hfsutils - tools for reading and writing Macintosh HFS volumes
3*f0d9efc0Sbeck  * Copyright (C) 1996, 1997 Robert Leslie
4*f0d9efc0Sbeck  *
5*f0d9efc0Sbeck  * This program is free software; you can redistribute it and/or modify
6*f0d9efc0Sbeck  * it under the terms of the GNU General Public License as published by
7*f0d9efc0Sbeck  * the Free Software Foundation; either version 2 of the License, or
8*f0d9efc0Sbeck  * (at your option) any later version.
9*f0d9efc0Sbeck  *
10*f0d9efc0Sbeck  * This program is distributed in the hope that it will be useful,
11*f0d9efc0Sbeck  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12*f0d9efc0Sbeck  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13*f0d9efc0Sbeck  * GNU General Public License for more details.
14*f0d9efc0Sbeck  *
15*f0d9efc0Sbeck  * You should have received a copy of the GNU General Public License
16*f0d9efc0Sbeck  * along with this program; if not, write to the Free Software
17*f0d9efc0Sbeck  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18*f0d9efc0Sbeck  */
19*f0d9efc0Sbeck 
20*f0d9efc0Sbeck enum {
21*f0d9efc0Sbeck   fkData = 0x00,
22*f0d9efc0Sbeck   fkRsrc = 0xff
23*f0d9efc0Sbeck };
24*f0d9efc0Sbeck 
25*f0d9efc0Sbeck void f_selectfork(hfsfile *, int);
26*f0d9efc0Sbeck void f_getptrs(hfsfile *, unsigned long **, unsigned long **, ExtDataRec **);
27*f0d9efc0Sbeck 
28*f0d9efc0Sbeck int f_doblock(hfsfile *, unsigned long, block *,
29*f0d9efc0Sbeck 	      int (*)(hfsvol *, unsigned int, unsigned int, block *));
30*f0d9efc0Sbeck 
31*f0d9efc0Sbeck # define f_getblock(file, num, bp)	f_doblock(file, num, bp, b_readab)
32*f0d9efc0Sbeck # define f_putblock(file, num, bp)	f_doblock(file, num, bp, b_writeab)
33*f0d9efc0Sbeck 
34*f0d9efc0Sbeck int f_alloc(hfsfile *);
35*f0d9efc0Sbeck int f_trunc(hfsfile *);
36*f0d9efc0Sbeck int f_flush(hfsfile *);
37