4 * Copyright (c) 1995 - 2002, 2004 Kungliga Tekniska Högskolan
5 * (Royal Institute of Technology, Stockholm, Sweden).
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
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.
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.
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
44 %#include <fs_errors.h>
46 error-function conv_to_arla_errno
48 #define AFSUUID_GENERATE
53 typedef int32_t ViceIds<FLUSHMAX>;
54 typedef int32_t IPAddrs<FLUSHMAX>;
60 FetchData (IN AFSFid *a_fidToFetchP,
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,
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.
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,
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.
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,
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,
197 OUT int32_t *spare3) = 162;
199 FetchData64 (IN AFSFid *Fid,
202 OUT AFSFetchStatus *OutStatus,
203 OUT AFSCallBack *CallBack,
204 OUT AFSVolSync *Sync) split = 65537;
206 StoreData64 (IN AFSFid *Fid,
207 IN AFSStoreStatus *InStatus,
210 IN uint64_t FileLength,
211 OUT AFSFetchStatus *OutStatus,
212 OUT AFSVolSync *Sync) split = 65538;
214 GiveUpAllCallBacks () = 65539 ;
216 GetCapabilities(OUT Capabilities *capabilities) = 65540;