Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / fsint / afsint.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 * afsint.xg:
12 * Definition of the AFS File Server RPC interface.
13 */
14
15 #include "common.xg" /*Common structures & definitions*/
16
17 %#define VICECONNBAD 1234
18 %#define VICETOKENDEAD 1235
19 %#define AFS_LOCKWAIT (5*60)
20
21 customized struct CBS {
22 afs_int32 SeqLen;
23 char *SeqBody;
24 };
25
26 customized struct BBS {
27 afs_int32 MaxSeqLen;
28 afs_int32 SeqLen;
29 char *SeqBody;
30 };
31
32 customized struct AFSAccessList {
33 afs_int32 MaxSeqLen;
34 afs_int32 SeqLen;
35 char *SeqBody;
36 };
37
38 typedef afs_int32 ViceDataType;
39
40 %#define Invalid 0
41 %#define File 1
42 %#define Directory 2
43 %#define SymbolicLink 3
44
45 %#ifdef KERNEL
46 %#define afs_xdr_array(a,b,c,d,e,f) afs_xdr_arrayN(a,b,c,d,e,f)
47 %#endif
48
49 struct BD {
50 afs_int32 host;
51 afs_int32 portal;
52 afs_int32 session;
53 };
54
55 struct AFSVolSync {
56 afs_uint32 spare1;
57 afs_uint32 spare2;
58 afs_uint32 spare3;
59 afs_uint32 spare4;
60 afs_uint32 spare5;
61 afs_uint32 spare6;
62 };
63
64 struct AFSOldFetchStatus {
65 afs_uint32 InterfaceVersion;
66 afs_uint32 FileType;
67 afs_uint32 LinkCount;
68 afs_uint32 Length;
69 afs_uint32 DataVersion;
70 afs_uint32 Author;
71 afs_uint32 Owner;
72 afs_uint32 CallerAccess;
73 afs_uint32 AnonymousAccess;
74 afs_uint32 UnixModeBits;
75 afs_uint32 ParentVnode;
76 afs_uint32 ParentUnique;
77 afs_uint32 SegSize;
78 afs_uint32 ClientModTime;
79 afs_uint32 ServerModTime;
80 afs_uint32 Group;
81 };
82
83 struct AFSFetchStatus {
84 afs_uint32 InterfaceVersion;
85 afs_uint32 FileType;
86 afs_uint32 LinkCount;
87 afs_uint32 Length;
88 afs_uint32 DataVersion;
89 afs_uint32 Author;
90 afs_uint32 Owner;
91 afs_uint32 CallerAccess;
92 afs_uint32 AnonymousAccess;
93 afs_uint32 UnixModeBits;
94 afs_uint32 ParentVnode;
95 afs_uint32 ParentUnique;
96 afs_uint32 ResidencyMask;
97 afs_uint32 ClientModTime;
98 afs_uint32 ServerModTime;
99 afs_uint32 Group;
100 afs_uint32 SyncCounter;
101 afs_uint32 dataVersionHigh; /* For AFS/DFS translator, hi bits of dvn */
102 afs_uint32 lockCount;
103 afs_uint32 Length_hi;
104 afs_uint32 errorCode;
105 };
106
107 struct AFSStoreStatus {
108 afs_uint32 Mask;
109 afs_uint32 ClientModTime;
110 afs_uint32 Owner;
111 afs_uint32 Group;
112 afs_uint32 UnixModeBits;
113 afs_uint32 SegSize;
114 };
115
116 %#define AFS_SETMODTIME 1
117 %#define AFS_SETOWNER 2
118 %#define AFS_SETGROUP 4
119 %#define AFS_SETMODE 8
120 %#define AFS_SETSEGSIZE 16
121 %#define AFS_FSYNC 1024
122
123 typedef afs_int32 ViceVolumeType;
124
125 %#define ReadOnly 0
126 %#define ReadWrite 1
127
128
129 struct ViceDisk {
130 afs_int32 BlocksAvailable;
131 afs_int32 TotalBlocks;
132 DiskName Name;
133 };
134
135 struct ViceStatistics {
136 afs_uint32 CurrentMsgNumber;
137 afs_uint32 OldestMsgNumber;
138 afs_uint32 CurrentTime;
139 afs_uint32 BootTime;
140 afs_uint32 StartTime;
141 afs_int32 CurrentConnections;
142 afs_uint32 TotalViceCalls;
143 afs_uint32 TotalFetchs;
144 afs_uint32 FetchDatas;
145 afs_uint32 FetchedBytes;
146 afs_int32 FetchDataRate;
147 afs_uint32 TotalStores;
148 afs_uint32 StoreDatas;
149 afs_uint32 StoredBytes;
150 afs_int32 StoreDataRate;
151 afs_uint32 TotalRPCBytesSent;
152 afs_uint32 TotalRPCBytesReceived;
153 afs_uint32 TotalRPCPacketsSent;
154 afs_uint32 TotalRPCPacketsReceived;
155 afs_uint32 TotalRPCPacketsLost;
156 afs_uint32 TotalRPCBogusPackets;
157 afs_int32 SystemCPU;
158 afs_int32 UserCPU;
159 afs_int32 NiceCPU;
160 afs_int32 IdleCPU;
161 afs_int32 TotalIO;
162 afs_int32 ActiveVM;
163 afs_int32 TotalVM;
164 afs_int32 EtherNetTotalErrors;
165 afs_int32 EtherNetTotalWrites;
166 afs_int32 EtherNetTotalInterupts;
167 afs_int32 EtherNetGoodReads;
168 afs_int32 EtherNetTotalBytesWritten;
169 afs_int32 EtherNetTotalBytesRead;
170 afs_int32 ProcessSize;
171 afs_int32 WorkStations;
172 afs_int32 ActiveWorkStations;
173 afs_int32 Spare1;
174 afs_int32 Spare2;
175 afs_int32 Spare3;
176 afs_int32 Spare4;
177 afs_int32 Spare5;
178 afs_int32 Spare6;
179 afs_int32 Spare7;
180 afs_int32 Spare8;
181 ViceDisk Disk1;
182 ViceDisk Disk2;
183 ViceDisk Disk3;
184 ViceDisk Disk4;
185 ViceDisk Disk5;
186 ViceDisk Disk6;
187 ViceDisk Disk7;
188 ViceDisk Disk8;
189 ViceDisk Disk9;
190 ViceDisk Disk10;
191 };
192
193 struct VolumeStatus {
194 afs_int32 Vid;
195 afs_int32 ParentId;
196 char Online;
197 char InService;
198 char Blessed;
199 char NeedsSalvage;
200 afs_int32 Type;
201 afs_int32 MinQuota;
202 afs_int32 MaxQuota;
203 afs_int32 BlocksInUse;
204 afs_int32 PartBlocksAvail;
205 afs_int32 PartMaxBlocks;
206 };
207
208 struct AFSFetchVolumeStatus {
209 afs_int32 Vid;
210 afs_int32 ParentId;
211 char Online;
212 char InService;
213 char Blessed;
214 char NeedsSalvage;
215 afs_int32 Type;
216 afs_int32 MinQuota;
217 afs_int32 MaxQuota;
218 afs_int32 BlocksInUse;
219 afs_int32 PartBlocksAvail;
220 afs_int32 PartMaxBlocks;
221 };
222
223 struct AFSStoreVolumeStatus {
224 afs_int32 Mask;
225 afs_int32 MinQuota;
226 afs_int32 MaxQuota;
227 };
228
229 const AFS_SETMINQUOTA = 1;
230 const AFS_SETMAXQUOTA = 2;
231
232 struct AFSVolumeInfo {
233 afs_uint32 Vid;
234 afs_int32 Type;
235 afs_uint32 Type0;
236 afs_uint32 Type1;
237 afs_uint32 Type2;
238 afs_uint32 Type3;
239 afs_uint32 Type4;
240 afs_uint32 ServerCount;
241 afs_uint32 Server0;
242 afs_uint32 Server1;
243 afs_uint32 Server2;
244 afs_uint32 Server3;
245 afs_uint32 Server4;
246 afs_uint32 Server5;
247 afs_uint32 Server6;
248 afs_uint32 Server7;
249 unsigned short Port0;
250 unsigned short Port1;
251 unsigned short Port2;
252 unsigned short Port3;
253 unsigned short Port4;
254 unsigned short Port5;
255 unsigned short Port6;
256 unsigned short Port7;
257 };
258
259 struct VolumeInfo {
260 afs_uint32 Vid;
261 afs_int32 Type;
262 afs_uint32 Type0;
263 afs_uint32 Type1;
264 afs_uint32 Type2;
265 afs_uint32 Type3;
266 afs_uint32 Type4;
267 afs_uint32 ServerCount;
268 afs_uint32 Server0;
269 afs_uint32 Server1;
270 afs_uint32 Server2;
271 afs_uint32 Server3;
272 afs_uint32 Server4;
273 afs_uint32 Server5;
274 afs_uint32 Server6;
275 afs_uint32 Server7;
276 };
277
278 typedef afs_int32 ViceLockType;
279 typedef AFSFetchStatus AFSBulkStats<AFSCBMAX>;
280
281 %#define LockRead 0
282 %#define LockWrite 1
283 %#define LockExtend 2
284 %#define LockRelease 3
285
286 typedef afs_int32 ViceOfflineType;
287
288 %#define NoSalvage 0
289 %#define Salvage 1
290
291 %#define MAXCMDINT64S 3
292 %#define MAXCMDINT32S 200
293 %#define MAXCMDCHARS 256
294 %#define CMD_GETRESIDENCIES 1
295 %#define CMD_CHANGERESIDENCIES 2
296 %#define CMD_IMPORTRESIDENCIES 3
297 %#define CMD_GETEXTVOLATTR 4
298 %#define CMD_SETEXTVOLATTR 5
299 %#define CMD_GETACCESSHISTORY 6
300 %#define CMD_MIGRATEFILE 7
301 %#define CMD_CHECKHSMMETADATA 8
302 %#define CMD_FETCHSTATUS 9
303
304 %#define VOLATTR_DESIREDRESIDENCYMASK 1
305 %#define VOLATTR_UNDESIREDRESIDENCYMASK 2
306 %#define VOLATTR_SETSPECIALACCESSFLAG 4
307 struct ExtendedVolAttrInputs {
308 afs_uint32 Mask;
309 afs_uint32 Volume;
310 afs_uint32 DesiredResidencyMask;
311 afs_uint32 Spare1[10];
312 afs_uint32 UnDesiredResidencyMask;
313 afs_uint32 Spare2[9];
314 afs_uint32 SpecialAccessFlag;
315 };
316
317 struct ExtendedVolAttrOutputs {
318 afs_uint32 DesiredResidencyMask;
319 afs_uint32 Spare1[10];
320 afs_uint32 UnDesiredResidencyMask;
321 afs_uint32 Spare2[9];
322 afs_uint32 SpecialAccessFlag;
323 };
324
325 struct TagsArray {
326 afs_uint32 TagsArray_len;
327 afs_uint32 TagsArray_val[184];
328 };
329
330 struct AccessHistory {
331 afs_uint64 Size;
332 afs_uint32 ModTime;
333 afs_uint32 NonSpoolingFetches;
334 afs_uint32 UserSpoolingFetches;
335 afs_uint32 MigratorSpoolingFetches;
336 afs_uint32 LastUserMigrationEvent;
337 afs_uint32 MigrateMe;
338 afs_uint32 Time0;
339 afs_uint32 Type0;
340 afs_uint32 LocalAccess0;
341 afs_uint32 Residency0;
342 afs_uint32 Time1;
343 afs_uint32 Type1;
344 afs_uint32 LocalAccess1;
345 afs_uint32 Residency1;
346 afs_uint32 Time2;
347 afs_uint32 Type2;
348 afs_uint32 LocalAccess2;
349 afs_uint32 Residency2;
350 afs_uint32 Time3;
351 afs_uint32 Type3;
352 afs_uint32 LocalAccess3;
353 afs_uint32 Residency3;
354 afs_uint32 Time4;
355 afs_uint32 Type4;
356 afs_uint32 LocalAccess4;
357 afs_uint32 Residency4;
358 };
359
360 struct AccessHistoryOld {
361 afs_uint32 Size;
362 afs_uint32 ModTime;
363 afs_uint32 NonSpoolingFetches;
364 afs_uint32 UserSpoolingFetches;
365 afs_uint32 MigratorSpoolingFetches;
366 afs_uint32 LastUserMigrationEvent;
367 afs_uint32 MigrateMe;
368 afs_uint32 Time0;
369 afs_uint32 Type0;
370 afs_uint32 LocalAccess0;
371 afs_uint32 Residency0;
372 afs_uint32 Time1;
373 afs_uint32 Type1;
374 afs_uint32 LocalAccess1;
375 afs_uint32 Residency1;
376 afs_uint32 Time2;
377 afs_uint32 Type2;
378 afs_uint32 LocalAccess2;
379 afs_uint32 Residency2;
380 afs_uint32 Time3;
381 afs_uint32 Type3;
382 afs_uint32 LocalAccess3;
383 afs_uint32 Residency3;
384 afs_uint32 Time4;
385 afs_uint32 Type4;
386 afs_uint32 LocalAccess4;
387 afs_uint32 Residency4;
388 };
389
390 struct FsCmdInputs {
391 afs_int32 command;
392 struct AFSFid fid;
393 afs_int64 int64s[MAXCMDINT64S];
394 afs_uint32 int32s[MAXCMDINT32S];
395 char chars[MAXCMDCHARS];
396 };
397
398 struct FsCmdOutputs {
399 afs_int32 code;
400 struct AFSFetchStatus status;
401 afs_int64 int64s[MAXCMDINT64S];
402 afs_uint32 int32s[MAXCMDINT32S];
403 char chars[MAXCMDCHARS];
404 };
405
406 %#define ResidencyCmdInputs FsCmdInputs
407 %#define ResidencyCmdOutputs FsCmdOutputs
408
409 const FLUSHMAX = 10;
410 typedef afs_int32 ViceIds<FLUSHMAX>;
411 typedef afs_int32 IPAddrs<FLUSHMAX>;
412
413 package RXAFS_
414 prefix S
415 statindex 7
416
417 FetchData(
418 IN AFSFid *Fid,
419 afs_int32 Pos,
420 afs_int32 Length,
421 OUT AFSFetchStatus *OutStatus,
422 AFSCallBack *CallBack,
423 AFSVolSync *Sync
424 ) split = 130;
425
426 FetchACL(
427 IN AFSFid *Fid,
428 OUT AFSOpaque *AccessList,
429 AFSFetchStatus *OutStatus,
430 AFSVolSync *Sync
431 ) = 131;
432
433 FetchStatus(
434 IN AFSFid *Fid,
435 OUT AFSFetchStatus *OutStatus,
436 AFSCallBack *CallBack,
437 AFSVolSync *Sync
438 ) = 132;
439
440 StoreData(
441 IN AFSFid *Fid,
442 AFSStoreStatus *InStatus,
443 afs_uint32 Pos,
444 afs_uint32 Length,
445 afs_uint32 FileLength,
446 OUT AFSFetchStatus *OutStatus,
447 AFSVolSync *Sync
448 ) split = 133;
449
450 StoreACL(
451 IN AFSFid *Fid,
452 AFSOpaque *AccessList,
453 OUT AFSFetchStatus *OutStatus,
454 AFSVolSync *Sync
455 ) = 134;
456
457 StoreStatus(
458 IN AFSFid *Fid,
459 AFSStoreStatus *InStatus,
460 OUT AFSFetchStatus *OutStatus,
461 AFSVolSync *Sync
462 ) = 135;
463
464 RemoveFile(
465 IN AFSFid *DirFid,
466 string Name<AFSNAMEMAX>,
467 OUT AFSFetchStatus *OutStatus,
468 AFSVolSync *Sync
469 ) = 136;
470
471 CreateFile(
472 IN AFSFid *DirFid,
473 string Name<AFSNAMEMAX>,
474 AFSStoreStatus *InStatus,
475 OUT AFSFid *OutFid,
476 AFSFetchStatus *OutFidStatus,
477 AFSFetchStatus *OutDirStatus,
478 AFSCallBack *CallBack,
479 AFSVolSync *Sync) = 137;
480
481 Rename(
482 IN AFSFid *OldDirFid,
483 string OldName<AFSNAMEMAX>,
484 AFSFid *NewDirFid,
485 string NewName<AFSNAMEMAX>,
486 OUT AFSFetchStatus *OutOldDirStatus,
487 AFSFetchStatus *OutNewDirStatus,
488 AFSVolSync *Sync
489 ) = 138;
490
491 Symlink(
492 IN AFSFid *DirFid,
493 string Name<AFSNAMEMAX>,
494 string LinkContents<AFSPATHMAX>,
495 AFSStoreStatus *InStatus,
496 OUT AFSFid *OutFid,
497 AFSFetchStatus *OutFidStatus,
498 AFSFetchStatus *OutDirStatus,
499 AFSVolSync *Sync
500 ) = 139;
501
502 Link(
503 IN AFSFid *DirFid,
504 string Name<AFSNAMEMAX>,
505 AFSFid *ExistingFid,
506 OUT AFSFetchStatus *OutFidStatus,
507 AFSFetchStatus *OutDirStatus,
508 AFSVolSync *Sync
509 ) = 140;
510
511 MakeDir(
512 IN AFSFid *DirFid,
513 string Name<AFSNAMEMAX>,
514 AFSStoreStatus *InStatus,
515 OUT AFSFid *OutFid,
516 AFSFetchStatus *OutFidStatus,
517 AFSFetchStatus *OutDirStatus,
518 AFSCallBack *CallBack,
519 AFSVolSync *Sync
520 ) = 141;
521
522 RemoveDir(
523 IN AFSFid *DirFid,
524 string Name<AFSNAMEMAX>,
525 OUT AFSFetchStatus *OutDirStatus,
526 AFSVolSync *Sync
527 ) = 142;
528
529 OldSetLock(
530 IN AFSFid *Fid,
531 ViceLockType Type,
532 AFSVolSync *Sync
533 ) = 143;
534
535 OldExtendLock(
536 IN AFSFid *Fid,
537 AFSVolSync *Sync
538 ) = 144;
539
540 OldReleaseLock(
541 IN AFSFid *Fid,
542 AFSVolSync *Sync
543 ) = 145;
544
545 GetStatistics(
546 OUT ViceStatistics *Statistics
547 ) = 146;
548
549 GiveUpCallBacks(
550 IN AFSCBFids *Fids_Array,
551 AFSCBs *CallBacks_Array
552 ) = 147;
553
554 GetVolumeInfo(
555 IN string VolumeName<AFSNAMEMAX>,
556 OUT VolumeInfo *Volumeinfo
557 ) = 148;
558
559 GetVolumeStatus(
560 IN afs_int32 Volumeid,
561 OUT AFSFetchVolumeStatus *Volumestatus,
562 string Name<AFSNAMEMAX>,
563 string OfflineMsg<AFSOPAQUEMAX>,
564 string Motd<AFSOPAQUEMAX>
565 ) = 149;
566
567 SetVolumeStatus(
568 IN afs_int32 Volumeid,
569 AFSStoreVolumeStatus *Volumestatus,
570 string Name<AFSNAMEMAX>,
571 string OfflineMsg<AFSOPAQUEMAX>,
572 string Motd<AFSOPAQUEMAX>
573 ) = 150;
574
575 GetRootVolume(
576 OUT string VolumeName<AFSNAMEMAX>
577 ) = 151;
578
579 CheckToken(
580 IN afs_int32 ViceId,
581 AFSOpaque *token
582 ) = 152;
583
584 GetTime(
585 OUT afs_uint32 *Seconds,
586 afs_uint32 *USeconds
587 ) multi = 153;
588
589 NGetVolumeInfo(
590 IN string VolumeName<AFSNAMEMAX>,
591 OUT AFSVolumeInfo *stuff
592 ) = 154;
593
594 BulkStatus(
595 IN AFSCBFids *FidsArray,
596 OUT AFSBulkStats *StatArray,
597 AFSCBs *CBArray,
598 AFSVolSync *Sync
599 ) = 155;
600
601 SetLock(
602 IN AFSFid *Fid,
603 ViceLockType Type,
604 OUT AFSVolSync *Sync
605 ) = 156;
606
607 ExtendLock(
608 IN AFSFid *Fid,
609 OUT AFSVolSync *Sync
610 ) = 157;
611
612 ReleaseLock(
613 IN AFSFid *Fid,
614 OUT AFSVolSync *Sync
615 ) = 158;
616
617 XStatsVersion(
618 OUT afs_int32 *versionNumberP
619 ) = 159;
620
621 GetXStats(
622 IN afs_int32 clientVersionNumber,
623 afs_int32 collectionNumber,
624 OUT afs_int32 *srvVersionNumberP,
625 afs_int32 *timeP,
626 AFS_CollData *dataP
627 ) = 160;
628
629 /* This interface is to supported the AFS/DFS Protocol Translator */
630 Lookup(
631 IN AFSFid *DirFid,
632 string Name<AFSNAMEMAX>,
633 OUT AFSFid *OutFid,
634 AFSFetchStatus *OutFidStatus,
635 AFSFetchStatus *OutDirStatus,
636 AFSCallBack *CallBack,
637 AFSVolSync *Sync
638 ) = 161;
639
640 FlushCPS(
641 IN ViceIds *IdsArray,
642 IPAddrs *AddrsArray,
643 afs_int32 spare1,
644 OUT afs_int32 *spare2,
645 afs_int32 *spare3
646 ) = 162;
647
648 DFSSymlink(
649 IN AFSFid *DirFid,
650 string Name<AFSNAMEMAX>,
651 string LinkContents<AFSPATHMAX>,
652 AFSStoreStatus *InStatus,
653 OUT AFSFid *OutFid,
654 AFSFetchStatus *OutFidStatus,
655 AFSFetchStatus *OutDirStatus,
656 AFSCallBack *CallBack,
657 AFSVolSync *Sync
658 ) = 163;
659
660 FsCmd(
661 IN AFSFid *Fid,
662 IN struct FsCmdInputs *Inputs,
663 OUT struct FsCmdOutputs *Outputs
664 ) = 220;
665
666 #ifdef RPC_CLIENT
667 %int RXAFS_ResidencyCmd(struct rx_connection *z_conn, AFSFid *Fid, struct FsCmdInputs *Inputs, struct FsCmdOutputs *Outputs)
668 %{
669 % return RXAFS_FsCmd(z_conn, Fid, Inputs, Outputs);
670 %}
671 #endif
672
673 InlineBulkStatus(
674 IN AFSCBFids *FidsArray,
675 OUT AFSBulkStats *StatArray,
676 AFSCBs *CBArray,
677 AFSVolSync *Sync
678 ) = 65536;
679
680 FetchData64(
681 IN AFSFid *Fid,
682 afs_int64 Pos,
683 afs_int64 Length,
684 OUT AFSFetchStatus *OutStatus,
685 AFSCallBack *CallBack,
686 AFSVolSync *Sync
687 ) split = 65537;
688
689 StoreData64(
690 IN AFSFid *Fid,
691 AFSStoreStatus *InStatus,
692 afs_uint64 Pos,
693 afs_uint64 Length,
694 afs_uint64 FileLength,
695 OUT AFSFetchStatus *OutStatus,
696 AFSVolSync *Sync
697 ) split = 65538;
698
699 GiveUpAllCallBacks(
700 ) multi = 65539;
701
702 GetCapabilities(
703 Capabilities *capabilities
704 ) multi = 65540;
705
706 CallBackRxConnAddr(
707 IN afs_int32 *addr
708 ) = 65541;
709
710 %#define STATS64_CURRENTTIME 0
711 %#define STATS64_BOOTTIME 1
712 %#define STATS64_STARTTIME 2
713 %#define STATS64_CURRENTCONNECTIONS 3
714 %#define STATS64_TOTALFETCHES 4
715 %#define STATS64_FETCHDATAS 5
716 %#define STATS64_FETCHEDBYTES 6
717 %#define STATS64_FETCHDATARATE 7
718 %#define STATS64_TOTALSTORES 8
719 %#define STATS64_STOREDATAS 9
720 %#define STATS64_STOREDBYTES 10
721 %#define STATS64_STOREDATARATE 11
722 %#define STATS64_TOTALVICECALLS 12
723 %#define STATS64_WORKSTATIONS 13
724 %#define STATS64_ACTIVEWORKSTATIONS 14
725 %#define STATS64_PROCESSSIZE 15
726
727 const STATS64_VERSION = 16;
728 typedef afs_uint64 ViceStatistics64<STATS64_VERSION>;
729
730 /* the "version" is a number representing the number of
731 array elements to return, from 0 to N-1 */
732
733 GetStatistics64(
734 IN afs_int32 statsVersion,
735 OUT ViceStatistics64 *Statistics
736 ) = 65542;
737
738 /* rx osd. put here now to hold version numbers.
739 ServerPath(
740 IN AFSFid *Fid,
741 afs_int32 writing,
742 OUT FilePath *NameiInfo,
743 AFSFetchStatus *OutStatus,
744 AFSCallBack *CallBack
745 ) = 65551;
746
747 PerfTest(
748 IN afs_int32 type,
749 afs_int64 bytes,
750 afs_int32 bufsize
751 ) split = 65552;
752
753 GetOSDlocation(
754 IN AFSFid *Fid,
755 afs_uint64 offset,
756 afs_uint64 length,
757 afs_int32 flag,
758 afsUUID uuid,
759 OUT AFSFetchStatus *OutStatus,
760 AFSCallBack *CallBack,
761 struct osd_file *osd
762 ) = 65557;
763
764 InverseLookup(
765 IN AFSFid *Fid,
766 afs_uint32 parent,
767 OUT struct afs_filename *file,
768 afs_uint32 *nextparent
769 ) = 65558;
770
771 CheckOSDconns() = 65559;
772
773 OsdPolicy(IN AFSFid *Fid,
774 afs_uint64 length,
775 OUT afs_uint32 *protocol
776 ) = 65560;
777
778 SetOsdFileReady(
779 IN AFSFid *Fid
780 ) = 65561;
781
782 GetOsdMetadata(
783 IN AFSFid *Fid
784 ) split = 65562;
785 */