qemu/include/hw/xen/interface/io/console.h
<<
>>
Prefs
   1/******************************************************************************
   2 * console.h
   3 *
   4 * Console I/O interface for Xen guest OSes.
   5 *
   6 * Permission is hereby granted, free of charge, to any person obtaining a copy
   7 * of this software and associated documentation files (the "Software"), to
   8 * deal in the Software without restriction, including without limitation the
   9 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  10 * sell copies of the Software, and to permit persons to whom the Software is
  11 * furnished to do so, subject to the following conditions:
  12 *
  13 * The above copyright notice and this permission notice shall be included in
  14 * all copies or substantial portions of the Software.
  15 *
  16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  22 * DEALINGS IN THE SOFTWARE.
  23 *
  24 * Copyright (c) 2005, Keir Fraser
  25 */
  26
  27#ifndef __XEN_PUBLIC_IO_CONSOLE_H__
  28#define __XEN_PUBLIC_IO_CONSOLE_H__
  29
  30typedef uint32_t XENCONS_RING_IDX;
  31
  32#define MASK_XENCONS_IDX(idx, ring) ((idx) & (sizeof(ring)-1))
  33
  34struct xencons_interface {
  35    char in[1024];
  36    char out[2048];
  37    XENCONS_RING_IDX in_cons, in_prod;
  38    XENCONS_RING_IDX out_cons, out_prod;
  39};
  40
  41#ifdef XEN_WANT_FLEX_CONSOLE_RING
  42#include "ring.h"
  43DEFINE_XEN_FLEX_RING(xencons);
  44#endif
  45
  46#endif /* __XEN_PUBLIC_IO_CONSOLE_H__ */
  47