1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
// 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 "criu-sa.proto";
import "siginfo.proto";
import "rseq.proto";
import "opts.proto";
/*
* These match the SECCOMP_MODE_* flags from <linux/seccomp.h>.
*/
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;
optional 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;
}
|