[libvirt] [PATCH libvirt-glib] Add support for configuring serial, parallel & channel devices

Christophe Fergeau cfergeau at redhat.com
Wed Jan 11 14:13:47 UTC 2012


On Tue, Jan 10, 2012 at 04:34:39PM +0000, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
> 
> The basic config of serial, parallel & channel devices is just
> the same as console devices. Add basic stubs for these new
> devices
> ---
>  libvirt-gconfig/Makefile.am                       |    6 ++
>  libvirt-gconfig/libvirt-gconfig-domain-channel.c  |   70 +++++++++++++++++++++
>  libvirt-gconfig/libvirt-gconfig-domain-channel.h  |   67 ++++++++++++++++++++
>  libvirt-gconfig/libvirt-gconfig-domain-parallel.c |   70 +++++++++++++++++++++
>  libvirt-gconfig/libvirt-gconfig-domain-parallel.h |   67 ++++++++++++++++++++
>  libvirt-gconfig/libvirt-gconfig-domain-serial.c   |   70 +++++++++++++++++++++
>  libvirt-gconfig/libvirt-gconfig-domain-serial.h   |   67 ++++++++++++++++++++
>  libvirt-gconfig/libvirt-gconfig.h                 |    3 +
>  libvirt-gconfig/libvirt-gconfig.sym               |   12 ++++
>  9 files changed, 432 insertions(+), 0 deletions(-)
>  create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-channel.c
>  create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-channel.h
>  create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-parallel.c
>  create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-parallel.h
>  create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-serial.c
>  create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-serial.h
> 
> diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am
> index d542074..03a5507 100644
> --- a/libvirt-gconfig/Makefile.am
> +++ b/libvirt-gconfig/Makefile.am
> @@ -13,6 +13,7 @@ GCONFIG_HEADER_FILES = \
>  			libvirt-gconfig-object.h \
>  			libvirt-gconfig-capabilities.h \
>  			libvirt-gconfig-domain.h \
> +			libvirt-gconfig-domain-channel.h \
>  			libvirt-gconfig-domain-chardev.h \
>  			libvirt-gconfig-domain-chardev-source.h \
>  			libvirt-gconfig-domain-chardev-source-pty.h \
> @@ -32,7 +33,9 @@ GCONFIG_HEADER_FILES = \
>  			libvirt-gconfig-domain-interface-user.h \
>  			libvirt-gconfig-domain-memballoon.h \
>  			libvirt-gconfig-domain-os.h \
> +			libvirt-gconfig-domain-parallel.h \
>  			libvirt-gconfig-domain-seclabel.h \
> +			libvirt-gconfig-domain-serial.h \
>  			libvirt-gconfig-domain-snapshot.h \
>  			libvirt-gconfig-domain-sound.h \
>  			libvirt-gconfig-domain-timer.h \
> @@ -61,6 +64,7 @@ GCONFIG_SOURCE_FILES = \
>  			libvirt-gconfig-main.c \
>  			libvirt-gconfig-capabilities.c \
>  			libvirt-gconfig-domain.c \
> +			libvirt-gconfig-domain-channel.c \
>  			libvirt-gconfig-domain-chardev.c \
>  			libvirt-gconfig-domain-chardev-source.c \
>  			libvirt-gconfig-domain-chardev-source-pty.c \
> @@ -80,7 +84,9 @@ GCONFIG_SOURCE_FILES = \
>  			libvirt-gconfig-domain-interface-user.c \
>  			libvirt-gconfig-domain-memballoon.c \
>  			libvirt-gconfig-domain-os.c \
> +			libvirt-gconfig-domain-parallel.c \
>  			libvirt-gconfig-domain-seclabel.c \
> +			libvirt-gconfig-domain-serial.c \
>  			libvirt-gconfig-domain-snapshot.c \
>  			libvirt-gconfig-domain-sound.c \
>  			libvirt-gconfig-domain-timer.c \
> diff --git a/libvirt-gconfig/libvirt-gconfig-domain-channel.c b/libvirt-gconfig/libvirt-gconfig-domain-channel.c
> new file mode 100644
> index 0000000..a3134b4
> --- /dev/null
> +++ b/libvirt-gconfig/libvirt-gconfig-domain-channel.c
> @@ -0,0 +1,70 @@
> +/*
> + * libvirt-gconfig-domain-channel.c: libvirt domain channel configuration
> + *
> + * Copyright (C) 2011 Red Hat, Inc.

Could be 2012 set to 2012 now
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA

Hrm, just realized this is the old FSF address...

The rest of the patch looks good except that the new types should be
handled in gvir_config_domain_device_new_from_tree

Christophe

> + *
> + * Author: Daniel P. Berrange <berrange at redhat.com>
> + */
> +
> +#include <config.h>
> +
> +#include "libvirt-gconfig/libvirt-gconfig.h"
> +
> +#define GVIR_CONFIG_DOMAIN_CHANNEL_GET_PRIVATE(obj)                         \
> +        (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_CHANNEL, GVirConfigDomainChannelPrivate))
> +
> +struct _GVirConfigDomainChannelPrivate
> +{
> +    gboolean unused;
> +};
> +
> +G_DEFINE_TYPE(GVirConfigDomainChannel, gvir_config_domain_channel, GVIR_CONFIG_TYPE_DOMAIN_CHARDEV);
> +
> +
> +static void gvir_config_domain_channel_class_init(GVirConfigDomainChannelClass *klass)
> +{
> +    g_type_class_add_private(klass, sizeof(GVirConfigDomainChannelPrivate));
> +}
> +
> +
> +static void gvir_config_domain_channel_init(GVirConfigDomainChannel *channel)
> +{
> +    g_debug("Init GVirConfigDomainChannel=%p", channel);
> +
> +    channel->priv = GVIR_CONFIG_DOMAIN_CHANNEL_GET_PRIVATE(channel);
> +}
> +
> +GVirConfigDomainChannel *gvir_config_domain_channel_new(void)
> +{
> +    GVirConfigObject *object;
> +
> +    object = gvir_config_object_new(GVIR_CONFIG_TYPE_DOMAIN_CHANNEL,
> +                                    "channel", NULL);
> +    return GVIR_CONFIG_DOMAIN_CHANNEL(object);
> +}
> +
> +GVirConfigDomainChannel *gvir_config_domain_channel_new_from_xml(const gchar *xml,
> +                                                                 GError **error)
> +{
> +    GVirConfigObject *object;
> +
> +    object = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_DOMAIN_CHANNEL,
> +                                             "channel", NULL, xml, error);
> +    if (object == NULL)
> +        return NULL;
> +    return GVIR_CONFIG_DOMAIN_CHANNEL(object);
> +}
> diff --git a/libvirt-gconfig/libvirt-gconfig-domain-channel.h b/libvirt-gconfig/libvirt-gconfig-domain-channel.h
> new file mode 100644
> index 0000000..d2dc136
> --- /dev/null
> +++ b/libvirt-gconfig/libvirt-gconfig-domain-channel.h
> @@ -0,0 +1,67 @@
> +/*
> + * libvirt-gconfig-domain-channel.h: libvirt domain channel configuration
> + *
> + * Copyright (C) 2011 Red Hat, Inc.
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
> + *
> + * Author: Daniel P. Berrange <berrange at redhat.com>
> + */
> +
> +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD)
> +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly."
> +#endif
> +
> +#ifndef __LIBVIRT_GCONFIG_DOMAIN_CHANNEL_H__
> +#define __LIBVIRT_GCONFIG_DOMAIN_CHANNEL_H__
> +
> +G_BEGIN_DECLS
> +
> +#define GVIR_CONFIG_TYPE_DOMAIN_CHANNEL            (gvir_config_domain_channel_get_type ())
> +#define GVIR_CONFIG_DOMAIN_CHANNEL(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_DOMAIN_CHANNEL, GVirConfigDomainChannel))
> +#define GVIR_CONFIG_DOMAIN_CHANNEL_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_DOMAIN_CHANNEL, GVirConfigDomainChannelClass))
> +#define GVIR_CONFIG_IS_DOMAIN_CHANNEL(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_DOMAIN_CHANNEL))
> +#define GVIR_CONFIG_IS_DOMAIN_CHANNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_DOMAIN_CHANNEL))
> +#define GVIR_CONFIG_DOMAIN_CHANNEL_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_DOMAIN_CHANNEL, GVirConfigDomainChannelClass))
> +
> +typedef struct _GVirConfigDomainChannel GVirConfigDomainChannel;
> +typedef struct _GVirConfigDomainChannelPrivate GVirConfigDomainChannelPrivate;
> +typedef struct _GVirConfigDomainChannelClass GVirConfigDomainChannelClass;
> +
> +struct _GVirConfigDomainChannel
> +{
> +    GVirConfigDomainChardev parent;
> +
> +    GVirConfigDomainChannelPrivate *priv;
> +
> +    /* Do not add fields to this struct */
> +};
> +
> +struct _GVirConfigDomainChannelClass
> +{
> +    GVirConfigDomainChardevClass parent_class;
> +
> +    gpointer padding[20];
> +};
> +
> +
> +GType gvir_config_domain_channel_get_type(void);
> +GVirConfigDomainChannel *gvir_config_domain_channel_new(void);
> +GVirConfigDomainChannel *gvir_config_domain_channel_new_from_xml(const gchar *xml,
> +                                                                 GError **error);
> +
> +G_END_DECLS
> +
> +#endif /* __LIBVIRT_GCONFIG_DOMAIN_CHANNEL_H__ */
> diff --git a/libvirt-gconfig/libvirt-gconfig-domain-parallel.c b/libvirt-gconfig/libvirt-gconfig-domain-parallel.c
> new file mode 100644
> index 0000000..2f5ea52
> --- /dev/null
> +++ b/libvirt-gconfig/libvirt-gconfig-domain-parallel.c
> @@ -0,0 +1,70 @@
> +/*
> + * libvirt-gconfig-domain-parallel.c: libvirt domain parallel configuration
> + *
> + * Copyright (C) 2011 Red Hat, Inc.
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
> + *
> + * Author: Daniel P. Berrange <berrange at redhat.com>
> + */
> +
> +#include <config.h>
> +
> +#include "libvirt-gconfig/libvirt-gconfig.h"
> +
> +#define GVIR_CONFIG_DOMAIN_PARALLEL_GET_PRIVATE(obj)                         \
> +        (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_PARALLEL, GVirConfigDomainParallelPrivate))
> +
> +struct _GVirConfigDomainParallelPrivate
> +{
> +    gboolean unused;
> +};
> +
> +G_DEFINE_TYPE(GVirConfigDomainParallel, gvir_config_domain_parallel, GVIR_CONFIG_TYPE_DOMAIN_CHARDEV);
> +
> +
> +static void gvir_config_domain_parallel_class_init(GVirConfigDomainParallelClass *klass)
> +{
> +    g_type_class_add_private(klass, sizeof(GVirConfigDomainParallelPrivate));
> +}
> +
> +
> +static void gvir_config_domain_parallel_init(GVirConfigDomainParallel *parallel)
> +{
> +    g_debug("Init GVirConfigDomainParallel=%p", parallel);
> +
> +    parallel->priv = GVIR_CONFIG_DOMAIN_PARALLEL_GET_PRIVATE(parallel);
> +}
> +
> +GVirConfigDomainParallel *gvir_config_domain_parallel_new(void)
> +{
> +    GVirConfigObject *object;
> +
> +    object = gvir_config_object_new(GVIR_CONFIG_TYPE_DOMAIN_PARALLEL,
> +                                    "parallel", NULL);
> +    return GVIR_CONFIG_DOMAIN_PARALLEL(object);
> +}
> +
> +GVirConfigDomainParallel *gvir_config_domain_parallel_new_from_xml(const gchar *xml,
> +                                                                   GError **error)
> +{
> +    GVirConfigObject *object;
> +
> +    object = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_DOMAIN_PARALLEL,
> +                                             "parallel", NULL, xml, error);
> +    if (object == NULL)
> +        return NULL;
> +    return GVIR_CONFIG_DOMAIN_PARALLEL(object);
> +}
> diff --git a/libvirt-gconfig/libvirt-gconfig-domain-parallel.h b/libvirt-gconfig/libvirt-gconfig-domain-parallel.h
> new file mode 100644
> index 0000000..fd9c656
> --- /dev/null
> +++ b/libvirt-gconfig/libvirt-gconfig-domain-parallel.h
> @@ -0,0 +1,67 @@
> +/*
> + * libvirt-gconfig-domain-parallel.h: libvirt domain parallel configuration
> + *
> + * Copyright (C) 2011 Red Hat, Inc.
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
> + *
> + * Author: Daniel P. Berrange <berrange at redhat.com>
> + */
> +
> +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD)
> +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly."
> +#endif
> +
> +#ifndef __LIBVIRT_GCONFIG_DOMAIN_PARALLEL_H__
> +#define __LIBVIRT_GCONFIG_DOMAIN_PARALLEL_H__
> +
> +G_BEGIN_DECLS
> +
> +#define GVIR_CONFIG_TYPE_DOMAIN_PARALLEL            (gvir_config_domain_parallel_get_type ())
> +#define GVIR_CONFIG_DOMAIN_PARALLEL(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_DOMAIN_PARALLEL, GVirConfigDomainParallel))
> +#define GVIR_CONFIG_DOMAIN_PARALLEL_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_DOMAIN_PARALLEL, GVirConfigDomainParallelClass))
> +#define GVIR_CONFIG_IS_DOMAIN_PARALLEL(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_DOMAIN_PARALLEL))
> +#define GVIR_CONFIG_IS_DOMAIN_PARALLEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_DOMAIN_PARALLEL))
> +#define GVIR_CONFIG_DOMAIN_PARALLEL_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_DOMAIN_PARALLEL, GVirConfigDomainParallelClass))
> +
> +typedef struct _GVirConfigDomainParallel GVirConfigDomainParallel;
> +typedef struct _GVirConfigDomainParallelPrivate GVirConfigDomainParallelPrivate;
> +typedef struct _GVirConfigDomainParallelClass GVirConfigDomainParallelClass;
> +
> +struct _GVirConfigDomainParallel
> +{
> +    GVirConfigDomainChardev parent;
> +
> +    GVirConfigDomainParallelPrivate *priv;
> +
> +    /* Do not add fields to this struct */
> +};
> +
> +struct _GVirConfigDomainParallelClass
> +{
> +    GVirConfigDomainChardevClass parent_class;
> +
> +    gpointer padding[20];
> +};
> +
> +
> +GType gvir_config_domain_parallel_get_type(void);
> +GVirConfigDomainParallel *gvir_config_domain_parallel_new(void);
> +GVirConfigDomainParallel *gvir_config_domain_parallel_new_from_xml(const gchar *xml,
> +                                                                   GError **error);
> +
> +G_END_DECLS
> +
> +#endif /* __LIBVIRT_GCONFIG_DOMAIN_PARALLEL_H__ */
> diff --git a/libvirt-gconfig/libvirt-gconfig-domain-serial.c b/libvirt-gconfig/libvirt-gconfig-domain-serial.c
> new file mode 100644
> index 0000000..89c54ba
> --- /dev/null
> +++ b/libvirt-gconfig/libvirt-gconfig-domain-serial.c
> @@ -0,0 +1,70 @@
> +/*
> + * libvirt-gconfig-domain-serial.c: libvirt domain serial configuration
> + *
> + * Copyright (C) 2011 Red Hat, Inc.
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
> + *
> + * Author: Daniel P. Berrange <berrange at redhat.com>
> + */
> +
> +#include <config.h>
> +
> +#include "libvirt-gconfig/libvirt-gconfig.h"
> +
> +#define GVIR_CONFIG_DOMAIN_SERIAL_GET_PRIVATE(obj)                         \
> +        (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_SERIAL, GVirConfigDomainSerialPrivate))
> +
> +struct _GVirConfigDomainSerialPrivate
> +{
> +    gboolean unused;
> +};
> +
> +G_DEFINE_TYPE(GVirConfigDomainSerial, gvir_config_domain_serial, GVIR_CONFIG_TYPE_DOMAIN_CHARDEV);
> +
> +
> +static void gvir_config_domain_serial_class_init(GVirConfigDomainSerialClass *klass)
> +{
> +    g_type_class_add_private(klass, sizeof(GVirConfigDomainSerialPrivate));
> +}
> +
> +
> +static void gvir_config_domain_serial_init(GVirConfigDomainSerial *serial)
> +{
> +    g_debug("Init GVirConfigDomainSerial=%p", serial);
> +
> +    serial->priv = GVIR_CONFIG_DOMAIN_SERIAL_GET_PRIVATE(serial);
> +}
> +
> +GVirConfigDomainSerial *gvir_config_domain_serial_new(void)
> +{
> +    GVirConfigObject *object;
> +
> +    object = gvir_config_object_new(GVIR_CONFIG_TYPE_DOMAIN_SERIAL,
> +                                    "serial", NULL);
> +    return GVIR_CONFIG_DOMAIN_SERIAL(object);
> +}
> +
> +GVirConfigDomainSerial *gvir_config_domain_serial_new_from_xml(const gchar *xml,
> +                                                                 GError **error)
> +{
> +    GVirConfigObject *object;
> +
> +    object = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_DOMAIN_SERIAL,
> +                                             "serial", NULL, xml, error);
> +    if (object == NULL)
> +        return NULL;
> +    return GVIR_CONFIG_DOMAIN_SERIAL(object);
> +}
> diff --git a/libvirt-gconfig/libvirt-gconfig-domain-serial.h b/libvirt-gconfig/libvirt-gconfig-domain-serial.h
> new file mode 100644
> index 0000000..8fba59c
> --- /dev/null
> +++ b/libvirt-gconfig/libvirt-gconfig-domain-serial.h
> @@ -0,0 +1,67 @@
> +/*
> + * libvirt-gconfig-domain-serial.h: libvirt domain serial configuration
> + *
> + * Copyright (C) 2011 Red Hat, Inc.
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
> + *
> + * Author: Daniel P. Berrange <berrange at redhat.com>
> + */
> +
> +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD)
> +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly."
> +#endif
> +
> +#ifndef __LIBVIRT_GCONFIG_DOMAIN_SERIAL_H__
> +#define __LIBVIRT_GCONFIG_DOMAIN_SERIAL_H__
> +
> +G_BEGIN_DECLS
> +
> +#define GVIR_CONFIG_TYPE_DOMAIN_SERIAL            (gvir_config_domain_serial_get_type ())
> +#define GVIR_CONFIG_DOMAIN_SERIAL(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_DOMAIN_SERIAL, GVirConfigDomainSerial)
> +#define GVIR_CONFIG_DOMAIN_SERIAL_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_DOMAIN_SERIAL, GVirConfigDomainSerialClass))
> +#define GVIR_CONFIG_IS_DOMAIN_SERIAL(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_DOMAIN_SERIAL))
> +#define GVIR_CONFIG_IS_DOMAIN_SERIAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_DOMAIN_SERIAL))
> +#define GVIR_CONFIG_DOMAIN_SERIAL_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_DOMAIN_SERIAL, GVirConfigDomainSerialClass))
> +
> +typedef struct _GVirConfigDomainSerial GVirConfigDomainSerial;
> +typedef struct _GVirConfigDomainSerialPrivate GVirConfigDomainSerialPrivate;
> +typedef struct _GVirConfigDomainSerialClass GVirConfigDomainSerialClass;
> +
> +struct _GVirConfigDomainSerial
> +{
> +    GVirConfigDomainChardev parent;
> +
> +    GVirConfigDomainSerialPrivate *priv;
> +
> +    /* Do not add fields to this struct */
> +};
> +
> +struct _GVirConfigDomainSerialClass
> +{
> +    GVirConfigDomainChardevClass parent_class;
> +
> +    gpointer padding[20];
> +};
> +
> +
> +GType gvir_config_domain_serial_get_type(void);
> +GVirConfigDomainSerial *gvir_config_domain_serial_new(void);
> +GVirConfigDomainSerial *gvir_config_domain_serial_new_from_xml(const gchar *xml,
> +                                                                 GError **error);
> +
> +G_END_DECLS
> +
> +#endif /* __LIBVIRT_GCONFIG_DOMAIN_SERIAL_H__ */
> diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h
> index 7176400..cb28e23 100644
> --- a/libvirt-gconfig/libvirt-gconfig.h
> +++ b/libvirt-gconfig/libvirt-gconfig.h
> @@ -33,6 +33,7 @@
>  #include <libvirt-gconfig/libvirt-gconfig-domain-chardev.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-chardev-source.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-chardev-source-pty.h>
> +#include <libvirt-gconfig/libvirt-gconfig-domain-channel.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-clock.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-console.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-device.h>
> @@ -49,7 +50,9 @@
>  #include <libvirt-gconfig/libvirt-gconfig-domain-interface-user.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-memballoon.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-os.h>
> +#include <libvirt-gconfig/libvirt-gconfig-domain-parallel.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-seclabel.h>
> +#include <libvirt-gconfig/libvirt-gconfig-domain-serial.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-snapshot.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-sound.h>
>  #include <libvirt-gconfig/libvirt-gconfig-domain-timer.h>
> diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym
> index 8a47418..7cf3c3d 100644
> --- a/libvirt-gconfig/libvirt-gconfig.sym
> +++ b/libvirt-gconfig/libvirt-gconfig.sym
> @@ -30,6 +30,10 @@ LIBVIRT_GCONFIG_0.0.3 {
>  	gvir_config_domain_set_virt_type;
>  	gvir_config_domain_virt_type_get_type;
>  
> +	gvir_config_domain_channel_get_type;
> +	gvir_config_domain_channel_new;
> +	gvir_config_domain_channel_new_from_xml;
> +
>  	gvir_config_domain_chardev_get_type;
>  	gvir_config_domain_chardev_set_source;
>  
> @@ -168,6 +172,10 @@ LIBVIRT_GCONFIG_0.0.3 {
>  	gvir_config_domain_os_set_arch;
>  	gvir_config_domain_os_type_get_type;
>  
> +	gvir_config_domain_parallel_get_type;
> +	gvir_config_domain_parallel_new;
> +	gvir_config_domain_parallel_new_from_xml;
> +
>  	gvir_config_domain_seclabel_get_type;
>  	gvir_config_domain_seclabel_type_get_type;
>  	gvir_config_domain_seclabel_new;
> @@ -177,6 +185,10 @@ LIBVIRT_GCONFIG_0.0.3 {
>  	gvir_config_domain_seclabel_set_baselabel;
>  	gvir_config_domain_seclabel_set_label;
>  
> +	gvir_config_domain_serial_get_type;
> +	gvir_config_domain_serial_new;
> +	gvir_config_domain_serial_new_from_xml;
> +
>  	gvir_config_domain_snapshot_get_type;
>  	gvir_config_domain_snapshot_new;
>  	gvir_config_domain_snapshot_new_from_xml;
> -- 
> 1.7.7.5
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120111/fcdf04bb/attachment-0001.sig>


More information about the libvir-list mailing list