capabilities-20030304
[openafs.git] / src / fsint / afscbint.xg
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 /*
11  * afscbint.xg:
12  *      Definition of the AFS Cache Manager callback RPC interface.
13  */
14
15
16 #include "common.xg"            /*Common structures & definitions*/
17
18 %#ifdef KERNEL
19 %#include "../afs/longc_procs.h"
20 %#endif
21
22 package RXAFSCB_
23 prefix S
24 statindex 6
25
26 proc CallBack(
27   IN  AFSCBFids *Fids_Array,
28   AFSCBs *CallBacks_Array
29 ) multi = 204;
30
31 proc InitCallBackState(
32 ) = 205;
33
34 proc Probe(
35 ) multi = 206;
36
37 proc GetLock(
38   IN  afs_int32 index,
39   OUT AFSDBLock *lock
40 ) = 207;
41
42 proc GetCE(
43   IN  afs_int32 index,
44   OUT AFSDBCacheEntry *ce
45 ) = 208;
46
47 proc XStatsVersion(
48   OUT afs_int32 *versionNumberP
49 ) = 209;
50
51 proc GetXStats(
52   IN  afs_int32 clientVersionNumber,
53   afs_int32 collectionNumber,
54   OUT afs_int32 *srvVersionNumberP,
55   afs_int32 *timeP,
56   AFSCB_CollData *dataP
57 ) = 210;
58
59 /* Used in the AFS 3.5 beta release */
60 proc InitCallBackState2(
61   OUT struct interfaceAddr* addr
62 ) = 211;
63
64 proc WhoAreYou(
65   OUT struct interfaceAddr* addr
66 ) = 212;
67
68 proc InitCallBackState3(
69   IN afsUUID *serverUuid
70 ) = 213;
71
72 proc ProbeUuid(
73   IN afsUUID *clientUuid
74 ) multi = 214;
75
76 proc GetServerPrefs(
77   IN afs_int32 serverIndex,
78   OUT afs_int32 *srvrAddr,
79   OUT afs_int32 *srvrRank
80 ) = 215;
81
82 proc GetCellServDB(
83   IN afs_int32 cellIndex,
84   OUT string cellName<AFSNAMEMAX>,
85   OUT serverList *cellHosts
86 ) = 216;
87
88 proc GetLocalCell(
89   OUT string cellName<AFSNAMEMAX>
90 ) = 217;
91
92 proc GetCacheConfig(
93   IN afs_uint32 callerVersion,
94   OUT afs_uint32 *serverVersion,
95   OUT afs_uint32 *configCount,
96   OUT cacheConfig *config
97 ) = 218;  
98
99 proc GetCE64(
100   IN  afs_int32 index,
101   OUT AFSDBCacheEntry64 *ce
102 ) = 65536;
103
104 proc GetCellByNum(
105   IN  afs_int32 cellNumber,
106   OUT string cellName<AFSNAMEMAX>,
107   OUT serverList *cellHosts
108 ) = 65537;
109
110 proc TellMeAboutYourself(
111   OUT struct interfaceAddr *addr,
112   OUT Capabilities *capabilities
113 ) = 65538;