xref: /linux/include/xen/interface/io/console.h (revision e2683c8868d03382da7e1ce8453b543a043066d1)
1 /* SPDX-License-Identifier: MIT */
2 /******************************************************************************
3  * console.h
4  *
5  * Console I/O interface for Xen guest OSes.
6  *
7  * Copyright (c) 2005, Keir Fraser
8  */
9 
10 #ifndef __XEN_PUBLIC_IO_CONSOLE_H__
11 #define __XEN_PUBLIC_IO_CONSOLE_H__
12 
13 typedef uint32_t XENCONS_RING_IDX;
14 
15 #define MASK_XENCONS_IDX(idx, ring) ((idx) & (sizeof(ring)-1))
16 
17 struct xencons_interface {
18     char in[1024];
19     char out[2048];
20     XENCONS_RING_IDX in_cons, in_prod;
21     XENCONS_RING_IDX out_cons, out_prod;
22 /*
23  * Flag values signaling from backend to frontend whether the console is
24  * connected.  i.e. Whether it will be serviced and emptied.
25  *
26  * The flag starts as disconnected.
27  */
28 #define XENCONSOLE_DISCONNECTED 1
29 /*
30  * The flag is set to connected when the backend connects and the console
31  * will be serviced.
32  */
33 #define XENCONSOLE_CONNECTED    0
34     uint8_t connection;
35 };
36 
37 #endif /* __XEN_PUBLIC_IO_CONSOLE_H__ */
38