BSD 4_3_Net_2 development
[unix-history] / usr / src / contrib / isode / others / rfa / rfa.ry
--
-- RFA - Remote File Access
--
-- Access and Management for a partial file system tree that exists
-- at two side either as master files or slave files
--
-- rfa.ry : Definition of Remote Operations that are used by RFA
--
--
-- Contributed by Oliver Wenzel, GMD Berlin, 1990
--
-- $Header: /f/osi/others/rfa/RCS/rfa.ry,v 7.3 91/02/22 09:28:16 mrose Interim $
--
-- $Log: rfa.ry,v $
-- Revision 7.3 91/02/22 09:28:16 mrose
-- Interim 6.8
--
-- Revision 7.2 91/01/14 13:54:51 mrose
-- update
--
-- Revision 1.1 91/01/04 16:10:29 ow
-- Initial revision
--
--
--
-- NOTICE
--
-- Acquisition, use, and distribution of this module and related
-- materials are subject to the restrictions of a license agreement.
-- Consult the Preface in the User's Manual for the full terms of
-- this agreement.
--
RFA DEFINITIONS ::=
BEGIN
-- operations
getFileData OPERATION
ARGUMENT GetFileDataArg
RESULT GetFileDataRes
ERRORS { miscError, fileAccessError }
::= 1
GetFileDataArg ::= SEQUENCE {
filename FileName,
slaveVersion INTEGER
}
GetFileDataRes ::= SEQUENCE {
mode INTEGER {
actual(0), -- local version is still valid
data(1),
zero(2),
compressed(3) },
fileinfo FileInfo,
data OCTETSTRING OPTIONAL
}
requestMaster OPERATION
ARGUMENT RequestMasterArg
RESULT RequestMasterRes
ERRORS { miscError, statusError, fileAccessError }
::= 2
RequestMasterArg ::= SEQUENCE {
filename FileName,
slaveVersion INTEGER
}
RequestMasterRes ::= INTEGER -- modification time
listDir OPERATION
ARGUMENT FileName
RESULT FileInfoList
ERRORS { miscError, fileAccessError }
::= 3
FileName ::= IA5String
FileInfo ::= SEQUENCE {
name IA5String,
mode INTEGER,
user IA5String,
group IA5String,
size INTEGER,
accTime INTEGER,
modTime INTEGER,
lnkName [0] IA5String OPTIONAL,
status INTEGER {
unregistered(0),
master(1),
masterLocked(2),
slave(3) },
lockedBy [1] IA5String OPTIONAL,
lockedSince INTEGER
}
FileInfoList ::= SEQUENCE OF FileInfo
syncTime OPERATION
ARGUMENT SyncTimeArg
RESULT SyncTimeRes
ERRORS { miscError }
::= 4
SyncTimeArg ::= SEQUENCE {
role INTEGER {
master(0),
slave(1)
},
time INTEGER -- only used when role = master
}
SyncTimeRes ::= SEQUENCE {
time INTEGER -- contains clock of master if role was slave
-- otherwise the time diff at slave
}
-- errors
miscError ERROR
PARAMETER Reason
::= 0
fileAccessError ERROR
PARAMETER Reason
::= 1
Reason ::= SEQUENCE {
reason IA5String
}
statusError ERROR
PARAMETER StatusErrorParm
::= 2
StatusErrorParm ::= SEQUENCE {
reason INTEGER {
notMaster (0),
locked (1),
notRegistered(2),
notWritable(3),
wrongVersion(4),
notRegularFile(5),
slaveNewer(6)},
user [0] IA5String OPTIONAL,
since [1] INTEGER
}
-- types
Initiate ::= SEQUENCE {
user IA5String,
password IA5String
}
END