*** empty log message ***
[arla.git] / rxdef / fs.xg
blob7c10ab694e3cae47c39c735c6ee18d526d177198
1 /* This is -*-c-*- */
3 /*
4  * Copyright (c) 1995 - 2002, 2004 Kungliga Tekniska Högskolan
5  * (Royal Institute of Technology, Stockholm, Sweden).
6  * All rights reserved.
7  * 
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 
12  * 1. Redistributions of source code must retain the above copyright
13  *    notice, this list of conditions and the following disclaimer.
14  * 
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  * 
19  * 3. Neither the name of the Institute nor the names of its contributors
20  *    may be used to endorse or promote products derived from this software
21  *    without specific prior written permission.
22  * 
23  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33  * SUCH DAMAGE.
34  */
36 /* $Id$ */
39  * Interface to FS
40  */
42 package RXAFS_
44 %#include <fs_errors.h>
46 error-function conv_to_arla_errno
48 #define AFSUUID_GENERATE
50 #include "common.h"
52 const FLUSHMAX = 10;
53 typedef int32_t ViceIds<FLUSHMAX>;
54 typedef int32_t IPAddrs<FLUSHMAX>;
57  * Interface
58  */
60 FetchData (IN AFSFid *a_fidToFetchP,
61            IN long a_offset,
62            IN long a_lenInBytes,
63            OUT AFSFetchStatus *a_fidStatP,
64            OUT AFSCallBack *a_callBackP,
65            OUT AFSVolSync *a_volSyncP) split = 130;
67 FetchACL (IN AFSFid *a_dirFidP,
68           OUT AFSOpaque *a_ACLP,
69           OUT AFSFetchStatus *a_dirNewStatP,
70           OUT AFSVolSync *a_volSyncP) = 131;
72 FetchStatus (IN AFSFid *a_fidToStatP,
73              OUT AFSFetchStatus *a_currStatP,
74              OUT AFSCallBack *a_callBackP,
75              OUT AFSVolSync *a_volSyncP) = 132;
77 StoreData (IN AFSFid *a_fidToStoreP,
78            IN AFSStoreStatus *a_fidStatusP,
79            IN long a_offset,
80            IN long a_lenInBytes,
81            IN long a_fileLenInBytes,
82            OUT AFSFetchStatus *a_fidStatP,
83            OUT AFSVolSync *a_volSyncP) split = 133;
86  * Correct documentation wouldn't make this fun enough. Gaah.
87  */
88 StoreACL (IN AFSFid *a_dirFidP,
89           IN AFSOpaque *a_ACLToStoreP,
90           OUT AFSFetchStatus *a_dirNewStatP,
91           OUT AFSVolSync *a_volSyncP) = 134;
93 StoreStatus (IN AFSFid *a_fidP,
94              IN AFSStoreStatus *a_currStatusP,
95              OUT AFSFetchStatus *a_srStatusP,
96              OUT AFSVolSync *a_volSyncP) = 135;
98 RemoveFile (IN AFSFid *a_dirFidP,
99             IN string a_name<AFSNAMEMAX>,
100             OUT AFSFetchStatus *a_srvStatusP,
101             OUT AFSVolSync *a_volSyncP) = 136;
103 CreateFile (IN AFSFid *DirFid,
104             IN string Name<AFSNAMEMAX>,
105             IN AFSStoreStatus *InStatus,
106             OUT AFSFid *OutFid,
107             OUT AFSFetchStatus *OutFidStatus,
108             OUT AFSFetchStatus *OutDirStatus,
109             OUT AFSCallBack *CallBack,
110             OUT AFSVolSync *a_volSyncP) = 137;
112 Rename (IN AFSFid *a_origDirFidP,
113         IN string a_origNameP<AFSNAMEMAX>,
114         IN AFSFid *a_newDirFidP,
115         IN string a_newNameP<AFSNAMEMAX>,
116         OUT AFSFetchStatus *a_origDirStatusP,
117         OUT AFSFetchStatus *a_newDirStatusP,
118         OUT AFSVolSync *a_volSyncP) = 138;
120 Symlink (IN AFSFid *a_dirFidP,
121          IN string a_nameP<AFSNAMEMAX>,
122          IN string a_linkContentsP<AFSNAMEMAX>,
123          IN AFSStoreStatus *a_origDirStatP,
124          OUT AFSFid *a_newFidP,
125          OUT AFSFetchStatus *a_newFidStatP,
126          OUT AFSFetchStatus *a_newDirStatP,
127          OUT AFSVolSync *a_volSyncP) = 139;
129 Link (IN AFSFid *a_dirFidP,
130       IN string a_nameP<AFSNAMEMAX>,
131       IN AFSFid *a_existingFidP,
132       OUT AFSFetchStatus *a_newFidStatP,
133       OUT AFSFetchStatus *a_newDirStatP,
134       OUT AFSVolSync *a_volSyncP) = 140;
136 MakeDir (IN AFSFid *a_parentDirFidP,
137          IN string a_newDirNameP<AFSNAMEMAX>,
138          IN AFSStoreStatus *a_currStatP,
139          OUT AFSFid *a_newDirFidP,
140          OUT AFSFetchStatus *a_dirFidStatP,
141          OUT AFSFetchStatus *a_parentDirStatP,
142          OUT AFSCallBack *a_newDirCallBackP,
143          OUT AFSVolSync *a_volSyncP) = 141;
145 RemoveDir (IN AFSFid *a_parentDirStatP,
146            IN string a_dirNameP<AFSNAMEMAX>,
147            OUT AFSFetchStatus *a_newParentDirStatP,
148            OUT AFSVolSync *a_volSyncP) = 142;
150 GiveUpCallBacks (IN AFSCBFids *a_fidArrayP,
151                  IN AFSCBs *a_callBackArrayP) = 147;
154  * fetch the status of volume `a_volIDP' into `a_volFetchStatP'.
155  * a_volNameP is not filled in.
156  */
158 GetVolumeStatus (IN long a_volIDP,
159                  OUT AFSFetchVolumeStatus *a_volFetchStatP,
160                  OUT string a_volNameP<AFSNAMEMAX>,
161                  OUT string a_offLineMsgP<AFSOPAQUEMAX>,
162                  OUT string a_motdP<AFSOPAQUEMAX>) = 149;
164 SetVolumeStatus (IN long a_volIDP,
165                  IN AFSStoreVolumeStatus *a_volStoreStatP,
166                  IN string a_volNameP<AFSNAMEMAX>,
167                  IN string a_offLineMsgP<AFSOPAQUEMAX>,
168                  IN string a_motdP<AFSOPAQUEMAX>) = 150;
170 GetRootVolume (OUT string a_rootVolNameP<AFSNAMEMAX>) = 151;
172 GetTime (OUT unsigned long *a_secondsP,
173          OUT unsigned long *a_uSecondsP) = 153;
175 NGetVolumeInfo  (IN  string VolumeName<AFSNAMEMAX>,
176                  OUT AFSVolumeInfo *stuff) = 154;
178 BulkStatus      (IN  AFSCBFids *FidsArray,
179                  OUT AFSBulkStats *StatArray,
180                  OUT AFSCBs *CBArray,
181                  OUT AFSVolSync *Sync) = 155;
183 SetLock         (IN  AFSFid *Fid, 
184                  IN  ViceLockType Type, 
185                  OUT AFSVolSync *Sync) = 156;
187 ExtendLock      (IN  AFSFid *Fid, 
188                  OUT AFSVolSync *Sync) = 157;
190 ReleaseLock     (IN  AFSFid *Fid, 
191                  OUT AFSVolSync *Sync) = 158;
193 FlushCPS        (IN  ViceIds *IdsArray,
194                  IN IPAddrs *AddrsArray,
195                  IN int32_t spare1,
196                  OUT int32_t *spare2,
197                  OUT int32_t *spare3) = 162;
199 FetchData64     (IN  AFSFid *Fid, 
200                  IN int64_t Pos, 
201                  IN int64_t Length, 
202                  OUT AFSFetchStatus *OutStatus, 
203                  OUT AFSCallBack *CallBack, 
204                  OUT AFSVolSync *Sync) split = 65537;
206 StoreData64     (IN  AFSFid *Fid, 
207                  IN AFSStoreStatus *InStatus, 
208                  IN uint64_t Pos, 
209                  IN uint64_t Length, 
210                  IN uint64_t FileLength, 
211                  OUT AFSFetchStatus *OutStatus, 
212                  OUT AFSVolSync *Sync) split = 65538;
214 GiveUpAllCallBacks () = 65539 ;
216 GetCapabilities(OUT Capabilities *capabilities) = 65540;