[libvirt] [PATCH] Oracle VirtualBox 5 support or libvirt

Eric Blake ebb9 at byu.net
Mon May 23 16:24:23 UTC 2016


[the moderation queue rejected your message for being too large]

On 12/31/1969 05:00 PM,  wrote:
> ---
>  src/Makefile.am               |     1 +
>  src/vbox/vbox_CAPI_v5_0.h     | 25550 ++++++++++++++++++++++++++++++++++++++++

That's an awfully large patch, particularly if it is mostly generated.
Can you resend, with the patch as a compressed attachment, so that it
can make it through the moderation queue?  Is it something that can
logically be broken to smaller pieces, or is it really an all-or-none
addition of the new huge file?

>  src/vbox/vbox_V5_0.c          |    13 +
>  src/vbox/vbox_common.h        |     2 +
>  src/vbox/vbox_storage.c       |     2 +
>  src/vbox/vbox_tmpl.c          |   290 +-
>  src/vbox/vbox_uniformed_api.h |     1 +
>  7 files changed, 25752 insertions(+), 107 deletions(-)
>  create mode 100644 src/vbox/vbox_CAPI_v5_0.h
>  create mode 100644 src/vbox/vbox_V5_0.c
> 
> diff --git a/src/Makefile.am b/src/Makefile.am
> index 314f6df..4a7b85f 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -783,6 +783,7 @@ VBOX_DRIVER_SOURCES =						\
>  	vbox/vbox_V4_2_20.c vbox/vbox_CAPI_v4_2_20.h		\
>  	vbox/vbox_V4_3.c vbox/vbox_CAPI_v4_3.h			\
>  	vbox/vbox_V4_3_4.c vbox/vbox_CAPI_v4_3_4.h              \
> +	vbox/vbox_V5_0.c vbox/vbox_CAPI_v5_0.h              \
>  	vbox/vbox_common.c vbox/vbox_common.h                   \
>  	vbox/vbox_uniformed_api.h                               \
>  	vbox/vbox_get_driver.h					\
> diff --git a/src/vbox/vbox_CAPI_v5_0.h b/src/vbox/vbox_CAPI_v5_0.h
> new file mode 100644
> index 0000000..b296733
> --- /dev/null
> +++ b/src/vbox/vbox_CAPI_v5_0.h
> @@ -0,0 +1,25550 @@
> +/*
> + * Libvirt notice: this file is derived from the VirtualBox SDK, with
> + * libvirt edits (fixing preprocessor indentation by cppi); do not
> + * regenerate in the context of libvirt.
> + */
> +/*
> + *  DO NOT EDIT! This is a generated file.
> + *
> + *  Header file which provides C declarations for VirtualBox Main API
> + *  (COM interfaces), generated from XIDL (XML interface definition).
> + *  On Windows (which uses COM instead of XPCOM) the native C support
> + *  is used, and most of this file is not used.
> + *
> + *  Source    : src/VBox/Main/idl/VirtualBox.xidl
> + *  Generator : src/VBox/Main/cbinding/capiidl.xsl
> + *
> + *  This file contains portions from the following Mozilla XPCOM files:
> + *      xpcom/include/xpcom/nsID.h
> + *      xpcom/include/nsIException.h
> + *      xpcom/include/nsprpub/prtypes.h
> + *      xpcom/include/xpcom/nsISupportsBase.h
> + *
> + * These files were originally triple-licensed (MPL/GPL2/LGPL2.1). Oracle
> + * elects to distribute this derived work under the LGPL2.1 only.
> + */
> +
> +/*
> + * Copyright (C) 2008-2015 Oracle Corporation
> + *
> + * This file is part of a free software library; you can redistribute
> + * it and/or modify it under the terms of the GNU Lesser General
> + * Public License version 2.1 as published by the Free Software
> + * Foundation and shipped in the "COPYING.LESSER" file with this library.
> + * The library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY of any kind.
> + *
> + * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if
> + * any license choice other than GPL or LGPL is available it will
> + * apply instead, Oracle elects to use only the Lesser General Public
> + * License version 2.1 (LGPLv2) at this time for any software where
> + * a choice of LGPL license versions is made available with the
> + * language indicating that LGPLv2 or any later version may be used,
> + * or where a choice of which version of the LGPL is applied is
> + * otherwise unspecified.
> + */

Bummer that the license is restrictive against GPLv3, but no worse than
any of the other files in the same directory, so not your problem.

>                                                height, bitsPerPixel,
>                                                xOrigin, yOrigin);
> -#endif /* VBOX_API_VERSION >= 4003000 */
> +#else /*VBOX_API_VERSION >= 5000000 */
> +    PRUint32 gms;
> +
> +    return display->vtbl->GetScreenResolution(display, screenId, width,
> +                                              height, bitsPerPixel,
> +                                              xOrigin, yOrigin, &gms);
> +#endif /* VBOX_API_VERSION >= 5000000 */
> +
>  }
>  
>  static nsresult
> @@ -4357,10 +4433,10 @@ _displayTakeScreenShotPNGToArray(IDisplay *display ATTRIBUTE_UNUSED,
>                                   PRUint32 *screenDataSize ATTRIBUTE_UNUSED,
>                                   PRUint8** screenData ATTRIBUTE_UNUSED)
>  {
> -#if VBOX_API_VERSION < 4000000
> +#if VBOX_API_VERSION < 4000000 || VBOX_API_VERSION >= 5000000
>      vboxUnsupported();
>      return 0;
> -#else /* VBOX_API_VERSION >= 4000000 */
> +#else /* VBOX_API_VERSION >= 4000000 && VBOX_API_VERSION < 5000000 */
>      return display->vtbl->TakeScreenShotPNGToArray(display, screenId, width,
>                                                     height, screenDataSize,
>                                                     screenData);
> diff --git a/src/vbox/vbox_uniformed_api.h b/src/vbox/vbox_uniformed_api.h
> index a469968..74e9ac0 100644
> --- a/src/vbox/vbox_uniformed_api.h
> +++ b/src/vbox/vbox_uniformed_api.h
> @@ -628,5 +628,6 @@ void vbox42InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
>  void vbox42_20InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
>  void vbox43InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
>  void vbox43_4InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
> +void vbox50InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
>  
>  #endif /* VBOX_UNIFORMED_API_H */
> 




More information about the libvir-list mailing list