2
* Copyright (c) 2008 Jakub Jermar
3
* Copyright (c) 2011 Martin Sucha
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
10
* - Redistributions of source code must retain the above copyright
11
* notice, this list of conditions and the following disclaimer.
12
* - Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
* - The name of the author may not be used to endorse or promote products
16
* derived from this software without specific prior written permission.
18
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
#ifndef EXT2FS_EXT2FS_H_
35
#define EXT2FS_EXT2FS_H_
38
#include <fibril_synch.h>
41
#include <sys/types.h>
43
#include "../../vfs/vfs.h"
46
#define dprintf(...) printf(__VA_ARGS__)
49
#define min(a, b) ((a) < (b) ? (a) : (b))
51
extern fs_reg_t ext2fs_reg;
53
extern int ext2fs_global_init(void);
54
extern int ext2fs_global_fini(void);
55
extern void ext2fs_mounted(ipc_callid_t, ipc_call_t *);
56
extern void ext2fs_mount(ipc_callid_t, ipc_call_t *);
57
extern void ext2fs_unmounted(ipc_callid_t, ipc_call_t *);
58
extern void ext2fs_unmount(ipc_callid_t, ipc_call_t *);
59
extern void ext2fs_lookup(ipc_callid_t, ipc_call_t *);
60
extern void ext2fs_read(ipc_callid_t, ipc_call_t *);
61
extern void ext2fs_write(ipc_callid_t, ipc_call_t *);
62
extern void ext2fs_truncate(ipc_callid_t, ipc_call_t *);
63
extern void ext2fs_stat(ipc_callid_t, ipc_call_t *);
64
extern void ext2fs_close(ipc_callid_t, ipc_call_t *);
65
extern void ext2fs_destroy(ipc_callid_t, ipc_call_t *);
66
extern void ext2fs_open_node(ipc_callid_t, ipc_call_t *);
67
extern void ext2fs_stat(ipc_callid_t, ipc_call_t *);
68
extern void ext2fs_sync(ipc_callid_t, ipc_call_t *);