<commit_before>package veil.protocol.fuse_messages;

message ChannelRegistration {
    required string fuse_id = 1;
}

message ChannelClose {
    required string fuse_id = 1;
}

message FuseMessage {
    required string message_type = 1;
    required bytes input = 2;
}

message GetFileLocation {
    required string file_logic_name = 1;
    optional string open_mode = 2 [default = ""];
    optional bool   force_cluster_proxy = 3 [default = false];
}

message GetNewFileLocation {
    required string file_logic_name = 1;
    required uint32 mode = 2;
    optional bool   force_cluster_proxy = 3 [default = false];
}

message SetXAttr {
  required string file_logic_name = 1;
  required string name = 2;
  required string value = 3;
  optional int32 flags = 4 [default = 0];
}

message GetXAttr {
  required string file_logic_name = 1;
  required string name = 2;
}

message ListXAttr {
  required string file_logic_name = 1;
}

message RemoveXAttr {
  required string file_logic_name = 1;
  required string name = 2;
}

message XAttr {
  optional string answer = 1 [default = "ok"];
  required string name = 2;
  required string value = 3;
}

message XAttrList {
  message XAttrEntry {
    required string name = 1;
    required string value = 2;
  }

  optional string answer = 1 [default = "ok"];
  repeated XAttrEntry attrs = 2;
}

message AccessControlEntity {
  required uint32 acetype = 1;
  required string identifier = 2;
  required uint32 aceflags = 3;
  required uint32 acemask = 4;
}

message GetAcl {
  required string file_logic_name = 1;
}

message Acl {
  optional string answer = 1 [default = "ok"];
  repeated AccessControlEntity entities = 2;
}

message SetAcl {
  required string file_logic_name = 1;
  repeated AccessControlEntity entities = 2;
}

message GetFileAttr {
    required string file_logic_name = 1;
}

message FileAttr {
    optional string answer = 1 [default = "ok"];
    required int32 mode = 2;
    required int32 uid = 3;
    required int32 gid = 4;
    required int64 atime = 5;
    required int64 mtime = 6;
    required int64 ctime = 7;
    required string type = 9;
    optional int64 size = 10 [default = 0];
    optional string uname = 11 [default = ""];
    optional string gname = 12 [default = ""];
    optional int32 links = 13 [default = 1];
}<commit_msg>add acl flag<commit_after>package veil.protocol.fuse_messages;

message ChannelRegistration {
    required string fuse_id = 1;
}

message ChannelClose {
    required string fuse_id = 1;
}

message FuseMessage {
    required string message_type = 1;
    required bytes input = 2;
}

message GetFileLocation {
    required string file_logic_name = 1;
    optional string open_mode = 2 [default = ""];
    optional bool   force_cluster_proxy = 3 [default = false];
}

message GetNewFileLocation {
    required string file_logic_name = 1;
    required uint32 mode = 2;
    optional bool   force_cluster_proxy = 3 [default = false];
}

message SetXAttr {
  required string file_logic_name = 1;
  required string name = 2;
  required string value = 3;
  optional int32 flags = 4 [default = 0];
}

message GetXAttr {
  required string file_logic_name = 1;
  required string name = 2;
}

message ListXAttr {
  required string file_logic_name = 1;
}

message RemoveXAttr {
  required string file_logic_name = 1;
  required string name = 2;
}

message XAttr {
  optional string answer = 1 [default = "ok"];
  required string name = 2;
  required string value = 3;
}

message XAttrList {
  message XAttrEntry {
    required string name = 1;
    required string value = 2;
  }

  optional string answer = 1 [default = "ok"];
  repeated XAttrEntry attrs = 2;
}

message AccessControlEntity {
  required uint32 acetype = 1;
  required string identifier = 2;
  required uint32 aceflags = 3;
  required uint32 acemask = 4;
}

message GetAcl {
  required string file_logic_name = 1;
}

message Acl {
  optional string answer = 1 [default = "ok"];
  repeated AccessControlEntity entities = 2;
}

message SetAcl {
  required string file_logic_name = 1;
  repeated AccessControlEntity entities = 2;
}

message GetFileAttr {
    required string file_logic_name = 1;
}

message FileAttr {
    optional string answer = 1 [default = "ok"];
    required int32 mode = 2;
    required int32 uid = 3;
    required int32 gid = 4;
    required int64 atime = 5;
    required int64 mtime = 6;
    required int64 ctime = 7;
    required string type = 9;
    optional int64 size = 10 [default = 0];
    optional string uname = 11 [default = ""];
    optional string gname = 12 [default = ""];
    optional int32 links = 13 [default = 1];
    optional bool has_acl = 14 [default = false];
}
{'fraction_non_alphanumeric': 0.08174211542587427, 'fraction_numerical': 0.035185582493027244, 'mean_word_length': 3.3939679547596606, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5077656', 'n_tokens_mistral': 1574, 'n_tokens_neox': 1414, 'n_words': 510}