| /* fsclient.h: AFS File Server client stub declarations |
| * |
| * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. |
| * Written by David Howells (dhowells@redhat.com) |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * as published by the Free Software Foundation; either version |
| * 2 of the License, or (at your option) any later version. |
| */ |
| |
| #ifndef _LINUX_AFS_FSCLIENT_H |
| #define _LINUX_AFS_FSCLIENT_H |
| |
| #include "server.h" |
| |
| extern int afs_rxfs_get_volume_info(struct afs_server *server, |
| const char *name, |
| struct afs_volume_info *vinfo); |
| |
| extern int afs_rxfs_fetch_file_status(struct afs_server *server, |
| struct afs_vnode *vnode, |
| struct afs_volsync *volsync); |
| |
| struct afs_rxfs_fetch_descriptor { |
| struct afs_fid fid; /* file ID to fetch */ |
| size_t size; /* total number of bytes to fetch */ |
| off_t offset; /* offset in file to start from */ |
| void *buffer; /* read buffer */ |
| size_t actual; /* actual size sent back by server */ |
| }; |
| |
| extern int afs_rxfs_fetch_file_data(struct afs_server *server, |
| struct afs_vnode *vnode, |
| struct afs_rxfs_fetch_descriptor *desc, |
| struct afs_volsync *volsync); |
| |
| extern int afs_rxfs_give_up_callback(struct afs_server *server, |
| struct afs_vnode *vnode); |
| |
| /* this doesn't appear to work in OpenAFS server */ |
| extern int afs_rxfs_lookup(struct afs_server *server, |
| struct afs_vnode *dir, |
| const char *filename, |
| struct afs_vnode *vnode, |
| struct afs_volsync *volsync); |
| |
| /* this is apparently mis-implemented in OpenAFS server */ |
| extern int afs_rxfs_get_root_volume(struct afs_server *server, |
| char *buf, |
| size_t *buflen); |
| |
| |
| #endif /* _LINUX_AFS_FSCLIENT_H */ |