mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
__XEN_TOOLS__ is really there to separate the unstable from stable hypercalls.
Exactly as with c/s f40e1c52e4, stable interfaces shouldn't contain this
guard.
That change actually broke the build with:
include/xendevicemodel.h:52:5: error: unknown type name 'ioservid_t'
ioservid_t *id);
^
as libxendevicemodel.h now uses a type it can't see a typedef for. However,
nothing noticed because the header.chk logic is also broken (fixed
subsequently).
Strip the guard from the public header, and remove compensation from
devicemodel's private.h. Fix the dmop design doc to discuss both reasons
behind the the ABI design.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Release-Acked-by: Ian Jackson <iwj@xenproject.org>
50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
#ifndef XENDEVICEMODEL_PRIVATE_H
|
|
#define XENDEVICEMODEL_PRIVATE_H
|
|
|
|
#include <xentoollog.h>
|
|
#include <xendevicemodel.h>
|
|
#include <xencall.h>
|
|
|
|
#include <xentoolcore_internal.h>
|
|
|
|
struct xendevicemodel_handle {
|
|
xentoollog_logger *logger, *logger_tofree;
|
|
unsigned int flags;
|
|
xencall_handle *xcall;
|
|
int fd;
|
|
Xentoolcore__Active_Handle tc_ah;
|
|
};
|
|
|
|
struct xendevicemodel_buf {
|
|
void *ptr;
|
|
size_t size;
|
|
};
|
|
|
|
int xendevicemodel_xcall(xendevicemodel_handle *dmod,
|
|
domid_t domid, unsigned int nr_bufs,
|
|
struct xendevicemodel_buf bufs[]);
|
|
|
|
int osdep_xendevicemodel_open(xendevicemodel_handle *dmod);
|
|
int osdep_xendevicemodel_close(xendevicemodel_handle *dmod);
|
|
int osdep_xendevicemodel_op(xendevicemodel_handle *dmod,
|
|
domid_t domid, unsigned int nr_bufs,
|
|
struct xendevicemodel_buf bufs[]);
|
|
|
|
int osdep_xendevicemodel_restrict(
|
|
xendevicemodel_handle *dmod, domid_t domid);
|
|
|
|
#define PERROR(_f...) \
|
|
xtl_log(dmod->logger, XTL_ERROR, errno, "xendevicemodel", _f)
|
|
|
|
#endif
|
|
|
|
/*
|
|
* Local variables:
|
|
* mode: C
|
|
* c-file-style: "BSD"
|
|
* c-basic-offset: 4
|
|
* tab-width: 4
|
|
* indent-tabs-mode: nil
|
|
* End:
|
|
*/
|