Welcome to mirror list, hosted at ThFree Co, Russian Federation.

tty.proto « images - github.com/checkpoint-restore/criu.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 4b5a70c20a888dc72a331ae8b5ee1447ab8314e3 (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import "opts.proto";
import "fown.proto";

message winsize_entry {
	required uint32			ws_row		= 1;
	required uint32			ws_col		= 2;
	required uint32			ws_xpixel	= 3;
	required uint32			ws_ypixel	= 4;
};

message termios_entry {
	required uint32			c_iflag		= 1;
	required uint32			c_oflag		= 2;
	required uint32			c_cflag		= 3;
	required uint32			c_lflag		= 4;
	required uint32			c_line		= 5;
	required uint32			c_ispeed	= 6;
	required uint32			c_ospeed	= 7;

	repeated uint32			c_cc		= 8;
}

message tty_pty_entry {
	required uint32			index		= 1;
}

enum TtyType {
	UNKNOWN		= 0;
	PTY		= 1;
	CONSOLE		= 2;
	VT		= 3;
	CTTY		= 4;
	EXT_TTY		= 5;
}

message tty_info_entry {
	required uint32			id		=  1;

	required TtyType		type		=  2;

	required bool			locked		=  3;	/* Unix98 PTY only */
	required bool			exclusive	=  4;
	required bool			packet_mode	=  5;	/* Unix98 PTY only */

	required uint32			sid		=  6;
	required uint32			pgrp		=  7;

	/*
	 * Convenient for printing errors and such, with this
	 * device encoded we can figure out major and minor
	 * numbers.
	 */
	required uint32			rdev		=  8;

	optional termios_entry		termios		=  9;
	optional termios_entry		termios_locked	= 10;
	optional winsize_entry		winsize		= 11;

	/*
	 * These are optional fields which presense depends on
	 * TTY type.
	 */
	optional tty_pty_entry		pty		= 12;
	optional uint32			dev		= 13;
};

message tty_file_entry {
	required uint32			id		= 1;
	required uint32			tty_info_id	= 2;

	required uint32			flags		= 3 [(criu).hex = true];
	required fown_entry		fown		= 4;
}