unsigned int *pnr_chars,
int clear, int incremental, uint32_t *pindex);
-int xc_send_debug_keys(xc_interface *xch, char *keys);
+int xc_send_debug_keys(xc_interface *xch, const char *keys);
int xc_set_parameters(xc_interface *xch, char *params);
typedef struct xen_sysctl_physinfo xc_physinfo_t;
return ret;
}
-int xc_send_debug_keys(xc_interface *xch, char *keys)
+int xc_send_debug_keys(xc_interface *xch, const char *keys)
{
int ret, len = strlen(keys);
DECLARE_SYSCTL;
- DECLARE_HYPERCALL_BOUNCE(keys, len, XC_HYPERCALL_BUFFER_BOUNCE_IN);
+ DECLARE_HYPERCALL_BOUNCE_IN(keys, len);
if ( xc_hypercall_bounce_pre(xch, keys) )
return -1;
*/
#define DECLARE_HYPERCALL_BOUNCE(_ubuf, _sz, _dir) DECLARE_NAMED_HYPERCALL_BOUNCE(_ubuf, _ubuf, _sz, _dir)
+/*
+ * Declare a bounce buffer shadowing the named user data pointer that
+ * cannot be modified.
+ */
+#define DECLARE_HYPERCALL_BOUNCE_IN(_ubuf, _sz) \
+ DECLARE_NAMED_HYPERCALL_BOUNCE(_ubuf, (void *)(_ubuf), _sz, \
+ XC_HYPERCALL_BUFFER_BOUNCE_IN)
+
/*
* Set the size of data to bounce. Useful when the size is not known
* when the bounce buffer is declared.