Remove unnecessary type ViceFid
[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 */