/* This is -*-c-*- */

/*
 * Interface to FS
 */

package RXAFS_

%#include <atypes.h>
%#include <rx/rx.h>
%#include <rx/rx_null.h>

#include "common.h"

/*
 * Interface
 */

FetchData (IN AFSFid *a_fidToFetchP,
	   IN long a_offset,
	   IN long a_lenInBytes,
	   OUT AFSFetchStatus *a_fidStatP,
	   OUT AFSCallBack *a_callBackP,
	   OUT AFSVolSync *a_volSyncP) split = 130;

FetchACL (IN AFSFid *a_dirFidP,
	  OUT AFSOpaque *a_ACLP,
	  OUT AFSFetchStatus *a_dirNewStatP,
	  OUT AFSVolSync *a_volSyncP) = 131;

FetchStatus (IN AFSFid *a_fidToStatP,
	     OUT AFSFetchStatus *a_currStatP,
	     OUT AFSCallBack *a_callBackP,
	     OUT AFSVolSync *a_volSyncP) = 132;

StoreData (IN AFSFid *a_fidToStoreP,
	   IN AFSStoreStatus *a_fidStatusP,
	   IN long a_offset,
	   IN long a_lenInBytes,
	   IN long a_fileLenInBytes,
	   OUT AFSFetchStatus *a_fidStatP,
	   OUT AFSCallBack *a_callBackP,
	   OUT AFSVolSync *a_volSyncP) split = 133;

StoreACL (IN AFSOpaque *a_ACLToStoreP,
	  IN AFSFid *a_dirFidP,
	  OUT AFSFetchStatus *a_dirNewStatP,
	  OUT AFSVolSync *a_volSyncP) = 134;

StoreStatus (IN AFSFid *a_fidP,
	     IN AFSStoreStatus *a_currStatusP,
	     OUT AFSFetchStatus *a_srStatusP,
	     OUT AFSVolSync *a_volSyncP) = 135;

RemoveFile (IN AFSFid *a_dirFidP,
	    IN string a_name<AFSNAMEMAX>,
	    OUT AFSFetchStatus *a_srvStatusP,
	    OUT AFSVolSync *a_volSyncP) = 136;

CreateFile (IN AFSFid *DirFid,
	    IN string Name<AFSNAMEMAX>,
	    IN AFSStoreStatus *InStatus,
	    OUT AFSFid *OutFid,
	    OUT AFSFetchStatus *OutFidStatus,
	    OUT AFSFetchStatus *OutDirStatus,
	    OUT AFSCallBack *CallBack,
	    OUT AFSVolSync *a_volSyncP) = 137;

Rename (IN AFSFid *a_origDirFidP,
	IN string a_origNameP<AFSNAMEMAX>,
	IN AFSFid *a_newDirFidP,
	IN string a_newNameP<AFSNAMEMAX>,
	OUT AFSFetchStatus *a_origDirStatusP,
	OUT AFSFetchStatus *a_newDirStatusP,
	OUT AFSVolSync *a_volSyncP) = 138;

Symlink (IN AFSFid *a_dirFidP,
	 IN string a_nameP<AFSNAMEMAX>,
	 IN string a_linkContentsP<AFSNAMEMAX>,
	 IN AFSStoreStatus *a_origDirStatP,
	 OUT AFSFid *a_newFidP,
	 OUT AFSFetchStatus *a_newFidStatP,
	 OUT AFSVolSync *a_volSyncP) = 139;

Link (IN AFSFid *a_dirFidP,
      IN string a_nameP<AFSNAMEMAX>,
      IN AFSFid *a_existingFidP,
      OUT AFSFetchStatus *a_newFidStatP,
      OUT AFSFetchStatus *a_newDirStatP,
      OUT AFSVolSync *a_volSyncP) = 140;

MakeDir (IN AFSFid *a_parentDirFidP,
	 IN string a_newDirNameP<AFSNAMEMAX>,
	 IN AFSStoreStatus *a_currStatP,
	 OUT AFSFid *a_newDirFidP,
	 OUT AFSFetchStatus *a_dirFidStatP,
	 OUT AFSFetchStatus *a_parentDirStatP,
	 OUT AFSCallBack *a_newDirCallBackP,
	 OUT AFSVolSync *a_volSyncP) = 141;

RemoveDir (IN AFSFid *a_parentDirStatP,
	   IN string a_dirNameP<AFSNAMEMAX>,
	   OUT AFSFetchStatus *a_newParentDirStatP,
	   OUT AFSVolSync *a_volSyncP) = 142;

GiveUpCallBacks (IN AFSCBFids *a_fidArrayP,
		 IN AFSCBs *a_callBackArrayP) = 147;

GetRootVolume (OUT string a_rootVolNameP<AFSNAMEMAX>) = 151;

GetTime (OUT unsigned long *a_secondsP,
	 OUT unsigned long *a_uSecondsP) = 153;
