syntax = "proto2"; package eos.auth; import "Stat.proto"; import "Fsctl.proto"; import "FS_ctl.proto"; import "Chmod.proto"; import "Chksum.proto"; import "Exists.proto"; import "Mkdir.proto"; import "Remdir.proto"; import "Rem.proto"; import "Rename.proto"; import "Prepare.proto"; import "Truncate.proto"; import "DirOpen.proto"; import "DirRead.proto"; import "DirFname.proto"; import "DirClose.proto"; import "FileOpen.proto"; import "FileFname.proto"; import "FileStat.proto"; import "FileRead.proto"; import "FileWrite.proto"; import "FileClose.proto"; //------------------------------------------------------------------------------ // Request message sent to the server //------------------------------------------------------------------------------ message RequestProto { enum OperationType { STAT = 0; // stat to get struct stat FSCTL1 = 1; // fsctl FSCTL2 = 2; // FSctl CHMOD = 3; CHKSUM = 4; EXISTS = 5; STATM = 6; // stat mode MKDIR = 7; REMDIR = 8; REM = 9; RENAME = 10; PREPARE = 11; TRUNCATE = 12; DIROPEN = 13; DIRFNAME = 14; DIRREAD = 15; DIRCLOSE = 16; FILEOPEN = 17; FILEFNAME = 18; FILESTAT = 19; FILEREAD = 20; FILEWRITE = 21; FILECLOSE = 22; } // Identifies which filed is filled in required OperationType type = 1; // Encrypted sha1 of the string representation of the object excluding // the field 'hmac' which is to be considered as empty string ("") during // the computation and then updated at the end to the new value required string hmac = 2; // One of the following is filled in optional StatProto stat = 3; optional FsctlProto fsctl1 = 4; optional FSctlProto fsctl2 = 5; optional ChmodProto chmod = 6; optional ChksumProto chksum = 7; optional ExistsProto exists = 8; optional StatProto statm = 9; optional MkdirProto mkdir = 10; optional RemdirProto remdir = 11; optional RemProto rem = 12; optional RenameProto rename = 13; optional PrepareProto prepare = 14; optional TruncateProto truncate = 15; optional DirOpenProto diropen = 16; optional DirReadProto dirread = 17; optional DirFnameProto dirfname = 18; optional DirCloseProto dirclose = 19; optional FileOpenProto fileopen = 20; optional FileFnameProto filefname = 21; optional FileStatProto filestat = 22; optional FileReadProto fileread = 23; optional FileWriteProto filewrite = 24; optional FileCloseProto fileclose = 25; }