// SPDX-License-Identifier: MIT syntax = "proto2"; import "core-x86.proto"; import "core-arm.proto"; import "core-aarch64.proto"; import "core-ppc64.proto"; import "core-s390.proto"; import "core-mips.proto"; import "rlimit.proto"; import "timer.proto"; import "creds.proto"; import "sa.proto"; import "siginfo.proto"; import "rseq.proto"; import "opts.proto"; /* * These match the SECCOMP_MODE_* flags from . */ enum seccomp_mode { disabled = 0; strict = 1; filter = 2; }; message task_core_entry { required uint32 task_state = 1 [(criu).dict = "gen"]; required uint32 exit_code = 2; required uint32 personality = 3; required uint32 flags = 4; required uint64 blk_sigset = 5[(criu).hex = true]; required string comm = 6; optional task_timers_entry timers = 7; optional task_rlimits_entry rlimits = 8; /* This is deprecated, should be per-thread */ optional uint32 cg_set = 9; optional signal_queue_entry signals_s = 10; /* These two are deprecated, should be per-thread */ optional seccomp_mode old_seccomp_mode = 11; optional uint32 old_seccomp_filter = 12; optional uint32 loginuid = 13; optional int32 oom_score_adj = 14; repeated sa_entry sigactions = 15; // Reserved for tty inheritance //optional int32 tty_nr = 16; //optional int32 tty_pgrp = 17; optional bool child_subreaper = 18; // Reserved for container relative start time //optional uint64 start_time = 19; optional uint64 blk_sigset_extended = 20[(criu).hex = true]; optional uint32 stop_signo = 21; } message task_kobj_ids_entry { required uint32 vm_id = 1; required uint32 files_id = 2; required uint32 fs_id = 3; required uint32 sighand_id = 4; optional uint32 pid_ns_id = 5; optional uint32 net_ns_id = 6; optional uint32 ipc_ns_id = 7; optional uint32 uts_ns_id = 8; optional uint32 mnt_ns_id = 9; optional uint32 user_ns_id = 10; optional uint32 cgroup_ns_id = 11; optional uint32 time_ns_id = 12; } message thread_sas_entry { required uint64 ss_sp = 1; required uint64 ss_size = 2; required uint32 ss_flags = 3; } message thread_core_entry { required uint64 futex_rla = 1; required uint32 futex_rla_len = 2; optional sint32 sched_nice = 3; optional uint32 sched_policy = 4; optional uint32 sched_prio = 5; optional uint64 blk_sigset = 6; optional thread_sas_entry sas = 7; optional uint32 pdeath_sig = 8; optional signal_queue_entry signals_p = 9; optional creds_entry creds = 10; optional seccomp_mode seccomp_mode = 11; optional uint32 seccomp_filter = 12; optional string comm = 13; optional uint64 blk_sigset_extended = 14; optional rseq_entry rseq_entry = 15; required uint32 cg_set = 16; } message task_rlimits_entry { repeated rlimit_entry rlimits = 1; }; message core_entry { enum march { UNKNOWN = 0; X86_64 = 1; ARM = 2; AARCH64 = 3; PPC64 = 4; S390 = 5; MIPS = 6; } required march mtype = 1; optional thread_info_x86 thread_info = 2; optional thread_info_arm ti_arm = 6; optional thread_info_aarch64 ti_aarch64 = 8; optional thread_info_ppc64 ti_ppc64 = 9; optional thread_info_s390 ti_s390 = 10; optional thread_info_mips ti_mips = 11; optional task_core_entry tc = 3; optional task_kobj_ids_entry ids = 4; optional thread_core_entry thread_core = 5; }