c2f887e1f2f1b35ab6aa4c54aaedb1481f0978df
[openafs.git] / src / libafscp / afscp_internal.h
1 #include <afs/param.h>
2 #include <afs/afsint.h>
3 #include <afs/cellconfig.h>
4 #define MAXADDRS 16
5
6 /* AUTORIGHTS */
7 struct afs_server
8 {
9      afsUUID id;
10      int index;
11      int cell;
12      int naddrs;
13      afs_uint32 addrs[MAXADDRS];
14      struct rx_connection *conns[MAXADDRS];
15 };
16 struct afs_cell
17 {
18      int id;
19      char name[MAXCELLCHARS];
20      struct rx_securityClass *security;
21      int scindex;
22      struct ubik_client *vlservers;
23      int nservers;
24      int srvsalloced;
25      struct afs_server **fsservers;
26      void *volsbyname;
27      void *volsbyid;
28 };
29
30 struct afs_callback
31 {
32      int valid;
33      const struct afs_server *server;
34      struct AFSFid fid;
35      struct AFSCallBack cb;
36 };
37
38 struct afs_dirstream
39 {
40      struct afs_venusfid fid;
41      int buflen;
42      char *dirbuffer;
43      int hashent;
44      int entry;
45      int dv;
46      struct afs_dirent ret;
47 };
48
49 struct afs_dircache
50 {
51      struct afs_venusfid me;
52      int buflen;
53      char *dirbuffer;
54      int dv;
55 };
56
57 struct afs_statent
58 {
59      struct afs_venusfid me;
60      struct AFSFetchStatus status;
61 };
62
63 struct afs_openfile
64 {
65      struct afs_venusfid fid;
66      off_t offset;
67 };
68
69 extern int _rx_InitRandomPort(void);
70 extern int _GetSecurityObject(struct afs_cell *);
71 extern int _GetVLservers(struct afs_cell *);
72 extern int _StatInvalidate(const struct afs_venusfid *fid);
73 extern int _StatStuff(const struct afs_venusfid *fid, const struct AFSFetchStatus *s);
74
75 #ifdef AFSCP_DEBUG
76 #define afscp_dprintf(x) printf x
77 #else
78 #define afscp_dprintf(x)
79 #endif