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

/* SPDX-License-Identifier: MIT */

#ifndef __XEN_PUBLIC_IO_XEN_PVCALLS_H__
#define __XEN_PUBLIC_IO_XEN_PVCALLS_H__

#include <linux/net.h>
#include <xen/interface/io/ring.h>
#include <xen/interface/grant_table.h>

/* "1" means socket, connect, release, bind, listen, accept and poll */
#define XENBUS_FUNCTIONS_CALLS

/*
 * See docs/misc/pvcalls.markdown in xen.git for the full specification:
 * https://xenbits.xen.org/docs/unstable/misc/pvcalls.html
 */
struct pvcalls_data_intf {};
DEFINE_XEN_FLEX_RING(pvcalls);

#define PVCALLS_SOCKET
#define PVCALLS_CONNECT
#define PVCALLS_RELEASE
#define PVCALLS_BIND
#define PVCALLS_LISTEN
#define PVCALLS_ACCEPT
#define PVCALLS_POLL

struct xen_pvcalls_request {};

struct xen_pvcalls_response {};

DEFINE_RING_TYPES(xen_pvcalls, struct xen_pvcalls_request,
                  struct xen_pvcalls_response);

#endif