Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* fsclient.h: AFS File Server client stub declarations |
2 | * | |
3 | * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. | |
4 | * Written by David Howells (dhowells@redhat.com) | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or | |
7 | * modify it under the terms of the GNU General Public License | |
8 | * as published by the Free Software Foundation; either version | |
9 | * 2 of the License, or (at your option) any later version. | |
10 | */ | |
11 | ||
12 | #ifndef _LINUX_AFS_FSCLIENT_H | |
13 | #define _LINUX_AFS_FSCLIENT_H | |
14 | ||
15 | #include "server.h" | |
16 | ||
17 | extern int afs_rxfs_get_volume_info(struct afs_server *server, | |
18 | const char *name, | |
19 | struct afs_volume_info *vinfo); | |
20 | ||
21 | extern int afs_rxfs_fetch_file_status(struct afs_server *server, | |
22 | struct afs_vnode *vnode, | |
23 | struct afs_volsync *volsync); | |
24 | ||
25 | struct afs_rxfs_fetch_descriptor { | |
26 | struct afs_fid fid; /* file ID to fetch */ | |
27 | size_t size; /* total number of bytes to fetch */ | |
28 | off_t offset; /* offset in file to start from */ | |
29 | void *buffer; /* read buffer */ | |
30 | size_t actual; /* actual size sent back by server */ | |
31 | }; | |
32 | ||
33 | extern int afs_rxfs_fetch_file_data(struct afs_server *server, | |
34 | struct afs_vnode *vnode, | |
35 | struct afs_rxfs_fetch_descriptor *desc, | |
36 | struct afs_volsync *volsync); | |
37 | ||
38 | extern int afs_rxfs_give_up_callback(struct afs_server *server, | |
39 | struct afs_vnode *vnode); | |
40 | ||
41 | /* this doesn't appear to work in OpenAFS server */ | |
42 | extern int afs_rxfs_lookup(struct afs_server *server, | |
43 | struct afs_vnode *dir, | |
44 | const char *filename, | |
45 | struct afs_vnode *vnode, | |
46 | struct afs_volsync *volsync); | |
47 | ||
48 | /* this is apparently mis-implemented in OpenAFS server */ | |
49 | extern int afs_rxfs_get_root_volume(struct afs_server *server, | |
50 | char *buf, | |
51 | size_t *buflen); | |
52 | ||
53 | ||
54 | #endif /* _LINUX_AFS_FSCLIENT_H */ |