syntax = "proto3";

package containerd.linux.runc;

option go_package = "github.com/containerd/containerd/runtime/linux/runctypes;runctypes";

message RuncOptions {
	string runtime = 1;
	string runtime_root = 2;
	// criu binary path.
	//
	// Deprecated: runc option --criu is now ignored (with a warning), and the
	// option will be removed entirely in a future release. Users who need a non-
	// standard criu binary should rely on the standard way of looking up binaries
	// in $PATH.
	string criu_path = 3 [deprecated = true];
	bool systemd_cgroup = 4;
}

message CreateOptions {
	bool no_pivot_root = 1;
	bool open_tcp = 2;
	bool external_unix_sockets = 3;
	bool terminal = 4;
	bool file_locks = 5;
	repeated string empty_namespaces = 6;
	string cgroups_mode = 7;
	bool no_new_keyring = 8;
	string shim_cgroup = 9;
	uint32 io_uid = 10;
	uint32 io_gid = 11;
	string criu_work_path = 12;
	string criu_image_path = 13;
}

message CheckpointOptions {
	bool exit = 1;
	bool open_tcp = 2;
	bool external_unix_sockets = 3;
	bool terminal = 4;
	bool file_locks = 5;
	repeated string empty_namespaces = 6;
	string cgroups_mode = 7;
	string work_path = 8;
	string image_path = 9;
}

message ProcessDetails {
	string exec_id = 1;
}
