linux/include/xen/interface/io/fbif.h

/* SPDX-License-Identifier: MIT */
/*
 * fbif.h -- Xen virtual frame buffer device
 *
 * Copyright (C) 2005 Anthony Liguori <[email protected]>
 * Copyright (C) 2006 Red Hat, Inc., Markus Armbruster <[email protected]>
 */

#ifndef __XEN_PUBLIC_IO_FBIF_H__
#define __XEN_PUBLIC_IO_FBIF_H__

/* Out events (frontend -> backend) */

/*
 * Out events may be sent only when requested by backend, and receipt
 * of an unknown out event is an error.
 */

/* Event type 1 currently not used */
/*
 * Framebuffer update notification event
 * Capable frontend sets feature-update in xenstore.
 * Backend requests it by setting request-update in xenstore.
 */
#define XENFB_TYPE_UPDATE

struct xenfb_update {};

/*
 * Framebuffer resize notification event
 * Capable backend sets feature-resize in xenstore.
 */
#define XENFB_TYPE_RESIZE

struct xenfb_resize {};

#define XENFB_OUT_EVENT_SIZE

xenfb_out_event;

/* In events (backend -> frontend) */

/*
 * Frontends should ignore unknown in events.
 * No in events currently defined.
 */

#define XENFB_IN_EVENT_SIZE

xenfb_in_event;

/* shared page */

#define XENFB_IN_RING_SIZE
#define XENFB_IN_RING_LEN
#define XENFB_IN_RING_OFFS
#define XENFB_IN_RING(page)
#define XENFB_IN_RING_REF(page, idx)

#define XENFB_OUT_RING_SIZE
#define XENFB_OUT_RING_LEN
#define XENFB_OUT_RING_OFFS
#define XENFB_OUT_RING(page)
#define XENFB_OUT_RING_REF(page, idx)

struct xenfb_page {};

/*
 * Wart: xenkbd needs to know default resolution.  Put it here until a
 * better solution is found, but don't leak it to the backend.
 */
#ifdef __KERNEL__
#define XENFB_WIDTH
#define XENFB_HEIGHT
#define XENFB_DEPTH
#endif

#endif