aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-02-07 09:21:19 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-02-07 09:21:19 +0000
commit47ea4d5c24b977228a1465d1c6af8206e0e360d4 (patch)
tree9aa5f5de5eeea0fe909cf6e1d2e14234337dfcc1 /tools
parent7189dd2eeb4028b3810740afaca85473f4b51aa9 (diff)
downloadxen-47ea4d5c24b977228a1465d1c6af8206e0e360d4.tar.gz
xen-47ea4d5c24b977228a1465d1c6af8206e0e360d4.tar.bz2
xen-47ea4d5c24b977228a1465d1c6af8206e0e360d4.zip
ioemu: avoid name clashes due to LIST_* macros
Here is what I wrote in my submission to qemu upstream: qemu's audio subdirectory contains a copy of BSD's sys-queue.h, which defines a bunch of LIST_ macros. This makes it difficult to build a program made partly out of qemu and partly out of the Linux kernel[1], since Linux has a different set of LIST_ macros. It might also cause trouble when mixing with BSD-derived code. Under the circumstances it's probably best to rename the versions in qemu. The attached patch does this. [1] You might well ask why anyone would want to do this. In Xen we are moving our emulation of IO devices from processes which run on the host into a dedicated VM (one per actual VM) which we call a `stub domain'. This dedicated VM runs a very cut-down `operating system' which uses some code from Linux. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/ioemu/audio/audio.c38
-rw-r--r--tools/ioemu/audio/audio.h4
-rw-r--r--tools/ioemu/audio/audio_int.h30
-rw-r--r--tools/ioemu/audio/audio_template.h12
-rw-r--r--tools/ioemu/audio/sys-queue.h12
5 files changed, 48 insertions, 48 deletions
diff --git a/tools/ioemu/audio/audio.c b/tools/ioemu/audio/audio.c
index 65e1de8118..e7c6a959cf 100644
--- a/tools/ioemu/audio/audio.c
+++ b/tools/ioemu/audio/audio.c
@@ -707,8 +707,8 @@ static void audio_detach_capture (HWVoiceOut *hw)
sw->rate = NULL;
}
- LIST_REMOVE (sw, entries);
- LIST_REMOVE (sc, entries);
+ QEMU_LIST_REMOVE (sw, entries);
+ QEMU_LIST_REMOVE (sc, entries);
qemu_free (sc);
if (was_active) {
/* We have removed soft voice from the capture:
@@ -751,8 +751,8 @@ static int audio_attach_capture (AudioState *s, HWVoiceOut *hw)
qemu_free (sw);
return -1;
}
- LIST_INSERT_HEAD (&hw_cap->sw_head, sw, entries);
- LIST_INSERT_HEAD (&hw->cap_head, sc, entries);
+ QEMU_LIST_INSERT_HEAD (&hw_cap->sw_head, sw, entries);
+ QEMU_LIST_INSERT_HEAD (&hw->cap_head, sc, entries);
#ifdef DEBUG_CAPTURE
asprintf (&sw->name, "for %p %d,%d,%d",
hw, sw->info.freq, sw->info.bits, sw->info.nchannels);
@@ -1620,12 +1620,12 @@ void AUD_register_card (AudioState *s, const char *name, QEMUSoundCard *card)
card->audio = s;
card->name = qemu_strdup (name);
memset (&card->entries, 0, sizeof (card->entries));
- LIST_INSERT_HEAD (&s->card_head, card, entries);
+ QEMU_LIST_INSERT_HEAD (&s->card_head, card, entries);
}
void AUD_remove_card (QEMUSoundCard *card)
{
- LIST_REMOVE (card, entries);
+ QEMU_LIST_REMOVE (card, entries);
card->audio = NULL;
qemu_free (card->name);
}
@@ -1637,9 +1637,9 @@ AudioState *AUD_init (void)
const char *drvname;
AudioState *s = &glob_audio_state;
- LIST_INIT (&s->hw_head_out);
- LIST_INIT (&s->hw_head_in);
- LIST_INIT (&s->cap_head);
+ QEMU_LIST_INIT (&s->hw_head_out);
+ QEMU_LIST_INIT (&s->hw_head_in);
+ QEMU_LIST_INIT (&s->cap_head);
atexit (audio_atexit);
s->ts = qemu_new_timer (vm_clock, audio_timer, s);
@@ -1731,7 +1731,7 @@ AudioState *AUD_init (void)
return NULL;
}
- LIST_INIT (&s->card_head);
+ QEMU_LIST_INIT (&s->card_head);
register_savevm ("audio", 0, 1, audio_save, audio_load, s);
qemu_mod_timer (s->ts, qemu_get_clock (vm_clock) + conf.period.ticks);
return s;
@@ -1769,7 +1769,7 @@ CaptureVoiceOut *AUD_add_capture (
cap = audio_pcm_capture_find_specific (s, as);
if (cap) {
- LIST_INSERT_HEAD (&cap->cb_head, cb, entries);
+ QEMU_LIST_INSERT_HEAD (&cap->cb_head, cb, entries);
return cap;
}
else {
@@ -1784,8 +1784,8 @@ CaptureVoiceOut *AUD_add_capture (
}
hw = &cap->hw;
- LIST_INIT (&hw->sw_head);
- LIST_INIT (&cap->cb_head);
+ QEMU_LIST_INIT (&hw->sw_head);
+ QEMU_LIST_INIT (&cap->cb_head);
/* XXX find a more elegant way */
hw->samples = 4096 * 4;
@@ -1813,8 +1813,8 @@ CaptureVoiceOut *AUD_add_capture (
[hw->info.swap_endianness]
[hw->info.bits == 16];
- LIST_INSERT_HEAD (&s->cap_head, cap, entries);
- LIST_INSERT_HEAD (&cap->cb_head, cb, entries);
+ QEMU_LIST_INSERT_HEAD (&s->cap_head, cap, entries);
+ QEMU_LIST_INSERT_HEAD (&cap->cb_head, cb, entries);
hw = NULL;
while ((hw = audio_pcm_hw_find_any_out (s, hw))) {
@@ -1840,7 +1840,7 @@ void AUD_del_capture (CaptureVoiceOut *cap, void *cb_opaque)
for (cb = cap->cb_head.lh_first; cb; cb = cb->entries.le_next) {
if (cb->opaque == cb_opaque) {
cb->ops.destroy (cb_opaque);
- LIST_REMOVE (cb, entries);
+ QEMU_LIST_REMOVE (cb, entries);
qemu_free (cb);
if (!cap->cb_head.lh_first) {
@@ -1857,12 +1857,12 @@ void AUD_del_capture (CaptureVoiceOut *cap, void *cb_opaque)
st_rate_stop (sw->rate);
sw->rate = NULL;
}
- LIST_REMOVE (sw, entries);
- LIST_REMOVE (sc, entries);
+ QEMU_LIST_REMOVE (sw, entries);
+ QEMU_LIST_REMOVE (sc, entries);
qemu_free (sc);
sw = sw1;
}
- LIST_REMOVE (cap, entries);
+ QEMU_LIST_REMOVE (cap, entries);
qemu_free (cap);
}
return;
diff --git a/tools/ioemu/audio/audio.h b/tools/ioemu/audio/audio.h
index c097f391bb..f5fbeddda9 100644
--- a/tools/ioemu/audio/audio.h
+++ b/tools/ioemu/audio/audio.h
@@ -68,7 +68,7 @@ struct capture_ops {
typedef struct CaptureState {
void *opaque;
struct capture_ops ops;
- LIST_ENTRY (CaptureState) entries;
+ QEMU_LIST_ENTRY (CaptureState) entries;
} CaptureState;
typedef struct AudioState AudioState;
@@ -79,7 +79,7 @@ typedef struct SWVoiceIn SWVoiceIn;
typedef struct QEMUSoundCard {
AudioState *audio;
char *name;
- LIST_ENTRY (QEMUSoundCard) entries;
+ QEMU_LIST_ENTRY (QEMUSoundCard) entries;
} QEMUSoundCard;
typedef struct QEMUAudioTimeStamp {
diff --git a/tools/ioemu/audio/audio_int.h b/tools/ioemu/audio/audio_int.h
index 1a15d4ced8..e7e15ca75b 100644
--- a/tools/ioemu/audio/audio_int.h
+++ b/tools/ioemu/audio/audio_int.h
@@ -79,10 +79,10 @@ typedef struct HWVoiceOut {
st_sample_t *mix_buf;
int samples;
- LIST_HEAD (sw_out_listhead, SWVoiceOut) sw_head;
- LIST_HEAD (sw_cap_listhead, SWVoiceCap) cap_head;
+ QEMU_LIST_HEAD (sw_out_listhead, SWVoiceOut) sw_head;
+ QEMU_LIST_HEAD (sw_cap_listhead, SWVoiceCap) cap_head;
struct audio_pcm_ops *pcm_ops;
- LIST_ENTRY (HWVoiceOut) entries;
+ QEMU_LIST_ENTRY (HWVoiceOut) entries;
} HWVoiceOut;
typedef struct HWVoiceIn {
@@ -98,9 +98,9 @@ typedef struct HWVoiceIn {
st_sample_t *conv_buf;
int samples;
- LIST_HEAD (sw_in_listhead, SWVoiceIn) sw_head;
+ QEMU_LIST_HEAD (sw_in_listhead, SWVoiceIn) sw_head;
struct audio_pcm_ops *pcm_ops;
- LIST_ENTRY (HWVoiceIn) entries;
+ QEMU_LIST_ENTRY (HWVoiceIn) entries;
} HWVoiceIn;
struct SWVoiceOut {
@@ -116,7 +116,7 @@ struct SWVoiceOut {
char *name;
volume_t vol;
struct audio_callback callback;
- LIST_ENTRY (SWVoiceOut) entries;
+ QEMU_LIST_ENTRY (SWVoiceOut) entries;
};
struct SWVoiceIn {
@@ -131,7 +131,7 @@ struct SWVoiceIn {
char *name;
volume_t vol;
struct audio_callback callback;
- LIST_ENTRY (SWVoiceIn) entries;
+ QEMU_LIST_ENTRY (SWVoiceIn) entries;
};
struct audio_driver {
@@ -165,20 +165,20 @@ struct audio_pcm_ops {
struct capture_callback {
struct audio_capture_ops ops;
void *opaque;
- LIST_ENTRY (capture_callback) entries;
+ QEMU_LIST_ENTRY (capture_callback) entries;
};
struct CaptureVoiceOut {
HWVoiceOut hw;
void *buf;
- LIST_HEAD (cb_listhead, capture_callback) cb_head;
- LIST_ENTRY (CaptureVoiceOut) entries;
+ QEMU_LIST_HEAD (cb_listhead, capture_callback) cb_head;
+ QEMU_LIST_ENTRY (CaptureVoiceOut) entries;
};
struct SWVoiceCap {
SWVoiceOut sw;
CaptureVoiceOut *cap;
- LIST_ENTRY (SWVoiceCap) entries;
+ QEMU_LIST_ENTRY (SWVoiceCap) entries;
};
struct AudioState {
@@ -186,10 +186,10 @@ struct AudioState {
void *drv_opaque;
QEMUTimer *ts;
- LIST_HEAD (card_listhead, QEMUSoundCard) card_head;
- LIST_HEAD (hw_in_listhead, HWVoiceIn) hw_head_in;
- LIST_HEAD (hw_out_listhead, HWVoiceOut) hw_head_out;
- LIST_HEAD (cap_listhead, CaptureVoiceOut) cap_head;
+ QEMU_LIST_HEAD (card_listhead, QEMUSoundCard) card_head;
+ QEMU_LIST_HEAD (hw_in_listhead, HWVoiceIn) hw_head_in;
+ QEMU_LIST_HEAD (hw_out_listhead, HWVoiceOut) hw_head_out;
+ QEMU_LIST_HEAD (cap_listhead, CaptureVoiceOut) cap_head;
int nb_hw_voices_out;
int nb_hw_voices_in;
};
diff --git a/tools/ioemu/audio/audio_template.h b/tools/ioemu/audio/audio_template.h
index 13e1c3efbb..72eca8aff3 100644
--- a/tools/ioemu/audio/audio_template.h
+++ b/tools/ioemu/audio/audio_template.h
@@ -186,12 +186,12 @@ static void glue (audio_pcm_sw_fini_, TYPE) (SW *sw)
static void glue (audio_pcm_hw_add_sw_, TYPE) (HW *hw, SW *sw)
{
- LIST_INSERT_HEAD (&hw->sw_head, sw, entries);
+ QEMU_LIST_INSERT_HEAD (&hw->sw_head, sw, entries);
}
static void glue (audio_pcm_hw_del_sw_, TYPE) (SW *sw)
{
- LIST_REMOVE (sw, entries);
+ QEMU_LIST_REMOVE (sw, entries);
}
static void glue (audio_pcm_hw_gc_, TYPE) (AudioState *s, HW **hwp)
@@ -202,7 +202,7 @@ static void glue (audio_pcm_hw_gc_, TYPE) (AudioState *s, HW **hwp)
#ifdef DAC
audio_detach_capture (hw);
#endif
- LIST_REMOVE (hw, entries);
+ QEMU_LIST_REMOVE (hw, entries);
glue (s->nb_hw_voices_, TYPE) += 1;
glue (audio_pcm_hw_free_resources_ ,TYPE) (hw);
glue (hw->pcm_ops->fini_, TYPE) (hw);
@@ -267,9 +267,9 @@ static HW *glue (audio_pcm_hw_add_new_, TYPE) (AudioState *s, audsettings_t *as)
}
hw->pcm_ops = drv->pcm_ops;
- LIST_INIT (&hw->sw_head);
+ QEMU_LIST_INIT (&hw->sw_head);
#ifdef DAC
- LIST_INIT (&hw->cap_head);
+ QEMU_LIST_INIT (&hw->cap_head);
#endif
if (glue (hw->pcm_ops->init_, TYPE) (hw, as)) {
goto err0;
@@ -294,7 +294,7 @@ static HW *glue (audio_pcm_hw_add_new_, TYPE) (AudioState *s, audsettings_t *as)
goto err1;
}
- LIST_INSERT_HEAD (&s->glue (hw_head_, TYPE), hw, entries);
+ QEMU_LIST_INSERT_HEAD (&s->glue (hw_head_, TYPE), hw, entries);
glue (s->nb_hw_voices_, TYPE) -= 1;
#ifdef DAC
audio_attach_capture (s, hw);
diff --git a/tools/ioemu/audio/sys-queue.h b/tools/ioemu/audio/sys-queue.h
index 5b6e2a0a23..081b052d3b 100644
--- a/tools/ioemu/audio/sys-queue.h
+++ b/tools/ioemu/audio/sys-queue.h
@@ -64,12 +64,12 @@
/*
* List definitions.
*/
-#define LIST_HEAD(name, type) \
+#define QEMU_LIST_HEAD(name, type) \
struct name { \
struct type *lh_first; /* first element */ \
}
-#define LIST_ENTRY(type) \
+#define QEMU_LIST_ENTRY(type) \
struct { \
struct type *le_next; /* next element */ \
struct type **le_prev; /* address of previous next element */ \
@@ -78,11 +78,11 @@ struct { \
/*
* List functions.
*/
-#define LIST_INIT(head) { \
+#define QEMU_LIST_INIT(head) { \
(head)->lh_first = NULL; \
}
-#define LIST_INSERT_AFTER(listelm, elm, field) { \
+#define QEMU_LIST_INSERT_AFTER(listelm, elm, field) { \
if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
(listelm)->field.le_next->field.le_prev = \
&(elm)->field.le_next; \
@@ -90,14 +90,14 @@ struct { \
(elm)->field.le_prev = &(listelm)->field.le_next; \
}
-#define LIST_INSERT_HEAD(head, elm, field) { \
+#define QEMU_LIST_INSERT_HEAD(head, elm, field) { \
if (((elm)->field.le_next = (head)->lh_first) != NULL) \
(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
(head)->lh_first = (elm); \
(elm)->field.le_prev = &(head)->lh_first; \
}
-#define LIST_REMOVE(elm, field) { \
+#define QEMU_LIST_REMOVE(elm, field) { \
if ((elm)->field.le_next != NULL) \
(elm)->field.le_next->field.le_prev = \
(elm)->field.le_prev; \