1 /* Part of libhgfs - (c) 2009, D.C. van Moolenbroek */
2
3 #include "inc.h"
4
5 struct sffs_table hgfs_table = {
6 .t_open = hgfs_open,
7 .t_read = hgfs_read,
8 .t_write = hgfs_write,
9 .t_close = hgfs_close,
10
11 .t_readbuf = hgfs_readbuf,
12 .t_writebuf = hgfs_writebuf,
13
14 .t_opendir = hgfs_opendir,
15 .t_readdir = hgfs_readdir,
16 .t_closedir = hgfs_closedir,
17
18 .t_getattr = hgfs_getattr,
19 .t_setattr = hgfs_setattr,
20
21 .t_mkdir = hgfs_mkdir,
22 .t_unlink = hgfs_unlink,
23 .t_rmdir = hgfs_rmdir,
24 .t_rename = hgfs_rename,
25
26 .t_queryvol = hgfs_queryvol,
27 };
28
29 /*===========================================================================*
30 * hgfs_init *
31 *===========================================================================*/
hgfs_init(const struct sffs_table ** tablep)32 int hgfs_init(const struct sffs_table **tablep)
33 {
34 /* Initialize the library. Return OK on success, or a negative error code
35 * otherwise. If EAGAIN is returned, shared folders are disabled.
36 */
37 int r;
38
39 time_init();
40
41 r = rpc_open();
42
43 if (r == OK)
44 *tablep = &hgfs_table;
45
46 return r;
47 }
48
49 /*===========================================================================*
50 * hgfs_cleanup *
51 *===========================================================================*/
hgfs_cleanup()52 void hgfs_cleanup()
53 {
54 /* Clean up state.
55 */
56
57 rpc_close();
58 }
59
60