blob: 66eeedca526867f038e74f8b9f33096472f394c1 [file] [log] [blame] [edit]
// Copyright 2022 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
option optimize_for = LITE_RUNTIME;
package spaced;
// Output parameters for SetProjectId().
message SetProjectIdReply {
// Set to true if ioctl syscall for setting the project inheritance flag
// succeeds.
bool success = 1;
// Errno if success == false.
int32 error = 2;
}
// Output parameters for SetProjectInheritanceFlag().
message SetProjectInheritanceFlagReply {
// Set to true if ioctl syscall for setting the project id succeeds.
bool success = 1;
// Errno if success == false.
int32 error = 2;
}
enum StatefulDiskSpaceState {
// No value was set.
NONE = 0;
// No action is taken in this state.
NORMAL = 1;
// Prepare applications for impending critical disk space state.
LOW = 2;
// Critical disk space state.
CRITICAL = 3;
}
message StatefulDiskSpaceUpdate {
StatefulDiskSpaceState state = 1;
int64 free_space_bytes = 2;
}
// Input parameters for GetQuotaCurrentSpacesForIds().
message GetQuotaCurrentSpacesForIdsRequest {
string path = 1;
repeated uint32 uids = 2 [packed = true];
repeated uint32 gids = 3 [packed = true];
repeated uint32 project_ids = 4 [packed = true];
}
// Output parameters for GetQuotaCurrentSpacesForIds().
message GetQuotaCurrentSpacesForIdsReply {
// Maps from IDs to their current disk space usages.
// The Value is set to -1 if quotactl fails for the ID.
map<uint32, int64> curspaces_for_uids = 1;
map<uint32, int64> curspaces_for_gids = 2;
map<uint32, int64> curspaces_for_project_ids = 3;
}