blob: c59644f6eadd2d4447bd01dc1a46f345b8c05448 (
plain)
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
|
syntax = "proto2";
import "opts.proto";
import "fown.proto";
import "sk-opts.proto";
message file_perms_entry {
required uint32 mode = 1;
required uint32 uid = 2;
required uint32 gid = 3;
}
message unix_sk_entry {
/*
* Few words about why we need both -- id and ino.
*
* The former one is used to link file descriptor from
* fdinfo image with the unix_sk_entry that should be
* opened under it.
*
* The latter one ties together unix peers -- the peer
* member on this structure is the ino one of its peer
* and simetimes vise-versa.
*/
required uint32 id = 1;
required uint32 ino = 2;
required uint32 type = 3 [(criu).dict = "sk"];
required uint32 state = 4 [(criu).dict = "sk"];
required uint32 flags = 5 [(criu).hex = true];
required uint32 uflags = 6 [(criu).hex = true];
required uint32 backlog = 7;
required uint32 peer = 8;
required fown_entry fown = 9;
required sk_opts_entry opts = 10;
/*
* Abstract name may contain \0 at any point,
* so we need to carry it as byte sequence...
*/
required bytes name = 11 [(criu).conv = "unix_name"];
optional sk_shutdown shutdown = 12;
optional file_perms_entry file_perms = 13;
/*
* Relative socket name may have prefix.
*/
optional string name_dir = 14;
optional bool deleted = 15;
optional uint32 ns_id = 16;
optional sint32 mnt_id = 17 [default = -1];
}
|