|
|
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: volume.h,v 1.7 1998/11/02 22:09:12 rob Exp $
21: */
22:
23: #ifndef _H_VOLUME
24: #define _H_VOLUME
25:
26: void v_init(hfsvol *, int);
27:
28: int v_open(hfsvol *, int os_fd);
29: int v_flush(hfsvol *);
30: int v_close(hfsvol *);
31:
32: int v_same(hfsvol *, int os_fd);
33: int v_geometry(hfsvol *, int);
34:
35: int v_readmdb(hfsvol *);
36: int v_writemdb(hfsvol *);
37:
38: int v_readvbm(hfsvol *);
39: int v_writevbm(hfsvol *);
40:
41: int v_mount(hfsvol *);
42: int v_dirty(hfsvol *);
43:
44: int v_catsearch(hfsvol *, unsigned long, const char *,
45: CatDataRec *, char *, node *);
46: int v_extsearch(hfsfile *, unsigned int, ExtDataRec *, node *);
47:
48: int v_getthread(hfsvol *, unsigned long, CatDataRec *, node *, int);
49:
50: # define v_getdthread(vol, id, thread, np) \
51: v_getthread(vol, id, thread, np, cdrThdRec)
52: # define v_getfthread(vol, id, thread, np) \
53: v_getthread(vol, id, thread, np, cdrFThdRec)
54:
55: int v_putcatrec(const CatDataRec *, node *);
56: int v_putextrec(const ExtDataRec *, node *);
57:
58: int v_allocblocks(hfsvol *, ExtDescriptor *);
59: int v_freeblocks(hfsvol *, const ExtDescriptor *);
60:
61: int v_resolve(hfsvol **vol, const char *path,
62: CatDataRec *data, unsigned long *parid, char *fname, node *np);
63:
64: int v_adjvalence(hfsvol *, unsigned long, int, int);
65: int v_mkdir(hfsvol *, unsigned long, const char *);
66:
67: int v_scavenge(hfsvol *);
68:
69: int v_probe(int fd, long long offset);
70:
71: #endif /* _H_VOLUME */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.