Adding upstream version 7.0.26-dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
16
.dir-locals.el
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
;;; Directory Local Variables
|
||||||
|
;;; See Info node `(emacs) Directory Variables' for more information.
|
||||||
|
|
||||||
|
;; You might want to use
|
||||||
|
;;
|
||||||
|
;; (put 'indent-tabs-mode 'permanent-local t)
|
||||||
|
;;
|
||||||
|
;; to ensure that it's not reset when you manually switch an .h file
|
||||||
|
;; that was automatically opened in c-mode to c++-mode.
|
||||||
|
|
||||||
|
((c++-mode
|
||||||
|
(indent-tabs-mode))
|
||||||
|
(c-mode
|
||||||
|
(indent-tabs-mode))
|
||||||
|
(nxml-mode
|
||||||
|
(indent-tabs-mode)))
|
93
.scm-settings
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
# $Id: .scm-settings $
|
||||||
|
## @file
|
||||||
|
# Top level source code massager settings.
|
||||||
|
#
|
||||||
|
# This will be loaded when scm is pointed to any file or directory in the
|
||||||
|
# VirtualBox source tree. It will recursively load all .scm-settings files
|
||||||
|
# it find in or above directories or files it's told to work on. So,
|
||||||
|
# .scm-settings files can be placed in sub-directories in the tree to provide
|
||||||
|
# additional settins specific to that sub-tree.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright (C) 2010-2023 Oracle and/or its affiliates.
|
||||||
|
#
|
||||||
|
# This file is part of VirtualBox base platform packages, as
|
||||||
|
# available from https://www.virtualbox.org.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation, in version 3 of the
|
||||||
|
# License.
|
||||||
|
#
|
||||||
|
# This program 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
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Global settings.
|
||||||
|
#
|
||||||
|
# Only consider directories and files that are part of a SVN working set.
|
||||||
|
#
|
||||||
|
--only-svn-dirs
|
||||||
|
--only-svn-files
|
||||||
|
--set-svn-eol
|
||||||
|
--set-svn-executable
|
||||||
|
--set-svn-keywords
|
||||||
|
|
||||||
|
#
|
||||||
|
# Directories to ignore.
|
||||||
|
#
|
||||||
|
# These are simple string patterns (see iprt/string.h) and we'll match both the
|
||||||
|
# base name as well as the absolute path of each directory we consider for
|
||||||
|
# recursion against these patterns.
|
||||||
|
#
|
||||||
|
--filter-out-dirs ".svn"
|
||||||
|
--filter-out-dirs "/*out*/."
|
||||||
|
--filter-out-dirs "/kBuild/."
|
||||||
|
--filter-out-dirs "/*kBuild_*/."
|
||||||
|
--filter-out-dirs "/*kBuild.*/."
|
||||||
|
--filter-out-dirs "/*_kBuild*/."
|
||||||
|
--filter-out-dirs "/SlickEdit/."
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Files to ignore.
|
||||||
|
#
|
||||||
|
# Same format as for the directories, except that we'll also apply them to
|
||||||
|
# files specified directly on the command line.
|
||||||
|
#
|
||||||
|
--filter-out-files "/vslick.h"
|
||||||
|
--filter-out-files "/.dir-locals.el"
|
||||||
|
--filter-out-files "*/.gitignore"
|
||||||
|
--filter-out-files "*/PkgInfo"
|
||||||
|
--filter-out-files "*/*-PkgInfo"
|
||||||
|
--filter-out-files "*.crt"
|
||||||
|
--filter-out-files "*.plist"
|
||||||
|
--filter-out-files "*.provisionprofile"
|
||||||
|
--filter-out-files "*/Doxyfile*"
|
||||||
|
--filter-out-files "*/COPYING"
|
||||||
|
--filter-out-files "*/COPYING.LIB"
|
||||||
|
--filter-out-files "*/COPYING.CDDL"
|
||||||
|
--filter-out-files "*/COPYING.GPLv2"
|
||||||
|
--filter-out-files "*/COPYING.UBDL"
|
||||||
|
--filter-out-files "*.desktop"
|
||||||
|
--filter-out-files "*/.swagger-codegen-ignore"
|
||||||
|
--filter-out-files "*/.swagger-codegen/VERSION"
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Header guards are by default relative to the parent directory.
|
||||||
|
#
|
||||||
|
--guard-prefix VBOX_INCLUDED_SRC_
|
||||||
|
--guard-relative-to-dir {parent}
|
||||||
|
--fix-header-guard-endif
|
||||||
|
|
663
COPYING
Normal file
|
@ -0,0 +1,663 @@
|
||||||
|
COPYING file for VirtualBox versions 7.0 and later versions that include this
|
||||||
|
file
|
||||||
|
|
||||||
|
Preliminary notes:
|
||||||
|
|
||||||
|
1) The majority of the code in the VirtualBox base package is licensed under
|
||||||
|
the GNU General Public License, version 3 (GPL). VirtualBox contains many
|
||||||
|
components developed by Oracle and various third parties. The license for
|
||||||
|
each component is located in the licensing documentation and/or in the
|
||||||
|
component's source code.
|
||||||
|
|
||||||
|
2) As an exception to the reciprocal license obligations of the GPL listed
|
||||||
|
below, you may use any VirtualBox header file that is marked by Oracle as
|
||||||
|
licensed under both the GPL and the Common Development and Distribution
|
||||||
|
License version 1.0 (CDDL) to invoke the unmodified VirtualBox libraries. In
|
||||||
|
other words, calling such a multi-licensed interface by dynamically linking
|
||||||
|
to the unmodified VirtualBox libraries is considered a normal use of
|
||||||
|
VirtualBox and does not turn the calling code into a derived work of
|
||||||
|
VirtualBox. In particular, this applies to code that wants to extend
|
||||||
|
VirtualBox by way of the Extension Pack mechanism declared in the ExtPack.h
|
||||||
|
header file.
|
||||||
|
|
||||||
|
3) Whoever creates or distributes a derived work based on VirtualBox is not
|
||||||
|
obligated to grant the above exceptions for such a version. The GPL permits
|
||||||
|
you to release a modified version without the above exception; in addition,
|
||||||
|
Oracle hereby also allows you to release a modified version which carries
|
||||||
|
forward these exceptions.
|
||||||
|
|
||||||
|
|
||||||
|
Oracle America, Inc.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||||
|
document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
The GNU General Public License is a free, copyleft license for software and
|
||||||
|
other kinds of works.
|
||||||
|
|
||||||
|
The licenses for most software and other practical works are designed to take
|
||||||
|
away your freedom to share and change the works. By contrast, the GNU General
|
||||||
|
Public License is intended to guarantee your freedom to share and change all
|
||||||
|
versions of a program--to make sure it remains free software for all its
|
||||||
|
users. We, the Free Software Foundation, use the GNU General Public License
|
||||||
|
for most of our software; it applies also to any other work released this way
|
||||||
|
by its authors. You can apply it to your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not price. Our
|
||||||
|
General Public Licenses are designed to make sure that you have the freedom
|
||||||
|
to distribute copies of free software (and charge for them if you wish), that
|
||||||
|
you receive source code or can get it if you want it, that you can change the
|
||||||
|
software or use pieces of it in new free programs, and that you know you can
|
||||||
|
do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to prevent others from denying you these
|
||||||
|
rights or asking you to surrender the rights. Therefore, you have certain
|
||||||
|
responsibilities if you distribute copies of the software, or if you modify
|
||||||
|
it: responsibilities to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether gratis or
|
||||||
|
for a fee, you must pass on to the recipients the same freedoms that you
|
||||||
|
received. You must make sure that they, too, receive or can get the source
|
||||||
|
code. And you must show them these terms so they know their rights.
|
||||||
|
|
||||||
|
Developers that use the GNU GPL protect your rights with two steps: (1)
|
||||||
|
assert copyright on the software, and (2) offer you this License giving you
|
||||||
|
legal permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains that
|
||||||
|
there is no warranty for this free software. For both users' and authors'
|
||||||
|
sake, the GPL requires that modified versions be marked as changed, so that
|
||||||
|
their problems will not be attributed erroneously to authors of previous
|
||||||
|
versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run modified
|
||||||
|
versions of the software inside them, although the manufacturer can do so.
|
||||||
|
This is fundamentally incompatible with the aim of protecting users' freedom
|
||||||
|
to change the software. The systematic pattern of such abuse occurs in the
|
||||||
|
area of products for individuals to use, which is precisely where it is most
|
||||||
|
unacceptable. Therefore, we have designed this version of the GPL to prohibit
|
||||||
|
the practice for those products. If such problems arise substantially in
|
||||||
|
other domains, we stand ready to extend this provision to those domains in
|
||||||
|
future versions of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents. States
|
||||||
|
should not allow patents to restrict development and use of software on
|
||||||
|
general-purpose computers, but in those that do, we wish to avoid the special
|
||||||
|
danger that patents applied to a free program could make it effectively
|
||||||
|
proprietary. To prevent this, the GPL assures that patents cannot be used to
|
||||||
|
render the program non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and modification
|
||||||
|
follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GNU General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||||
|
works, such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this License.
|
||||||
|
Each licensee is addressed as "you". "Licensees" and "recipients" may be
|
||||||
|
individuals or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work in a
|
||||||
|
fashion requiring copyright permission, other than the making of an exact
|
||||||
|
copy. The resulting work is called a "modified version" of the earlier work
|
||||||
|
or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based on the
|
||||||
|
Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without permission,
|
||||||
|
would make you directly or secondarily liable for infringement under
|
||||||
|
applicable copyright law, except executing it on a computer or modifying a
|
||||||
|
private copy. Propagation includes copying, distribution (with or without
|
||||||
|
modification), making available to the public, and in some countries other
|
||||||
|
activities as well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other parties
|
||||||
|
to make or receive copies. Mere interaction with a user through a computer
|
||||||
|
network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices" to the
|
||||||
|
extent that it includes a convenient and prominently visible feature that (1)
|
||||||
|
displays an appropriate copyright notice, and (2) tells the user that there
|
||||||
|
is no warranty for the work (except to the extent that warranties are
|
||||||
|
provided), that licensees may convey the work under this License, and how to
|
||||||
|
view a copy of this License. If the interface presents a list of user
|
||||||
|
commands or options, such as a menu, a prominent item in the list meets this
|
||||||
|
criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work for making
|
||||||
|
modifications to it. "Object code" means any non-source form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official standard
|
||||||
|
defined by a recognized standards body, or, in the case of interfaces
|
||||||
|
specified for a particular programming language, one that is widely used
|
||||||
|
among developers working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other than the
|
||||||
|
work as a whole, that (a) is included in the normal form of packaging a Major
|
||||||
|
Component, but which is not part of that Major Component, and (b) serves only
|
||||||
|
to enable use of the work with that Major Component, or to implement a
|
||||||
|
Standard Interface for which an implementation is available to the public in
|
||||||
|
source code form. A "Major Component", in this context, means a major
|
||||||
|
essential component (kernel, window system, and so on) of the specific
|
||||||
|
operating system (if any) on which the executable work runs, or a compiler
|
||||||
|
used to produce the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all the
|
||||||
|
source code needed to generate, install, and (for an executable work) run the
|
||||||
|
object code and to modify the work, including scripts to control those
|
||||||
|
activities. However, it does not include the work's System Libraries, or
|
||||||
|
general-purpose tools or generally available free programs which are used
|
||||||
|
unmodified in performing those activities but which are not part of the work.
|
||||||
|
For example, Corresponding Source includes interface definition files
|
||||||
|
associated with source files for the work, and the source code for shared
|
||||||
|
libraries and dynamically linked subprograms that the work is specifically
|
||||||
|
designed to require, such as by intimate data communication or control flow
|
||||||
|
between those subprograms and other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users can regenerate
|
||||||
|
automatically from other parts of the Corresponding Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of copyright
|
||||||
|
on the Program, and are irrevocable provided the stated conditions are met.
|
||||||
|
This License explicitly affirms your unlimited permission to run the
|
||||||
|
unmodified Program. The output from running a covered work is covered by this
|
||||||
|
License only if the output, given its content, constitutes a covered work.
|
||||||
|
This License acknowledges your rights of fair use or other equivalent, as
|
||||||
|
provided by copyright law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not convey, without
|
||||||
|
conditions so long as your license otherwise remains in force. You may convey
|
||||||
|
covered works to others for the sole purpose of having them make
|
||||||
|
modifications exclusively for you, or provide you with facilities for running
|
||||||
|
those works, provided that you comply with the terms of this License in
|
||||||
|
conveying all material for which you do not control copyright. Those thus
|
||||||
|
making or running the covered works for you must do so exclusively on your
|
||||||
|
behalf, under your direction and control, on terms that prohibit them from
|
||||||
|
making any copies of your copyrighted material outside their relationship
|
||||||
|
with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under the
|
||||||
|
conditions stated below. Sublicensing is not allowed; section 10 makes it
|
||||||
|
unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological measure
|
||||||
|
under any applicable law fulfilling obligations under article 11 of the WIPO
|
||||||
|
copyright treaty adopted on 20 December 1996, or similar laws prohibiting or
|
||||||
|
restricting circumvention of such measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid
|
||||||
|
circumvention of technological measures to the extent such circumvention is
|
||||||
|
effected by exercising rights under this License with respect to the covered
|
||||||
|
work, and you disclaim any intention to limit operation or modification of
|
||||||
|
the work as a means of enforcing, against the work's users, your or third
|
||||||
|
parties' legal rights to forbid circumvention of technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey verbatim copies of the Program's source code as you receive
|
||||||
|
it, in any medium, provided that you conspicuously and appropriately publish
|
||||||
|
on each copy an appropriate copyright notice; keep intact all notices stating
|
||||||
|
that this License and any non-permissive terms added in accord with section 7
|
||||||
|
apply to the code; keep intact all notices of the absence of any warranty;
|
||||||
|
and give all recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey, and you
|
||||||
|
may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to produce
|
||||||
|
it from the Program, in the form of source code under the terms of section 4,
|
||||||
|
provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified it,
|
||||||
|
and giving a relevant date.
|
||||||
|
b) The work must carry prominent notices stating that it is released
|
||||||
|
under this License and any conditions added under section 7. This requirement
|
||||||
|
modifies the requirement in section 4 to "keep intact all notices".
|
||||||
|
c) You must license the entire work, as a whole, under this License to
|
||||||
|
anyone who comes into possession of a copy. This License will therefore
|
||||||
|
apply, along with any applicable section 7 additional terms, to the whole of
|
||||||
|
the work, and all its parts, regardless of how they are packaged. This
|
||||||
|
License gives no permission to license the work in any other way, but it does
|
||||||
|
not invalidate such permission if you have separately received it.
|
||||||
|
d) If the work has interactive user interfaces, each must display
|
||||||
|
Appropriate Legal Notices; however, if the Program has interactive interfaces
|
||||||
|
that do not display Appropriate Legal Notices, your work need not make them
|
||||||
|
do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent works,
|
||||||
|
which are not by their nature extensions of the covered work, and which are
|
||||||
|
not combined with it such as to form a larger program, in or on a volume of a
|
||||||
|
storage or distribution medium, is called an "aggregate" if the compilation
|
||||||
|
and its resulting copyright are not used to limit the access or legal rights
|
||||||
|
of the compilation's users beyond what the individual works permit. Inclusion
|
||||||
|
of a covered work in an aggregate does not cause this License to apply to the
|
||||||
|
other parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms of sections
|
||||||
|
4 and 5, provided that you also convey the machine-readable Corresponding
|
||||||
|
Source under the terms of this License, in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by the Corresponding
|
||||||
|
Source fixed on a durable physical medium customarily used for software
|
||||||
|
interchange.
|
||||||
|
b) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by a written offer,
|
||||||
|
valid for at least three years and valid for as long as you offer spare parts
|
||||||
|
or customer support for that product model, to give anyone who possesses the
|
||||||
|
object code either (1) a copy of the Corresponding Source for all the
|
||||||
|
software in the product that is covered by this License, on a durable
|
||||||
|
physical medium customarily used for software interchange, for a price no
|
||||||
|
more than your reasonable cost of physically performing this conveying of
|
||||||
|
source, or (2) access to copy the Corresponding Source from a network server
|
||||||
|
at no charge.
|
||||||
|
c) Convey individual copies of the object code with a copy of the written
|
||||||
|
offer to provide the Corresponding Source. This alternative is allowed only
|
||||||
|
occasionally and noncommercially, and only if you received the object code
|
||||||
|
with such an offer, in accord with subsection 6b.
|
||||||
|
d) Convey the object code by offering access from a designated place
|
||||||
|
(gratis or for a charge), and offer equivalent access to the Corresponding
|
||||||
|
Source in the same way through the same place at no further charge. You need
|
||||||
|
not require recipients to copy the Corresponding Source along with the object
|
||||||
|
code. If the place to copy the object code is a network server, the
|
||||||
|
Corresponding Source may be on a different server (operated by you or a third
|
||||||
|
party) that supports equivalent copying facilities, provided you maintain
|
||||||
|
clear directions next to the object code saying where to find the
|
||||||
|
Corresponding Source. Regardless of what server hosts the Corresponding
|
||||||
|
Source, you remain obligated to ensure that it is available for as long as
|
||||||
|
needed to satisfy these requirements.
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided you
|
||||||
|
inform other peers where the object code and Corresponding Source of the work
|
||||||
|
are being offered to the general public at no charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded from
|
||||||
|
the Corresponding Source as a System Library, need not be included in
|
||||||
|
conveying the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any tangible
|
||||||
|
personal property which is normally used for personal, family, or household
|
||||||
|
purposes, or (2) anything designed or sold for incorporation into a dwelling.
|
||||||
|
In determining whether a product is a consumer product, doubtful cases shall
|
||||||
|
be resolved in favor of coverage. For a particular product received by a
|
||||||
|
particular user, "normally used" refers to a typical or common use of that
|
||||||
|
class of product, regardless of the status of the particular user or of the
|
||||||
|
way in which the particular user actually uses, or expects or is expected to
|
||||||
|
use, the product. A product is a consumer product regardless of whether the
|
||||||
|
product has substantial commercial, industrial or non-consumer uses, unless
|
||||||
|
such uses represent the only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods, procedures,
|
||||||
|
authorization keys, or other information required to install and execute
|
||||||
|
modified versions of a covered work in that User Product from a modified
|
||||||
|
version of its Corresponding Source. The information must suffice to ensure
|
||||||
|
that the continued functioning of the modified object code is in no case
|
||||||
|
prevented or interfered with solely because modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or
|
||||||
|
specifically for use in, a User Product, and the conveying occurs as part of
|
||||||
|
a transaction in which the right of possession and use of the User Product is
|
||||||
|
transferred to the recipient in perpetuity or for a fixed term (regardless of
|
||||||
|
how the transaction is characterized), the Corresponding Source conveyed
|
||||||
|
under this section must be accompanied by the Installation Information. But
|
||||||
|
this requirement does not apply if neither you nor any third party retains
|
||||||
|
the ability to install modified object code on the User Product (for example,
|
||||||
|
the work has been installed in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a
|
||||||
|
requirement to continue to provide support service, warranty, or updates for
|
||||||
|
a work that has been modified or installed by the recipient, or for the User
|
||||||
|
Product in which it has been modified or installed. Access to a network may
|
||||||
|
be denied when the modification itself materially and adversely affects the
|
||||||
|
operation of the network or violates the rules and protocols for
|
||||||
|
communication across the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided, in
|
||||||
|
accord with this section must be in a format that is publicly documented (and
|
||||||
|
with an implementation available to the public in source code form), and must
|
||||||
|
require no special password or key for unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this License
|
||||||
|
by making exceptions from one or more of its conditions. Additional
|
||||||
|
permissions that are applicable to the entire Program shall be treated as
|
||||||
|
though they were included in this License, to the extent that they are valid
|
||||||
|
under applicable law. If additional permissions apply only to part of the
|
||||||
|
Program, that part may be used separately under those permissions, but the
|
||||||
|
entire Program remains governed by this License without regard to the
|
||||||
|
additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option remove any
|
||||||
|
additional permissions from that copy, or from any part of it. (Additional
|
||||||
|
permissions may be written to require their own removal in certain cases when
|
||||||
|
you modify the work.) You may place additional permissions on material, added
|
||||||
|
by you to a covered work, for which you have or can give appropriate
|
||||||
|
copyright permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you add to
|
||||||
|
a covered work, you may (if authorized by the copyright holders of that
|
||||||
|
material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the terms
|
||||||
|
of sections 15 and 16 of this License; or
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or author
|
||||||
|
attributions in that material or in the Appropriate Legal Notices displayed
|
||||||
|
by works containing it; or
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or
|
||||||
|
requiring that modified versions of such material be marked in reasonable
|
||||||
|
ways as different from the original version; or
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or
|
||||||
|
authors of the material; or
|
||||||
|
e) Declining to grant rights under trademark law for use of some trade
|
||||||
|
names, trademarks, or service marks; or
|
||||||
|
f) Requiring indemnification of licensors and authors of that material by
|
||||||
|
anyone who conveys the material (or modified versions of it) with contractual
|
||||||
|
assumptions of liability to the recipient, for any liability that these
|
||||||
|
contractual assumptions directly impose on those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further
|
||||||
|
restrictions" within the meaning of section 10. If the Program as you
|
||||||
|
received it, or any part of it, contains a notice stating that it is governed
|
||||||
|
by this License along with a term that is a further restriction, you may
|
||||||
|
remove that term. If a license document contains a further restriction but
|
||||||
|
permits relicensing or conveying under this License, you may add to a covered
|
||||||
|
work material governed by the terms of that license document, provided that
|
||||||
|
the further restriction does not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you must
|
||||||
|
place, in the relevant source files, a statement of the additional terms that
|
||||||
|
apply to those files, or a notice indicating where to find the applicable
|
||||||
|
terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the form of
|
||||||
|
a separately written license, or stated as exceptions; the above requirements
|
||||||
|
apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly provided
|
||||||
|
under this License. Any attempt otherwise to propagate or modify it is void,
|
||||||
|
and will automatically terminate your rights under this License (including
|
||||||
|
any patent licenses granted under the third paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your license from a
|
||||||
|
particular copyright holder is reinstated (a) provisionally, unless and until
|
||||||
|
the copyright holder explicitly and finally terminates your license, and (b)
|
||||||
|
permanently, if the copyright holder fails to notify you of the violation by
|
||||||
|
some reasonable means prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is reinstated
|
||||||
|
permanently if the copyright holder notifies you of the violation by some
|
||||||
|
reasonable means, this is the first time you have received notice of
|
||||||
|
violation of this License (for any work) from that copyright holder, and you
|
||||||
|
cure the violation prior to 30 days after your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the licenses
|
||||||
|
of parties who have received copies or rights from you under this License. If
|
||||||
|
your rights have been terminated and not permanently reinstated, you do not
|
||||||
|
qualify to receive new licenses for the same material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or run a copy
|
||||||
|
of the Program. Ancillary propagation of a covered work occurring solely as a
|
||||||
|
consequence of using peer-to-peer transmission to receive a copy likewise
|
||||||
|
does not require acceptance. However, nothing other than this License grants
|
||||||
|
you permission to propagate or modify any covered work. These actions
|
||||||
|
infringe copyright if you do not accept this License. Therefore, by modifying
|
||||||
|
or propagating a covered work, you indicate your acceptance of this License
|
||||||
|
to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically receives a
|
||||||
|
license from the original licensors, to run, modify and propagate that work,
|
||||||
|
subject to this License. You are not responsible for enforcing compliance by
|
||||||
|
third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an
|
||||||
|
organization, or substantially all assets of one, or subdividing an
|
||||||
|
organization, or merging organizations. If propagation of a covered work
|
||||||
|
results from an entity transaction, each party to that transaction who
|
||||||
|
receives a copy of the work also receives whatever licenses to the work the
|
||||||
|
party's predecessor in interest had or could give under the previous
|
||||||
|
paragraph, plus a right to possession of the Corresponding Source of the work
|
||||||
|
from the predecessor in interest, if the predecessor has it or can get it
|
||||||
|
with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the rights
|
||||||
|
granted or affirmed under this License. For example, you may not impose a
|
||||||
|
license fee, royalty, or other charge for exercise of rights granted under
|
||||||
|
this License, and you may not initiate litigation (including a cross-claim or
|
||||||
|
counterclaim in a lawsuit) alleging that any patent claim is infringed by
|
||||||
|
making, using, selling, offering for sale, or importing the Program or any
|
||||||
|
portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this License
|
||||||
|
of the Program or a work on which the Program is based. The work thus
|
||||||
|
licensed is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims owned or
|
||||||
|
controlled by the contributor, whether already acquired or hereafter
|
||||||
|
acquired, that would be infringed by some manner, permitted by this License,
|
||||||
|
of making, using, or selling its contributor version, but do not include
|
||||||
|
claims that would be infringed only as a consequence of further modification
|
||||||
|
of the contributor version. For purposes of this definition, "control"
|
||||||
|
includes the right to grant patent sublicenses in a manner consistent with
|
||||||
|
the requirements of this License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free patent
|
||||||
|
license under the contributor's essential patent claims, to make, use, sell,
|
||||||
|
offer for sale, import and otherwise run, modify and propagate the contents
|
||||||
|
of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express
|
||||||
|
agreement or commitment, however denominated, not to enforce a patent (such
|
||||||
|
as an express permission to practice a patent or covenant not to sue for
|
||||||
|
patent infringement). To "grant" such a patent license to a party means to
|
||||||
|
make such an agreement or commitment not to enforce a patent against the
|
||||||
|
party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license, and the
|
||||||
|
Corresponding Source of the work is not available for anyone to copy, free of
|
||||||
|
charge and under the terms of this License, through a publicly available
|
||||||
|
network server or other readily accessible means, then you must either (1)
|
||||||
|
cause the Corresponding Source to be so available, or (2) arrange to deprive
|
||||||
|
yourself of the benefit of the patent license for this particular work, or
|
||||||
|
(3) arrange, in a manner consistent with the requirements of this License, to
|
||||||
|
extend the patent license to downstream recipients. "Knowingly relying" means
|
||||||
|
you have actual knowledge that, but for the patent license, your conveying
|
||||||
|
the covered work in a country, or your recipient's use of the covered work in
|
||||||
|
a country, would infringe one or more identifiable patents in that country
|
||||||
|
that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or arrangement,
|
||||||
|
you convey, or propagate by procuring conveyance of, a covered work, and
|
||||||
|
grant a patent license to some of the parties receiving the covered work
|
||||||
|
authorizing them to use, propagate, modify or convey a specific copy of the
|
||||||
|
covered work, then the patent license you grant is automatically extended to
|
||||||
|
all recipients of the covered work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within the scope
|
||||||
|
of its coverage, prohibits the exercise of, or is conditioned on the non-
|
||||||
|
exercise of one or more of the rights that are specifically granted under
|
||||||
|
this License. You may not convey a covered work if you are a party to an
|
||||||
|
arrangement with a third party that is in the business of distributing
|
||||||
|
software, under which you make payment to the third party based on the extent
|
||||||
|
of your activity of conveying the work, and under which the third party
|
||||||
|
grants, to any of the parties who would receive the covered work from you, a
|
||||||
|
discriminatory patent license (a) in connection with copies of the covered
|
||||||
|
work conveyed by you (or copies made from those copies), or (b) primarily for
|
||||||
|
and in connection with specific products or compilations that contain the
|
||||||
|
covered work, unless you entered into that arrangement, or that patent
|
||||||
|
license was granted, prior to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting any
|
||||||
|
implied license or other defenses to infringement that may otherwise be
|
||||||
|
available to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not excuse
|
||||||
|
you from the conditions of this License. If you cannot convey a covered work
|
||||||
|
so as to satisfy simultaneously your obligations under this License and any
|
||||||
|
other pertinent obligations, then as a consequence you may not convey it at
|
||||||
|
all. For example, if you agree to terms that obligate you to collect a
|
||||||
|
royalty for further conveying from those to whom you convey the Program, the
|
||||||
|
only way you could satisfy both those terms and this License would be to
|
||||||
|
refrain entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have permission to
|
||||||
|
link or combine any covered work with a work licensed under version 3 of the
|
||||||
|
GNU Affero General Public License into a single combined work, and to convey
|
||||||
|
the resulting work. The terms of this License will continue to apply to the
|
||||||
|
part which is the covered work, but the special requirements of the GNU
|
||||||
|
Affero General Public License, section 13, concerning interaction through a
|
||||||
|
network will apply to the combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of the
|
||||||
|
GNU General Public License from time to time. Such new versions will be
|
||||||
|
similar in spirit to the present version, but may differ in detail to address
|
||||||
|
new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies that a certain numbered version of the GNU General Public License
|
||||||
|
"or any later version" applies to it, you have the option of following the
|
||||||
|
terms and conditions either of that numbered version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Program does not specify a
|
||||||
|
version number of the GNU General Public License, you may choose any version
|
||||||
|
ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future versions of the
|
||||||
|
GNU General Public License can be used, that proxy's public statement of
|
||||||
|
acceptance of a version permanently authorizes you to choose that version for
|
||||||
|
the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different permissions.
|
||||||
|
However, no additional obligations are imposed on any author or copyright
|
||||||
|
holder as a result of your choosing to follow a later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
|
||||||
|
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||||
|
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
|
||||||
|
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
|
||||||
|
SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
|
||||||
|
SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
|
||||||
|
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE
|
||||||
|
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
|
||||||
|
OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
|
||||||
|
DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR
|
||||||
|
A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
|
||||||
|
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided above
|
||||||
|
cannot be given local legal effect according to their terms, reviewing courts
|
||||||
|
shall apply local law that most closely approximates an absolute waiver of
|
||||||
|
all civil liability in connection with the Program, unless a warranty or
|
||||||
|
assumption of liability accompanies a copy of the Program in return for a
|
||||||
|
fee.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest possible
|
||||||
|
use to the public, the best way to achieve this is to make it free software
|
||||||
|
which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest to attach
|
||||||
|
them to the start of each source file to most effectively state the exclusion
|
||||||
|
of warranty; and each file should have at least the "copyright" line and a
|
||||||
|
pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program 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 General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program does terminal interaction, make it output a short notice like
|
||||||
|
this when it starts in an interactive mode:
|
||||||
|
|
||||||
|
<program> Copyright (C) <year> <name of author>
|
||||||
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show
|
||||||
|
w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, your program's commands might
|
||||||
|
be different; for a GUI interface, you would use an "about box".
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or school, if
|
||||||
|
any, to sign a "copyright disclaimer" for the program, if necessary. For more
|
||||||
|
information on this, and how to apply and follow the GNU GPL, see
|
||||||
|
<https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
The GNU General Public License does not permit incorporating your program
|
||||||
|
into proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General Public
|
||||||
|
License instead of this License. But first, please read
|
||||||
|
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||||
|
|
||||||
|
______________
|
||||||
|
|
||||||
|
COPYING file last revised: July 22, 2022
|
386
COPYING.CDDL
Normal file
|
@ -0,0 +1,386 @@
|
||||||
|
Some source files in the VirtualBox Open Source Edition (OSE) are
|
||||||
|
dual-licensed under both the GNU General Public License V3.0 (GPL3, see
|
||||||
|
the COPYING file) and the Common Development and Distribution License,
|
||||||
|
Version 1.0 (CDDL), as shown below. This applies only to source files
|
||||||
|
where this dual-licensing is explicitly worded in the file's header.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
COMMON DEVELOPMENT AND DISTRIBUTION LICENSE Version 1.0
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
1.1. "Contributor" means each individual or entity that creates
|
||||||
|
or contributes to the creation of Modifications.
|
||||||
|
|
||||||
|
1.2. "Contributor Version" means the combination of the Original
|
||||||
|
Software, prior Modifications used by a Contributor (if any),
|
||||||
|
and the Modifications made by that particular Contributor.
|
||||||
|
|
||||||
|
1.3. "Covered Software" means (a) the Original Software, or (b)
|
||||||
|
Modifications, or (c) the combination of files containing
|
||||||
|
Original Software with files containing Modifications, in
|
||||||
|
each case including portions thereof.
|
||||||
|
|
||||||
|
1.4. "Executable" means the Covered Software in any form other
|
||||||
|
than Source Code.
|
||||||
|
|
||||||
|
1.5. "Initial Developer" means the individual or entity that first
|
||||||
|
makes Original Software available under this License.
|
||||||
|
|
||||||
|
1.6. "Larger Work" means a work which combines Covered Software or
|
||||||
|
portions thereof with code not governed by the terms of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
1.7. "License" means this document.
|
||||||
|
|
||||||
|
1.8. "Licensable" means having the right to grant, to the maximum
|
||||||
|
extent possible, whether at the time of the initial grant or
|
||||||
|
subsequently acquired, any and all of the rights conveyed
|
||||||
|
herein.
|
||||||
|
|
||||||
|
1.9. "Modifications" means the Source Code and Executable form of
|
||||||
|
any of the following:
|
||||||
|
|
||||||
|
A. Any file that results from an addition to, deletion from or
|
||||||
|
modification of the contents of a file containing Original
|
||||||
|
Software or previous Modifications;
|
||||||
|
|
||||||
|
B. Any new file that contains any part of the Original
|
||||||
|
Software or previous Modifications; or
|
||||||
|
|
||||||
|
C. Any new file that is contributed or otherwise made
|
||||||
|
available under the terms of this License.
|
||||||
|
|
||||||
|
1.10. "Original Software" means the Source Code and Executable
|
||||||
|
form of computer software code that is originally released
|
||||||
|
under this License.
|
||||||
|
|
||||||
|
1.11. "Patent Claims" means any patent claim(s), now owned or
|
||||||
|
hereafter acquired, including without limitation, method,
|
||||||
|
process, and apparatus claims, in any patent Licensable by
|
||||||
|
grantor.
|
||||||
|
|
||||||
|
1.12. "Source Code" means (a) the common form of computer software
|
||||||
|
code in which modifications are made and (b) associated
|
||||||
|
documentation included in or with such code.
|
||||||
|
|
||||||
|
1.13. "You" (or "Your") means an individual or a legal entity
|
||||||
|
exercising rights under, and complying with all of the terms
|
||||||
|
of, this License. For legal entities, "You" includes any
|
||||||
|
entity which controls, is controlled by, or is under common
|
||||||
|
control with You. For purposes of this definition,
|
||||||
|
"control" means (a) the power, direct or indirect, to cause
|
||||||
|
the direction or management of such entity, whether by
|
||||||
|
contract or otherwise, or (b) ownership of more than fifty
|
||||||
|
percent (50%) of the outstanding shares or beneficial
|
||||||
|
ownership of such entity.
|
||||||
|
|
||||||
|
2. License Grants.
|
||||||
|
|
||||||
|
2.1. The Initial Developer Grant.
|
||||||
|
|
||||||
|
Conditioned upon Your compliance with Section 3.1 below and
|
||||||
|
subject to third party intellectual property claims, the Initial
|
||||||
|
Developer hereby grants You a world-wide, royalty-free,
|
||||||
|
non-exclusive license:
|
||||||
|
|
||||||
|
(a) under intellectual property rights (other than patent or
|
||||||
|
trademark) Licensable by Initial Developer, to use,
|
||||||
|
reproduce, modify, display, perform, sublicense and
|
||||||
|
distribute the Original Software (or portions thereof),
|
||||||
|
with or without Modifications, and/or as part of a Larger
|
||||||
|
Work; and
|
||||||
|
|
||||||
|
(b) under Patent Claims infringed by the making, using or
|
||||||
|
selling of Original Software, to make, have made, use,
|
||||||
|
practice, sell, and offer for sale, and/or otherwise
|
||||||
|
dispose of the Original Software (or portions thereof).
|
||||||
|
|
||||||
|
(c) The licenses granted in Sections 2.1(a) and (b) are
|
||||||
|
effective on the date Initial Developer first distributes
|
||||||
|
or otherwise makes the Original Software available to a
|
||||||
|
third party under the terms of this License.
|
||||||
|
|
||||||
|
(d) Notwithstanding Section 2.1(b) above, no patent license is
|
||||||
|
granted: (1) for code that You delete from the Original
|
||||||
|
Software, or (2) for infringements caused by: (i) the
|
||||||
|
modification of the Original Software, or (ii) the
|
||||||
|
combination of the Original Software with other software
|
||||||
|
or devices.
|
||||||
|
|
||||||
|
2.2. Contributor Grant.
|
||||||
|
|
||||||
|
Conditioned upon Your compliance with Section 3.1 below and
|
||||||
|
subject to third party intellectual property claims, each
|
||||||
|
Contributor hereby grants You a world-wide, royalty-free,
|
||||||
|
non-exclusive license:
|
||||||
|
|
||||||
|
(a) under intellectual property rights (other than patent or
|
||||||
|
trademark) Licensable by Contributor to use, reproduce,
|
||||||
|
modify, display, perform, sublicense and distribute the
|
||||||
|
Modifications created by such Contributor (or portions
|
||||||
|
thereof), either on an unmodified basis, with other
|
||||||
|
Modifications, as Covered Software and/or as part of a
|
||||||
|
Larger Work; and
|
||||||
|
|
||||||
|
(b) under Patent Claims infringed by the making, using, or
|
||||||
|
selling of Modifications made by that Contributor either
|
||||||
|
alone and/or in combination with its Contributor Version
|
||||||
|
(or portions of such combination), to make, use, sell,
|
||||||
|
offer for sale, have made, and/or otherwise dispose of:
|
||||||
|
(1) Modifications made by that Contributor (or portions
|
||||||
|
thereof); and (2) the combination of Modifications made by
|
||||||
|
that Contributor with its Contributor Version (or portions
|
||||||
|
of such combination).
|
||||||
|
|
||||||
|
(c) The licenses granted in Sections 2.2(a) and 2.2(b) are
|
||||||
|
effective on the date Contributor first distributes or
|
||||||
|
otherwise makes the Modifications available to a third
|
||||||
|
party.
|
||||||
|
|
||||||
|
(d) Notwithstanding Section 2.2(b) above, no patent license is
|
||||||
|
granted: (1) for any code that Contributor has deleted
|
||||||
|
from the Contributor Version; (2) for infringements caused
|
||||||
|
by: (i) third party modifications of Contributor Version,
|
||||||
|
or (ii) the combination of Modifications made by that
|
||||||
|
Contributor with other software (except as part of the
|
||||||
|
Contributor Version) or other devices; or (3) under Patent
|
||||||
|
Claims infringed by Covered Software in the absence of
|
||||||
|
Modifications made by that Contributor.
|
||||||
|
|
||||||
|
3. Distribution Obligations.
|
||||||
|
|
||||||
|
3.1. Availability of Source Code.
|
||||||
|
|
||||||
|
Any Covered Software that You distribute or otherwise make
|
||||||
|
available in Executable form must also be made available in Source
|
||||||
|
Code form and that Source Code form must be distributed only under
|
||||||
|
the terms of this License. You must include a copy of this
|
||||||
|
License with every copy of the Source Code form of the Covered
|
||||||
|
Software You distribute or otherwise make available. You must
|
||||||
|
inform recipients of any such Covered Software in Executable form
|
||||||
|
as to how they can obtain such Covered Software in Source Code
|
||||||
|
form in a reasonable manner on or through a medium customarily
|
||||||
|
used for software exchange.
|
||||||
|
|
||||||
|
3.2. Modifications.
|
||||||
|
|
||||||
|
The Modifications that You create or to which You contribute are
|
||||||
|
governed by the terms of this License. You represent that You
|
||||||
|
believe Your Modifications are Your original creation(s) and/or
|
||||||
|
You have sufficient rights to grant the rights conveyed by this
|
||||||
|
License.
|
||||||
|
|
||||||
|
3.3. Required Notices.
|
||||||
|
|
||||||
|
You must include a notice in each of Your Modifications that
|
||||||
|
identifies You as the Contributor of the Modification. You may
|
||||||
|
not remove or alter any copyright, patent or trademark notices
|
||||||
|
contained within the Covered Software, or any notices of licensing
|
||||||
|
or any descriptive text giving attribution to any Contributor or
|
||||||
|
the Initial Developer.
|
||||||
|
|
||||||
|
3.4. Application of Additional Terms.
|
||||||
|
|
||||||
|
You may not offer or impose any terms on any Covered Software in
|
||||||
|
Source Code form that alters or restricts the applicable version
|
||||||
|
of this License or the recipients' rights hereunder. You may
|
||||||
|
choose to offer, and to charge a fee for, warranty, support,
|
||||||
|
indemnity or liability obligations to one or more recipients of
|
||||||
|
Covered Software. However, you may do so only on Your own behalf,
|
||||||
|
and not on behalf of the Initial Developer or any Contributor.
|
||||||
|
You must make it absolutely clear that any such warranty, support,
|
||||||
|
indemnity or liability obligation is offered by You alone, and You
|
||||||
|
hereby agree to indemnify the Initial Developer and every
|
||||||
|
Contributor for any liability incurred by the Initial Developer or
|
||||||
|
such Contributor as a result of warranty, support, indemnity or
|
||||||
|
liability terms You offer.
|
||||||
|
|
||||||
|
3.5. Distribution of Executable Versions.
|
||||||
|
|
||||||
|
You may distribute the Executable form of the Covered Software
|
||||||
|
under the terms of this License or under the terms of a license of
|
||||||
|
Your choice, which may contain terms different from this License,
|
||||||
|
provided that You are in compliance with the terms of this License
|
||||||
|
and that the license for the Executable form does not attempt to
|
||||||
|
limit or alter the recipient's rights in the Source Code form from
|
||||||
|
the rights set forth in this License. If You distribute the
|
||||||
|
Covered Software in Executable form under a different license, You
|
||||||
|
must make it absolutely clear that any terms which differ from
|
||||||
|
this License are offered by You alone, not by the Initial
|
||||||
|
Developer or Contributor. You hereby agree to indemnify the
|
||||||
|
Initial Developer and every Contributor for any liability incurred
|
||||||
|
by the Initial Developer or such Contributor as a result of any
|
||||||
|
such terms You offer.
|
||||||
|
|
||||||
|
3.6. Larger Works.
|
||||||
|
|
||||||
|
You may create a Larger Work by combining Covered Software with
|
||||||
|
other code not governed by the terms of this License and
|
||||||
|
distribute the Larger Work as a single product. In such a case,
|
||||||
|
You must make sure the requirements of this License are fulfilled
|
||||||
|
for the Covered Software.
|
||||||
|
|
||||||
|
4. Versions of the License.
|
||||||
|
|
||||||
|
4.1. New Versions.
|
||||||
|
|
||||||
|
Sun Microsystems, Inc. is the initial license steward and may
|
||||||
|
publish revised and/or new versions of this License from time to
|
||||||
|
time. Each version will be given a distinguishing version number.
|
||||||
|
Except as provided in Section 4.3, no one other than the license
|
||||||
|
steward has the right to modify this License.
|
||||||
|
|
||||||
|
4.2. Effect of New Versions.
|
||||||
|
|
||||||
|
You may always continue to use, distribute or otherwise make the
|
||||||
|
Covered Software available under the terms of the version of the
|
||||||
|
License under which You originally received the Covered Software.
|
||||||
|
If the Initial Developer includes a notice in the Original
|
||||||
|
Software prohibiting it from being distributed or otherwise made
|
||||||
|
available under any subsequent version of the License, You must
|
||||||
|
distribute and make the Covered Software available under the terms
|
||||||
|
of the version of the License under which You originally received
|
||||||
|
the Covered Software. Otherwise, You may also choose to use,
|
||||||
|
distribute or otherwise make the Covered Software available under
|
||||||
|
the terms of any subsequent version of the License published by
|
||||||
|
the license steward.
|
||||||
|
|
||||||
|
4.3. Modified Versions.
|
||||||
|
|
||||||
|
When You are an Initial Developer and You want to create a new
|
||||||
|
license for Your Original Software, You may create and use a
|
||||||
|
modified version of this License if You: (a) rename the license
|
||||||
|
and remove any references to the name of the license steward
|
||||||
|
(except to note that the license differs from this License); and
|
||||||
|
(b) otherwise make it clear that the license contains terms which
|
||||||
|
differ from this License.
|
||||||
|
|
||||||
|
5. DISCLAIMER OF WARRANTY.
|
||||||
|
|
||||||
|
COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
|
||||||
|
BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
||||||
|
INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
|
||||||
|
SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
|
||||||
|
PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||||
|
PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
|
||||||
|
COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
|
||||||
|
INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY
|
||||||
|
NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
|
||||||
|
WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
|
||||||
|
ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
|
||||||
|
DISCLAIMER.
|
||||||
|
|
||||||
|
6. TERMINATION.
|
||||||
|
|
||||||
|
6.1. This License and the rights granted hereunder will terminate
|
||||||
|
automatically if You fail to comply with terms herein and fail to
|
||||||
|
cure such breach within 30 days of becoming aware of the breach.
|
||||||
|
Provisions which, by their nature, must remain in effect beyond
|
||||||
|
the termination of this License shall survive.
|
||||||
|
|
||||||
|
6.2. If You assert a patent infringement claim (excluding
|
||||||
|
declaratory judgment actions) against Initial Developer or a
|
||||||
|
Contributor (the Initial Developer or Contributor against whom You
|
||||||
|
assert such claim is referred to as "Participant") alleging that
|
||||||
|
the Participant Software (meaning the Contributor Version where
|
||||||
|
the Participant is a Contributor or the Original Software where
|
||||||
|
the Participant is the Initial Developer) directly or indirectly
|
||||||
|
infringes any patent, then any and all rights granted directly or
|
||||||
|
indirectly to You by such Participant, the Initial Developer (if
|
||||||
|
the Initial Developer is not the Participant) and all Contributors
|
||||||
|
under Sections 2.1 and/or 2.2 of this License shall, upon 60 days
|
||||||
|
notice from Participant terminate prospectively and automatically
|
||||||
|
at the expiration of such 60 day notice period, unless if within
|
||||||
|
such 60 day period You withdraw Your claim with respect to the
|
||||||
|
Participant Software against such Participant either unilaterally
|
||||||
|
or pursuant to a written agreement with Participant.
|
||||||
|
|
||||||
|
6.3. In the event of termination under Sections 6.1 or 6.2 above,
|
||||||
|
all end user licenses that have been validly granted by You or any
|
||||||
|
distributor hereunder prior to termination (excluding licenses
|
||||||
|
granted to You by any distributor) shall survive termination.
|
||||||
|
|
||||||
|
7. LIMITATION OF LIABILITY.
|
||||||
|
|
||||||
|
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
|
||||||
|
(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
|
||||||
|
INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
|
||||||
|
COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
|
||||||
|
LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
|
||||||
|
CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
|
||||||
|
LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
|
||||||
|
STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
|
||||||
|
COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
|
||||||
|
INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
|
||||||
|
LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
|
||||||
|
INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
|
||||||
|
APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
|
||||||
|
NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
|
||||||
|
CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
|
||||||
|
APPLY TO YOU.
|
||||||
|
|
||||||
|
8. U.S. GOVERNMENT END USERS.
|
||||||
|
|
||||||
|
The Covered Software is a "commercial item," as that term is
|
||||||
|
defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
|
||||||
|
computer software" (as that term is defined at 48
|
||||||
|
C.F.R. 252.227-7014(a)(1)) and "commercial computer software
|
||||||
|
documentation" as such terms are used in 48 C.F.R. 12.212
|
||||||
|
(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48
|
||||||
|
C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all
|
||||||
|
U.S. Government End Users acquire Covered Software with only those
|
||||||
|
rights set forth herein. This U.S. Government Rights clause is in
|
||||||
|
lieu of, and supersedes, any other FAR, DFAR, or other clause or
|
||||||
|
provision that addresses Government rights in computer software
|
||||||
|
under this License.
|
||||||
|
|
||||||
|
9. MISCELLANEOUS.
|
||||||
|
|
||||||
|
This License represents the complete agreement concerning subject
|
||||||
|
matter hereof. If any provision of this License is held to be
|
||||||
|
unenforceable, such provision shall be reformed only to the extent
|
||||||
|
necessary to make it enforceable. This License shall be governed
|
||||||
|
by the law of the jurisdiction specified in a notice contained
|
||||||
|
within the Original Software (except to the extent applicable law,
|
||||||
|
if any, provides otherwise), excluding such jurisdiction's
|
||||||
|
conflict-of-law provisions. Any litigation relating to this
|
||||||
|
License shall be subject to the jurisdiction of the courts located
|
||||||
|
in the jurisdiction and venue specified in a notice contained
|
||||||
|
within the Original Software, with the losing party responsible
|
||||||
|
for costs, including, without limitation, court costs and
|
||||||
|
reasonable attorneys' fees and expenses. The application of the
|
||||||
|
United Nations Convention on Contracts for the International Sale
|
||||||
|
of Goods is expressly excluded. Any law or regulation which
|
||||||
|
provides that the language of a contract shall be construed
|
||||||
|
against the drafter shall not apply to this License. You agree
|
||||||
|
that You alone are responsible for compliance with the United
|
||||||
|
States export administration regulations (and the export control
|
||||||
|
laws and regulation of any other countries) when You use,
|
||||||
|
distribute or otherwise make available any Covered Software.
|
||||||
|
|
||||||
|
10. RESPONSIBILITY FOR CLAIMS.
|
||||||
|
|
||||||
|
As between Initial Developer and the Contributors, each party is
|
||||||
|
responsible for claims and damages arising, directly or
|
||||||
|
indirectly, out of its utilization of rights under this License
|
||||||
|
and You agree to work with Initial Developer and Contributors to
|
||||||
|
distribute such responsibility on an equitable basis. Nothing
|
||||||
|
herein is intended or shall be deemed to constitute any admission
|
||||||
|
of liability.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
|
NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND
|
||||||
|
DISTRIBUTION LICENSE (CDDL)
|
||||||
|
|
||||||
|
For Covered Software in this distribution, this License shall
|
||||||
|
be governed by the laws of the State of California (excluding
|
||||||
|
conflict-of-law provisions).
|
||||||
|
|
||||||
|
Any litigation relating to this License shall be subject to the
|
||||||
|
jurisdiction of the Federal Courts of the Northern District of
|
||||||
|
California and the state courts of the State of California, with
|
||||||
|
venue lying in Santa Clara County, California.
|
9162
Config.kmk
Normal file
963
Doxyfile.Core
Normal file
|
@ -0,0 +1,963 @@
|
||||||
|
# Doxyfile 1.9.6
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Project related configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
DOXYFILE_ENCODING = UTF-8
|
||||||
|
PROJECT_NAME = VBox
|
||||||
|
PROJECT_NUMBER =
|
||||||
|
PROJECT_BRIEF =
|
||||||
|
PROJECT_LOGO =
|
||||||
|
# OUTPUT_DIRECTORY = later
|
||||||
|
CREATE_SUBDIRS = NO
|
||||||
|
CREATE_SUBDIRS_LEVEL = 8
|
||||||
|
ALLOW_UNICODE_NAMES = NO
|
||||||
|
OUTPUT_LANGUAGE = English
|
||||||
|
BRIEF_MEMBER_DESC = YES
|
||||||
|
REPEAT_BRIEF = YES
|
||||||
|
ABBREVIATE_BRIEF =
|
||||||
|
ALWAYS_DETAILED_SEC = NO
|
||||||
|
INLINE_INHERITED_MEMB = NO
|
||||||
|
FULL_PATH_NAMES = NO
|
||||||
|
STRIP_FROM_PATH =
|
||||||
|
STRIP_FROM_INC_PATH =
|
||||||
|
SHORT_NAMES = NO
|
||||||
|
JAVADOC_AUTOBRIEF = YES
|
||||||
|
JAVADOC_BANNER = NO
|
||||||
|
QT_AUTOBRIEF = NO
|
||||||
|
MULTILINE_CPP_IS_BRIEF = NO
|
||||||
|
PYTHON_DOCSTRING = YES
|
||||||
|
INHERIT_DOCS = YES
|
||||||
|
SEPARATE_MEMBER_PAGES = NO
|
||||||
|
TAB_SIZE = 4
|
||||||
|
ALIASES = \
|
||||||
|
"note=@remark" \
|
||||||
|
"thread=@par Thread Context:^^" \
|
||||||
|
"vmstate=@par VM State In:^^" \
|
||||||
|
"vmstateto=@par VM State Out:^^"
|
||||||
|
|
||||||
|
# Input / output paragraphs.
|
||||||
|
ALIASES += \
|
||||||
|
"output=@par Output:^^" \
|
||||||
|
"input=@par Input:^^"
|
||||||
|
|
||||||
|
# Interface method implementation macros.
|
||||||
|
ALIASES += \
|
||||||
|
interface_method_impl{2}="Implements \1 method \link \1::\2 \2 \endlink @copydoc \1::\2 "
|
||||||
|
ALIASES += \
|
||||||
|
interface_method_impl{3}="\3. \
|
||||||
|
\
|
||||||
|
Implements \1 method \link \1::\2 \2 \endlink @copydoc \1::\2 "
|
||||||
|
|
||||||
|
# Callback method implementation macros.
|
||||||
|
ALIASES += \
|
||||||
|
callback_method_impl{2}="\2. \
|
||||||
|
\
|
||||||
|
Implements the callback \link \1 \1 \endlink "
|
||||||
|
ALIASES += \
|
||||||
|
callback_method_impl{1}="Implements the callback \link \1 \1 \endlink @copydoc \1 "
|
||||||
|
|
||||||
|
# The following is for Global Configuration options.
|
||||||
|
ALIASES += \
|
||||||
|
gcfgm{6}="\xrefitem lst_gcfgm \"Global VM Config: \1\" \"Global Configuration Values\" \
|
||||||
|
<b>Name:</b> \1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Unit:</b> \6 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
<b>Default:</b> \5 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
gcfgm{5}="\xrefitem lst_gcfgm \"Global VM Config: \1\" \"Global Configuration Values\" \
|
||||||
|
<b>Name:</b> \1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
<b>Default:</b> \5 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
gcfgm{4}="\xrefitem lst_gcfgm \"Global VM Config: \1\" \"Global Configuration Values\" \
|
||||||
|
<b>Name:</b> \1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
gcfgm{3}="\xrefitem lst_gcfgm \"Global VM Config: \1\" \"Global Configuration Values\" \
|
||||||
|
<b>Name:</b> \1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Default:</b> \3 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
gcfgm{2}="\xrefitem lst_gcfgm \"Global VM Config: \1\" \"Global Configuration Values\" \
|
||||||
|
<b>Name:</b> \1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
"
|
||||||
|
|
||||||
|
# The following is for per-VM Configuration options.
|
||||||
|
ALIASES += \
|
||||||
|
cfgm{6}="\xrefitem lst_cfgm \"VM Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> \1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Unit:</b> \6 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
<b>Default:</b> \5 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
cfgm{5}="\xrefitem lst_cfgm \"VM Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> \1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
<b>Default:</b> \5 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
cfgm{4}="\xrefitem lst_cfgm \"VM Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> \1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
cfgm{3}="\xrefitem lst_cfgm \"VM Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> \1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Default:</b> \3 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
cfgm{2}="\xrefitem lst_cfgm \"VM Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> \1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
"
|
||||||
|
|
||||||
|
# The following is for device configuration options.
|
||||||
|
ALIASES += \
|
||||||
|
devcfgm{7}="\xrefitem lst_cfgm \"Device Config: \1/\2\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> /Devices/\1/#/Config/\2 <br> \
|
||||||
|
<b>Type:</b> \3 <br> \
|
||||||
|
<b>Unit:</b> \7 <br> \
|
||||||
|
<b>Min:</b> \4 <br> \
|
||||||
|
<b>Max:</b> \5 <br> \
|
||||||
|
<b>Default:</b> \6 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
devcfgm{6}="\xrefitem lst_cfgm \"Device Config: \1/\2\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> /Devices/\1/#1/Config/\2 <br> \
|
||||||
|
<b>Type:</b> \3 <br> \
|
||||||
|
<b>Min:</b> \4 <br> \
|
||||||
|
<b>Max:</b> \5 <br> \
|
||||||
|
<b>Default:</b> \6 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
devcfgm{5}="\xrefitem lst_cfgm \"Device Config: \1/\2\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> /Devices\1/#1/Config/\2 <br> \
|
||||||
|
<b>Type:</b> \3 <br> \
|
||||||
|
<b>Min:</b> \4 <br> \
|
||||||
|
<b>Max:</b> \5 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
devcfgm{4}="\xrefitem lst_cfgm \"Device Config: \1/\2\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> /Devices\1/#1/Config/\2 <br> \
|
||||||
|
<b>Type:</b> \3 <br> \
|
||||||
|
<b>Default:</b> \4 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
devcfgm{3}="\xrefitem lst_cfgm \"Device Config: \1/\2\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> /Devices\1/#1/Config/\2 <br> \
|
||||||
|
<b>Type:</b> \3 <br> \
|
||||||
|
"
|
||||||
|
|
||||||
|
# The following is for driver configuration options.
|
||||||
|
ALIASES += \
|
||||||
|
drvcfgm{6}="\xrefitem lst_cfgm \"Driver Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> [Driver Instance]/\1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Unit:</b> \6 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
<b>Default:</b> \5 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
drvcfgm{5}="\xrefitem lst_cfgm \"Driver Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> [Driver Instance]/\1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
<b>Default:</b> \5 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
drvcfgm{4}="\xrefitem lst_cfgm \"Driver Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> [Driver Instance]/\1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
drvcfgm{3}="\xrefitem lst_cfgm \"Driver Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> [Driver Instance]/\1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Default:</b> \3 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
drvcfgm{2}="\xrefitem lst_cfgm \"Driver Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> [Driver Instance]/\1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
"
|
||||||
|
|
||||||
|
# The following is for USB device configuration options.
|
||||||
|
ALIASES += \
|
||||||
|
usbcfgm{6}="\xrefitem lst_cfgm \"USB Device Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> [USB Device Instance]/\1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Unit:</b> \6 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
<b>Default:</b> \5 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
usbcfgm{5}="\xrefitem lst_cfgm \"USB Device Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> [USB Device Instance]/\1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
<b>Default:</b> \5 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
usbcfgm{4}="\xrefitem lst_cfgm \"USB Device Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> [USB Device Instance]/\1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Min:</b> \3 <br> \
|
||||||
|
<b>Max:</b> \4 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
usbcfgm{3}="\xrefitem lst_cfgm \"USB Device Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> [USB Device Instance]/\1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
<b>Default:</b> \3 <br> \
|
||||||
|
"
|
||||||
|
ALIASES += \
|
||||||
|
usbcfgm{2}="\xrefitem lst_cfgm \"USB Device Config: \1\" \"VM Configuration Values\" \
|
||||||
|
<b>Name:</b> [USB Device Instance]/\1 <br> \
|
||||||
|
<b>Type:</b> \2 <br> \
|
||||||
|
"
|
||||||
|
|
||||||
|
# UDF spec reference - 1=section, 2=page
|
||||||
|
ALIASES += udf260{2}="<a href=\"http://www.osta.org/specs/pdf/udf260.pdf#page=\2\">UDF-2.60:\1</a>"
|
||||||
|
# Generic ECMA spec reference - 1=spec-number 2=section, 3=page
|
||||||
|
ALIASES += ecma{3}="<a href=\"https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-\1.pdf#page=\3\">ECMA-\1:\2</a>"
|
||||||
|
# ECMA-167 spec reference - 1=part 2=section, 3=page
|
||||||
|
ALIASES += ecma167{3}="\ecma{167,Part\1/\2,\3}"
|
||||||
|
|
||||||
|
# Internal: 1=doc number; 2=file base name; 3=revision (077); 4=page; 5=doc name; 6=section/table/figure; 7=title
|
||||||
|
ALIASES += sdm{7}="<a href=\"https://www.intel.com/content/dam/develop/public/us/en/documents/\1-\2.pdf#page=\4\">\5:\6 \"\7\"</a>"
|
||||||
|
#ALIASES += sdm{7}="<a href=\"https://kib.kiev.ua/x86docs/Intel/SDMs/\1-\3.pdf#page=\4\">\5:\6 \"\7\"</a>"
|
||||||
|
|
||||||
|
# Intel Architecture Software Developer Manuals - 1=revision (xxx) 2=page, 3=section/table/figure 4=title
|
||||||
|
# Note! We can only link to pages not to sections, figures or tables.
|
||||||
|
ALIASES += sdmv1{3}="\sdm{253665,sdm-vol-1,\1,\2,SDMv1,\3}"
|
||||||
|
ALIASES += sdmv1{4}="\sdm{253665,sdm-vol-1,\1,\2,SDMv1,\3,\4}"
|
||||||
|
ALIASES += sdmv2{3}="\sdm{325383,sdm-vol-2abcd,\1,\2,SDMv2,\3}"
|
||||||
|
ALIASES += sdmv2{4}="\sdm{325383,sdm-vol-2abcd,\1,\2,SDMv2,\3,\4}"
|
||||||
|
ALIASES += sdmv3{3}="\sdm{325384,sdm-vol-3abcd,\1,\2,SDMv3,\3}"
|
||||||
|
ALIASES += sdmv3{4}="\sdm{325384,sdm-vol-3abcd,\1,\2,SDMv3,\3,\4}"
|
||||||
|
ALIASES += sdmv4{3}="\sdm{335592,sdm-vol-4,\1,\2,SDMv4,\3}"
|
||||||
|
ALIASES += sdmv4{4}="\sdm{335592,sdm-vol-4,\1,\2,SDMv4,\3,\4}"
|
||||||
|
|
||||||
|
# For IEM opcode specs.
|
||||||
|
ALIASES += opbrief=""
|
||||||
|
ALIASES += opdesc=""
|
||||||
|
ALIASES += opmnemonic="Mnemonic: "
|
||||||
|
ALIASES += op1="Operand \#1: "
|
||||||
|
ALIASES += op2="Operand \#2: "
|
||||||
|
ALIASES += op3="Operand \#3: "
|
||||||
|
ALIASES += op4="Operand \#4: "
|
||||||
|
ALIASES += oppfx="Req.Prefix: "
|
||||||
|
ALIASES += opmaps="Opcode Maps: "
|
||||||
|
ALIASES += opcode="Opcode Byte: "
|
||||||
|
ALIASES += opcodesub="Opcode Sub-Byte: "
|
||||||
|
ALIASES += openc="Encoding: "
|
||||||
|
ALIASES += opfltest="EFLAGS Tested: "
|
||||||
|
ALIASES += opflmodify="EFLAGS Modified: "
|
||||||
|
ALIASES += opflundef="EFLAGS Undefined: "
|
||||||
|
ALIASES += opflset="EFLAGS Set: "
|
||||||
|
ALIASES += opflclear="EFLAGS Cleared: "
|
||||||
|
ALIASES += ophints="Hints, Flags, ++: "
|
||||||
|
ALIASES += opdisenum="Disassembler Enum: "
|
||||||
|
ALIASES += opmincpu="Minimum CPU: "
|
||||||
|
ALIASES += opcpuid="CPUID: "
|
||||||
|
ALIASES += opxcpttype="Exception Type: "
|
||||||
|
ALIASES += opgroup="@ingroup "
|
||||||
|
ALIASES += opunused="Unused Encoding: "
|
||||||
|
ALIASES += opinvalid="Invalid Encoding: "
|
||||||
|
ALIASES += opinvlstyle="Invalid/Unused Encoding Style: "
|
||||||
|
ALIASES += optest="Testcase: "
|
||||||
|
ALIASES += opcopytests="Testcase: Same as "
|
||||||
|
ALIASES += opstats="IEM Stats:"
|
||||||
|
ALIASES += opfunction="IEM Function"
|
||||||
|
ALIASES += opdone="-------------------------"
|
||||||
|
|
||||||
|
|
||||||
|
# bugref - xTracker bug reference, takes one to four bug numbers.
|
||||||
|
ALIASES += bugref{1}="https://xtracker.innotek.de/index.php?bug=\1"
|
||||||
|
ALIASES += bugref{2}="https://xtracker.innotek.de/index.php?bug=\1, \
|
||||||
|
https://xtracker.innotek.de/index.php?bug=\2"
|
||||||
|
ALIASES += bugref{3}="https://xtracker.innotek.de/index.php?bug=\1, \
|
||||||
|
https://xtracker.innotek.de/index.php?bug=\2, \
|
||||||
|
https://xtracker.innotek.de/index.php?bug=\3"
|
||||||
|
ALIASES += bugref{4}="https://xtracker.innotek.de/index.php?bug=\1, \
|
||||||
|
https://xtracker.innotek.de/index.php?bug=\2, \
|
||||||
|
https://xtracker.innotek.de/index.php?bug=\3, \
|
||||||
|
https://xtracker.innotek.de/index.php?bug=\4"
|
||||||
|
|
||||||
|
# ticketref - Track ticket reference, takes one to four ticket numbers.
|
||||||
|
ALIASES += ticketref{1}="http://www.virtualbox.org/ticket/\1"
|
||||||
|
ALIASES += ticketref{2}="http://www.virtualbox.org/ticket/\1, \
|
||||||
|
http://www.virtualbox.org/ticket/\2"
|
||||||
|
ALIASES += ticketref{3}="http://www.virtualbox.org/ticket/\1, \
|
||||||
|
http://www.virtualbox.org/ticket/\2, \
|
||||||
|
http://www.virtualbox.org/ticket/\3"
|
||||||
|
ALIASES += ticketref{4}="http://www.virtualbox.org/ticket/\1, \
|
||||||
|
http://www.virtualbox.org/ticket/\2, \
|
||||||
|
http://www.virtualbox.org/ticket/\3, \
|
||||||
|
http://www.virtualbox.org/ticket/\4"
|
||||||
|
|
||||||
|
|
||||||
|
OPTIMIZE_OUTPUT_FOR_C = YES
|
||||||
|
OPTIMIZE_OUTPUT_JAVA = NO
|
||||||
|
OPTIMIZE_FOR_FORTRAN = NO
|
||||||
|
OPTIMIZE_OUTPUT_VHDL = NO
|
||||||
|
OPTIMIZE_OUTPUT_SLICE = NO
|
||||||
|
EXTENSION_MAPPING =
|
||||||
|
MARKDOWN_SUPPORT = YES
|
||||||
|
TOC_INCLUDE_HEADINGS = 5
|
||||||
|
AUTOLINK_SUPPORT = YES
|
||||||
|
BUILTIN_STL_SUPPORT = NO
|
||||||
|
CPP_CLI_SUPPORT = NO
|
||||||
|
SIP_SUPPORT = NO
|
||||||
|
IDL_PROPERTY_SUPPORT = YES
|
||||||
|
DISTRIBUTE_GROUP_DOC = NO
|
||||||
|
SUBGROUPING = YES
|
||||||
|
INLINE_GROUPED_CLASSES = NO
|
||||||
|
INLINE_SIMPLE_STRUCTS = NO
|
||||||
|
TYPEDEF_HIDES_STRUCT = NO
|
||||||
|
LOOKUP_CACHE_SIZE = 0
|
||||||
|
NUM_PROC_THREADS = 0
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Build related configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
EXTRACT_ALL = YES
|
||||||
|
EXTRACT_PRIVATE = YES
|
||||||
|
EXTRACT_PRIV_VIRTUAL = NO
|
||||||
|
EXTRACT_PACKAGE = NO
|
||||||
|
EXTRACT_STATIC = YES
|
||||||
|
EXTRACT_LOCAL_CLASSES = YES
|
||||||
|
EXTRACT_LOCAL_METHODS = NO
|
||||||
|
EXTRACT_ANON_NSPACES = NO
|
||||||
|
RESOLVE_UNNAMED_PARAMS = YES
|
||||||
|
HIDE_UNDOC_MEMBERS = NO
|
||||||
|
HIDE_UNDOC_CLASSES = NO
|
||||||
|
HIDE_FRIEND_COMPOUNDS = NO
|
||||||
|
HIDE_IN_BODY_DOCS = NO
|
||||||
|
INTERNAL_DOCS = YES
|
||||||
|
CASE_SENSE_NAMES = NO
|
||||||
|
HIDE_SCOPE_NAMES = NO
|
||||||
|
HIDE_COMPOUND_REFERENCE= NO
|
||||||
|
SHOW_HEADERFILE = YES
|
||||||
|
SHOW_INCLUDE_FILES = YES
|
||||||
|
SHOW_GROUPED_MEMB_INC = NO
|
||||||
|
FORCE_LOCAL_INCLUDES = NO
|
||||||
|
INLINE_INFO = YES
|
||||||
|
SORT_MEMBER_DOCS = YES
|
||||||
|
SORT_BRIEF_DOCS = NO
|
||||||
|
SORT_MEMBERS_CTORS_1ST = NO
|
||||||
|
SORT_GROUP_NAMES = NO
|
||||||
|
SORT_BY_SCOPE_NAME = NO
|
||||||
|
STRICT_PROTO_MATCHING = NO
|
||||||
|
GENERATE_TODOLIST = YES
|
||||||
|
GENERATE_TESTLIST = YES
|
||||||
|
GENERATE_BUGLIST = YES
|
||||||
|
GENERATE_DEPRECATEDLIST= YES
|
||||||
|
ENABLED_SECTIONS =
|
||||||
|
MAX_INITIALIZER_LINES = 30
|
||||||
|
SHOW_USED_FILES = YES
|
||||||
|
SHOW_FILES = YES
|
||||||
|
SHOW_NAMESPACES = YES
|
||||||
|
FILE_VERSION_FILTER =
|
||||||
|
LAYOUT_FILE =
|
||||||
|
CITE_BIB_FILES =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to warning and progress messages
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
QUIET = YES
|
||||||
|
WARNINGS = YES
|
||||||
|
##Later: WARN_IF_UNDOCUMENTED = YES
|
||||||
|
WARN_IF_UNDOCUMENTED = NO
|
||||||
|
WARN_IF_DOC_ERROR = YES
|
||||||
|
WARN_IF_INCOMPLETE_DOC = YES
|
||||||
|
WARN_NO_PARAMDOC = NO
|
||||||
|
WARN_IF_UNDOC_ENUM_VAL = NO
|
||||||
|
WARN_AS_ERROR = NO
|
||||||
|
WARN_FORMAT = "$file:$line: $text"
|
||||||
|
WARN_LINE_FORMAT = "at line $line of file $file"
|
||||||
|
#WARN_LOGFILE = later
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# INPUT = later
|
||||||
|
INPUT_ENCODING = UTF-8
|
||||||
|
INPUT_FILE_ENCODING =
|
||||||
|
FILE_PATTERNS =
|
||||||
|
RECURSIVE = NO
|
||||||
|
EXCLUDE =
|
||||||
|
EXCLUDE_SYMLINKS = NO
|
||||||
|
EXCLUDE_PATTERNS =
|
||||||
|
EXCLUDE_SYMBOLS =
|
||||||
|
EXAMPLE_PATH =
|
||||||
|
EXAMPLE_PATTERNS =
|
||||||
|
EXAMPLE_RECURSIVE = NO
|
||||||
|
IMAGE_PATH = \
|
||||||
|
doc \
|
||||||
|
doc/tg/Networking-diagrams \
|
||||||
|
doc/tg/USB-diagrams \
|
||||||
|
doc/tg/diagrams \
|
||||||
|
doc/VMM
|
||||||
|
INPUT_FILTER =
|
||||||
|
FILTER_PATTERNS =
|
||||||
|
FILTER_SOURCE_FILES = NO
|
||||||
|
FILTER_SOURCE_PATTERNS =
|
||||||
|
USE_MDFILE_AS_MAINPAGE =
|
||||||
|
FORTRAN_COMMENT_AFTER = 72
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to source browsing
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
SOURCE_BROWSER = NO
|
||||||
|
INLINE_SOURCES = NO
|
||||||
|
STRIP_CODE_COMMENTS = YES
|
||||||
|
REFERENCED_BY_RELATION = YES
|
||||||
|
REFERENCES_RELATION = YES
|
||||||
|
REFERENCES_LINK_SOURCE = YES
|
||||||
|
SOURCE_TOOLTIPS = YES
|
||||||
|
USE_HTAGS = NO
|
||||||
|
VERBATIM_HEADERS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the alphabetical class index
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ALPHABETICAL_INDEX = NO
|
||||||
|
IGNORE_PREFIX =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_HTML = YES
|
||||||
|
HTML_OUTPUT = html
|
||||||
|
HTML_FILE_EXTENSION = .html
|
||||||
|
HTML_HEADER =
|
||||||
|
HTML_FOOTER =
|
||||||
|
HTML_STYLESHEET =
|
||||||
|
HTML_EXTRA_STYLESHEET =
|
||||||
|
HTML_EXTRA_FILES =
|
||||||
|
HTML_COLORSTYLE = AUTO_LIGHT
|
||||||
|
HTML_COLORSTYLE_HUE = 220
|
||||||
|
HTML_COLORSTYLE_SAT = 100
|
||||||
|
HTML_COLORSTYLE_GAMMA = 80
|
||||||
|
HTML_TIMESTAMP = YES
|
||||||
|
HTML_DYNAMIC_MENUS = YES
|
||||||
|
HTML_DYNAMIC_SECTIONS = NO
|
||||||
|
HTML_INDEX_NUM_ENTRIES = 100
|
||||||
|
GENERATE_DOCSET = NO
|
||||||
|
DOCSET_FEEDNAME = "Doxygen generated docs"
|
||||||
|
DOCSET_FEEDURL =
|
||||||
|
DOCSET_BUNDLE_ID = org.virtualbox.core
|
||||||
|
DOCSET_PUBLISHER_ID = org.virtualbox
|
||||||
|
DOCSET_PUBLISHER_NAME = virtualbox
|
||||||
|
GENERATE_HTMLHELP = NO
|
||||||
|
CHM_FILE =
|
||||||
|
HHC_LOCATION =
|
||||||
|
GENERATE_CHI = NO
|
||||||
|
CHM_INDEX_ENCODING =
|
||||||
|
BINARY_TOC = NO
|
||||||
|
TOC_EXPAND = NO
|
||||||
|
GENERATE_QHP = NO
|
||||||
|
QCH_FILE =
|
||||||
|
QHP_NAMESPACE = org.virtualbox.core
|
||||||
|
QHP_VIRTUAL_FOLDER = doc
|
||||||
|
QHP_CUST_FILTER_NAME =
|
||||||
|
QHP_CUST_FILTER_ATTRS =
|
||||||
|
QHP_SECT_FILTER_ATTRS =
|
||||||
|
QHG_LOCATION =
|
||||||
|
GENERATE_ECLIPSEHELP = NO
|
||||||
|
ECLIPSE_DOC_ID = org.doxygen.Project
|
||||||
|
DISABLE_INDEX = NO
|
||||||
|
GENERATE_TREEVIEW = NO
|
||||||
|
FULL_SIDEBAR = NO
|
||||||
|
ENUM_VALUES_PER_LINE = 4
|
||||||
|
TREEVIEW_WIDTH = 250
|
||||||
|
EXT_LINKS_IN_WINDOW = NO
|
||||||
|
OBFUSCATE_EMAILS = YES
|
||||||
|
HTML_FORMULA_FORMAT = png
|
||||||
|
FORMULA_FONTSIZE = 10
|
||||||
|
FORMULA_MACROFILE =
|
||||||
|
USE_MATHJAX = NO
|
||||||
|
MATHJAX_VERSION = MathJax_2
|
||||||
|
MATHJAX_FORMAT = HTML-CSS
|
||||||
|
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
|
||||||
|
MATHJAX_EXTENSIONS =
|
||||||
|
MATHJAX_CODEFILE =
|
||||||
|
SEARCHENGINE = NO
|
||||||
|
SERVER_BASED_SEARCH = NO
|
||||||
|
EXTERNAL_SEARCH = NO
|
||||||
|
SEARCHENGINE_URL =
|
||||||
|
SEARCHDATA_FILE = searchdata.xml
|
||||||
|
EXTERNAL_SEARCH_ID =
|
||||||
|
EXTRA_SEARCH_MAPPINGS =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the LaTeX output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_LATEX = NO
|
||||||
|
LATEX_OUTPUT = latex
|
||||||
|
LATEX_CMD_NAME = latex
|
||||||
|
MAKEINDEX_CMD_NAME = makeindex
|
||||||
|
LATEX_MAKEINDEX_CMD = makeindex
|
||||||
|
COMPACT_LATEX = NO
|
||||||
|
PAPER_TYPE = a4
|
||||||
|
EXTRA_PACKAGES =
|
||||||
|
LATEX_HEADER =
|
||||||
|
LATEX_FOOTER =
|
||||||
|
LATEX_EXTRA_STYLESHEET =
|
||||||
|
LATEX_EXTRA_FILES =
|
||||||
|
PDF_HYPERLINKS = NO
|
||||||
|
USE_PDFLATEX = NO
|
||||||
|
LATEX_BATCHMODE = NO
|
||||||
|
LATEX_HIDE_INDICES = NO
|
||||||
|
LATEX_BIB_STYLE = plain
|
||||||
|
LATEX_TIMESTAMP = NO
|
||||||
|
LATEX_EMOJI_DIRECTORY =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the RTF output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_RTF = NO
|
||||||
|
RTF_OUTPUT = rtf
|
||||||
|
COMPACT_RTF = NO
|
||||||
|
RTF_HYPERLINKS = NO
|
||||||
|
RTF_STYLESHEET_FILE =
|
||||||
|
RTF_EXTENSIONS_FILE =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the man page output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_MAN = NO
|
||||||
|
MAN_OUTPUT = man
|
||||||
|
MAN_EXTENSION = .3
|
||||||
|
MAN_SUBDIR =
|
||||||
|
MAN_LINKS = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the XML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_XML = NO
|
||||||
|
XML_OUTPUT = xml
|
||||||
|
XML_PROGRAMLISTING = YES
|
||||||
|
XML_NS_MEMB_FILE_SCOPE = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the DOCBOOK output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_DOCBOOK = NO
|
||||||
|
DOCBOOK_OUTPUT = docbook
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options for the AutoGen Definitions output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_AUTOGEN_DEF = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the Perl module output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_PERLMOD = NO
|
||||||
|
PERLMOD_LATEX = NO
|
||||||
|
PERLMOD_PRETTY = YES
|
||||||
|
PERLMOD_MAKEVAR_PREFIX =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the preprocessor
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ENABLE_PREPROCESSING = YES
|
||||||
|
MACRO_EXPANSION = YES
|
||||||
|
EXPAND_ONLY_PREDEF = YES
|
||||||
|
SEARCH_INCLUDES = YES
|
||||||
|
# INCLUDE_PATH = later
|
||||||
|
# INCLUDE_FILE_PATTERNS = later
|
||||||
|
|
||||||
|
PREDEFINED = \
|
||||||
|
DOXYGEN_RUNNING \
|
||||||
|
RT_C_DECLS_END \
|
||||||
|
RT_C_DECLS_BEGIN \
|
||||||
|
VBOX=1 \
|
||||||
|
RT_STRICT=1 \
|
||||||
|
VBOX_STRICT=1 \
|
||||||
|
__cplusplus=1 \
|
||||||
|
ARCH_BITS=HC_ARCH_BITS \
|
||||||
|
R3_ARCH_BITS=HC_ARCH_BITS \
|
||||||
|
R0_ARCH_BITS=HC_ARCH_BITS \
|
||||||
|
RTDECL(type)=type \
|
||||||
|
RTRCDECL(type)=type \
|
||||||
|
RTR0DECL(type)=type \
|
||||||
|
RTR3DECL(type)=type \
|
||||||
|
RTDATADECL(type)=type \
|
||||||
|
RT_DECL_NTAPI(type)=type \
|
||||||
|
RT_EXPORT_SYMBOL(name)= \
|
||||||
|
\
|
||||||
|
RT_SRC_POS=1 \
|
||||||
|
RT_SRC_POS_ARGS=SRC_POS \
|
||||||
|
"RT_SRC_POS_DECL=int SRC_POS" \
|
||||||
|
"RTLOG_COMMA_SRC_POS_DECL=, int SRC_POS" \
|
||||||
|
\
|
||||||
|
"RT_IPRT_FORMAT_ATTR(a,b)=" \
|
||||||
|
"RT_IPRT_FORMAT_ATTR_MAYBE_NULL(a,b)=" \
|
||||||
|
RT_NOTHROW_PROTO= \
|
||||||
|
RT_NOTHROW_DEF= \
|
||||||
|
RT_NO_THROW_PROTO= \
|
||||||
|
RT_NO_THROW_DEF= \
|
||||||
|
RTASN1CONTEXTTAG_IMPL_CURSOR_INLINES(a)= \
|
||||||
|
\
|
||||||
|
RT_MSC_PREREQ(a)=0 \
|
||||||
|
RT_MSC_PREREQ_EX(a,b)=b
|
||||||
|
|
||||||
|
# decl and calling conventions.
|
||||||
|
PREDEFINED += \
|
||||||
|
DECL_NOTHROW(a_RetType)=a_RetType \
|
||||||
|
"DECLINLINE(type)=inline type" \
|
||||||
|
DECL_INLINE_THROW(type)=DECLINLINE(type) \
|
||||||
|
DECL_FORCE_INLINE(type)=DECLINLINE(type) \
|
||||||
|
DECL_NO_INLINE(type)=type \
|
||||||
|
DECL_NO_RETURN(type)=type \
|
||||||
|
DECLCALLBACK(type)=type \
|
||||||
|
"DECLCALLBACKTYPE(type,name,args)=type name args" \
|
||||||
|
"DECLCALLBACKTYPE_EX(type,cconv,name,args)=type name args" \
|
||||||
|
"DECLCALLBACKPTR(type,name,args)=type (* name) args" \
|
||||||
|
"DECLCALLBACKPTR_EX(type,cconv,name,args)=type (* name) args" \
|
||||||
|
"DECLCALLBACKMEMBER(type,name,args)=type (* name) args" \
|
||||||
|
"DECLCALLBACKMEMBER_EX(type,cconv,name,args)=type (* name) args" \
|
||||||
|
"DECLRCCALLBACKMEMBER(type,name,args)=type (* name) args" \
|
||||||
|
"DECLR3CALLBACKMEMBER(type,name,args)=type (* name) args" \
|
||||||
|
"DECLR0CALLBACKMEMBER(type,name,args)=type (* name) args" \
|
||||||
|
"DECLRGCALLBACKMEMBER(type,name,args)=type (* name) args" \
|
||||||
|
DECLEXPORT(type)=type \
|
||||||
|
DECL_EXPORT_NOTHROW(type)=type \
|
||||||
|
DECLIMPORT(type)=type \
|
||||||
|
DECL_IMPORT_NOTHROW(type)=type \
|
||||||
|
DECLHIDDEN(type)=type \
|
||||||
|
DECL_HIDDEN_NOTHROW(type)=type \
|
||||||
|
DECL_HIDDEN_ONLY(type)=type \
|
||||||
|
DECL_HIDDEN_THROW(type)=type \
|
||||||
|
DECL_HIDDEN_DATA(type)=type \
|
||||||
|
DECL_HIDDEN_CONST(type)=type \
|
||||||
|
DECL_HIDDEN_CALLBACK(type)=type \
|
||||||
|
DECLASM(type)=type \
|
||||||
|
RT_ASM_DECL_PRAGMA_WATCOM(type)=type \
|
||||||
|
RT_ASM_DECL_PRAGMA_WATCOM_386(type)=type \
|
||||||
|
DECLNORETURN(type)=type \
|
||||||
|
DECL_CHECK_RETURN(type)=type \
|
||||||
|
DECL_CHECK_RETURN_NOT_R3(type)=type \
|
||||||
|
RTCALL= \
|
||||||
|
\
|
||||||
|
VBOXCALL= \
|
||||||
|
APICBOTHCBDECL(type)=type \
|
||||||
|
DBGDECL(type)=type \
|
||||||
|
DECLR0VBGL(type)=type \
|
||||||
|
DECLSPEC_HIDDEN= \
|
||||||
|
DECLVBGL(type)=type \
|
||||||
|
DISDECL(type)=type \
|
||||||
|
GMMR0DECL(type)=type \
|
||||||
|
GMMR3DECL(type)=type \
|
||||||
|
GVMMR0DECL(type)=type \
|
||||||
|
INTNETR0DECL(type)=type \
|
||||||
|
INTNETR3DECL(type)=type \
|
||||||
|
PDMBOTHCBDECL(type)=type \
|
||||||
|
SUPDECL(type)=type \
|
||||||
|
SUPR0DECL(type)=type \
|
||||||
|
SUPR3DECL(type)=type \
|
||||||
|
SUPRCDECL(type)=type \
|
||||||
|
USBLIB_DECL(type)=type \
|
||||||
|
VBGLR3DECL(type)=type \
|
||||||
|
VBOX_DND_FN_DECL_LOG(x)=x \
|
||||||
|
VBOXDDU_DECL(type)=type \
|
||||||
|
VMM_INT_DECL(type)=type \
|
||||||
|
VMMDECL(type)=type \
|
||||||
|
VMMR0_INT_DECL(type)=type \
|
||||||
|
VMMR0DECL(type)=type \
|
||||||
|
VMMR3_INT_DECL(type)=type \
|
||||||
|
VMMR3DECL(type)=type \
|
||||||
|
VMMRC_INT_DECL(type)=type \
|
||||||
|
VMMRCDECL(type)=type \
|
||||||
|
VMMRZ_INT_DECL(type)=type \
|
||||||
|
VMMRZDECL(type)=type \
|
||||||
|
VMSVGA3DCOCOA_DECL(type)=type \
|
||||||
|
VBOX_LISTENER_DECLARE(a)= \
|
||||||
|
VBOX_WITH_RAW_MODE_NOT_R0 \
|
||||||
|
\
|
||||||
|
"PGM_BTH_DECL(type,name)=type pgmBth##name" \
|
||||||
|
"PGM_GST_DECL(type,name)=type pgmGst##name" \
|
||||||
|
"PGM_SHW_DECL(type,name)=type pgmShw##name"
|
||||||
|
|
||||||
|
|
||||||
|
# BS3Kit
|
||||||
|
PREDEFINED += \
|
||||||
|
BS3_FAR= \
|
||||||
|
BS3_NEAR= \
|
||||||
|
BS3_FAR_DATA= \
|
||||||
|
BS3_DECL(a_Type)=a_Type \
|
||||||
|
BS3_DECL_NEAR(a_Type)=a_Type \
|
||||||
|
BS3_DECL_FAR(a_Type)=a_Type \
|
||||||
|
BS3_DECL_CALLBACK(a_Type)=a_Type \
|
||||||
|
BS3_DECL_NEAR_CALLBACK(a_Type)=a_Type \
|
||||||
|
BS3_CMN_NM(a_Name)=a_Name \
|
||||||
|
BS3_CMN_FAR_NM(a_Name)=a_Name \
|
||||||
|
BS3_CMN_FN_NM(a_Name)=a_Name \
|
||||||
|
BS3_DATA_NM(a_Name)=a_Name \
|
||||||
|
TMPL_NM(a_Name)=a_Name##_mmm \
|
||||||
|
TMPL_FAR_NM(a_Name)=a_Name##_mmm \
|
||||||
|
"BS3_CMN_PROTO_STUB(a_RetType,a_Name,a_Params)=a_RetType a_Name a_Params" \
|
||||||
|
"BS3_CMN_PROTO_NOSB(a_RetType,a_Name,a_Params)=a_RetType a_Name a_Params" \
|
||||||
|
"BS3_CMN_PROTO_FARSTUB(a_cbParam16, a_RetType, a_Name, a_Params)=a_RetType a_Name a_Params" \
|
||||||
|
"BS3_CMN_DEF(a_RetType,a_Name,a_Params)=a_RetType a_Name a_Params" \
|
||||||
|
"BS3_MODE_PROTO_STUB(a_RetType,a_Name,a_Params)=a_RetType a_Name##_mmm a_Params" \
|
||||||
|
"BS3_MODE_PROTO_NOSB(a_RetType,a_Name,a_Params)=a_RetType a_Name##_mmm a_Params" \
|
||||||
|
"BS3_MODE_DEF(a_RetType,a_Name,a_Params)=a_RetType a_Name##_mmm a_Params" \
|
||||||
|
"BS3_PTR_UNION_TEMPLATE(a_BaseName,a_Modifiers)=typedef union a_BaseName { a_Modifiers void *pv } a_BaseName, * P##a_BaseName; }" \
|
||||||
|
"BS3_XPTR_MEMBER(a_Type,a_Name)=a_Type * a_Name" \
|
||||||
|
|
||||||
|
|
||||||
|
# templated fun.
|
||||||
|
PREDEFINED += \
|
||||||
|
"PGM_BTH_DECL(type,name)=type pgmBth##name" \
|
||||||
|
"PGM_SHW_DECL(type,name)=type pgmShw##name" \
|
||||||
|
"PGM_GST_DECL(type,name)=type pgmGst##name" \
|
||||||
|
"PGM_BTH_NAME(name)=pgmBth##name" \
|
||||||
|
"PGM_SHW_NAME(name)=pgmShw##name" \
|
||||||
|
"PGM_GST_NAME(name)=pgmGst##name" \
|
||||||
|
PGM_ALL_CB_DECL(type)=type \
|
||||||
|
PGM_ALL_CB2_DECL(type)=type \
|
||||||
|
PGMPHYS_DATATYPE=uintXX_t \
|
||||||
|
"PGMPHYSFN_READNAME(a,b,c)=PGMR3PhysReadUxx(a,b,c)" \
|
||||||
|
"PGMPHYSFN_WRITENAME(a,b,c,d)=PGMR3PhysWriteUxx(a,b,c,d)" \
|
||||||
|
|
||||||
|
# context hacks.
|
||||||
|
PREDEFINED += RCPTRTYPE(RCType)=RCType
|
||||||
|
PREDEFINED += R3PTRTYPE(R3Type)=R3Type
|
||||||
|
PREDEFINED += R0PTRTYPE(R0Type)=R0Type
|
||||||
|
PREDEFINED += HCPTRTYPE(HCType)=HCType
|
||||||
|
PREDEFINED += R3R0PTRTYPE(R3R0Type)=R3R0Type
|
||||||
|
PREDEFINED += \
|
||||||
|
"CTX_SUFF(var)=var##R3" \
|
||||||
|
"CTX_SUFF_Z(var)=var##RZ" \
|
||||||
|
"CTX_MID(first,last)=firstr##R3##last" \
|
||||||
|
"CTX_MID_Z(first,last)=firstr##RZ##last" \
|
||||||
|
|
||||||
|
# Compile assertion hacks.
|
||||||
|
PREDEFINED += \
|
||||||
|
"AssertCompileNS(expr)=static_assert(expr)" \
|
||||||
|
"AssertCompile(expr)=static_assert(expr)" \
|
||||||
|
"AssertCompileSize(type, size)=static_assert(true)" \
|
||||||
|
"AssertCompileSizeAlignment(type, align)=static_assert(true)" \
|
||||||
|
"AssertCompileMemberAlignment(type, member, align)=static_assert(true)" \
|
||||||
|
"AssertCompileMemberOffset(type, member, off)=static_assert(true)" \
|
||||||
|
"AssertCompile2MemberOffsets(type, member1, member2)=static_assert(true)" \
|
||||||
|
"AssertCompileAdjacentMembers(type, member1, member2)=static_assert(true)" \
|
||||||
|
"AssertCompileMembersAtSameOffset(type1, member1, type2, member2)=static_assert(true)" \
|
||||||
|
"AssertCompileMemberSize(type, member, size)=static_assert(true)" \
|
||||||
|
"AssertCompileMemberSizeAlignment(type, member, align)=static_assert(true)" \
|
||||||
|
"AssertCompileMembersSameSize(type1, member1, type2, member2)=static_assert(true)" \
|
||||||
|
"AssertCompileMembersSameSizeAndOffset(type1, member1, type2, member2)=static_assert(true)"
|
||||||
|
|
||||||
|
# COM/XPCOM hacks.
|
||||||
|
PREDEFINED += \
|
||||||
|
STDMETHODIMP=HRESULT \
|
||||||
|
IFACEMETHODIMP=HRESULT \
|
||||||
|
IFACEMETHODIMP_(t)=t \
|
||||||
|
"COMGETTER(n)=get_##n" \
|
||||||
|
"COMSETTER(n)=set_##n" \
|
||||||
|
"ComSafeArrayIn(aType,aArg)=aType *aArg" \
|
||||||
|
"ComSafeArrayOut(aType, aArg)=aType **aArg" \
|
||||||
|
DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP(a)= \
|
||||||
|
DECLARE_NOT_AGGREGATABLE(a)= \
|
||||||
|
DECLARE_CLASSFACTORY()= \
|
||||||
|
DECLARE_CLASSFACTORY_SINGLETON(a)= \
|
||||||
|
"VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(a,b)=" \
|
||||||
|
"DECLARE_TRANSLATE_METHODS(a)=static const char *tr(const char *aSourceText, const char *aComment = NULL, const int aNum = -1);" \
|
||||||
|
"DECLARE_EMPTY_CTOR_DTOR(a)=a(); virtual ~a();" \
|
||||||
|
"DECLARE_COMMON_CLASS_METHODS(a)=a(); virtual ~a(); static const char *tr(const char *aSourceText, const char *aComment = NULL, const int aNum = -1);"
|
||||||
|
|
||||||
|
# COM hacks from From http://www.stack.nl/~dimitri/doxygen/preprocessing.html
|
||||||
|
PREDEFINED += \
|
||||||
|
"DECLARE_INTERFACE(name)=class name" \
|
||||||
|
"STDMETHOD_(result,name)=virtual result name" \
|
||||||
|
"PURE= = 0" \
|
||||||
|
THIS_= \
|
||||||
|
THIS= \
|
||||||
|
NTSTATUS=long \
|
||||||
|
LONG=long \
|
||||||
|
NTAPI= \
|
||||||
|
WINAPI= \
|
||||||
|
DECLARE_REGISTRY_RESOURCEID=// \
|
||||||
|
DECLARE_PROTECT_FINAL_CONSTRUCT=// \
|
||||||
|
"DECLARE_AGGREGATABLE(Class)= " \
|
||||||
|
"DECLARE_REGISTRY_RESOURCEID(Id)= " \
|
||||||
|
DECLARE_MESSAGE_MAP= \
|
||||||
|
BEGIN_MESSAGE_MAP=/* \
|
||||||
|
END_MESSAGE_MAP=*/// \
|
||||||
|
BEGIN_COM_MAP=/* \
|
||||||
|
END_COM_MAP=*/// \
|
||||||
|
BEGIN_PROP_MAP=/* \
|
||||||
|
END_PROP_MAP=*/// \
|
||||||
|
BEGIN_MSG_MAP=/* \
|
||||||
|
END_MSG_MAP=*/// \
|
||||||
|
BEGIN_PROPERTY_MAP=/* \
|
||||||
|
END_PROPERTY_MAP=*/// \
|
||||||
|
BEGIN_OBJECT_MAP=/* \
|
||||||
|
END_OBJECT_MAP()=*/// \
|
||||||
|
DECLARE_VIEW_STATUS=// \
|
||||||
|
"STDMETHOD(a)=HRESULT a" \
|
||||||
|
"ATL_NO_VTABLE= " \
|
||||||
|
"__declspec(a)= " \
|
||||||
|
BEGIN_CONNECTION_POINT_MAP=/* \
|
||||||
|
END_CONNECTION_POINT_MAP=*/// \
|
||||||
|
"DECLARE_DYNAMIC(class)= " \
|
||||||
|
"IMPLEMENT_DYNAMIC(class1, class2)= " \
|
||||||
|
"DECLARE_DYNCREATE(class)= " \
|
||||||
|
"IMPLEMENT_DYNCREATE(class1, class2)= " \
|
||||||
|
"IMPLEMENT_SERIAL(class1, class2, class3)= " \
|
||||||
|
"DECLARE_MESSAGE_MAP()= " \
|
||||||
|
TRY=try \
|
||||||
|
"CATCH_ALL(e)= catch(...)" \
|
||||||
|
END_CATCH_ALL= \
|
||||||
|
"THROW_LAST()= throw"\
|
||||||
|
"RUNTIME_CLASS(class)=class" \
|
||||||
|
"MAKEINTRESOURCE(nId)=nId" \
|
||||||
|
"IMPLEMENT_REGISTER(v, w, x, y, z)= " \
|
||||||
|
"ASSERT(x)=assert(x)" \
|
||||||
|
"ASSERT_VALID(x)=assert(x)" \
|
||||||
|
"TRACE0(x)=printf(x)" \
|
||||||
|
"OS_ERR(A,B)={ #A, B }" \
|
||||||
|
__cplusplus \
|
||||||
|
"DECLARE_OLECREATE(class)= " \
|
||||||
|
"BEGIN_DISPATCH_MAP(class1, class2)= " \
|
||||||
|
"BEGIN_INTERFACE_MAP(class1, class2)= " \
|
||||||
|
"INTERFACE_PART(class, id, name)= " \
|
||||||
|
"END_INTERFACE_MAP()=" \
|
||||||
|
"DISP_FUNCTION(class, name, function, result, id)=" \
|
||||||
|
"END_DISPATCH_MAP()=" \
|
||||||
|
"IMPLEMENT_OLECREATE2(class, name, id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11)=" \
|
||||||
|
RT_GCC_EXTENSION= \
|
||||||
|
"CPUM_STRUCT_NM(n)=" \
|
||||||
|
"CPUM_UNION_NM(n)=" \
|
||||||
|
"DECL_NO_RETURN(type)=type" \
|
||||||
|
VBOX_WITH_HGCM
|
||||||
|
|
||||||
|
PREDEFINED += \
|
||||||
|
"IEM_DECL_IMPL_DEF(a_RetType, a_Name, a_ArgList)=a_RetType a_Name a_ArgList" \
|
||||||
|
"IEM_DECL_IMPL_TYPE(a_RetType, a_Name, a_ArgList)=a_RetType (a_Name) a_ArgList" \
|
||||||
|
\
|
||||||
|
"FNIEMOP_DEF(a_Name)=int a_Name()" \
|
||||||
|
"FNIEMOP_DEF_1(a_Name, a_Type0, a_Name0)=int a_Name(a_Type0 a_Name0)" \
|
||||||
|
"FNIEMOP_DEF_2(a_Name, a_Type0, a_Name0, a_Type1, a_Name1)=int a_Name(a_Type0 a_Name0, a_Type1 a_Name1)" \
|
||||||
|
"FNIEMOPRM_DEF(a_Name)=int a_Name(uint8_t bRm)" \
|
||||||
|
\
|
||||||
|
"IEM_CIMPL_DEF_0(a_Name)=int a_Name()" \
|
||||||
|
"IEM_CIMPL_TYPE_0(a_Name)=int (a_Name)()" \
|
||||||
|
"IEM_CIMPL_CALL_0(a_pfn)=a_pfn()" \
|
||||||
|
"IEM_CIMPL_DEF_1(a_Name, a_Type0, a_Arg0)=int a_Name(a_Type0 a_Arg0)" \
|
||||||
|
"IEM_CIMPL_TYPE_1(a_Name, a_Type0, a_Arg0)=int (a_Name)(a_Type0 a_Arg0)" \
|
||||||
|
"IEM_CIMPL_CALL_1(a_pfn, a0)=a_pfn(a0)" \
|
||||||
|
"IEM_CIMPL_DEF_2(a_Name, a_Type0, a_Arg0, a_Type1, a_Arg1)=int a_Name(a_Type0 a_Arg0, a_Type1 a_Arg1)" \
|
||||||
|
"IEM_CIMPL_TYPE_2(a_Name, a_Type0, a_Arg0, a_Type1, a_Arg1)=int (a_Name)(a_Type0 a_Arg0, a_Type1 a_Arg1)" \
|
||||||
|
"IEM_CIMPL_CALL_2(a_pfn, a0, a1)=a_pfn(a0, a1)" \
|
||||||
|
"IEM_CIMPL_DEF_3(a_Name, a_Type0, a_Arg0, a_Type1, a_Arg1, a_Type2, a_Arg2)=int a_Name(a_Type0 a_Arg0, a_Type1 a_Arg1, a_Type2 a_Arg2)" \
|
||||||
|
"IEM_CIMPL_TYPE_3(a_Name, a_Type0, a_Arg0, a_Type1, a_Arg1, a_Type2, a_Arg2)=int (a_Name)(a_Type0 a_Arg0, a_Type1 a_Arg1, a_Type2 a_Arg2)" \
|
||||||
|
"IEM_CIMPL_CALL_3(a_pfn, a0, a1, a2)=a_pfn(a0, a1, a2)" \
|
||||||
|
"IEM_CIMPL_DEF_4(a_Name, a_Type0, a_Arg0, a_Type1, a_Arg1, a_Type2, a_Arg2, a_Type3, a_Arg3)=int a_Name(a_Type0 a_Arg0, a_Type1 a_Arg1, a_Type2 a_Arg2, a_Type3 a_Arg3)" \
|
||||||
|
"IEM_CIMPL_TYPE_4(a_Name, a_Type0, a_Arg0, a_Type1, a_Arg1, a_Type2, a_Arg2, a_Type3, a_Arg3)=int (a_Name)(a_Type0 a_Arg0, a_Type1 a_Arg1, a_Type2 a_Arg2, a_Type3 a_Arg3)" \
|
||||||
|
"IEM_CIMPL_CALL_4(a_pfn, a0, a1, a2, a3)=a_pfn(a0, a1, a2, a3)" \
|
||||||
|
"IEM_CIMPL_DEF_5(a_Name, a_Type0, a_Arg0, a_Type1, a_Arg1, a_Type2, a_Arg2, a_Type3, a_Arg3, a_Type4, a_Arg4)=int a_Name(a_Type0 a_Arg0, a_Type1 a_Arg1, a_Type2 a_Arg2, a_Type3 a_Arg3, a_Type4 a_Arg4)" \
|
||||||
|
"IEM_CIMPL_TYPE_5(a_Name, a_Type0, a_Arg0, a_Type1, a_Arg1, a_Type2, a_Arg2, a_Type3, a_Arg3, a_Type4, a_Arg4)=int (a_Name)(a_Type0 a_Arg0, a_Type1 a_Arg1, a_Type2 a_Arg2, a_Type3 a_Arg3, a_Type4 a_Arg4)" \
|
||||||
|
"IEM_CIMPL_CALL_5(a_pfn, a0, a1, a2, a3, a4)=a_pfn(a0, a1, a2, a3, a4)" \
|
||||||
|
"IEM_CIMPL_DEF_6(a_Name, a_Type0, a_Arg0, a_Type1, a_Arg1, a_Type2, a_Arg2, a_Type3, a_Arg3, a_Type4, a_Arg4, a_Type5, a_Arg5)=int a_Name(a_Type0 a_Arg0, a_Type1 a_Arg1, a_Type2 a_Arg2, a_Type3 a_Arg3, a_Type4 a_Arg4, a_Type5 a_Arg5)" \
|
||||||
|
"IEM_CIMPL_TYPE_6(a_Name, a_Type0, a_Arg0, a_Type1, a_Arg1, a_Type2, a_Arg2, a_Type3, a_Arg3, a_Type4, a_Arg4, a_Type5, a_Arg5)=int (a_Name)(a_Type0 a_Arg0, a_Type1 a_Arg1, a_Type2 a_Arg2, a_Type3 a_Arg3, a_Type4 a_Arg4, a_Type5 a_Arg5)" \
|
||||||
|
"IEM_CIMPL_CALL_6(a_pfn, a0, a1, a2, a3, a4, a5)=a_pfn(a0, a1, a2, a3, a4, a5)" \
|
||||||
|
|
||||||
|
EXPAND_AS_DEFINED = \
|
||||||
|
ARCH_BITS \
|
||||||
|
R3_ARCH_BITS \
|
||||||
|
R0_ARCH_BITS \
|
||||||
|
GC_ARCH_BITS \
|
||||||
|
HC_ARCH_BITS \
|
||||||
|
\
|
||||||
|
DECLASMTYPE \
|
||||||
|
DECL_INLINE_NOTHROW \
|
||||||
|
CTXSUFF \
|
||||||
|
OTHERCTXSUFF \
|
||||||
|
CTXMID \
|
||||||
|
OTHERCTXMID \
|
||||||
|
\
|
||||||
|
INPTR \
|
||||||
|
COMSETTER \
|
||||||
|
COMGETTER \
|
||||||
|
STDMETHOD \
|
||||||
|
STDMETHOD_ \
|
||||||
|
STDMETHODIMP \
|
||||||
|
IFACEMETHODIMP \
|
||||||
|
\
|
||||||
|
VD_BACKEND_CALLBACK_GET_COMMENT_DEF_NOT_SUPPORTED \
|
||||||
|
VD_BACKEND_CALLBACK_SET_COMMENT_DEF_NOT_SUPPORTED \
|
||||||
|
VD_BACKEND_CALLBACK_GET_UUID_DEF_NOT_SUPPORTED \
|
||||||
|
VD_BACKEND_CALLBACK_SET_UUID_DEF_NOT_SUPPORTED \
|
||||||
|
\
|
||||||
|
IOM_MMIO_STATS_COMMA_DECL \
|
||||||
|
IOM_MMIO_STATS_COMMA_ARG \
|
||||||
|
SUP_HARDENED_SUID \
|
||||||
|
\
|
||||||
|
VTABLE_ENTRY \
|
||||||
|
VTABLE_RESERVED
|
||||||
|
|
||||||
|
SKIP_FUNCTION_MACROS = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to external references
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
TAGFILES =
|
||||||
|
GENERATE_TAGFILE =
|
||||||
|
ALLEXTERNALS = NO
|
||||||
|
EXTERNAL_GROUPS = YES
|
||||||
|
EXTERNAL_PAGES = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the dot tool
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
DIA_PATH =
|
||||||
|
HIDE_UNDOC_RELATIONS = YES
|
||||||
|
HAVE_DOT = NO
|
||||||
|
DOT_NUM_THREADS = 0
|
||||||
|
DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10"
|
||||||
|
DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10"
|
||||||
|
DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4"
|
||||||
|
DOT_FONTPATH =
|
||||||
|
CLASS_GRAPH = YES
|
||||||
|
COLLABORATION_GRAPH = YES
|
||||||
|
GROUP_GRAPHS = YES
|
||||||
|
UML_LOOK = YES
|
||||||
|
UML_LIMIT_NUM_FIELDS = 10
|
||||||
|
DOT_UML_DETAILS = YES
|
||||||
|
DOT_WRAP_THRESHOLD = 17
|
||||||
|
TEMPLATE_RELATIONS = YES
|
||||||
|
INCLUDE_GRAPH = YES
|
||||||
|
INCLUDED_BY_GRAPH = YES
|
||||||
|
CALL_GRAPH = YES
|
||||||
|
CALLER_GRAPH = YES
|
||||||
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
DIRECTORY_GRAPH = YES
|
||||||
|
DIR_GRAPH_MAX_DEPTH = 1
|
||||||
|
DOT_IMAGE_FORMAT = png
|
||||||
|
INTERACTIVE_SVG = NO
|
||||||
|
DOT_PATH =
|
||||||
|
DOTFILE_DIRS =
|
||||||
|
MSCFILE_DIRS =
|
||||||
|
DIAFILE_DIRS =
|
||||||
|
PLANTUML_JAR_PATH =
|
||||||
|
PLANTUML_INCLUDE_PATH =
|
||||||
|
DOT_GRAPH_MAX_NODES = 50
|
||||||
|
MAX_DOT_GRAPH_DEPTH = 0
|
||||||
|
DOT_MULTI_TARGETS = NO
|
||||||
|
GENERATE_LEGEND = YES
|
||||||
|
DOT_CLEANUP = YES
|
61
Maintenance.kmk
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
# $Id: Maintenance.kmk $
|
||||||
|
## @file
|
||||||
|
# Maintenance makefile.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
#
|
||||||
|
# This file is part of VirtualBox base platform packages, as
|
||||||
|
# available from https://www.virtualbox.org.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation, in version 3 of the
|
||||||
|
# License.
|
||||||
|
#
|
||||||
|
# This program 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
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# By default, only show the maintence help info.
|
||||||
|
#
|
||||||
|
PASS_MAINTHELP := Maintence Help
|
||||||
|
PASS_MAINTHELP_trgs := show-maintence-help
|
||||||
|
PASS_MAINTHELP_vars :=
|
||||||
|
PASS_MAINTHELP_pass := maintence-help
|
||||||
|
|
||||||
|
override DEFAULT_PASSES := MAINTHELP
|
||||||
|
|
||||||
|
show-maintence-help:
|
||||||
|
@$(ECHO) ""
|
||||||
|
@$(ECHO) "up update - Update svn and fetch tools."
|
||||||
|
@$(ECHO) "up2 update2 - Update svn and fetch tools, ignore externals (kBuild)."
|
||||||
|
@$(ECHO) "incs - Update autogenerated assembly include files in include/."
|
||||||
|
@$(ECHO) "snapshot-puel - Create a source tarball of the PUEL (closed) sources."
|
||||||
|
@$(ECHO) "docs docs.core - run doxygen on core code."
|
||||||
|
@$(ECHO) ""
|
||||||
|
@$(ECHO) "Build aliases:"
|
||||||
|
@$(ECHO) " both-types-archs both-archs-types - Do both 32-bit and 64-bit builds in both debug and release variants."
|
||||||
|
@$(ECHO) " both-x86-amd64 both-amd64-x86 - Do both 32-bit and 64-bit builds for the current build type."
|
||||||
|
@$(ECHO) " both-debug-release both-release-debug - Do both release and debug builds for the current target."
|
||||||
|
@$(ECHO) " build-release-x86 - Do a 32-bit release build."
|
||||||
|
@$(ECHO) " build-debug-x86 - Do a 32-bit debug build."
|
||||||
|
@$(ECHO) " build-release-amd64 - Do a 64-bit release build."
|
||||||
|
@$(ECHO) " build-debug-amd64 - Do a 64-bit debug build."
|
||||||
|
|
||||||
|
#
|
||||||
|
# Include the normal root makefile, but without dragging in sub-makefiles.
|
||||||
|
#
|
||||||
|
VBOX_ONLY_ROOT_MAKEFILE = 1
|
||||||
|
include $(dir $(firstword $(MAKEFILE_LIST)))Makefile.kmk
|
||||||
|
|
2307
Makefile.kmk
Normal file
14
README.GuestAdditionsPackaging
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
Information for people packaging the Guest Additions for Linux distributions
|
||||||
|
============================================================================
|
||||||
|
We strongly recommend that people packaging the Guest Additions for Linux
|
||||||
|
distributions track the latest stable version rather than staying with a given
|
||||||
|
major release number for the life-time of the distribution. The major number
|
||||||
|
is more relevant for the host software (the actual VirtualBox application)
|
||||||
|
than for the Linux Additions, which are developed more continuously.
|
||||||
|
|
||||||
|
We sometimes have two stable versions at one time - one with more features and
|
||||||
|
a long-term stable version from the previous major release, which has less
|
||||||
|
features but a code base which has had longer to mature. While this is also
|
||||||
|
less relevant for the Additions, you can find the current long-term stable
|
||||||
|
release version number at
|
||||||
|
http://download.virtualbox.org/virtualbox/LATEST-STABLE.TXT
|
58
Version.kmk
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# $Id: Version.kmk $
|
||||||
|
## @file
|
||||||
|
# The VirtualBox version.
|
||||||
|
#
|
||||||
|
# This file gets included by the root Config.kmk.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright (C) 2017-2023 Oracle and/or its affiliates.
|
||||||
|
#
|
||||||
|
# This file is part of VirtualBox base platform packages, as
|
||||||
|
# available from https://www.virtualbox.org.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation, in version 3 of the
|
||||||
|
# License.
|
||||||
|
#
|
||||||
|
# This program 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
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
#
|
||||||
|
|
||||||
|
# Major version.
|
||||||
|
VBOX_VERSION_MAJOR = 7
|
||||||
|
# Minor version.
|
||||||
|
VBOX_VERSION_MINOR = 0
|
||||||
|
# This is the current build number. It should be increased every time we publish a
|
||||||
|
# new build. The define is available in every source file. Only even build numbers
|
||||||
|
# will be published, odd numbers are set during development.
|
||||||
|
VBOX_VERSION_BUILD = 26
|
||||||
|
# This can be overridden in LocalConfig.kmk or elsewhere.
|
||||||
|
# For the convention, see checks near the end of Config.kmk.
|
||||||
|
VBOX_BUILD_PUBLISHER =
|
||||||
|
# Just the BETA[n],ALPHA[n],RC[n] indicators. Set to empty string for release.
|
||||||
|
VBOX_VERSION_PRERELEASE =
|
||||||
|
# Force a release-type build with exactly matching Additions etc, even if
|
||||||
|
# our numbering does not say this is a release build, by setting this non-empty.
|
||||||
|
VBOX_RELEASE_EXACT_MATCH =
|
||||||
|
|
||||||
|
# darwin.arm64 will remain BETA for quite a while.
|
||||||
|
if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64)
|
||||||
|
if $(VBOX_VERSION_BUILD) % 2 == 0
|
||||||
|
ifeq ($(VBOX_VERSION_PRERELEASE),)
|
||||||
|
VBOX_RELEASE_EXACT_MATCH := 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
VBOX_VERSION_PRERELEASE := BETA4
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Fallback revision when there is no other source. See Config.kmk.
|
||||||
|
VBOX_SVN_REV_VERSION_FALLBACK := $(patsubst %:,, $Rev: 168464 $ )
|
2250
configure.vbs
Normal file
46
doc/.scm-settings
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
# $Id: .scm-settings $
|
||||||
|
## @file
|
||||||
|
# Source code massager settings for the docs.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright (C) 2010-2023 Oracle and/or its affiliates.
|
||||||
|
#
|
||||||
|
# This file is part of VirtualBox base platform packages, as
|
||||||
|
# available from https://www.virtualbox.org.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation, in version 3 of the
|
||||||
|
# License.
|
||||||
|
#
|
||||||
|
# This program 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
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
#
|
||||||
|
|
||||||
|
/*.html: --treat-as plaintext
|
||||||
|
/*.rtf: --treat-as binary
|
||||||
|
/*.doc: --treat-as binary
|
||||||
|
/*.odt: --treat-as binary
|
||||||
|
/*.ods: --treat-as binary
|
||||||
|
/*.odg: --treat-as binary
|
||||||
|
/*.sxi: --treat-as binary
|
||||||
|
/*.vpp: --treat-as binary
|
||||||
|
/*.wiki: --treat-as plaintext
|
||||||
|
|
||||||
|
# Abusing --external-copyright.
|
||||||
|
/*.txvpck: --treat-as xml --external-copyright --no-convert-eol
|
||||||
|
/*.txvStateDiagram20: --treat-as xml --external-copyright --no-convert-eol
|
||||||
|
/*.txvComponentDiagram20: --treat-as xml --external-copyright --no-convert-eol
|
||||||
|
/*.xmi: --treat-as xml --external-copyright --no-convert-eol
|
||||||
|
/*.tpx: --treat-as xml --external-copyright --no-convert-eol
|
||||||
|
/*.graphml: --treat-as xml --external-copyright --no-convert-eol
|
||||||
|
|
||||||
|
/*.iuml: --treat-as plaintext --add-action copyright-tick-style
|
353
doc/License-gpl-2.html
Normal file
|
@ -0,0 +1,353 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<!-- Translation from RTF performed by UnRTF, version 0.20.1 -->
|
||||||
|
<!-- document uses ANSI character set -->
|
||||||
|
<!-- font table contains 8 fonts total -->
|
||||||
|
<!-- creation date: -->
|
||||||
|
<!-- revision date: -->
|
||||||
|
<!-- last printed: -->
|
||||||
|
<!-- comments: StarWriter -->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
GNU GENERAL PUBLIC LICENSE<br>
|
||||||
|
Version 2, June 1991<br>
|
||||||
|
<br>
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,<br>
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA<br>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies<br>
|
||||||
|
of this license document, but changing it is not allowed.<br>
|
||||||
|
<br>
|
||||||
|
Preamble<br>
|
||||||
|
<br>
|
||||||
|
The licenses for most software are designed to take away your<br>
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public<br>
|
||||||
|
License is intended to guarantee your freedom to share and change free<br>
|
||||||
|
software--to make sure the software is free for all its users. This<br>
|
||||||
|
General Public License applies to most of the Free Software<br>
|
||||||
|
Foundation's software and to any other program whose authors commit to<br>
|
||||||
|
using it. (Some other Free Software Foundation software is covered by<br>
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to<br>
|
||||||
|
your programs, too.<br>
|
||||||
|
<br>
|
||||||
|
When we speak of free software, we are referring to freedom, not<br>
|
||||||
|
price. Our General Public Licenses are designed to make sure that you<br>
|
||||||
|
have the freedom to distribute copies of free software (and charge for<br>
|
||||||
|
this service if you wish), that you receive source code or can get it<br>
|
||||||
|
if you want it, that you can change the software or use pieces of it<br>
|
||||||
|
in new free programs; and that you know you can do these things.<br>
|
||||||
|
<br>
|
||||||
|
To protect your rights, we need to make restrictions that forbid<br>
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.<br>
|
||||||
|
These restrictions translate to certain responsibilities for you if you<br>
|
||||||
|
distribute copies of the software, or if you modify it.<br>
|
||||||
|
<br>
|
||||||
|
For example, if you distribute copies of such a program, whether<br>
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that<br>
|
||||||
|
you have. You must make sure that they, too, receive or can get the<br>
|
||||||
|
source code. And you must show them these terms so they know their<br>
|
||||||
|
rights.<br>
|
||||||
|
<br>
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and<br>
|
||||||
|
(2) offer you this license which gives you legal permission to copy,<br>
|
||||||
|
distribute and/or modify the software.<br>
|
||||||
|
<br>
|
||||||
|
Also, for each author's protection and ours, we want to make certain<br>
|
||||||
|
that everyone understands that there is no warranty for this free<br>
|
||||||
|
software. If the software is modified by someone else and passed on, we<br>
|
||||||
|
want its recipients to know that what they have is not the original, so<br>
|
||||||
|
that any problems introduced by others will not reflect on the original<br>
|
||||||
|
authors' reputations.<br>
|
||||||
|
<br>
|
||||||
|
Finally, any free program is threatened constantly by software<br>
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free<br>
|
||||||
|
program will individually obtain patent licenses, in effect making the<br>
|
||||||
|
program proprietary. To prevent this, we have made it clear that any<br>
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.<br>
|
||||||
|
<br>
|
||||||
|
The precise terms and conditions for copying, distribution and<br>
|
||||||
|
modification follow.<br>
|
||||||
|
<br>
|
||||||
|
GNU GENERAL PUBLIC LICENSE<br>
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION<br>
|
||||||
|
<br>
|
||||||
|
0. This License applies to any program or other work which contains<br>
|
||||||
|
a notice placed by the copyright holder saying it may be distributed<br>
|
||||||
|
under the terms of this General Public License. The "Program", below,<br>
|
||||||
|
refers to any such program or work, and a "work based on the Program"<br>
|
||||||
|
means either the Program or any derivative work under copyright law:<br>
|
||||||
|
that is to say, a work containing the Program or a portion of it,<br>
|
||||||
|
either verbatim or with modifications and/or translated into another<br>
|
||||||
|
language. (Hereinafter, translation is included without limitation in<br>
|
||||||
|
the term "modification".) Each licensee is addressed as "you".<br>
|
||||||
|
<br>
|
||||||
|
Activities other than copying, distribution and modification are not<br>
|
||||||
|
covered by this License; they are outside its scope. The act of<br>
|
||||||
|
running the Program is not restricted, and the output from the Program<br>
|
||||||
|
is covered only if its contents constitute a work based on the<br>
|
||||||
|
Program (independent of having been made by running the Program).<br>
|
||||||
|
Whether that is true depends on what the Program does.<br>
|
||||||
|
<br>
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's<br>
|
||||||
|
source code as you receive it, in any medium, provided that you<br>
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate<br>
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the<br>
|
||||||
|
notices that refer to this License and to the absence of any warranty;<br>
|
||||||
|
and give any other recipients of the Program a copy of this License<br>
|
||||||
|
along with the Program.<br>
|
||||||
|
<br>
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and<br>
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.<br>
|
||||||
|
<br>
|
||||||
|
2. You may modify your copy or copies of the Program or any portion<br>
|
||||||
|
of it, thus forming a work based on the Program, and copy and<br>
|
||||||
|
distribute such modifications or work under the terms of Section 1<br>
|
||||||
|
above, provided that you also meet all of these conditions:<br>
|
||||||
|
<br>
|
||||||
|
a) You must cause the modified files to carry prominent notices<br>
|
||||||
|
stating that you changed the files and the date of any change.<br>
|
||||||
|
<br>
|
||||||
|
b) You must cause any work that you distribute or publish, that in<br>
|
||||||
|
whole or in part contains or is derived from the Program or any<br>
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third<br>
|
||||||
|
parties under the terms of this License.<br>
|
||||||
|
<br>
|
||||||
|
c) If the modified program normally reads commands interactively<br>
|
||||||
|
when run, you must cause it, when started running for such<br>
|
||||||
|
interactive use in the most ordinary way, to print or display an<br>
|
||||||
|
announcement including an appropriate copyright notice and a<br>
|
||||||
|
notice that there is no warranty (or else, saying that you provide<br>
|
||||||
|
a warranty) and that users may redistribute the program under<br>
|
||||||
|
these conditions, and telling the user how to view a copy of this<br>
|
||||||
|
License. (Exception: if the Program itself is interactive but<br>
|
||||||
|
does not normally print such an announcement, your work based on<br>
|
||||||
|
the Program is not required to print an announcement.)<br>
|
||||||
|
<br>
|
||||||
|
These requirements apply to the modified work as a whole. If<br>
|
||||||
|
identifiable sections of that work are not derived from the Program,<br>
|
||||||
|
and can be reasonably considered independent and separate works in<br>
|
||||||
|
themselves, then this License, and its terms, do not apply to those<br>
|
||||||
|
sections when you distribute them as separate works. But when you<br>
|
||||||
|
distribute the same sections as part of a whole which is a work based<br>
|
||||||
|
on the Program, the distribution of the whole must be on the terms of<br>
|
||||||
|
this License, whose permissions for other licensees extend to the<br>
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.<br>
|
||||||
|
<br>
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest<br>
|
||||||
|
your rights to work written entirely by you; rather, the intent is to<br>
|
||||||
|
exercise the right to control the distribution of derivative or<br>
|
||||||
|
collective works based on the Program.<br>
|
||||||
|
<br>
|
||||||
|
In addition, mere aggregation of another work not based on the Program<br>
|
||||||
|
with the Program (or with a work based on the Program) on a volume of<br>
|
||||||
|
a storage or distribution medium does not bring the other work under<br>
|
||||||
|
the scope of this License.<br>
|
||||||
|
<br>
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,<br>
|
||||||
|
under Section 2) in object code or executable form under the terms of<br>
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:<br>
|
||||||
|
<br>
|
||||||
|
a) Accompany it with the complete corresponding machine-readable<br>
|
||||||
|
source code, which must be distributed under the terms of Sections<br>
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,<br>
|
||||||
|
<br>
|
||||||
|
b) Accompany it with a written offer, valid for at least three<br>
|
||||||
|
years, to give any third party, for a charge no more than your<br>
|
||||||
|
cost of physically performing source distribution, a complete<br>
|
||||||
|
machine-readable copy of the corresponding source code, to be<br>
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium<br>
|
||||||
|
customarily used for software interchange; or,<br>
|
||||||
|
<br>
|
||||||
|
c) Accompany it with the information you received as to the offer<br>
|
||||||
|
to distribute corresponding source code. (This alternative is<br>
|
||||||
|
allowed only for noncommercial distribution and only if you<br>
|
||||||
|
received the program in object code or executable form with such<br>
|
||||||
|
an offer, in accord with Subsection b above.)<br>
|
||||||
|
<br>
|
||||||
|
The source code for a work means the preferred form of the work for<br>
|
||||||
|
making modifications to it. For an executable work, complete source<br>
|
||||||
|
code means all the source code for all modules it contains, plus any<br>
|
||||||
|
associated interface definition files, plus the scripts used to<br>
|
||||||
|
control compilation and installation of the executable. However, as a<br>
|
||||||
|
special exception, the source code distributed need not include<br>
|
||||||
|
anything that is normally distributed (in either source or binary<br>
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the<br>
|
||||||
|
operating system on which the executable runs, unless that component<br>
|
||||||
|
itself accompanies the executable.<br>
|
||||||
|
<br>
|
||||||
|
If distribution of executable or object code is made by offering<br>
|
||||||
|
access to copy from a designated place, then offering equivalent<br>
|
||||||
|
access to copy the source code from the same place counts as<br>
|
||||||
|
distribution of the source code, even though third parties are not<br>
|
||||||
|
compelled to copy the source along with the object code.<br>
|
||||||
|
<br>
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program<br>
|
||||||
|
except as expressly provided under this License. Any attempt<br>
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is<br>
|
||||||
|
void, and will automatically terminate your rights under this License.<br>
|
||||||
|
However, parties who have received copies, or rights, from you under<br>
|
||||||
|
this License will not have their licenses terminated so long as such<br>
|
||||||
|
parties remain in full compliance.<br>
|
||||||
|
<br>
|
||||||
|
5. You are not required to accept this License, since you have not<br>
|
||||||
|
signed it. However, nothing else grants you permission to modify or<br>
|
||||||
|
distribute the Program or its derivative works. These actions are<br>
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by<br>
|
||||||
|
modifying or distributing the Program (or any work based on the<br>
|
||||||
|
Program), you indicate your acceptance of this License to do so, and<br>
|
||||||
|
all its terms and conditions for copying, distributing or modifying<br>
|
||||||
|
the Program or works based on it.<br>
|
||||||
|
<br>
|
||||||
|
6. Each time you redistribute the Program (or any work based on the<br>
|
||||||
|
Program), the recipient automatically receives a license from the<br>
|
||||||
|
original licensor to copy, distribute or modify the Program subject to<br>
|
||||||
|
these terms and conditions. You may not impose any further<br>
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.<br>
|
||||||
|
You are not responsible for enforcing compliance by third parties to<br>
|
||||||
|
this License.<br>
|
||||||
|
<br>
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent<br>
|
||||||
|
infringement or for any other reason (not limited to patent issues),<br>
|
||||||
|
conditions are imposed on you (whether by court order, agreement or<br>
|
||||||
|
otherwise) that contradict the conditions of this License, they do not<br>
|
||||||
|
excuse you from the conditions of this License. If you cannot<br>
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this<br>
|
||||||
|
License and any other pertinent obligations, then as a consequence you<br>
|
||||||
|
may not distribute the Program at all. For example, if a patent<br>
|
||||||
|
license would not permit royalty-free redistribution of the Program by<br>
|
||||||
|
all those who receive copies directly or indirectly through you, then<br>
|
||||||
|
the only way you could satisfy both it and this License would be to<br>
|
||||||
|
refrain entirely from distribution of the Program.<br>
|
||||||
|
<br>
|
||||||
|
If any portion of this section is held invalid or unenforceable under<br>
|
||||||
|
any particular circumstance, the balance of the section is intended to<br>
|
||||||
|
apply and the section as a whole is intended to apply in other<br>
|
||||||
|
circumstances.<br>
|
||||||
|
<br>
|
||||||
|
It is not the purpose of this section to induce you to infringe any<br>
|
||||||
|
patents or other property right claims or to contest validity of any<br>
|
||||||
|
such claims; this section has the sole purpose of protecting the<br>
|
||||||
|
integrity of the free software distribution system, which is<br>
|
||||||
|
implemented by public license practices. Many people have made<br>
|
||||||
|
generous contributions to the wide range of software distributed<br>
|
||||||
|
through that system in reliance on consistent application of that<br>
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing<br>
|
||||||
|
to distribute software through any other system and a licensee cannot<br>
|
||||||
|
impose that choice.<br>
|
||||||
|
<br>
|
||||||
|
This section is intended to make thoroughly clear what is believed to<br>
|
||||||
|
be a consequence of the rest of this License.<br>
|
||||||
|
<br>
|
||||||
|
8. If the distribution and/or use of the Program is restricted in<br>
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the<br>
|
||||||
|
original copyright holder who places the Program under this License<br>
|
||||||
|
may add an explicit geographical distribution limitation excluding<br>
|
||||||
|
those countries, so that distribution is permitted only in or among<br>
|
||||||
|
countries not thus excluded. In such case, this License incorporates<br>
|
||||||
|
the limitation as if written in the body of this License.<br>
|
||||||
|
<br>
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions<br>
|
||||||
|
of the General Public License from time to time. Such new versions will<br>
|
||||||
|
be similar in spirit to the present version, but may differ in detail to<br>
|
||||||
|
address new problems or concerns.<br>
|
||||||
|
<br>
|
||||||
|
Each version is given a distinguishing version number. If the Program<br>
|
||||||
|
specifies a version number of this License which applies to it and "any<br>
|
||||||
|
later version", you have the option of following the terms and conditions<br>
|
||||||
|
either of that version or of any later version published by the Free<br>
|
||||||
|
Software Foundation. If the Program does not specify a version number of<br>
|
||||||
|
this License, you may choose any version ever published by the Free Software<br>
|
||||||
|
Foundation.<br>
|
||||||
|
<br>
|
||||||
|
10. If you wish to incorporate parts of the Program into other free<br>
|
||||||
|
programs whose distribution conditions are different, write to the author<br>
|
||||||
|
to ask for permission. For software which is copyrighted by the Free<br>
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes<br>
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals<br>
|
||||||
|
of preserving the free status of all derivatives of our free software and<br>
|
||||||
|
of promoting the sharing and reuse of software generally.<br>
|
||||||
|
<br>
|
||||||
|
NO WARRANTY<br>
|
||||||
|
<br>
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY<br>
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN<br>
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES<br>
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED<br>
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF<br>
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS<br>
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE<br>
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,<br>
|
||||||
|
REPAIR OR CORRECTION.<br>
|
||||||
|
<br>
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING<br>
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR<br>
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,<br>
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING<br>
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED<br>
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY<br>
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER<br>
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE<br>
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.<br>
|
||||||
|
<br>
|
||||||
|
END OF TERMS AND CONDITIONS<br>
|
||||||
|
<br>
|
||||||
|
How to Apply These Terms to Your New Programs<br>
|
||||||
|
<br>
|
||||||
|
If you develop a new program, and you want it to be of the greatest<br>
|
||||||
|
possible use to the public, the best way to achieve this is to make it<br>
|
||||||
|
free software which everyone can redistribute and change under these terms.<br>
|
||||||
|
<br>
|
||||||
|
To do so, attach the following notices to the program. It is safest<br>
|
||||||
|
to attach them to the start of each source file to most effectively<br>
|
||||||
|
convey the exclusion of warranty; and each file should have at least<br>
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.<br>
|
||||||
|
<br>
|
||||||
|
<one line to give the program's name and a brief idea of what it does.><br>
|
||||||
|
Copyright (C) <year> <name of author><br>
|
||||||
|
<br>
|
||||||
|
This program is free software; you can redistribute it and/or modify<br>
|
||||||
|
it under the terms of the GNU General Public License as published by<br>
|
||||||
|
the Free Software Foundation; either version 2 of the License, or<br>
|
||||||
|
(at your option) any later version.<br>
|
||||||
|
<br>
|
||||||
|
This program is distributed in the hope that it will be useful,<br>
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
|
||||||
|
GNU General Public License for more details.<br>
|
||||||
|
<br>
|
||||||
|
You should have received a copy of the GNU General Public License along<br>
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,<br>
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.<br>
|
||||||
|
<br>
|
||||||
|
Also add information on how to contact you by electronic and paper mail.<br>
|
||||||
|
<br>
|
||||||
|
If the program is interactive, make it output a short notice like this<br>
|
||||||
|
when it starts in an interactive mode:<br>
|
||||||
|
<br>
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author<br>
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.<br>
|
||||||
|
This is free software, and you are welcome to redistribute it<br>
|
||||||
|
under certain conditions; type `show c' for details.<br>
|
||||||
|
<br>
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate<br>
|
||||||
|
parts of the General Public License. Of course, the commands you use may<br>
|
||||||
|
be called something other than `show w' and `show c'; they could even be<br>
|
||||||
|
mouse-clicks or menu items--whatever suits your program.<br>
|
||||||
|
<br>
|
||||||
|
You should also get your employer (if you work as a programmer) or your<br>
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if<br>
|
||||||
|
necessary. Here is a sample; alter the names:<br>
|
||||||
|
<br>
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program<br>
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.<br>
|
||||||
|
<br>
|
||||||
|
<signature of Ty Coon>, 1 April 1989<br>
|
||||||
|
Ty Coon, President of Vice<br>
|
||||||
|
<br>
|
||||||
|
This General Public License does not permit incorporating your program into<br>
|
||||||
|
proprietary programs. If your program is a subroutine library, you may<br>
|
||||||
|
consider it more useful to permit linking proprietary applications with the<br>
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General<br>
|
||||||
|
Public License instead of this License.<br>
|
||||||
|
</body>
|
||||||
|
</html>
|
356
doc/License-gpl-2.rtf
Normal file
|
@ -0,0 +1,356 @@
|
||||||
|
{\rtf1\ansi\deff1\adeflang1025
|
||||||
|
{\fonttbl{\f0\froman\fprq2\fcharset128 Times New Roman;}{\f1\froman\fprq2\fcharset0 Times New Roman;}{\f2\fswiss\fprq2\fcharset0 Bitstream Vera Sans;}{\f3\fnil\fprq0\fcharset128 Palatino Linotype;}{\f4\froman\fprq2\fcharset0 Times New Roman;}{\f5\fswiss\fprq2\fcharset0 Arial;}{\f6\fmodern\fprq1\fcharset0 Bitstream Vera Sans Mono;}{\f7\fmodern\fprq1\fcharset0 Bitstream Vera Sans;}}
|
||||||
|
{\colortbl;\red0\green0\blue0;\red128\green128\blue128;}
|
||||||
|
{\stylesheet{\s1\rtlch\afs24\lang1081\ltrch\dbch\af2\langfe2052\hich\fs24\lang1031\loch\fs24\lang1031\snext1 Normal;}
|
||||||
|
{\s2\sb240\sa120\keepn\rtlch\af5\afs28\lang1081\ltrch\dbch\af1\langfe2052\hich\f5\fs28\lang1031\loch\f5\fs28\lang1031\sbasedon1\snext3 Heading;}
|
||||||
|
{\s3\sa120\rtlch\afs24\lang1081\ltrch\dbch\af2\langfe2052\hich\fs24\lang1031\loch\fs24\lang1031\sbasedon1\snext3 Body Text;}
|
||||||
|
{\s4\sa120\rtlch\afs24\lang1081\ltrch\dbch\af2\langfe2052\hich\fs24\lang1031\loch\fs24\lang1031\sbasedon3\snext4 List;}
|
||||||
|
{\s5\sb120\sa120\rtlch\afs24\lang1081\ai\ltrch\dbch\af2\langfe2052\hich\f3\fs24\lang1031\i\loch\f3\fs24\lang1031\i\sbasedon1\snext5 caption;}
|
||||||
|
{\s6\rtlch\afs24\lang1081\ltrch\dbch\af2\langfe2052\hich\fs24\lang1031\loch\fs24\lang1031\sbasedon1\snext6 Index;}
|
||||||
|
{\s7\sb120\sa120\rtlch\afs24\lang1081\ai\ltrch\dbch\af2\langfe2052\hich\fs24\lang1031\i\loch\fs24\lang1031\i\sbasedon1\snext7 caption;}
|
||||||
|
{\s8\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031\sbasedon1\snext8 Preformatted Text;}
|
||||||
|
}
|
||||||
|
{\info{\creatim\yr0\mo0\dy0\hr0\min0}{\revtim\yr0\mo0\dy0\hr0\min0}{\printim\yr0\mo0\dy0\hr0\min0}{\comment StarWriter}{\vern3200}}\deftab709
|
||||||
|
{\*\pgdsctbl
|
||||||
|
{\pgdsc0\pgdscuse195\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Standard;}}
|
||||||
|
{\*\pgdscno0}\paperh16838\paperw11906\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
|
||||||
|
\pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 GNU GENERAL PUBLIC LICENSE}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Version 2, June 1991}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Copyright (C) 1989, 1991 Free Software Foundation, Inc.,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Everyone is permitted to copy and distribute verbatim copies}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 of this license document, but changing it is not allowed.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Preamble}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 The licenses for most software are designed to take away your}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 freedom to share and change it. By contrast, the GNU General Public}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 License is intended to guarantee your freedom to share and change free}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 software--to make sure the software is free for all its users. This}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 General Public License applies to most of the Free Software}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Foundation's software and to any other program whose authors commit to}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 using it. (Some other Free Software Foundation software is covered by}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 the GNU Lesser General Public License instead.) You can apply it to}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 your programs, too.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 When we speak of free software, we are referring to freedom, not}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 price. Our General Public Licenses are designed to make sure that you}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 have the freedom to distribute copies of free software (and charge for}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 this service if you wish), that you receive source code or can get it}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 if you want it, that you can change the software or use pieces of it}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 in new free programs; and that you know you can do these things.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 To protect your rights, we need to make restrictions that forbid}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 anyone to deny you these rights or to ask you to surrender the rights.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 These restrictions translate to certain responsibilities for you if you}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 distribute copies of the software, or if you modify it.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 For example, if you distribute copies of such a program, whether}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 gratis or for a fee, you must give the recipients all the rights that}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 you have. You must make sure that they, too, receive or can get the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 source code. And you must show them these terms so they know their}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 rights.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 We protect your rights with two steps: (1) copyright the software, and}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 (2) offer you this license which gives you legal permission to copy,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 distribute and/or modify the software.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Also, for each author's protection and ours, we want to make certain}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 that everyone understands that there is no warranty for this free}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 software. If the software is modified by someone else and passed on, we}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 want its recipients to know that what they have is not the original, so}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 that any problems introduced by others will not reflect on the original}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 authors' reputations.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Finally, any free program is threatened constantly by software}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 patents. We wish to avoid the danger that redistributors of a free}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 program will individually obtain patent licenses, in effect making the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 program proprietary. To prevent this, we have made it clear that any}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 patent must be licensed for everyone's free use or not licensed at all.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 The precise terms and conditions for copying, distribution and}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 modification follow.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 GNU GENERAL PUBLIC LICENSE}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 0. This License applies to any program or other work which contains}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 a notice placed by the copyright holder saying it may be distributed}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 under the terms of this General Public License. The "Program", below,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 refers to any such program or work, and a "work based on the Program"}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 means either the Program or any derivative work under copyright law:}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 that is to say, a work containing the Program or a portion of it,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 either verbatim or with modifications and/or translated into another}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 language. (Hereinafter, translation is included without limitation in}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 the term "modification".) Each licensee is addressed as "you".}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Activities other than copying, distribution and modification are not}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 covered by this License; they are outside its scope. The act of}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 running the Program is not restricted, and the output from the Program}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 is covered only if its contents constitute a work based on the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Program (independent of having been made by running the Program).}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Whether that is true depends on what the Program does.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 1. You may copy and distribute verbatim copies of the Program's}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 source code as you receive it, in any medium, provided that you}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 conspicuously and appropriately publish on each copy an appropriate}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 copyright notice and disclaimer of warranty; keep intact all the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 notices that refer to this License and to the absence of any warranty;}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 and give any other recipients of the Program a copy of this License}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 along with the Program.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 You may charge a fee for the physical act of transferring a copy, and}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 you may at your option offer warranty protection in exchange for a fee.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 2. You may modify your copy or copies of the Program or any portion}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 of it, thus forming a work based on the Program, and copy and}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 distribute such modifications or work under the terms of Section 1}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 above, provided that you also meet all of these conditions:}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 a) You must cause the modified files to carry prominent notices}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 stating that you changed the files and the date of any change.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 b) You must cause any work that you distribute or publish, that in}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 whole or in part contains or is derived from the Program or any}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 part thereof, to be licensed as a whole at no charge to all third}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 parties under the terms of this License.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 c) If the modified program normally reads commands interactively}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 when run, you must cause it, when started running for such}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 interactive use in the most ordinary way, to print or display an}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 announcement including an appropriate copyright notice and a}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 notice that there is no warranty (or else, saying that you provide}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 a warranty) and that users may redistribute the program under}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 these conditions, and telling the user how to view a copy of this}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 License. (Exception: if the Program itself is interactive but}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 does not normally print such an announcement, your work based on}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 the Program is not required to print an announcement.)}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 These requirements apply to the modified work as a whole. If}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 identifiable sections of that work are not derived from the Program,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 and can be reasonably considered independent and separate works in}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 themselves, then this License, and its terms, do not apply to those}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 sections when you distribute them as separate works. But when you}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 distribute the same sections as part of a whole which is a work based}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 on the Program, the distribution of the whole must be on the terms of}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 this License, whose permissions for other licensees extend to the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 entire whole, and thus to each and every part regardless of who wrote it.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Thus, it is not the intent of this section to claim rights or contest}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 your rights to work written entirely by you; rather, the intent is to}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 exercise the right to control the distribution of derivative or}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 collective works based on the Program.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 In addition, mere aggregation of another work not based on the Program}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 with the Program (or with a work based on the Program) on a volume of}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 a storage or distribution medium does not bring the other work under}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 the scope of this License.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 3. You may copy and distribute the Program (or a work based on it,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 under Section 2) in object code or executable form under the terms of}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Sections 1 and 2 above provided that you also do one of the following:}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 a) Accompany it with the complete corresponding machine-readable}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 source code, which must be distributed under the terms of Sections}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 1 and 2 above on a medium customarily used for software interchange; or,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 b) Accompany it with a written offer, valid for at least three}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 years, to give any third party, for a charge no more than your}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 cost of physically performing source distribution, a complete}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 machine-readable copy of the corresponding source code, to be}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 distributed under the terms of Sections 1 and 2 above on a medium}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 customarily used for software interchange; or,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 c) Accompany it with the information you received as to the offer}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 to distribute corresponding source code. (This alternative is}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 allowed only for noncommercial distribution and only if you}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 received the program in object code or executable form with such}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 an offer, in accord with Subsection b above.)}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 The source code for a work means the preferred form of the work for}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 making modifications to it. For an executable work, complete source}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 code means all the source code for all modules it contains, plus any}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 associated interface definition files, plus the scripts used to}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 control compilation and installation of the executable. However, as a}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 special exception, the source code distributed need not include}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 anything that is normally distributed (in either source or binary}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 form) with the major components (compiler, kernel, and so on) of the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 operating system on which the executable runs, unless that component}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 itself accompanies the executable.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 If distribution of executable or object code is made by offering}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 access to copy from a designated place, then offering equivalent}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 access to copy the source code from the same place counts as}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 distribution of the source code, even though third parties are not}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 compelled to copy the source along with the object code.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 4. You may not copy, modify, sublicense, or distribute the Program}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 except as expressly provided under this License. Any attempt}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 otherwise to copy, modify, sublicense or distribute the Program is}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 void, and will automatically terminate your rights under this License.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 However, parties who have received copies, or rights, from you under}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 this License will not have their licenses terminated so long as such}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 parties remain in full compliance.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 5. You are not required to accept this License, since you have not}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 signed it. However, nothing else grants you permission to modify or}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 distribute the Program or its derivative works. These actions are}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 prohibited by law if you do not accept this License. Therefore, by}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 modifying or distributing the Program (or any work based on the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Program), you indicate your acceptance of this License to do so, and}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 all its terms and conditions for copying, distributing or modifying}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 the Program or works based on it.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 6. Each time you redistribute the Program (or any work based on the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Program), the recipient automatically receives a license from the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 original licensor to copy, distribute or modify the Program subject to}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 these terms and conditions. You may not impose any further}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 restrictions on the recipients' exercise of the rights granted herein.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 You are not responsible for enforcing compliance by third parties to}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 this License.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 7. If, as a consequence of a court judgment or allegation of patent}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 infringement or for any other reason (not limited to patent issues),}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 conditions are imposed on you (whether by court order, agreement or}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 otherwise) that contradict the conditions of this License, they do not}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 excuse you from the conditions of this License. If you cannot}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 distribute so as to satisfy simultaneously your obligations under this}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 License and any other pertinent obligations, then as a consequence you}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 may not distribute the Program at all. For example, if a patent}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 license would not permit royalty-free redistribution of the Program by}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 all those who receive copies directly or indirectly through you, then}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 the only way you could satisfy both it and this License would be to}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 refrain entirely from distribution of the Program.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 If any portion of this section is held invalid or unenforceable under}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 any particular circumstance, the balance of the section is intended to}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 apply and the section as a whole is intended to apply in other}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 circumstances.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 It is not the purpose of this section to induce you to infringe any}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 patents or other property right claims or to contest validity of any}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 such claims; this section has the sole purpose of protecting the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 integrity of the free software distribution system, which is}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 implemented by public license practices. Many people have made}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 generous contributions to the wide range of software distributed}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 through that system in reliance on consistent application of that}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 system; it is up to the author/donor to decide if he or she is willing}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 to distribute software through any other system and a licensee cannot}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 impose that choice.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 This section is intended to make thoroughly clear what is believed to}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 be a consequence of the rest of this License.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 8. If the distribution and/or use of the Program is restricted in}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 certain countries either by patents or by copyrighted interfaces, the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 original copyright holder who places the Program under this License}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 may add an explicit geographical distribution limitation excluding}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 those countries, so that distribution is permitted only in or among}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 countries not thus excluded. In such case, this License incorporates}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 the limitation as if written in the body of this License.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 9. The Free Software Foundation may publish revised and/or new versions}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 of the General Public License from time to time. Such new versions will}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 be similar in spirit to the present version, but may differ in detail to}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 address new problems or concerns.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Each version is given a distinguishing version number. If the Program}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 specifies a version number of this License which applies to it and "any}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 later version", you have the option of following the terms and conditions}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 either of that version or of any later version published by the Free}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Software Foundation. If the Program does not specify a version number of}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 this License, you may choose any version ever published by the Free Software}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Foundation.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 10. If you wish to incorporate parts of the Program into other free}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 programs whose distribution conditions are different, write to the author}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 to ask for permission. For software which is copyrighted by the Free}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Software Foundation, write to the Free Software Foundation; we sometimes}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 make exceptions for this. Our decision will be guided by the two goals}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 of preserving the free status of all derivatives of our free software and}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 of promoting the sharing and reuse of software generally.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 NO WARRANTY}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 REPAIR OR CORRECTION.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 POSSIBILITY OF SUCH DAMAGES.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 END OF TERMS AND CONDITIONS}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 How to Apply These Terms to Your New Programs}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 If you develop a new program, and you want it to be of the greatest}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 possible use to the public, the best way to achieve this is to make it}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 free software which everyone can redistribute and change under these terms.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 To do so, attach the following notices to the program. It is safest}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 to attach them to the start of each source file to most effectively}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 convey the exclusion of warranty; and each file should have at least}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 the "copyright" line and a pointer to where the full notice is found.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 <one line to give the program's name and a brief idea of what it does.>}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Copyright (C) <year> <name of author>}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 This program is free software; you can redistribute it and/or modify}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 it under the terms of the GNU General Public License as published by}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 the Free Software Foundation; either version 2 of the License, or}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 (at your option) any later version.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 This program is distributed in the hope that it will be useful,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 but WITHOUT ANY WARRANTY; without even the implied warranty of}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 GNU General Public License for more details.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 You should have received a copy of the GNU General Public License along}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 with this program; if not, write to the Free Software Foundation, Inc.,}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Also add information on how to contact you by electronic and paper mail.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 If the program is interactive, make it output a short notice like this}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 when it starts in an interactive mode:}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Gnomovision version 69, Copyright (C) year name of author}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 This is free software, and you are welcome to redistribute it}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 under certain conditions; type `show c' for details.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 The hypothetical commands `show w' and `show c' should show the appropriate}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 parts of the General Public License. Of course, the commands you use may}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 be called something other than `show w' and `show c'; they could even be}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 mouse-clicks or menu items--whatever suits your program.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 You should also get your employer (if you work as a programmer) or your}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 school, if any, to sign a "copyright disclaimer" for the program, if}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 necessary. Here is a sample; alter the names:}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Yoyodyne, Inc., hereby disclaims all copyright interest in the program}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 `Gnomovision' (which makes passes at compilers) written by James Hacker.}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 <signature of Ty Coon>, 1 April 1989}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Ty Coon, President of Vice}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 This General Public License does not permit incorporating your program into}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 proprietary programs. If your program is a subroutine library, you may}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 consider it more useful to permit linking proprietary applications with the}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 library. If this is what you want to do, use the GNU Lesser General}
|
||||||
|
\par \pard\plain \ltrpar\s8\ql\rtlch\af6\afs20\lang1081\ltrch\dbch\af7\langfe2052\hich\f6\fs20\lang1031\loch\f6\fs20\lang1031 {\rtlch \ltrch\loch\f6\fs20\lang1031\i0\b0 Public License instead of this License.}
|
||||||
|
\par }
|
339
doc/License-gpl-2.txt
Normal file
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program 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 General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
771
doc/License-gpl-3.0.html
Normal file
|
@ -0,0 +1,771 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8"/>
|
||||||
|
<style>
|
||||||
|
body { font-family: Verdana, Arial, Helvetica, sans-serif; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body lang=EN-US style='word-wrap:break-word'>
|
||||||
|
|
||||||
|
<p>COPYING file for VirtualBox versions 7.0 and later versions
|
||||||
|
that include this file</p>
|
||||||
|
|
||||||
|
<p>Preliminary notes:</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>1) The majority of the code in
|
||||||
|
the VirtualBox base package is licensed under the GNU General Public License,
|
||||||
|
version 3 (GPL). VirtualBox contains many components developed by Oracle and
|
||||||
|
various third parties. The license for each component is located in the
|
||||||
|
licensing documentation and/or in the component's source code.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>2) As an exception to the reciprocal
|
||||||
|
license obligations of the GPL listed below, you may use any VirtualBox header
|
||||||
|
file that is marked by Oracle as licensed under both the GPL and the Common
|
||||||
|
Development and Distribution License version 1.0 (CDDL) to invoke the
|
||||||
|
unmodified VirtualBox libraries. In other words, calling such a multi-licensed
|
||||||
|
interface by dynamically linking to the unmodified VirtualBox libraries is
|
||||||
|
considered a normal use of VirtualBox and does not turn the calling code into a
|
||||||
|
derived work of VirtualBox. In particular, this applies to code that wants to
|
||||||
|
extend VirtualBox by way of the Extension Pack mechanism declared in the
|
||||||
|
ExtPack.h header file.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>3) Whoever creates or distributes
|
||||||
|
a derived work based on VirtualBox is not obligated to grant the above
|
||||||
|
exceptions for such a version. The GPL permits you to release a modified
|
||||||
|
version without the above exception; in addition, Oracle hereby also allows you
|
||||||
|
to release a modified version which carries forward these exceptions.</p>
|
||||||
|
|
||||||
|
<p>Oracle America, Inc.</p>
|
||||||
|
|
||||||
|
<p>---</p>
|
||||||
|
|
||||||
|
<p>GNU GENERAL PUBLIC LICENSE</p>
|
||||||
|
|
||||||
|
<p>Version 3, 29 June 2007</p>
|
||||||
|
|
||||||
|
<p>Copyright © 2007 Free Software Foundation, Inc.
|
||||||
|
<https://fsf.org/></p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Everyone is permitted to copy and
|
||||||
|
distribute verbatim copies of this license document, but changing it is not
|
||||||
|
allowed.</p>
|
||||||
|
|
||||||
|
<p>Preamble</p>
|
||||||
|
|
||||||
|
<p>The GNU General Public License is a free, copyleft license
|
||||||
|
for software and other kinds of works.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The licenses for most software
|
||||||
|
and other practical works are designed to take away your freedom to share and
|
||||||
|
change the works. By contrast, the GNU General Public License is intended to
|
||||||
|
guarantee your freedom to share and change all versions of a program--to make
|
||||||
|
sure it remains free software for all its users. We, the Free Software
|
||||||
|
Foundation, use the GNU General Public License for most of our software; it
|
||||||
|
applies also to any other work released this way by its authors. You can apply
|
||||||
|
it to your programs, too.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>When we speak of free software,
|
||||||
|
we are referring to freedom, not price. Our General Public Licenses are
|
||||||
|
designed to make sure that you have the freedom to distribute copies of free
|
||||||
|
software (and charge for them if you wish), that you receive source code or can
|
||||||
|
get it if you want it, that you can change the software or use pieces of it in
|
||||||
|
new free programs, and that you know you can do these things.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>To protect your rights, we need
|
||||||
|
to prevent others from denying you these rights or asking you to surrender the
|
||||||
|
rights. Therefore, you have certain responsibilities if you distribute copies
|
||||||
|
of the software, or if you modify it: responsibilities to respect the freedom
|
||||||
|
of others.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>For example, if you distribute
|
||||||
|
copies of such a program, whether gratis or for a fee, you must pass on to the
|
||||||
|
recipients the same freedoms that you received. You must make sure that they,
|
||||||
|
too, receive or can get the source code. And you must show them these terms so
|
||||||
|
they know their rights.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Developers that use the GNU GPL
|
||||||
|
protect your rights with two steps: (1) assert copyright on the software, and
|
||||||
|
(2) offer you this License giving you legal permission to copy, distribute
|
||||||
|
and/or modify it.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>For the developers' and authors'
|
||||||
|
protection, the GPL clearly explains that there is no warranty for this free
|
||||||
|
software. For both users' and authors' sake, the GPL requires that modified
|
||||||
|
versions be marked as changed, so that their problems will not be attributed
|
||||||
|
erroneously to authors of previous versions.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Some devices are designed to deny
|
||||||
|
users access to install or run modified versions of the software inside them,
|
||||||
|
although the manufacturer can do so. This is fundamentally incompatible with
|
||||||
|
the aim of protecting users' freedom to change the software. The systematic
|
||||||
|
pattern of such abuse occurs in the area of products for individuals to use,
|
||||||
|
which is precisely where it is most unacceptable. Therefore, we have designed
|
||||||
|
this version of the GPL to prohibit the practice for those products. If such
|
||||||
|
problems arise substantially in other domains, we stand ready to extend this
|
||||||
|
provision to those domains in future versions of the GPL, as needed to protect
|
||||||
|
the freedom of users.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Finally, every program is
|
||||||
|
threatened constantly by software patents. States should not allow patents to
|
||||||
|
restrict development and use of software on general-purpose computers, but in
|
||||||
|
those that do, we wish to avoid the special danger that patents applied to a
|
||||||
|
free program could make it effectively proprietary. To prevent this, the GPL
|
||||||
|
assures that patents cannot be used to render the program non-free.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The precise terms and conditions
|
||||||
|
for copying, distribution and modification follow.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>TERMS AND CONDITIONS</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>0. Definitions.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>“This License” refers to version
|
||||||
|
3 of the GNU General Public License.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>“Copyright” also means
|
||||||
|
copyright-like laws that apply to other kinds of works, such as semiconductor
|
||||||
|
masks.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>“The Program” refers to any
|
||||||
|
copyrightable work licensed under this License. Each licensee is addressed as
|
||||||
|
“you”. “Licensees” and “recipients” may be individuals or organizations.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>To “modify” a work means to copy
|
||||||
|
from or adapt all or part of the work in a fashion requiring copyright
|
||||||
|
permission, other than the making of an exact copy. The resulting work is
|
||||||
|
called a “modified version” of the earlier work or a work “based on” the
|
||||||
|
earlier work.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>A “covered work” means either the
|
||||||
|
unmodified Program or a work based on the Program.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>To “propagate” a work means to do
|
||||||
|
anything with it that, without permission, would make you directly or
|
||||||
|
secondarily liable for infringement under applicable copyright law, except
|
||||||
|
executing it on a computer or modifying a private copy. Propagation includes
|
||||||
|
copying, distribution (with or without modification), making available to the
|
||||||
|
public, and in some countries other activities as well.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>To “convey” a work means any kind
|
||||||
|
of propagation that enables other parties to make or receive copies. Mere
|
||||||
|
interaction with a user through a computer network, with no transfer of a copy,
|
||||||
|
is not conveying.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>An interactive user interface
|
||||||
|
displays “Appropriate Legal Notices” to the extent that it includes a
|
||||||
|
convenient and prominently visible feature that (1) displays an appropriate
|
||||||
|
copyright notice, and (2) tells the user that there is no warranty for the work
|
||||||
|
(except to the extent that warranties are provided), that licensees may convey
|
||||||
|
the work under this License, and how to view a copy of this License. If the
|
||||||
|
interface presents a list of user commands or options, such as a menu, a
|
||||||
|
prominent item in the list meets this criterion.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>1. Source Code.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The “source code” for a work
|
||||||
|
means the preferred form of the work for making modifications to it. “Object
|
||||||
|
code” means any non-source form of a work.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>A “Standard Interface” means an
|
||||||
|
interface that either is an official standard defined by a recognized standards
|
||||||
|
body, or, in the case of interfaces specified for a particular programming
|
||||||
|
language, one that is widely used among developers working in that language.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The “System Libraries” of an
|
||||||
|
executable work include anything, other than the work as a whole, that (a) is
|
||||||
|
included in the normal form of packaging a Major Component, but which is not
|
||||||
|
part of that Major Component, and (b) serves only to enable use of the work
|
||||||
|
with that Major Component, or to implement a Standard Interface for which an
|
||||||
|
implementation is available to the public in source code form. A “Major
|
||||||
|
Component”, in this context, means a major essential component (kernel, window
|
||||||
|
system, and so on) of the specific operating system (if any) on which the
|
||||||
|
executable work runs, or a compiler used to produce the work, or an object code
|
||||||
|
interpreter used to run it.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The “Corresponding Source” for a
|
||||||
|
work in object code form means all the source code needed to generate, install,
|
||||||
|
and (for an executable work) run the object code and to modify the work,
|
||||||
|
including scripts to control those activities. However, it does not include the
|
||||||
|
work's System Libraries, or general-purpose tools or generally available free
|
||||||
|
programs which are used unmodified in performing those activities but which are
|
||||||
|
not part of the work. For example, Corresponding Source includes interface
|
||||||
|
definition files associated with source files for the work, and the source code
|
||||||
|
for shared libraries and dynamically linked subprograms that the work is
|
||||||
|
specifically designed to require, such as by intimate data communication or
|
||||||
|
control flow between those subprograms and other parts of the work.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The Corresponding Source need not
|
||||||
|
include anything that users can regenerate automatically from other parts of
|
||||||
|
the Corresponding Source.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The Corresponding Source for a
|
||||||
|
work in source code form is that same work.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>2. Basic Permissions.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>All rights granted under this
|
||||||
|
License are granted for the term of copyright on the Program, and are irrevocable
|
||||||
|
provided the stated conditions are met. This License explicitly affirms your
|
||||||
|
unlimited permission to run the unmodified Program. The output from running a
|
||||||
|
covered work is covered by this License only if the output, given its content,
|
||||||
|
constitutes a covered work. This License acknowledges your rights of fair use
|
||||||
|
or other equivalent, as provided by copyright law.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>You may make, run and propagate
|
||||||
|
covered works that you do not convey, without conditions so long as your
|
||||||
|
license otherwise remains in force. You may convey covered works to others for
|
||||||
|
the sole purpose of having them make modifications exclusively for you, or
|
||||||
|
provide you with facilities for running those works, provided that you comply
|
||||||
|
with the terms of this License in conveying all material for which you do not
|
||||||
|
control copyright. Those thus making or running the covered works for you must
|
||||||
|
do so exclusively on your behalf, under your direction and control, on terms
|
||||||
|
that prohibit them from making any copies of your copyrighted material outside
|
||||||
|
their relationship with you.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Conveying under any other
|
||||||
|
circumstances is permitted solely under the conditions stated below.
|
||||||
|
Sublicensing is not allowed; section 10 makes it unnecessary.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>3. Protecting Users' Legal Rights
|
||||||
|
From Anti-Circumvention Law.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>No covered work shall be deemed
|
||||||
|
part of an effective technological measure under any applicable law fulfilling
|
||||||
|
obligations under article 11 of the WIPO copyright treaty adopted on 20
|
||||||
|
December 1996, or similar laws prohibiting or restricting circumvention of such
|
||||||
|
measures.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>When you convey a covered work,
|
||||||
|
you waive any legal power to forbid circumvention of technological measures to
|
||||||
|
the extent such circumvention is effected by exercising rights under this
|
||||||
|
License with respect to the covered work, and you disclaim any intention to
|
||||||
|
limit operation or modification of the work as a means of enforcing, against
|
||||||
|
the work's users, your or third parties' legal rights to forbid circumvention
|
||||||
|
of technological measures.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>4. Conveying Verbatim Copies.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>You may convey verbatim copies of
|
||||||
|
the Program's source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate copyright
|
||||||
|
notice; keep intact all notices stating that this License and any
|
||||||
|
non-permissive terms added in accord with section 7 apply to the code; keep
|
||||||
|
intact all notices of the absence of any warranty; and give all recipients a
|
||||||
|
copy of this License along with the Program.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>You may charge any price or no
|
||||||
|
price for each copy that you convey, and you may offer support or warranty
|
||||||
|
protection for a fee.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>5. Conveying Modified Source
|
||||||
|
Versions.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>You may convey a work based on
|
||||||
|
the Program, or the modifications to produce it from the Program, in the form
|
||||||
|
of source code under the terms of section 4, provided that you also meet all of
|
||||||
|
these conditions:</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> a) The work must carry prominent notices
|
||||||
|
stating that you modified it, and giving a relevant date.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> b) The work must carry prominent notices
|
||||||
|
stating that it is released under this License and any conditions added under
|
||||||
|
section 7. This requirement modifies the requirement in section 4 to “keep
|
||||||
|
intact all notices”.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> c) You must license the entire work, as a
|
||||||
|
whole, under this License to anyone who comes into possession of a copy. This
|
||||||
|
License will therefore apply, along with any applicable section 7 additional
|
||||||
|
terms, to the whole of the work, and all its parts, regardless of how they are
|
||||||
|
packaged. This License gives no permission to license the work in any other
|
||||||
|
way, but it does not invalidate such permission if you have separately received
|
||||||
|
it.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> d) If the work has interactive user
|
||||||
|
interfaces, each must display Appropriate Legal Notices; however, if the
|
||||||
|
Program has interactive interfaces that do not display Appropriate Legal
|
||||||
|
Notices, your work need not make them do so.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>A compilation of a covered work
|
||||||
|
with other separate and independent works, which are not by their nature
|
||||||
|
extensions of the covered work, and which are not combined with it such as to
|
||||||
|
form a larger program, in or on a volume of a storage or distribution medium,
|
||||||
|
is called an “aggregate” if the compilation and its resulting copyright are not
|
||||||
|
used to limit the access or legal rights of the compilation's users beyond what
|
||||||
|
the individual works permit. Inclusion of a covered work in an aggregate does
|
||||||
|
not cause this License to apply to the other parts of the aggregate.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>6. Conveying Non-Source Forms.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>You may convey a covered work in
|
||||||
|
object code form under the terms of sections 4 and 5, provided that you also
|
||||||
|
convey the machine-readable Corresponding Source under the terms of this
|
||||||
|
License, in one of these ways:</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> a) Convey the object code in, or embodied
|
||||||
|
in, a physical product (including a physical distribution medium), accompanied
|
||||||
|
by the Corresponding Source fixed on a durable physical medium customarily used
|
||||||
|
for software interchange.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> b) Convey the object code in, or embodied
|
||||||
|
in, a physical product (including a physical distribution medium), accompanied
|
||||||
|
by a written offer, valid for at least three years and valid for as long as you
|
||||||
|
offer spare parts or customer support for that product model, to give anyone
|
||||||
|
who possesses the object code either (1) a copy of the Corresponding Source for
|
||||||
|
all the software in the product that is covered by this License, on a durable
|
||||||
|
physical medium customarily used for software interchange, for a price no more
|
||||||
|
than your reasonable cost of physically performing this conveying of source, or
|
||||||
|
(2) access to copy the Corresponding Source from a network server at no charge.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> c) Convey individual copies of the object
|
||||||
|
code with a copy of the written offer to provide the Corresponding Source. This
|
||||||
|
alternative is allowed only occasionally and noncommercially, and only if you
|
||||||
|
received the object code with such an offer, in accord with subsection 6b.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> d) Convey the object code by offering
|
||||||
|
access from a designated place (gratis or for a charge), and offer equivalent
|
||||||
|
access to the Corresponding Source in the same way through the same place at no
|
||||||
|
further charge. You need not require recipients to copy the Corresponding
|
||||||
|
Source along with the object code. If the place to copy the object code is a
|
||||||
|
network server, the Corresponding Source may be on a different server (operated
|
||||||
|
by you or a third party) that supports equivalent copying facilities, provided you
|
||||||
|
maintain clear directions next to the object code saying where to find the
|
||||||
|
Corresponding Source. Regardless of what server hosts the Corresponding Source,
|
||||||
|
you remain obligated to ensure that it is available for as long as needed to
|
||||||
|
satisfy these requirements.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> e) Convey the object code using
|
||||||
|
peer-to-peer transmission, provided you inform other peers where the object
|
||||||
|
code and Corresponding Source of the work are being offered to the general
|
||||||
|
public at no charge under subsection 6d.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>A separable portion of the object
|
||||||
|
code, whose source code is excluded from the Corresponding Source as a System
|
||||||
|
Library, need not be included in conveying the object code work.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>A “User Product” is either (1) a
|
||||||
|
“consumer product”, which means any tangible personal property which is
|
||||||
|
normally used for personal, family, or household purposes, or (2) anything
|
||||||
|
designed or sold for incorporation into a dwelling. In determining whether a
|
||||||
|
product is a consumer product, doubtful cases shall be resolved in favor of
|
||||||
|
coverage. For a particular product received by a particular user, “normally
|
||||||
|
used” refers to a typical or common use of that class of product, regardless of
|
||||||
|
the status of the particular user or of the way in which the particular user
|
||||||
|
actually uses, or expects or is expected to use, the product. A product is a
|
||||||
|
consumer product regardless of whether the product has substantial commercial,
|
||||||
|
industrial or non-consumer uses, unless such uses represent the only
|
||||||
|
significant mode of use of the product.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>“Installation Information” for a
|
||||||
|
User Product means any methods, procedures, authorization keys, or other
|
||||||
|
information required to install and execute modified versions of a covered work
|
||||||
|
in that User Product from a modified version of its Corresponding Source. The
|
||||||
|
information must suffice to ensure that the continued functioning of the
|
||||||
|
modified object code is in no case prevented or interfered with solely because
|
||||||
|
modification has been made.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>If you convey an object code work
|
||||||
|
under this section in, or with, or specifically for use in, a User Product, and
|
||||||
|
the conveying occurs as part of a transaction in which the right of possession
|
||||||
|
and use of the User Product is transferred to the recipient in perpetuity or
|
||||||
|
for a fixed term (regardless of how the transaction is characterized), the
|
||||||
|
Corresponding Source conveyed under this section must be accompanied by the
|
||||||
|
Installation Information. But this requirement does not apply if neither you
|
||||||
|
nor any third party retains the ability to install modified object code on the
|
||||||
|
User Product (for example, the work has been installed in ROM).</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The requirement to provide
|
||||||
|
Installation Information does not include a requirement to continue to provide
|
||||||
|
support service, warranty, or updates for a work that has been modified or
|
||||||
|
installed by the recipient, or for the User Product in which it has been
|
||||||
|
modified or installed. Access to a network may be denied when the modification
|
||||||
|
itself materially and adversely affects the operation of the network or
|
||||||
|
violates the rules and protocols for communication across the network.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Corresponding Source conveyed,
|
||||||
|
and Installation Information provided, in accord with this section must be in a
|
||||||
|
format that is publicly documented (and with an implementation available to the
|
||||||
|
public in source code form), and must require no special password or key for
|
||||||
|
unpacking, reading or copying.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>7. Additional Terms.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>“Additional permissions” are
|
||||||
|
terms that supplement the terms of this License by making exceptions from one
|
||||||
|
or more of its conditions. Additional permissions that are applicable to the
|
||||||
|
entire Program shall be treated as though they were included in this License,
|
||||||
|
to the extent that they are valid under applicable law. If additional
|
||||||
|
permissions apply only to part of the Program, that part may be used separately
|
||||||
|
under those permissions, but the entire Program remains governed by this
|
||||||
|
License without regard to the additional permissions.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>When you convey a copy of a
|
||||||
|
covered work, you may at your option remove any additional permissions from
|
||||||
|
that copy, or from any part of it. (Additional permissions may be written to
|
||||||
|
require their own removal in certain cases when you modify the work.) You may
|
||||||
|
place additional permissions on material, added by you to a covered work, for
|
||||||
|
which you have or can give appropriate copyright permission.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Notwithstanding any other provision
|
||||||
|
of this License, for material you add to a covered work, you may (if authorized
|
||||||
|
by the copyright holders of that material) supplement the terms of this License
|
||||||
|
with terms:</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> a) Disclaiming warranty or limiting
|
||||||
|
liability differently from the terms of sections 15 and 16 of this License; or</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> b) Requiring preservation of specified
|
||||||
|
reasonable legal notices or author attributions in that material or in the
|
||||||
|
Appropriate Legal Notices displayed by works containing it; or</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> c) Prohibiting misrepresentation of the
|
||||||
|
origin of that material, or requiring that modified versions of such material
|
||||||
|
be marked in reasonable ways as different from the original version; or</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> d) Limiting the use for publicity purposes
|
||||||
|
of names of licensors or authors of the material; or</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> e) Declining to grant rights under
|
||||||
|
trademark law for use of some trade names, trademarks, or service marks; or</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> f) Requiring indemnification of licensors
|
||||||
|
and authors of that material by anyone who conveys the material (or modified
|
||||||
|
versions of it) with contractual assumptions of liability to the recipient, for
|
||||||
|
any liability that these contractual assumptions directly impose on those
|
||||||
|
licensors and authors.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>All other non-permissive
|
||||||
|
additional terms are considered “further restrictions” within the meaning of
|
||||||
|
section 10. If the Program as you received it, or any part of it, contains a
|
||||||
|
notice stating that it is governed by this License along with a term that is a
|
||||||
|
further restriction, you may remove that term. If a license document contains a
|
||||||
|
further restriction but permits relicensing or conveying under this License,
|
||||||
|
you may add to a covered work material governed by the terms of that license
|
||||||
|
document, provided that the further restriction does not survive such
|
||||||
|
relicensing or conveying.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>If you add terms to a covered
|
||||||
|
work in accord with this section, you must place, in the relevant source files,
|
||||||
|
a statement of the additional terms that apply to those files, or a notice
|
||||||
|
indicating where to find the applicable terms.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Additional terms, permissive or
|
||||||
|
non-permissive, may be stated in the form of a separately written license, or
|
||||||
|
stated as exceptions; the above requirements apply either way.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>8. Termination.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>You may not propagate or modify a
|
||||||
|
covered work except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to propagate or modify it is void, and will automatically terminate
|
||||||
|
your rights under this License (including any patent licenses granted under the
|
||||||
|
third paragraph of section 11).</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>However, if you cease all
|
||||||
|
violation of this License, then your license from a particular copyright holder
|
||||||
|
is reinstated (a) provisionally, unless and until the copyright holder
|
||||||
|
explicitly and finally terminates your license, and (b) permanently, if the
|
||||||
|
copyright holder fails to notify you of the violation by some reasonable means
|
||||||
|
prior to 60 days after the cessation.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Moreover, your license from a
|
||||||
|
particular copyright holder is reinstated permanently if the copyright holder
|
||||||
|
notifies you of the violation by some reasonable means, this is the first time
|
||||||
|
you have received notice of violation of this License (for any work) from that
|
||||||
|
copyright holder, and you cure the violation prior to 30 days after your
|
||||||
|
receipt of the notice.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Termination of your rights under
|
||||||
|
this section does not terminate the licenses of parties who have received
|
||||||
|
copies or rights from you under this License. If your rights have been
|
||||||
|
terminated and not permanently reinstated, you do not qualify to receive new
|
||||||
|
licenses for the same material under section 10.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>9. Acceptance Not Required for
|
||||||
|
Having Copies.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>You are not required to accept
|
||||||
|
this License in order to receive or run a copy of the Program. Ancillary
|
||||||
|
propagation of a covered work occurring solely as a consequence of using
|
||||||
|
peer-to-peer transmission to receive a copy likewise does not require
|
||||||
|
acceptance. However, nothing other than this License grants you permission to
|
||||||
|
propagate or modify any covered work. These actions infringe copyright if you
|
||||||
|
do not accept this License. Therefore, by modifying or propagating a covered
|
||||||
|
work, you indicate your acceptance of this License to do so.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>10. Automatic Licensing of
|
||||||
|
Downstream Recipients.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Each time you convey a covered
|
||||||
|
work, the recipient automatically receives a license from the original
|
||||||
|
licensors, to run, modify and propagate that work, subject to this License. You
|
||||||
|
are not responsible for enforcing compliance by third parties with this
|
||||||
|
License.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>An “entity transaction” is a
|
||||||
|
transaction transferring control of an organization, or substantially all
|
||||||
|
assets of one, or subdividing an organization, or merging organizations. If
|
||||||
|
propagation of a covered work results from an entity transaction, each party to
|
||||||
|
that transaction who receives a copy of the work also receives whatever
|
||||||
|
licenses to the work the party's predecessor in interest had or could give
|
||||||
|
under the previous paragraph, plus a right to possession of the Corresponding
|
||||||
|
Source of the work from the predecessor in interest, if the predecessor has it
|
||||||
|
or can get it with reasonable efforts.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>You may not impose any further
|
||||||
|
restrictions on the exercise of the rights granted or affirmed under this
|
||||||
|
License. For example, you may not impose a license fee, royalty, or other
|
||||||
|
charge for exercise of rights granted under this License, and you may not
|
||||||
|
initiate litigation (including a cross-claim or counterclaim in a lawsuit)
|
||||||
|
alleging that any patent claim is infringed by making, using, selling, offering
|
||||||
|
for sale, or importing the Program or any portion of it.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>11. Patents.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>A “contributor” is a copyright
|
||||||
|
holder who authorizes use under this License of the Program or a work on which
|
||||||
|
the Program is based. The work thus licensed is called the contributor's
|
||||||
|
“contributor version”.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>A contributor's “essential patent
|
||||||
|
claims” are all patent claims owned or controlled by the contributor, whether
|
||||||
|
already acquired or hereafter acquired, that would be infringed by some manner,
|
||||||
|
permitted by this License, of making, using, or selling its contributor
|
||||||
|
version, but do not include claims that would be infringed only as a
|
||||||
|
consequence of further modification of the contributor version. For purposes of
|
||||||
|
this definition, “control” includes the right to grant patent sublicenses in a
|
||||||
|
manner consistent with the requirements of this License.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Each contributor grants you a
|
||||||
|
non-exclusive, worldwide, royalty-free patent license under the contributor's
|
||||||
|
essential patent claims, to make, use, sell, offer for sale, import and
|
||||||
|
otherwise run, modify and propagate the contents of its contributor version.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>In the following three
|
||||||
|
paragraphs, a “patent license” is any express agreement or commitment, however
|
||||||
|
denominated, not to enforce a patent (such as an express permission to practice
|
||||||
|
a patent or covenant not to sue for patent infringement). To “grant” such a
|
||||||
|
patent license to a party means to make such an agreement or commitment not to
|
||||||
|
enforce a patent against the party.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>If you convey a covered work,
|
||||||
|
knowingly relying on a patent license, and the Corresponding Source of the work
|
||||||
|
is not available for anyone to copy, free of charge and under the terms of this
|
||||||
|
License, through a publicly available network server or other readily
|
||||||
|
accessible means, then you must either (1) cause the Corresponding Source to be
|
||||||
|
so available, or (2) arrange to deprive yourself of the benefit of the patent
|
||||||
|
license for this particular work, or (3) arrange, in a manner consistent with
|
||||||
|
the requirements of this License, to extend the patent license to downstream
|
||||||
|
recipients. “Knowingly relying” means you have actual knowledge that, but for
|
||||||
|
the patent license, your conveying the covered work in a country, or your recipient's
|
||||||
|
use of the covered work in a country, would infringe one or more identifiable
|
||||||
|
patents in that country that you have reason to believe are valid.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>If, pursuant to or in connection
|
||||||
|
with a single transaction or arrangement, you convey, or propagate by procuring
|
||||||
|
conveyance of, a covered work, and grant a patent license to some of the
|
||||||
|
parties receiving the covered work authorizing them to use, propagate, modify
|
||||||
|
or convey a specific copy of the covered work, then the patent license you
|
||||||
|
grant is automatically extended to all recipients of the covered work and works
|
||||||
|
based on it.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>A patent license is
|
||||||
|
“discriminatory” if it does not include within the scope of its coverage,
|
||||||
|
prohibits the exercise of, or is conditioned on the non-exercise of one or more
|
||||||
|
of the rights that are specifically granted under this License. You may not
|
||||||
|
convey a covered work if you are a party to an arrangement with a third party
|
||||||
|
that is in the business of distributing software, under which you make payment
|
||||||
|
to the third party based on the extent of your activity of conveying the work,
|
||||||
|
and under which the third party grants, to any of the parties who would receive
|
||||||
|
the covered work from you, a discriminatory patent license (a) in connection
|
||||||
|
with copies of the covered work conveyed by you (or copies made from those
|
||||||
|
copies), or (b) primarily for and in connection with specific products or
|
||||||
|
compilations that contain the covered work, unless you entered into that
|
||||||
|
arrangement, or that patent license was granted, prior to 28 March 2007.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Nothing in this License shall be
|
||||||
|
construed as excluding or limiting any implied license or other defenses to
|
||||||
|
infringement that may otherwise be available to you under applicable patent
|
||||||
|
law.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>12. No Surrender of Others'
|
||||||
|
Freedom.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>If conditions are imposed on you
|
||||||
|
(whether by court order, agreement or otherwise) that contradict the conditions
|
||||||
|
of this License, they do not excuse you from the conditions of this License. If
|
||||||
|
you cannot convey a covered work so as to satisfy simultaneously your
|
||||||
|
obligations under this License and any other pertinent obligations, then as a
|
||||||
|
consequence you may not convey it at all. For example, if you agree to terms
|
||||||
|
that obligate you to collect a royalty for further conveying from those to whom
|
||||||
|
you convey the Program, the only way you could satisfy both those terms and
|
||||||
|
this License would be to refrain entirely from conveying the Program.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>13. Use with the GNU Affero General Public
|
||||||
|
License.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Notwithstanding any other
|
||||||
|
provision of this License, you have permission to link or combine any covered
|
||||||
|
work with a work licensed under version 3 of the GNU Affero
|
||||||
|
General Public License into a single combined work, and to convey the resulting
|
||||||
|
work. The terms of this License will continue to apply to the part which is the
|
||||||
|
covered work, but the special requirements of the GNU Affero
|
||||||
|
General Public License, section 13, concerning interaction through a network
|
||||||
|
will apply to the combination as such.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>14. Revised Versions of this
|
||||||
|
License.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The Free Software Foundation may
|
||||||
|
publish revised and/or new versions of the GNU General Public License from time
|
||||||
|
to time. Such new versions will be similar in spirit to the present version,
|
||||||
|
but may differ in detail to address new problems or concerns.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Each version is given a
|
||||||
|
distinguishing version number. If the Program specifies that a certain numbered
|
||||||
|
version of the GNU General Public License “or any later version” applies to it,
|
||||||
|
you have the option of following the terms and conditions either of that
|
||||||
|
numbered version or of any later version published by the Free Software
|
||||||
|
Foundation. If the Program does not specify a version number of the GNU General
|
||||||
|
Public License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>If the Program specifies that a
|
||||||
|
proxy can decide which future versions of the GNU General Public License can be
|
||||||
|
used, that proxy's public statement of acceptance of a version permanently
|
||||||
|
authorizes you to choose that version for the Program.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Later license versions may give
|
||||||
|
you additional or different permissions. However, no additional obligations are
|
||||||
|
imposed on any author or copyright holder as a result of your choosing to
|
||||||
|
follow a later version.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>15. Disclaimer of Warranty.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>THERE IS NO WARRANTY FOR THE
|
||||||
|
PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
||||||
|
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
|
||||||
|
PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
||||||
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||||
|
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU
|
||||||
|
ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>16. Limitation of Liability.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>IN NO EVENT UNLESS REQUIRED BY
|
||||||
|
APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER
|
||||||
|
PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO
|
||||||
|
YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
|
||||||
|
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT
|
||||||
|
NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
|
||||||
|
SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH
|
||||||
|
ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>17. Interpretation of Sections 15
|
||||||
|
and 16.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>If the disclaimer of warranty and
|
||||||
|
limitation of liability provided above cannot be given local legal effect
|
||||||
|
according to their terms, reviewing courts shall apply local law that most
|
||||||
|
closely approximates an absolute waiver of all civil liability in connection
|
||||||
|
with the Program, unless a warranty or assumption of liability accompanies a
|
||||||
|
copy of the Program in return for a fee.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>END OF TERMS AND CONDITIONS</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>How to Apply These Terms to Your
|
||||||
|
New Programs</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>If you develop a new program, and
|
||||||
|
you want it to be of the greatest possible use to the public, the best way to
|
||||||
|
achieve this is to make it free software which everyone can redistribute and
|
||||||
|
change under these terms.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>To do so, attach the following
|
||||||
|
notices to the program. It is safest to attach them to the start of each source
|
||||||
|
file to most effectively state the exclusion of warranty; and each file should
|
||||||
|
have at least the “copyright” line and a pointer to where the full notice is found.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> <one line to give the program's name and
|
||||||
|
a brief idea of what it does.></p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> Copyright (C) <year> <name of author></p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> This program is free software: you can
|
||||||
|
redistribute it and/or modify</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> it under the terms of the GNU General
|
||||||
|
Public License as published by</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> the Free Software Foundation, either
|
||||||
|
version 3 of the License, or</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> (at your option)
|
||||||
|
any later version.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> This program is distributed in the hope
|
||||||
|
that it will be useful,</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> but WITHOUT ANY WARRANTY; without even the
|
||||||
|
implied warranty of</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. See the</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> GNU General Public License for more
|
||||||
|
details.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> You should have received a copy of the GNU
|
||||||
|
General Public License</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> along with this program. If not, see
|
||||||
|
<https://www.gnu.org/licenses/>.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>Also add information on how to
|
||||||
|
contact you by electronic and paper mail.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>If the program does terminal
|
||||||
|
interaction, make it output a short notice like this when it starts in an
|
||||||
|
interactive mode:</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> <program> Copyright (C) <year>
|
||||||
|
<name of author></p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> This program comes with ABSOLUTELY NO
|
||||||
|
WARRANTY; for details type `show w'.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> This is free software, and you are welcome
|
||||||
|
to redistribute it</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'> under certain conditions; type `show c' for
|
||||||
|
details.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The hypothetical commands `show
|
||||||
|
w' and `show c' should show the appropriate parts of the General Public
|
||||||
|
License. Of course, your program's commands might be different; for a GUI
|
||||||
|
interface, you would use an “about box”.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>You should also get your employer
|
||||||
|
(if you work as a programmer) or school, if any, to sign a “copyright
|
||||||
|
disclaimer” for the program, if necessary. For more information on this, and
|
||||||
|
how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.</p>
|
||||||
|
|
||||||
|
<p style='text-align:justify'>The GNU General Public License
|
||||||
|
does not permit incorporating your program into proprietary programs. If your
|
||||||
|
program is a subroutine library, you may consider it more useful to permit
|
||||||
|
linking proprietary applications with the library. If this is what you want to
|
||||||
|
do, use the GNU Lesser General Public License instead of this License. But
|
||||||
|
first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.</p>
|
||||||
|
|
||||||
|
<p>______________</p>
|
||||||
|
|
||||||
|
<p>COPYING file last revised: July 22, 2022</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
601
doc/License-gpl-3.0.rtf
Normal file
|
@ -0,0 +1,601 @@
|
||||||
|
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31506\stshfloch31506\stshfhich31506\stshfbi31507\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}
|
||||||
|
{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f43\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0502040204020203}Segoe UI;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
|
||||||
|
{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}
|
||||||
|
{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
|
||||||
|
{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
|
||||||
|
{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f44\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f45\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
|
||||||
|
{\f47\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f48\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f49\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f50\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
|
||||||
|
{\f51\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f52\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f414\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f415\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
|
||||||
|
{\f417\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f418\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f419\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\f420\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}
|
||||||
|
{\f421\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f422\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f474\fbidi \fswiss\fcharset238\fprq2 Segoe UI CE;}{\f475\fbidi \fswiss\fcharset204\fprq2 Segoe UI Cyr;}
|
||||||
|
{\f477\fbidi \fswiss\fcharset161\fprq2 Segoe UI Greek;}{\f478\fbidi \fswiss\fcharset162\fprq2 Segoe UI Tur;}{\f479\fbidi \fswiss\fcharset177\fprq2 Segoe UI (Hebrew);}{\f480\fbidi \fswiss\fcharset178\fprq2 Segoe UI (Arabic);}
|
||||||
|
{\f481\fbidi \fswiss\fcharset186\fprq2 Segoe UI Baltic;}{\f482\fbidi \fswiss\fcharset163\fprq2 Segoe UI (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
|
||||||
|
{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
|
||||||
|
{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
|
||||||
|
{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
|
||||||
|
{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
|
||||||
|
{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
|
||||||
|
{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}
|
||||||
|
{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31533\fbidi \fswiss\fcharset177\fprq2 Calibri Light (Hebrew);}{\fhimajor\f31534\fbidi \fswiss\fcharset178\fprq2 Calibri Light (Arabic);}
|
||||||
|
{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
|
||||||
|
{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
|
||||||
|
{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
|
||||||
|
{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
|
||||||
|
{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
|
||||||
|
{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
|
||||||
|
{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
|
||||||
|
{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
|
||||||
|
{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
|
||||||
|
{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
|
||||||
|
{\fhiminor\f31573\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\fhiminor\f31574\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
|
||||||
|
{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
|
||||||
|
{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
|
||||||
|
{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
|
||||||
|
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
|
||||||
|
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red0\green0\blue0;\red0\green0\blue0;}{\*\defchp \f31506\fs22 }{\*\defpap
|
||||||
|
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0
|
||||||
|
\f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
|
||||||
|
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
|
||||||
|
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{
|
||||||
|
\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af43\afs18\alang1025 \ltrch\fcs0 \f43\fs18\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
|
||||||
|
\sbasedon0 \snext15 \slink16 \ssemihidden \sunhideused \styrsid6191640 Balloon Text;}{\*\cs16 \additive \rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \f43\fs18 \sbasedon10 \slink15 \slocked \ssemihidden \styrsid6191640 Balloon Text Char;}}{\*\rsidtbl \rsid204811
|
||||||
|
\rsid1179671\rsid2054772\rsid4488156\rsid5245440\rsid5458651\rsid6191640\rsid6243413\rsid6826983\rsid6827025\rsid7414225\rsid7868682\rsid9137682\rsid9575835\rsid10183799\rsid10356037\rsid13858007\rsid15224405}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0
|
||||||
|
\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
|
||||||
|
\widowctrl\ftnbj\aenddoc\revisions\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1
|
||||||
|
\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
|
||||||
|
\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
|
||||||
|
\asianbrkrule\rsidroot10183799\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
|
||||||
|
{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang
|
||||||
|
{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang
|
||||||
|
{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
|
||||||
|
\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10183799 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
|
||||||
|
\af31507 \ltrch\fcs0 \insrsid5245440 COPYING file for VirtualBox versions 7.0 and later versions that include this file
|
||||||
|
\par
|
||||||
|
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 Preliminary notes:
|
||||||
|
\par
|
||||||
|
\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6191640 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 1) }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6826983
|
||||||
|
The majority of the code in the VirtualBox base }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid7414225 package}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6826983 is licensed under the GNU General Public License, version 3}{\rtlch\fcs1 \af31507 \ltrch\fcs0
|
||||||
|
\insrsid10356037 (GPL)}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6826983 .}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6826983\charrsid6826983 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6826983 VirtualBox contain}{\rtlch\fcs1 \af31507 \ltrch\fcs0
|
||||||
|
\insrsid10356037 s}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6826983 many components developed by Oracle and various third parties. The license for each component is located in the licensing documentation and/or in the component's source code. }{
|
||||||
|
\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10356037 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid204811
|
||||||
|
\par
|
||||||
|
\par 2) }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10356037 As an exception to the }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid204811 reciprocal license }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10356037 obligations of the }{\rtlch\fcs1 \af31507 \ltrch\fcs0
|
||||||
|
\insrsid10183799\charrsid15224405 GPL listed below}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10356037 , you may use any }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid5245440 VirtualB}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10356037
|
||||||
|
ox header file that is marked by Oracle as licensed under both the GPL and the Common Development and Distribution License version 1}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid204811 .}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10356037 0 (CDDL)}{
|
||||||
|
\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799\charrsid15224405 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10356037 t}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid5245440 o invoke the unmodified VirtualB}{\rtlch\fcs1 \af31507 \ltrch\fcs0
|
||||||
|
\insrsid10356037 ox }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid204811 libraries}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 .}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6191640 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799
|
||||||
|
In other words, calling such a multi-licensed interface }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid5245440 by dynamically linking to the unmodified VirtualBox libraries }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 is considered}{\rtlch\fcs1
|
||||||
|
\af31507 \ltrch\fcs0 \insrsid6191640 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid204811 a }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 normal use of VirtualBox and does not turn the calling code into a derived work}{\rtlch\fcs1 \af31507
|
||||||
|
\ltrch\fcs0 \insrsid6191640 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 of VirtualBox. }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799\charrsid15224405 In particular, this applies to code that wants to extend}{\rtlch\fcs1 \af31507
|
||||||
|
\ltrch\fcs0 \insrsid6191640\charrsid15224405 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799\charrsid15224405 VirtualBox by way of the Extension Pack mechanism declared in the ExtPack.h}{\rtlch\fcs1 \af31507 \ltrch\fcs0
|
||||||
|
\insrsid6191640\charrsid15224405 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799\charrsid15224405 header file.}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid1179671 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid7414225 }{\rtlch\fcs1 \af31507 \ltrch\fcs0
|
||||||
|
\insrsid10183799
|
||||||
|
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10183799 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799
|
||||||
|
\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4488156 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid204811 3}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799
|
||||||
|
) Whoever creates or distributes a derived work based on VirtualBox is not}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6191640 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 obligated to grant the above exceptions for such a version. The GPL }{
|
||||||
|
\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid204811 permits you to release}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 a modified version without the above exception; in addition, Oracle}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6191640 }{
|
||||||
|
\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 hereby also allows you to release a modified version which carries forward these}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6191640 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 exceptions.
|
||||||
|
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10183799 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799
|
||||||
|
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid5245440
|
||||||
|
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799 Oracle }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6827025 America, Inc.}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10183799
|
||||||
|
\par
|
||||||
|
\par ---
|
||||||
|
\par
|
||||||
|
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6827025 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6191640 G}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6827025 NU GENERAL PUBLIC LICENSE
|
||||||
|
\par
|
||||||
|
\par Version 3, 29 June 2007
|
||||||
|
\par
|
||||||
|
\par Copyright \'a9 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||||
|
\par
|
||||||
|
\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9575835 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6827025
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
|
||||||
|
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6827025 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid9575835
|
||||||
|
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6827025 Preamble
|
||||||
|
\par The GNU General Public License is a free, copyleft license for software and other kinds of works.
|
||||||
|
\par
|
||||||
|
\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9575835 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6827025
|
||||||
|
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By
|
||||||
|
contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for
|
||||||
|
most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
|
||||||
|
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6827025 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6827025
|
||||||
|
\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9575835 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6827025
|
||||||
|
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure
|
||||||
|
that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you
|
||||||
|
can do these things.
|
||||||
|
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6827025 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6827025
|
||||||
|
\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9575835 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6827025
|
||||||
|
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: respons
|
||||||
|
ibilities to respect the freedom of others.
|
||||||
|
\par
|
||||||
|
\par For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get
|
||||||
|
the source code. And you must show them these terms so they know their rights.
|
||||||
|
\par
|
||||||
|
\par Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
|
||||||
|
\par
|
||||||
|
\par For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that th
|
||||||
|
eir problems will not be attributed erroneously to authors of previous versions.
|
||||||
|
\par
|
||||||
|
\par Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally inc
|
||||||
|
ompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this vers
|
||||||
|
ion of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
|
||||||
|
\par
|
||||||
|
\par Finally, e
|
||||||
|
very program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free p
|
||||||
|
rogram could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
|
||||||
|
\par
|
||||||
|
\par The precise terms and conditions for copying, distribution and modification follow.
|
||||||
|
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid9575835
|
||||||
|
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid6827025 TERMS AND CONDITIONS
|
||||||
|
\par 0. Definitions.
|
||||||
|
\par
|
||||||
|
\par \'93This License\'94 refers to version 3 of the GNU General Public License.
|
||||||
|
\par
|
||||||
|
\par \'93Copyright\'94 also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
|
||||||
|
\par
|
||||||
|
\par \'93The Program\'94 refers to any copyrightable work licensed under this License. Each licensee is addressed as \'93you\'94. \'93Licensees\'94 and \'93recipients\'94 may be individuals or organizations.
|
||||||
|
\par
|
||||||
|
\par To \'93modify\'94 a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a \'93modified version\'94 of the earlier work or a work \'93
|
||||||
|
based on\'94 the earlier work.
|
||||||
|
\par
|
||||||
|
\par A \'93covered work\'94 means either the unmodified Program or a work based on the Program.
|
||||||
|
\par
|
||||||
|
\par To \'93propagate\'94 a work means to do anything with
|
||||||
|
it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modifica
|
||||||
|
tion), making available to the public, and in some countries other activities as well.
|
||||||
|
\par
|
||||||
|
\par To \'93convey\'94 a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
|
||||||
|
\par
|
||||||
|
\par An interactive user interface displays \'93Appropriate Legal Notices\'94 to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user t
|
||||||
|
hat there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as
|
||||||
|
a menu, a prominent item in the list meets this criterion.
|
||||||
|
\par 1. Source Code.
|
||||||
|
\par
|
||||||
|
\par The \'93source code\'94 for a work means the preferred form of the work for making modifications to it. \'93Object code\'94 means any non-source form of a work.
|
||||||
|
\par
|
||||||
|
\par A \'93Standard Interface\'94 means a
|
||||||
|
n interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
|
||||||
|
\par
|
||||||
|
\par The \'93System Libraries\'94
|
||||||
|
of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major C
|
||||||
|
omponent, or to implement a Standard Interface for which an implementation is available to the public in source code form. A \'93Major Component\'94
|
||||||
|
, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
\par
|
||||||
|
\par The \'93Corresponding Source\'94 for a work in object code form means all the source code needed to generate, install, and (
|
||||||
|
for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmod
|
||||||
|
i
|
||||||
|
fied in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subpro
|
||||||
|
grams that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
|
||||||
|
\par
|
||||||
|
\par The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
|
||||||
|
\par
|
||||||
|
\par The Corresponding Source for a work in source code form is that same work.
|
||||||
|
\par 2. Basic Permissions.
|
||||||
|
\par
|
||||||
|
\par All rights granted under this License are granted for the term of copyright on the Program, and are irrevocab
|
||||||
|
le provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a cove
|
||||||
|
red work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
|
||||||
|
\par
|
||||||
|
\par You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You
|
||||||
|
may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for wh
|
||||||
|
i
|
||||||
|
ch you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their
|
||||||
|
relationship with you.
|
||||||
|
\par
|
||||||
|
\par Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
|
||||||
|
\par 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
\par
|
||||||
|
\par No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or r
|
||||||
|
estricting circumvention of such measures.
|
||||||
|
\par
|
||||||
|
\par When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the
|
||||||
|
covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
|
||||||
|
\par 4. Conveying Verbatim Copies.
|
||||||
|
\par
|
||||||
|
\par You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License an
|
||||||
|
d any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
|
||||||
|
\par
|
||||||
|
\par You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
|
||||||
|
\par 5. Conveying Modified Source Versions.
|
||||||
|
\par
|
||||||
|
\par You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
|
||||||
|
\par
|
||||||
|
\par a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
|
||||||
|
\par b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to \'93keep intact all notices\'94.
|
||||||
|
\par c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. Th
|
||||||
|
is License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not
|
||||||
|
invalidate such permission if you have separately received it.
|
||||||
|
\par d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
|
||||||
|
\par
|
||||||
|
\par A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a
|
||||||
|
volume of a storage or distribution medium, is called an \'93aggregate\'94
|
||||||
|
if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered
|
||||||
|
work in an aggregate does not cause this License to apply to the other parts of the aggregate.
|
||||||
|
\par 6. Conveying Non-Source Forms.
|
||||||
|
\par
|
||||||
|
\par You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
|
||||||
|
\par
|
||||||
|
\par a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
|
||||||
|
\par b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as lo
|
||||||
|
ng as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical m
|
||||||
|
edium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
|
||||||
|
\par c) Convey individual cop
|
||||||
|
ies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
|
||||||
|
|
||||||
|
\par d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy
|
||||||
|
|
||||||
|
the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided y
|
||||||
|
o
|
||||||
|
u maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these require
|
||||||
|
ments.
|
||||||
|
\par e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
|
||||||
|
\par
|
||||||
|
\par A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
|
||||||
|
\par
|
||||||
|
\par A \'93User Product\'94 is either (1) a \'93consumer product\'94, which means any tangible personal property whi
|
||||||
|
ch is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a parti
|
||||||
|
cular product received by a particular user, \'93normally used\'94
|
||||||
|
refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to u
|
||||||
|
se, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
|
||||||
|
\par
|
||||||
|
\par \'93Installation Information\'94 for a Us
|
||||||
|
er Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice t
|
||||||
|
o ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
|
||||||
|
\par
|
||||||
|
\par If you convey an object code work under this section in, or with, or specifically for use in, a User P
|
||||||
|
roduct, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Correspondin
|
||||||
|
g
|
||||||
|
Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work
|
||||||
|
has been installed in ROM).
|
||||||
|
\par
|
||||||
|
\par The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Pro
|
||||||
|
duct in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
|
||||||
|
\par
|
||||||
|
\par Corresp
|
||||||
|
onding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or ke
|
||||||
|
y for unpacking, reading or copying.
|
||||||
|
\par 7. Additional Terms.
|
||||||
|
\par
|
||||||
|
\par \'93Additional permissions\'94 are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program
|
||||||
|
shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire P
|
||||||
|
rogram remains governed by this License without regard to the additional permissions.
|
||||||
|
\par
|
||||||
|
\par When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be
|
||||||
|
written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
|
||||||
|
\par
|
||||||
|
\par Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
|
||||||
|
\par
|
||||||
|
\par a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
|
||||||
|
\par b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
|
||||||
|
\par c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
|
||||||
|
\par d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
|
||||||
|
\par e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
|
||||||
|
\par f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions o
|
||||||
|
f it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
|
||||||
|
\par
|
||||||
|
\par All other non-permissive additional terms are considered \'93further restrictions\'94
|
||||||
|
within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license docu
|
||||||
|
ment contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or
|
||||||
|
conveying.
|
||||||
|
\par
|
||||||
|
\par If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
|
||||||
|
\par
|
||||||
|
\par Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
|
||||||
|
\par 8. Termination.
|
||||||
|
\par
|
||||||
|
\par You may not propagate or modify a covered work except as expressly provided un
|
||||||
|
der this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
|
||||||
|
\par
|
||||||
|
\par However, if you cease all violation
|
||||||
|
of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you
|
||||||
|
of the violation by some reasonable means prior to 60 days after the cessation.
|
||||||
|
\par
|
||||||
|
\par Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the
|
||||||
|
first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
|
||||||
|
\par
|
||||||
|
\par Termination of your rights under this section does not terminate the
|
||||||
|
licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
|
||||||
|
\par 9. Acceptance Not Required for Having Copies.
|
||||||
|
\par
|
||||||
|
\par You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise
|
||||||
|
does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work,
|
||||||
|
you indicate your acceptance of this License to do so.
|
||||||
|
\par 10. Automatic Licensing of Downstream Recipients.
|
||||||
|
\par
|
||||||
|
\par Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that wor
|
||||||
|
k, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
|
||||||
|
\par
|
||||||
|
\par An \'93entity transaction\'94 is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organi
|
||||||
|
zation, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or co
|
||||||
|
uld give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
|
||||||
|
\par
|
||||||
|
\par You may not impose any further restrictions on the
|
||||||
|
exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or count
|
||||||
|
erclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
|
||||||
|
\par 11. Patents.
|
||||||
|
\par
|
||||||
|
\par A \'93contributor\'94 is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's \'93contributor version\'94.
|
||||||
|
\par
|
||||||
|
\par A contributor's \'93essential patent claims\'94 are all patent claims owned or controlled by the contributor, whether already
|
||||||
|
acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the
|
||||||
|
contributor version. For purposes of this definition, \'93control\'94 includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
|
||||||
|
\par
|
||||||
|
\par Each contributor grants you a non-exclusive, worldwide, royalty-free patent licens
|
||||||
|
e under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
|
||||||
|
\par
|
||||||
|
\par In the following three paragraphs, a \'93patent license\'94 is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To \'93
|
||||||
|
grant\'94 such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
|
||||||
|
\par
|
||||||
|
\par If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly
|
||||||
|
available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a
|
||||||
|
manner consistent with the requirements of this License, to extend the patent license to downstream recipients. \'93Knowingly relying\'94
|
||||||
|
means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recip
|
||||||
|
ient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
|
||||||
|
\par
|
||||||
|
\par If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by
|
||||||
|
procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatica
|
||||||
|
lly extended to all recipients of the covered work and works based on it.
|
||||||
|
\par
|
||||||
|
\par A patent license is \'93discriminatory\'94 if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the r
|
||||||
|
ights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on th
|
||||||
|
e
|
||||||
|
extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (o
|
||||||
|
r copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
|
||||||
|
\par
|
||||||
|
\par Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
|
||||||
|
\par 12. No Surrender of Others' Freedom.
|
||||||
|
\par
|
||||||
|
\par If conditions are imposed on you (wheth
|
||||||
|
er by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License
|
||||||
|
a
|
||||||
|
nd any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satis
|
||||||
|
fy both those terms and this License would be to refrain entirely from conveying the Program.
|
||||||
|
\par 13. Use with the GNU Affero General Public License.
|
||||||
|
\par
|
||||||
|
\par Notwithstanding any other provision of this License, you have permission to link or combine any covered work w
|
||||||
|
ith a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirement
|
||||||
|
s of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
|
||||||
|
\par 14. Revised Versions of this License.
|
||||||
|
\par
|
||||||
|
\par The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
\par
|
||||||
|
\par Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License \'93or any later version\'94
|
||||||
|
applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation.
|
||||||
|
If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
|
||||||
|
\par
|
||||||
|
\par If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
|
||||||
|
\par
|
||||||
|
\par Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
|
||||||
|
\par 15. Disclaimer of Warranty.
|
||||||
|
\par
|
||||||
|
\par THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \'93AS IS\'94
|
||||||
|
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENT
|
||||||
|
IRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
\par 16. Limitation of Liability.
|
||||||
|
\par
|
||||||
|
\par IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
|
||||||
|
AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INAB
|
||||||
|
I
|
||||||
|
LITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN A
|
||||||
|
DVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
\par 17. Interpretation of Sections 15 and 16.
|
||||||
|
\par
|
||||||
|
\par If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local la
|
||||||
|
w that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
|
||||||
|
\par
|
||||||
|
\par END OF TERMS AND CONDITIONS
|
||||||
|
\par How to Apply These Terms to Your New Programs
|
||||||
|
\par
|
||||||
|
\par If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
|
||||||
|
\par
|
||||||
|
\par To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the \'93copyright\'94
|
||||||
|
line and a pointer to where the full notice is found.
|
||||||
|
\par
|
||||||
|
\par <one line to give the program's name and a brief idea of what it does.>
|
||||||
|
\par Copyright (C) <year> <name of author>
|
||||||
|
\par
|
||||||
|
\par This program is free software: you can redistribute it and/or modify
|
||||||
|
\par it under the terms of the GNU General Public License as published by
|
||||||
|
\par the Free Software Foundation, either version 3 of the License, or
|
||||||
|
\par (at your option) any later version.
|
||||||
|
\par
|
||||||
|
\par This program is distributed in the hope that it will be useful,
|
||||||
|
\par but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
\par MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
\par GNU General Public License for more details.
|
||||||
|
\par
|
||||||
|
\par You should have received a copy of the GNU General Public License
|
||||||
|
\par along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
\par
|
||||||
|
\par Also add information on how to contact you by electronic and paper mail.
|
||||||
|
\par
|
||||||
|
\par If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
|
||||||
|
\par
|
||||||
|
\par <program> Copyright (C) <year> <name of author>
|
||||||
|
\par This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
\par This is free software, and you are welcome to redistribute it
|
||||||
|
\par under certain conditions; type `show c' for details.
|
||||||
|
\par
|
||||||
|
\par The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an \'93about box\'94.
|
||||||
|
\par
|
||||||
|
\par You should also get your employer (if you work as a programmer) or school, if any, to sign a \'93copyright disclaimer\'94 for the program, if necessary. For more information on this, and how to apply and follow
|
||||||
|
the GNU GPL, see <https://www.gnu.org/licenses/>.
|
||||||
|
\par
|
||||||
|
\par The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary a
|
||||||
|
pplications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||||
|
\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6827025 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid5245440
|
||||||
|
\par ______________
|
||||||
|
\par
|
||||||
|
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid9575835 COPYING }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid5245440 file last revised: July 22, 2022
|
||||||
|
\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
|
||||||
|
9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
|
||||||
|
5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
|
||||||
|
b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
|
||||||
|
0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
|
||||||
|
a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
|
||||||
|
c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
|
||||||
|
0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
|
||||||
|
a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
|
||||||
|
6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
|
||||||
|
4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
|
||||||
|
4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210007b740aaca0600008f1a0000160000007468656d652f7468656d652f
|
||||||
|
7468656d65312e786d6cec595b8bdb46147e2ff43f08bd3bbe49be2cf1065bb69336bb49889d943cceda636bb2238dd18c776342a0244f7d2914d2d28706fad6
|
||||||
|
87521a68a0a12ffd310b1bdaf447f4cc489667ec71f6420aa1640d8b34face996fce39face48ba7aed51449d239c70c2e2965bbe52721d1c8fd898c4d3967b6f
|
||||||
|
d82f345c870b148f1165316eb90bccdd6bbb9f7e7215ed881047d801fb98efa0961b0a31db2916f9088611bfc26638866b13964448c069322d8e13740c7e235a
|
||||||
|
ac944ab5628448ec3a318ac0ededc9848cb033942edddda5f31e85d358703930a2c940bac68685c28e0fcb12c1173ca089738468cb8579c6ec78881f09d7a188
|
||||||
|
0bb8d0724beacf2dee5e2da29dcc888a2db69a5d5ffd657699c1f8b0a2e64ca607f9a49ee77bb576ee5f01a8d8c4f5eabd5aaf96fb5300341ac14a532eba4fbf
|
||||||
|
d3ec74fd0cab81d2438bef6ebd5b2d1b78cd7f758373db973f03af40a97f6f03dfef07104503af4029dedfc07b5ebd1278065e81527c6d035f2fb5bb5eddc02b
|
||||||
|
5048497cb8812ef9b56ab05c6d0e99307ac30a6ffa5ebf5ec99caf50500d7975c929262c16db6a2d420f59d2078004522448ec88c50c4fd008aa3840941c24c4
|
||||||
|
d923d3100a6f8662c661b85429f54b55f82f7f9e3a5211413b1869d6921730e11b43928fc34709998996fb39787535c8e9ebd7274f5f9d3cfdfde4d9b393a7bf
|
||||||
|
66732b5786dd0d144f75bbb73f7df3cf8b2f9dbf7ffbf1edf36fd3a9d7f15cc7bff9e5ab377ffcf92ef7b0e255284ebf7bf9e6d5cbd3efbffeebe7e716efed04
|
||||||
|
1de8f0218930776ee163e72e8b608116fef820b998c5304444b768c7538e622467b1f8ef89d040df5a208a2cb80e36e3783f01a9b101afcf1f1a8407613217c4
|
||||||
|
e2f1661819c07dc6688725d628dc947369611ecee3a97df264aee3ee2274649b3b40b191e5de7c061a4b6c2e83101b34ef50140b34c531168ebcc60e31b6acee
|
||||||
|
0121465cf7c928619c4d84f380381d44ac21199203a39a56463748047959d80842be8dd8ecdf773a8cda56ddc5472612ee0d442de487981a61bc8ee602453697
|
||||||
|
4314513de07b48843692834532d2713d2e20d3534c99d31b63ce6d36b71358af96f49b2033f6b4efd345642213410e6d3ef710633ab2cb0e831045331b7640e2
|
||||||
|
50c77ec60fa144917387091b7c9f9977883c873ca0786bbaef136ca4fb6c35b8070aab535a1588bc324f2cb9bc8e9951bf83059d20aca4061a80a1eb1189cf14
|
||||||
|
f93579f7ff3b7907113dfde1856545ef47d2ed8e8d7c5c50ccdb09b1de4d37d6247c1b6e5db803968cc987afdb5d348fef60b855369bd747d9fe28dbeeff5eb6
|
||||||
|
b7ddcfef5fac57fa0cd22db7ade9765d6ddea3ad7bf709a174201614ef71b57de7d095c67d189476eab915e7cf72b3100ee59d0c1318b86982948d9330f10511
|
||||||
|
e1204433d8e3975de964ca33d753eecc1887adbf1ab6fa96783a8ff6d9387d642d97e5e3692a1e1c89d578c9cfc7e17143a4e85a7df51896bb576ca7ea717949
|
||||||
|
40da5e8484369949a26a21515f0eca20a98773089a85845ad97b61d1b4b06848f7cb546db0006a795660dbe4c066abe5fa1e9880113c55218ac7324f69aa97d9
|
||||||
|
55c97c9f99de164ca302600fb1ac8055a69b92ebd6e5c9d5a5a5768e4c1b24b4723349a8c8a81ec64334c65975cad1f3d0b868ae9bab941af46428d47c505a2b
|
||||||
|
1af5c6bb585c36d760b7ae0d34d69582c6ce71cbad557d2899119ab5dc093cfac3613483dae172bb8be814de9f8d4492def097519659c24517f1300db8129d54
|
||||||
|
0d222270e25012b55cb9fc3c0d34561aa2b8952b20081f2cb926c8ca87460e926e26194f267824f4b46b2332d2e929287caa15d6abcafcf26069c9e690ee4138
|
||||||
|
3e760ee83cb98ba0c4fc7a5906704c38bc012aa7d11c1378a5990bd9aafed61a5326bbfa3b455543e938a2b310651d4517f314aea43ca7a3cef2186867d99a21
|
||||||
|
a05a48b2467830950d560faad14df3ae9172d8da75cf369291d34473d5330d55915dd3ae62c60ccb36b016cbcb35798dd532c4a0697a874fa57b5d729b4bad5b
|
||||||
|
db27e45d02029ec7cfd275cfd110346aabc90c6a92f1a60c4bcdce46cddeb15ce019d4ced32434d5af2dddaec52def11d6e960f0529d1fecd6ab168626cb7da5
|
||||||
|
8ab4faf6a17f9e60070f413cbaf022784e0557a9848f0f09820dd140ed4952d9805be491c86e0d3872e60969b98f4b7edb0b2a7e502835fc5ec1ab7aa542c36f
|
||||||
|
570b6ddfaf967b7eb9d4ed549e4063116154f6d3ef2e7d780d4517d9d71735bef105265abe69bb32625191a92f2c45455c7d812957b67f81710888cee35aa5df
|
||||||
|
ac363bb542b3daee17bc6ea7516806b54ea15b0beadd7e37f01bcdfe13d7395260af5d0dbc5aaf51a89583a0e0d54a927ea359a87b954adbabb71b3daffd24db
|
||||||
|
c6c0ca53f9c86201e155bc76ff050000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72
|
||||||
|
656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c08
|
||||||
|
2e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd0
|
||||||
|
8a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa
|
||||||
|
4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000000000000000005b436f
|
||||||
|
6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000300100005f72
|
||||||
|
656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000190200007468656d652f746865
|
||||||
|
6d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210007b740aaca0600008f1a00001600000000000000000000000000d60200
|
||||||
|
007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027000000000000000000000000
|
||||||
|
00d40900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000cf0a00000000}
|
||||||
|
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
|
||||||
|
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
|
||||||
|
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
|
||||||
|
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
|
||||||
|
{\*\latentstyles\lsdstimax376\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;
|
||||||
|
\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 2;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 3;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 3;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 4;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 3;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 7;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 3;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 7;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 3;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Contemporary;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Elegant;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Professional;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 2;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Theme;\lsdsemihidden1 \lsdlocked0 Placeholder Text;
|
||||||
|
\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;
|
||||||
|
\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;
|
||||||
|
\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1;
|
||||||
|
\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdlocked0 Revision;
|
||||||
|
\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;
|
||||||
|
\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1;
|
||||||
|
\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
|
||||||
|
\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;
|
||||||
|
\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;
|
||||||
|
\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
|
||||||
|
\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;
|
||||||
|
\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;
|
||||||
|
\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
|
||||||
|
\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;
|
||||||
|
\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;
|
||||||
|
\lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
|
||||||
|
\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
|
||||||
|
\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6;
|
||||||
|
\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
|
||||||
|
\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
|
||||||
|
\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
|
||||||
|
\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4;
|
||||||
|
\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4;
|
||||||
|
\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1;
|
||||||
|
\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1;
|
||||||
|
\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2;
|
||||||
|
\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2;
|
||||||
|
\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3;
|
||||||
|
\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4;
|
||||||
|
\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4;
|
||||||
|
\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5;
|
||||||
|
\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5;
|
||||||
|
\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6;
|
||||||
|
\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6;
|
||||||
|
\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark;
|
||||||
|
\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1;
|
||||||
|
\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1;
|
||||||
|
\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2;
|
||||||
|
\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3;
|
||||||
|
\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3;
|
||||||
|
\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4;
|
||||||
|
\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4;
|
||||||
|
\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5;
|
||||||
|
\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5;
|
||||||
|
\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6;
|
||||||
|
\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention;
|
||||||
|
\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Unresolved Mention;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Link;}}{\*\datastore 01050000
|
||||||
|
02000000180000004d73786d6c322e534158584d4c5265616465722e362e30000000000000000000000e0000
|
||||||
|
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff0900060000000000000000000000010000000100000000000000001000000200000001000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
fffffffffffffffffdffffff04000000feffffff05000000fefffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e5000000000000000000000000508c
|
||||||
|
c4d033a8d80103000000c0020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff020000000000000000000000000000000000000000000000508cc4d033a8d801
|
||||||
|
508cc4d033a8d801000000000000000000000000de00590055005100d70053005200c600cc00d4004700ce005500dc005300ce00c200d900500033003000c0003d003d000000000000000000000000000000000032000101ffffffffffffffff030000000000000000000000000000000000000000000000508cc4d033a8
|
||||||
|
d801508cc4d033a8d8010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000320100000000000001000000020000000300000004000000feffffff060000000700000008000000090000000a000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
|
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e3c623a536f757263657320786d6c6e733a623d22687474703a2f2f736368656d61732e6f70656e78
|
||||||
|
6d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f6772617068792220786d6c6e733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222053656c
|
||||||
|
65637465645374796c653d225c415041536978746845646974696f6e4f66666963654f6e6c696e652e78736c22205374796c654e616d653d22415041222056657273696f6e3d2236223e3c2f623a536f75726365733e00000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f6469
|
||||||
|
6e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b44443130383546392d363632342d343142332d414535332d4334414538423933444436417d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70
|
||||||
|
656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000
|
||||||
|
0000000000000000000000000000000000000000000000000000000000000500000055010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000
|
||||||
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff
|
||||||
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000746f6d586d6c223e3c64733a736368656d61526566733e3c64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f7267
|
||||||
|
2f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f72654974656d3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105000000000000}}
|
663
doc/License-gpl-3.0.txt
Normal file
|
@ -0,0 +1,663 @@
|
||||||
|
COPYING file for VirtualBox versions 7.0 and later versions that include this
|
||||||
|
file
|
||||||
|
|
||||||
|
Preliminary notes:
|
||||||
|
|
||||||
|
1) The majority of the code in the VirtualBox base package is licensed under
|
||||||
|
the GNU General Public License, version 3 (GPL). VirtualBox contains many
|
||||||
|
components developed by Oracle and various third parties. The license for
|
||||||
|
each component is located in the licensing documentation and/or in the
|
||||||
|
component's source code.
|
||||||
|
|
||||||
|
2) As an exception to the reciprocal license obligations of the GPL listed
|
||||||
|
below, you may use any VirtualBox header file that is marked by Oracle as
|
||||||
|
licensed under both the GPL and the Common Development and Distribution
|
||||||
|
License version 1.0 (CDDL) to invoke the unmodified VirtualBox libraries. In
|
||||||
|
other words, calling such a multi-licensed interface by dynamically linking
|
||||||
|
to the unmodified VirtualBox libraries is considered a normal use of
|
||||||
|
VirtualBox and does not turn the calling code into a derived work of
|
||||||
|
VirtualBox. In particular, this applies to code that wants to extend
|
||||||
|
VirtualBox by way of the Extension Pack mechanism declared in the ExtPack.h
|
||||||
|
header file.
|
||||||
|
|
||||||
|
3) Whoever creates or distributes a derived work based on VirtualBox is not
|
||||||
|
obligated to grant the above exceptions for such a version. The GPL permits
|
||||||
|
you to release a modified version without the above exception; in addition,
|
||||||
|
Oracle hereby also allows you to release a modified version which carries
|
||||||
|
forward these exceptions.
|
||||||
|
|
||||||
|
|
||||||
|
Oracle America, Inc.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||||
|
document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
The GNU General Public License is a free, copyleft license for software and
|
||||||
|
other kinds of works.
|
||||||
|
|
||||||
|
The licenses for most software and other practical works are designed to take
|
||||||
|
away your freedom to share and change the works. By contrast, the GNU General
|
||||||
|
Public License is intended to guarantee your freedom to share and change all
|
||||||
|
versions of a program--to make sure it remains free software for all its
|
||||||
|
users. We, the Free Software Foundation, use the GNU General Public License
|
||||||
|
for most of our software; it applies also to any other work released this way
|
||||||
|
by its authors. You can apply it to your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not price. Our
|
||||||
|
General Public Licenses are designed to make sure that you have the freedom
|
||||||
|
to distribute copies of free software (and charge for them if you wish), that
|
||||||
|
you receive source code or can get it if you want it, that you can change the
|
||||||
|
software or use pieces of it in new free programs, and that you know you can
|
||||||
|
do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to prevent others from denying you these
|
||||||
|
rights or asking you to surrender the rights. Therefore, you have certain
|
||||||
|
responsibilities if you distribute copies of the software, or if you modify
|
||||||
|
it: responsibilities to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether gratis or
|
||||||
|
for a fee, you must pass on to the recipients the same freedoms that you
|
||||||
|
received. You must make sure that they, too, receive or can get the source
|
||||||
|
code. And you must show them these terms so they know their rights.
|
||||||
|
|
||||||
|
Developers that use the GNU GPL protect your rights with two steps: (1)
|
||||||
|
assert copyright on the software, and (2) offer you this License giving you
|
||||||
|
legal permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains that
|
||||||
|
there is no warranty for this free software. For both users' and authors'
|
||||||
|
sake, the GPL requires that modified versions be marked as changed, so that
|
||||||
|
their problems will not be attributed erroneously to authors of previous
|
||||||
|
versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run modified
|
||||||
|
versions of the software inside them, although the manufacturer can do so.
|
||||||
|
This is fundamentally incompatible with the aim of protecting users' freedom
|
||||||
|
to change the software. The systematic pattern of such abuse occurs in the
|
||||||
|
area of products for individuals to use, which is precisely where it is most
|
||||||
|
unacceptable. Therefore, we have designed this version of the GPL to prohibit
|
||||||
|
the practice for those products. If such problems arise substantially in
|
||||||
|
other domains, we stand ready to extend this provision to those domains in
|
||||||
|
future versions of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents. States
|
||||||
|
should not allow patents to restrict development and use of software on
|
||||||
|
general-purpose computers, but in those that do, we wish to avoid the special
|
||||||
|
danger that patents applied to a free program could make it effectively
|
||||||
|
proprietary. To prevent this, the GPL assures that patents cannot be used to
|
||||||
|
render the program non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and modification
|
||||||
|
follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GNU General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||||
|
works, such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this License.
|
||||||
|
Each licensee is addressed as "you". "Licensees" and "recipients" may be
|
||||||
|
individuals or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work in a
|
||||||
|
fashion requiring copyright permission, other than the making of an exact
|
||||||
|
copy. The resulting work is called a "modified version" of the earlier work
|
||||||
|
or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based on the
|
||||||
|
Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without permission,
|
||||||
|
would make you directly or secondarily liable for infringement under
|
||||||
|
applicable copyright law, except executing it on a computer or modifying a
|
||||||
|
private copy. Propagation includes copying, distribution (with or without
|
||||||
|
modification), making available to the public, and in some countries other
|
||||||
|
activities as well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other parties
|
||||||
|
to make or receive copies. Mere interaction with a user through a computer
|
||||||
|
network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices" to the
|
||||||
|
extent that it includes a convenient and prominently visible feature that (1)
|
||||||
|
displays an appropriate copyright notice, and (2) tells the user that there
|
||||||
|
is no warranty for the work (except to the extent that warranties are
|
||||||
|
provided), that licensees may convey the work under this License, and how to
|
||||||
|
view a copy of this License. If the interface presents a list of user
|
||||||
|
commands or options, such as a menu, a prominent item in the list meets this
|
||||||
|
criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work for making
|
||||||
|
modifications to it. "Object code" means any non-source form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official standard
|
||||||
|
defined by a recognized standards body, or, in the case of interfaces
|
||||||
|
specified for a particular programming language, one that is widely used
|
||||||
|
among developers working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other than the
|
||||||
|
work as a whole, that (a) is included in the normal form of packaging a Major
|
||||||
|
Component, but which is not part of that Major Component, and (b) serves only
|
||||||
|
to enable use of the work with that Major Component, or to implement a
|
||||||
|
Standard Interface for which an implementation is available to the public in
|
||||||
|
source code form. A "Major Component", in this context, means a major
|
||||||
|
essential component (kernel, window system, and so on) of the specific
|
||||||
|
operating system (if any) on which the executable work runs, or a compiler
|
||||||
|
used to produce the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all the
|
||||||
|
source code needed to generate, install, and (for an executable work) run the
|
||||||
|
object code and to modify the work, including scripts to control those
|
||||||
|
activities. However, it does not include the work's System Libraries, or
|
||||||
|
general-purpose tools or generally available free programs which are used
|
||||||
|
unmodified in performing those activities but which are not part of the work.
|
||||||
|
For example, Corresponding Source includes interface definition files
|
||||||
|
associated with source files for the work, and the source code for shared
|
||||||
|
libraries and dynamically linked subprograms that the work is specifically
|
||||||
|
designed to require, such as by intimate data communication or control flow
|
||||||
|
between those subprograms and other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users can regenerate
|
||||||
|
automatically from other parts of the Corresponding Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of copyright
|
||||||
|
on the Program, and are irrevocable provided the stated conditions are met.
|
||||||
|
This License explicitly affirms your unlimited permission to run the
|
||||||
|
unmodified Program. The output from running a covered work is covered by this
|
||||||
|
License only if the output, given its content, constitutes a covered work.
|
||||||
|
This License acknowledges your rights of fair use or other equivalent, as
|
||||||
|
provided by copyright law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not convey, without
|
||||||
|
conditions so long as your license otherwise remains in force. You may convey
|
||||||
|
covered works to others for the sole purpose of having them make
|
||||||
|
modifications exclusively for you, or provide you with facilities for running
|
||||||
|
those works, provided that you comply with the terms of this License in
|
||||||
|
conveying all material for which you do not control copyright. Those thus
|
||||||
|
making or running the covered works for you must do so exclusively on your
|
||||||
|
behalf, under your direction and control, on terms that prohibit them from
|
||||||
|
making any copies of your copyrighted material outside their relationship
|
||||||
|
with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under the
|
||||||
|
conditions stated below. Sublicensing is not allowed; section 10 makes it
|
||||||
|
unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological measure
|
||||||
|
under any applicable law fulfilling obligations under article 11 of the WIPO
|
||||||
|
copyright treaty adopted on 20 December 1996, or similar laws prohibiting or
|
||||||
|
restricting circumvention of such measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid
|
||||||
|
circumvention of technological measures to the extent such circumvention is
|
||||||
|
effected by exercising rights under this License with respect to the covered
|
||||||
|
work, and you disclaim any intention to limit operation or modification of
|
||||||
|
the work as a means of enforcing, against the work's users, your or third
|
||||||
|
parties' legal rights to forbid circumvention of technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey verbatim copies of the Program's source code as you receive
|
||||||
|
it, in any medium, provided that you conspicuously and appropriately publish
|
||||||
|
on each copy an appropriate copyright notice; keep intact all notices stating
|
||||||
|
that this License and any non-permissive terms added in accord with section 7
|
||||||
|
apply to the code; keep intact all notices of the absence of any warranty;
|
||||||
|
and give all recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey, and you
|
||||||
|
may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to produce
|
||||||
|
it from the Program, in the form of source code under the terms of section 4,
|
||||||
|
provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified it,
|
||||||
|
and giving a relevant date.
|
||||||
|
b) The work must carry prominent notices stating that it is released
|
||||||
|
under this License and any conditions added under section 7. This requirement
|
||||||
|
modifies the requirement in section 4 to "keep intact all notices".
|
||||||
|
c) You must license the entire work, as a whole, under this License to
|
||||||
|
anyone who comes into possession of a copy. This License will therefore
|
||||||
|
apply, along with any applicable section 7 additional terms, to the whole of
|
||||||
|
the work, and all its parts, regardless of how they are packaged. This
|
||||||
|
License gives no permission to license the work in any other way, but it does
|
||||||
|
not invalidate such permission if you have separately received it.
|
||||||
|
d) If the work has interactive user interfaces, each must display
|
||||||
|
Appropriate Legal Notices; however, if the Program has interactive interfaces
|
||||||
|
that do not display Appropriate Legal Notices, your work need not make them
|
||||||
|
do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent works,
|
||||||
|
which are not by their nature extensions of the covered work, and which are
|
||||||
|
not combined with it such as to form a larger program, in or on a volume of a
|
||||||
|
storage or distribution medium, is called an "aggregate" if the compilation
|
||||||
|
and its resulting copyright are not used to limit the access or legal rights
|
||||||
|
of the compilation's users beyond what the individual works permit. Inclusion
|
||||||
|
of a covered work in an aggregate does not cause this License to apply to the
|
||||||
|
other parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms of sections
|
||||||
|
4 and 5, provided that you also convey the machine-readable Corresponding
|
||||||
|
Source under the terms of this License, in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by the Corresponding
|
||||||
|
Source fixed on a durable physical medium customarily used for software
|
||||||
|
interchange.
|
||||||
|
b) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by a written offer,
|
||||||
|
valid for at least three years and valid for as long as you offer spare parts
|
||||||
|
or customer support for that product model, to give anyone who possesses the
|
||||||
|
object code either (1) a copy of the Corresponding Source for all the
|
||||||
|
software in the product that is covered by this License, on a durable
|
||||||
|
physical medium customarily used for software interchange, for a price no
|
||||||
|
more than your reasonable cost of physically performing this conveying of
|
||||||
|
source, or (2) access to copy the Corresponding Source from a network server
|
||||||
|
at no charge.
|
||||||
|
c) Convey individual copies of the object code with a copy of the written
|
||||||
|
offer to provide the Corresponding Source. This alternative is allowed only
|
||||||
|
occasionally and noncommercially, and only if you received the object code
|
||||||
|
with such an offer, in accord with subsection 6b.
|
||||||
|
d) Convey the object code by offering access from a designated place
|
||||||
|
(gratis or for a charge), and offer equivalent access to the Corresponding
|
||||||
|
Source in the same way through the same place at no further charge. You need
|
||||||
|
not require recipients to copy the Corresponding Source along with the object
|
||||||
|
code. If the place to copy the object code is a network server, the
|
||||||
|
Corresponding Source may be on a different server (operated by you or a third
|
||||||
|
party) that supports equivalent copying facilities, provided you maintain
|
||||||
|
clear directions next to the object code saying where to find the
|
||||||
|
Corresponding Source. Regardless of what server hosts the Corresponding
|
||||||
|
Source, you remain obligated to ensure that it is available for as long as
|
||||||
|
needed to satisfy these requirements.
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided you
|
||||||
|
inform other peers where the object code and Corresponding Source of the work
|
||||||
|
are being offered to the general public at no charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded from
|
||||||
|
the Corresponding Source as a System Library, need not be included in
|
||||||
|
conveying the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any tangible
|
||||||
|
personal property which is normally used for personal, family, or household
|
||||||
|
purposes, or (2) anything designed or sold for incorporation into a dwelling.
|
||||||
|
In determining whether a product is a consumer product, doubtful cases shall
|
||||||
|
be resolved in favor of coverage. For a particular product received by a
|
||||||
|
particular user, "normally used" refers to a typical or common use of that
|
||||||
|
class of product, regardless of the status of the particular user or of the
|
||||||
|
way in which the particular user actually uses, or expects or is expected to
|
||||||
|
use, the product. A product is a consumer product regardless of whether the
|
||||||
|
product has substantial commercial, industrial or non-consumer uses, unless
|
||||||
|
such uses represent the only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods, procedures,
|
||||||
|
authorization keys, or other information required to install and execute
|
||||||
|
modified versions of a covered work in that User Product from a modified
|
||||||
|
version of its Corresponding Source. The information must suffice to ensure
|
||||||
|
that the continued functioning of the modified object code is in no case
|
||||||
|
prevented or interfered with solely because modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or
|
||||||
|
specifically for use in, a User Product, and the conveying occurs as part of
|
||||||
|
a transaction in which the right of possession and use of the User Product is
|
||||||
|
transferred to the recipient in perpetuity or for a fixed term (regardless of
|
||||||
|
how the transaction is characterized), the Corresponding Source conveyed
|
||||||
|
under this section must be accompanied by the Installation Information. But
|
||||||
|
this requirement does not apply if neither you nor any third party retains
|
||||||
|
the ability to install modified object code on the User Product (for example,
|
||||||
|
the work has been installed in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a
|
||||||
|
requirement to continue to provide support service, warranty, or updates for
|
||||||
|
a work that has been modified or installed by the recipient, or for the User
|
||||||
|
Product in which it has been modified or installed. Access to a network may
|
||||||
|
be denied when the modification itself materially and adversely affects the
|
||||||
|
operation of the network or violates the rules and protocols for
|
||||||
|
communication across the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided, in
|
||||||
|
accord with this section must be in a format that is publicly documented (and
|
||||||
|
with an implementation available to the public in source code form), and must
|
||||||
|
require no special password or key for unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this License
|
||||||
|
by making exceptions from one or more of its conditions. Additional
|
||||||
|
permissions that are applicable to the entire Program shall be treated as
|
||||||
|
though they were included in this License, to the extent that they are valid
|
||||||
|
under applicable law. If additional permissions apply only to part of the
|
||||||
|
Program, that part may be used separately under those permissions, but the
|
||||||
|
entire Program remains governed by this License without regard to the
|
||||||
|
additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option remove any
|
||||||
|
additional permissions from that copy, or from any part of it. (Additional
|
||||||
|
permissions may be written to require their own removal in certain cases when
|
||||||
|
you modify the work.) You may place additional permissions on material, added
|
||||||
|
by you to a covered work, for which you have or can give appropriate
|
||||||
|
copyright permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you add to
|
||||||
|
a covered work, you may (if authorized by the copyright holders of that
|
||||||
|
material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the terms
|
||||||
|
of sections 15 and 16 of this License; or
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or author
|
||||||
|
attributions in that material or in the Appropriate Legal Notices displayed
|
||||||
|
by works containing it; or
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or
|
||||||
|
requiring that modified versions of such material be marked in reasonable
|
||||||
|
ways as different from the original version; or
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or
|
||||||
|
authors of the material; or
|
||||||
|
e) Declining to grant rights under trademark law for use of some trade
|
||||||
|
names, trademarks, or service marks; or
|
||||||
|
f) Requiring indemnification of licensors and authors of that material by
|
||||||
|
anyone who conveys the material (or modified versions of it) with contractual
|
||||||
|
assumptions of liability to the recipient, for any liability that these
|
||||||
|
contractual assumptions directly impose on those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further
|
||||||
|
restrictions" within the meaning of section 10. If the Program as you
|
||||||
|
received it, or any part of it, contains a notice stating that it is governed
|
||||||
|
by this License along with a term that is a further restriction, you may
|
||||||
|
remove that term. If a license document contains a further restriction but
|
||||||
|
permits relicensing or conveying under this License, you may add to a covered
|
||||||
|
work material governed by the terms of that license document, provided that
|
||||||
|
the further restriction does not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you must
|
||||||
|
place, in the relevant source files, a statement of the additional terms that
|
||||||
|
apply to those files, or a notice indicating where to find the applicable
|
||||||
|
terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the form of
|
||||||
|
a separately written license, or stated as exceptions; the above requirements
|
||||||
|
apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly provided
|
||||||
|
under this License. Any attempt otherwise to propagate or modify it is void,
|
||||||
|
and will automatically terminate your rights under this License (including
|
||||||
|
any patent licenses granted under the third paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your license from a
|
||||||
|
particular copyright holder is reinstated (a) provisionally, unless and until
|
||||||
|
the copyright holder explicitly and finally terminates your license, and (b)
|
||||||
|
permanently, if the copyright holder fails to notify you of the violation by
|
||||||
|
some reasonable means prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is reinstated
|
||||||
|
permanently if the copyright holder notifies you of the violation by some
|
||||||
|
reasonable means, this is the first time you have received notice of
|
||||||
|
violation of this License (for any work) from that copyright holder, and you
|
||||||
|
cure the violation prior to 30 days after your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the licenses
|
||||||
|
of parties who have received copies or rights from you under this License. If
|
||||||
|
your rights have been terminated and not permanently reinstated, you do not
|
||||||
|
qualify to receive new licenses for the same material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or run a copy
|
||||||
|
of the Program. Ancillary propagation of a covered work occurring solely as a
|
||||||
|
consequence of using peer-to-peer transmission to receive a copy likewise
|
||||||
|
does not require acceptance. However, nothing other than this License grants
|
||||||
|
you permission to propagate or modify any covered work. These actions
|
||||||
|
infringe copyright if you do not accept this License. Therefore, by modifying
|
||||||
|
or propagating a covered work, you indicate your acceptance of this License
|
||||||
|
to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically receives a
|
||||||
|
license from the original licensors, to run, modify and propagate that work,
|
||||||
|
subject to this License. You are not responsible for enforcing compliance by
|
||||||
|
third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an
|
||||||
|
organization, or substantially all assets of one, or subdividing an
|
||||||
|
organization, or merging organizations. If propagation of a covered work
|
||||||
|
results from an entity transaction, each party to that transaction who
|
||||||
|
receives a copy of the work also receives whatever licenses to the work the
|
||||||
|
party's predecessor in interest had or could give under the previous
|
||||||
|
paragraph, plus a right to possession of the Corresponding Source of the work
|
||||||
|
from the predecessor in interest, if the predecessor has it or can get it
|
||||||
|
with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the rights
|
||||||
|
granted or affirmed under this License. For example, you may not impose a
|
||||||
|
license fee, royalty, or other charge for exercise of rights granted under
|
||||||
|
this License, and you may not initiate litigation (including a cross-claim or
|
||||||
|
counterclaim in a lawsuit) alleging that any patent claim is infringed by
|
||||||
|
making, using, selling, offering for sale, or importing the Program or any
|
||||||
|
portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this License
|
||||||
|
of the Program or a work on which the Program is based. The work thus
|
||||||
|
licensed is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims owned or
|
||||||
|
controlled by the contributor, whether already acquired or hereafter
|
||||||
|
acquired, that would be infringed by some manner, permitted by this License,
|
||||||
|
of making, using, or selling its contributor version, but do not include
|
||||||
|
claims that would be infringed only as a consequence of further modification
|
||||||
|
of the contributor version. For purposes of this definition, "control"
|
||||||
|
includes the right to grant patent sublicenses in a manner consistent with
|
||||||
|
the requirements of this License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free patent
|
||||||
|
license under the contributor's essential patent claims, to make, use, sell,
|
||||||
|
offer for sale, import and otherwise run, modify and propagate the contents
|
||||||
|
of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express
|
||||||
|
agreement or commitment, however denominated, not to enforce a patent (such
|
||||||
|
as an express permission to practice a patent or covenant not to sue for
|
||||||
|
patent infringement). To "grant" such a patent license to a party means to
|
||||||
|
make such an agreement or commitment not to enforce a patent against the
|
||||||
|
party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license, and the
|
||||||
|
Corresponding Source of the work is not available for anyone to copy, free of
|
||||||
|
charge and under the terms of this License, through a publicly available
|
||||||
|
network server or other readily accessible means, then you must either (1)
|
||||||
|
cause the Corresponding Source to be so available, or (2) arrange to deprive
|
||||||
|
yourself of the benefit of the patent license for this particular work, or
|
||||||
|
(3) arrange, in a manner consistent with the requirements of this License, to
|
||||||
|
extend the patent license to downstream recipients. "Knowingly relying" means
|
||||||
|
you have actual knowledge that, but for the patent license, your conveying
|
||||||
|
the covered work in a country, or your recipient's use of the covered work in
|
||||||
|
a country, would infringe one or more identifiable patents in that country
|
||||||
|
that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or arrangement,
|
||||||
|
you convey, or propagate by procuring conveyance of, a covered work, and
|
||||||
|
grant a patent license to some of the parties receiving the covered work
|
||||||
|
authorizing them to use, propagate, modify or convey a specific copy of the
|
||||||
|
covered work, then the patent license you grant is automatically extended to
|
||||||
|
all recipients of the covered work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within the scope
|
||||||
|
of its coverage, prohibits the exercise of, or is conditioned on the non-
|
||||||
|
exercise of one or more of the rights that are specifically granted under
|
||||||
|
this License. You may not convey a covered work if you are a party to an
|
||||||
|
arrangement with a third party that is in the business of distributing
|
||||||
|
software, under which you make payment to the third party based on the extent
|
||||||
|
of your activity of conveying the work, and under which the third party
|
||||||
|
grants, to any of the parties who would receive the covered work from you, a
|
||||||
|
discriminatory patent license (a) in connection with copies of the covered
|
||||||
|
work conveyed by you (or copies made from those copies), or (b) primarily for
|
||||||
|
and in connection with specific products or compilations that contain the
|
||||||
|
covered work, unless you entered into that arrangement, or that patent
|
||||||
|
license was granted, prior to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting any
|
||||||
|
implied license or other defenses to infringement that may otherwise be
|
||||||
|
available to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not excuse
|
||||||
|
you from the conditions of this License. If you cannot convey a covered work
|
||||||
|
so as to satisfy simultaneously your obligations under this License and any
|
||||||
|
other pertinent obligations, then as a consequence you may not convey it at
|
||||||
|
all. For example, if you agree to terms that obligate you to collect a
|
||||||
|
royalty for further conveying from those to whom you convey the Program, the
|
||||||
|
only way you could satisfy both those terms and this License would be to
|
||||||
|
refrain entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have permission to
|
||||||
|
link or combine any covered work with a work licensed under version 3 of the
|
||||||
|
GNU Affero General Public License into a single combined work, and to convey
|
||||||
|
the resulting work. The terms of this License will continue to apply to the
|
||||||
|
part which is the covered work, but the special requirements of the GNU
|
||||||
|
Affero General Public License, section 13, concerning interaction through a
|
||||||
|
network will apply to the combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of the
|
||||||
|
GNU General Public License from time to time. Such new versions will be
|
||||||
|
similar in spirit to the present version, but may differ in detail to address
|
||||||
|
new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies that a certain numbered version of the GNU General Public License
|
||||||
|
"or any later version" applies to it, you have the option of following the
|
||||||
|
terms and conditions either of that numbered version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Program does not specify a
|
||||||
|
version number of the GNU General Public License, you may choose any version
|
||||||
|
ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future versions of the
|
||||||
|
GNU General Public License can be used, that proxy's public statement of
|
||||||
|
acceptance of a version permanently authorizes you to choose that version for
|
||||||
|
the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different permissions.
|
||||||
|
However, no additional obligations are imposed on any author or copyright
|
||||||
|
holder as a result of your choosing to follow a later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
|
||||||
|
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||||
|
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
|
||||||
|
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
|
||||||
|
SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
|
||||||
|
SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
|
||||||
|
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE
|
||||||
|
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
|
||||||
|
OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
|
||||||
|
DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR
|
||||||
|
A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
|
||||||
|
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided above
|
||||||
|
cannot be given local legal effect according to their terms, reviewing courts
|
||||||
|
shall apply local law that most closely approximates an absolute waiver of
|
||||||
|
all civil liability in connection with the Program, unless a warranty or
|
||||||
|
assumption of liability accompanies a copy of the Program in return for a
|
||||||
|
fee.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest possible
|
||||||
|
use to the public, the best way to achieve this is to make it free software
|
||||||
|
which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest to attach
|
||||||
|
them to the start of each source file to most effectively state the exclusion
|
||||||
|
of warranty; and each file should have at least the "copyright" line and a
|
||||||
|
pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program 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 General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program does terminal interaction, make it output a short notice like
|
||||||
|
this when it starts in an interactive mode:
|
||||||
|
|
||||||
|
<program> Copyright (C) <year> <name of author>
|
||||||
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show
|
||||||
|
w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, your program's commands might
|
||||||
|
be different; for a GUI interface, you would use an "about box".
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or school, if
|
||||||
|
any, to sign a "copyright disclaimer" for the program, if necessary. For more
|
||||||
|
information on this, and how to apply and follow the GNU GPL, see
|
||||||
|
<https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
The GNU General Public License does not permit incorporating your program
|
||||||
|
into proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General Public
|
||||||
|
License instead of this License. But first, please read
|
||||||
|
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||||
|
|
||||||
|
______________
|
||||||
|
|
||||||
|
COPYING file last revised: July 22, 2022
|
149
doc/ReadMe-OS2.txt
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
|
||||||
|
VirtualBox for OS/2 OSE Edition ALPHA
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
Version 1.5.51_OSE_27858
|
||||||
|
|
||||||
|
03.02.2008
|
||||||
|
|
||||||
|
|
||||||
|
This is an early development build of VirtualBox OSE Edition for OS/2.
|
||||||
|
Please backup your data and don't expect everything to be highly polished
|
||||||
|
and tuned just yet. If you find a *new* problem, meaning something
|
||||||
|
not listed below, please report it at http://forums.virtualbox.org.
|
||||||
|
|
||||||
|
This package is an official unofficial build of VirtualBox for OS/2.
|
||||||
|
It means that it is coordinated by volunteers from Sun Microsystems that
|
||||||
|
are still in touch with OS/2 and keep patching VirtualBox at their spare
|
||||||
|
time to make sure it runs and more or less works under OS/2.
|
||||||
|
|
||||||
|
PLEASE NOTE THAT THE OS/2 HOST (AND THEREFORE THE OS/2 VERSION OF
|
||||||
|
VIRTUALBOX) IS NOT OFFICIALLY SUPPORTED BY SUN MICROSYSTEMS! DO NOT
|
||||||
|
CONTACT SUN MICROSYSTEMS REGARDING THE OS/2 VERSION OF VIRTUALBOX NO
|
||||||
|
MATTER WHAT YOUR QUESTION IS ABOUT! THANK YOU FOR UNDERSTANDING.
|
||||||
|
|
||||||
|
|
||||||
|
Current Issues / TODOs
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
* FE/Qt (Qt GUI frontend):
|
||||||
|
|
||||||
|
- Mouse pointer shape in mouse integration mode.
|
||||||
|
- NumLock/ScrollLock synchronization.
|
||||||
|
- Seamless mode (no top-level window transparency on OS/2).
|
||||||
|
- Keyboard driver to intercept system key combinations
|
||||||
|
(Alt+Tab etc.)
|
||||||
|
|
||||||
|
* Devices:
|
||||||
|
|
||||||
|
- Host Floppy/DVD.
|
||||||
|
- Audio.
|
||||||
|
- Host interface networking.
|
||||||
|
- Internal networking.
|
||||||
|
- USB proxying.
|
||||||
|
|
||||||
|
* Misc:
|
||||||
|
|
||||||
|
- Shared clipboard.
|
||||||
|
- Starting more than one VM simultaneously.
|
||||||
|
- Installer.
|
||||||
|
- VMX support.
|
||||||
|
- VBoxSDL (resizing/scaling/keyboard/slowness).
|
||||||
|
- Very slow Resume after Pause in real mode guest applications.
|
||||||
|
|
||||||
|
Also, please pay attention to the section called "OS/2 Specific Features"
|
||||||
|
below.
|
||||||
|
|
||||||
|
|
||||||
|
How to "Install" and Run
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
1. Unpack this archive somewhere.
|
||||||
|
|
||||||
|
2. Make sure you have a dot (.) in your LIBPATH statement in CONFIG.SYS.
|
||||||
|
|
||||||
|
3. Put the following line at the beginning of your CONFIG.SYS
|
||||||
|
and reboot:
|
||||||
|
|
||||||
|
DEVICE=<somewhere>\VBoxDrv.sys
|
||||||
|
|
||||||
|
4. Go to <somewhere> and run VirtualBox.exe (Qt GUI frontend).
|
||||||
|
|
||||||
|
5. Note that by default VirtualBox stores all user data in the
|
||||||
|
%HOME%\.VirtualBox directory. If %HOME% is not set, it will use
|
||||||
|
the <boot_drive>:\.VirtualBox directory. In either case, you may
|
||||||
|
overwrite the location of this directory using the VBOX_USER_HOME
|
||||||
|
environment variable.
|
||||||
|
|
||||||
|
6. For best performance, it is recommended to install the VirtualBox
|
||||||
|
Guest Additions to the guest OS. The archive containing the ISO
|
||||||
|
image with Guest Additions for supported guest OSes (Windows,
|
||||||
|
Linux, OS/2) is named
|
||||||
|
|
||||||
|
VBoxGuestAdditions_XXXXX.zip
|
||||||
|
|
||||||
|
where XXXXX is the version number (it's best if it matches the version
|
||||||
|
number of this VirtualBox package).
|
||||||
|
|
||||||
|
Download this ZIP from the same location you took this archive from
|
||||||
|
and unpack the contents to the directory containing VirtualBox.exe.
|
||||||
|
After that, you can mount the Additions ISO in the Qt GUI by selecting
|
||||||
|
Devices -> Install Guest Additions... from the menu.
|
||||||
|
|
||||||
|
|
||||||
|
Documentation and Support
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Please visit http://www.virtualbox.org where you can find a lot of useful
|
||||||
|
information about VirtualBox. There is a Community section where you can
|
||||||
|
try to request some help from other OS/2 users of VirtualBox.
|
||||||
|
|
||||||
|
You can download the User Manual for the latest official release of
|
||||||
|
VirtualBox using this URL:
|
||||||
|
|
||||||
|
http://www.virtualbox.org/download/UserManual.pdf
|
||||||
|
|
||||||
|
|
||||||
|
OS/2 Specific Features
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
This section describes the features that are specific to the OS/2 version
|
||||||
|
of VirtualBox and may be absent in versions for other platforms.
|
||||||
|
|
||||||
|
1. System key combinations such as Alt+Tab, Ctrl+Esc are currently always
|
||||||
|
grabbed by the host and never reach the guest even when the keyboard
|
||||||
|
is captured. In order to send these combinations to the guest OS, use
|
||||||
|
the following shortcuts (where Host is the host key defined in the
|
||||||
|
global settings dialog):
|
||||||
|
|
||||||
|
Host+` (Tilde/Backquote) => Ctrl+Esc
|
||||||
|
Host+1 => Alt+Tab
|
||||||
|
Host+2 => Alt+Shift+Tab
|
||||||
|
|
||||||
|
2. If you use two or more keyboard layouts on the OS/2 host (e.g. English
|
||||||
|
and Russian), make sure that the keyboard is switched to the English
|
||||||
|
layer when you work in the VirtualBox VM console window. Otherwise, some
|
||||||
|
shortcuts that involve the Host key (in particluar, all Host+<latin_letter>
|
||||||
|
shortcuts like Host+Q) may not work. Please note that the guest keyboard
|
||||||
|
layout has nothing to do with the host layout so you will still be able to
|
||||||
|
switch layouts in the guest using its own means.
|
||||||
|
|
||||||
|
3. Make sure you do not do 'set LIBPATHSTRICT=T' in the environment you start
|
||||||
|
VirtualBox from: it will make the VirtualBox keyboard hook screw up your
|
||||||
|
host desktop (a workaround is to be found).
|
||||||
|
|
||||||
|
|
||||||
|
History of Changes
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* 03.02.2008
|
||||||
|
|
||||||
|
- Initial release.
|
||||||
|
|
||||||
|
* XX.XX.XXXX
|
||||||
|
|
||||||
|
- Fixed: VirtualBox would hang or crash frequently on SMP machines in
|
||||||
|
ACPI mode.
|
||||||
|
|
||||||
|
- Fixed: VBoxSDL keyboard key event to scan code conversion [contributed
|
||||||
|
by Paul Smedley].
|
47
doc/ReadMe-Solaris.txt
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
|
||||||
|
@VBOX_PRODUCT@ for Oracle Solaris (TM) Operating System
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
|
Upgrading:
|
||||||
|
----------
|
||||||
|
|
||||||
|
If you have an existing VirtualBox installation and you are upgrading to
|
||||||
|
a newer version of VirtualBox, please uninstall the previous version
|
||||||
|
before installing a newer one. Please refer to the "Uninstalling" section
|
||||||
|
at the end of this document for details.
|
||||||
|
|
||||||
|
|
||||||
|
Installing:
|
||||||
|
-----------
|
||||||
|
|
||||||
|
After extracting the contents of the tar.gz file perform the following steps:
|
||||||
|
|
||||||
|
1. Login as root using the "su" command.
|
||||||
|
|
||||||
|
2. Install the VirtualBox package:
|
||||||
|
|
||||||
|
pkgadd -d VirtualBox-@VBOX_VERSION_STRING@-SunOS-@KBUILD_TARGET_ARCH@-r@VBOX_SVN_REV@.pkg
|
||||||
|
|
||||||
|
To perform an unattended (non-interactive) installation of this
|
||||||
|
package, add "-n -a autoresponse SUNWvbox" (without quotes)
|
||||||
|
to the end of the above pkgadd command.
|
||||||
|
|
||||||
|
3. For each package, the installer will ask you to "Select package(s) you
|
||||||
|
wish to process". In response, type "1".
|
||||||
|
|
||||||
|
4. Type "y" when asked about continuing the installation.
|
||||||
|
|
||||||
|
At this point, all the required files should be installed on your system.
|
||||||
|
You can launch VirtualBox by running 'VirtualBox' from the terminal.
|
||||||
|
|
||||||
|
|
||||||
|
Uninstalling:
|
||||||
|
-------------
|
||||||
|
|
||||||
|
To remove VirtualBox from your system, perform the following steps:
|
||||||
|
|
||||||
|
1. Login as root using the "su" command.
|
||||||
|
|
||||||
|
2. To remove VirtualBox, run the command:
|
||||||
|
pkgrm SUNWvbox
|
||||||
|
|
55
doc/ReadMe-Solaris11.txt
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
|
||||||
|
@VBOX_PRODUCT@ for Oracle Solaris 11 (TM) Operating System
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
Installing:
|
||||||
|
-----------
|
||||||
|
|
||||||
|
After extracting the contents of the tar.xz file install the VirtualBox
|
||||||
|
package with the following command:
|
||||||
|
|
||||||
|
$ sudo pkg install -g VirtualBox-@VBOX_VERSION_STRING@-SunOS-@KBUILD_TARGET_ARCH@-r@VBOX_SVN_REV@.p5p virtualbox
|
||||||
|
|
||||||
|
Of course you can add options for performing the install in a different boot
|
||||||
|
environment or in a separate Solaris install.
|
||||||
|
|
||||||
|
Normally you need to reboot the system to load the drivers which have been
|
||||||
|
added by the VirtualBox package.
|
||||||
|
|
||||||
|
If you want to have VirtualBox immediately usable on your system you can run
|
||||||
|
the script /opt/VirtualBox/ipsinstall.sh which sets up everything immediately.
|
||||||
|
|
||||||
|
At this point, all the required files should be installed on your system.
|
||||||
|
You can launch VirtualBox by running 'VirtualBox' from the terminal.
|
||||||
|
|
||||||
|
|
||||||
|
Upgrading:
|
||||||
|
----------
|
||||||
|
|
||||||
|
If you want to upgrade from an older to a newer version of the VirtualBox IPS
|
||||||
|
package you can use the following command after extracting the contents of the
|
||||||
|
tar.xz file:
|
||||||
|
|
||||||
|
$ sudo pkg update -g VirtualBox-@VBOX_VERSION_STRING@-SunOS-@KBUILD_TARGET_ARCH@-r@VBOX_SVN_REV@.p5p virtualbox
|
||||||
|
|
||||||
|
If you want to upgrade from the SysV package of VirtualBox to the IPS one,
|
||||||
|
please uninstall the previous package before installing the IPS one. Please
|
||||||
|
refer to the "Uninstalling" and "Installing" sections of this document for
|
||||||
|
details.
|
||||||
|
|
||||||
|
It is your responsibility to ensure that no VirtualBox VMs or other related
|
||||||
|
activities are running. One possible way is using the command pgrep VBoxSVC. If
|
||||||
|
this shows no output then it is safe to upgrade VirtualBox.
|
||||||
|
|
||||||
|
|
||||||
|
Uninstalling:
|
||||||
|
-------------
|
||||||
|
|
||||||
|
To remove VirtualBox from your system, run the following command:
|
||||||
|
|
||||||
|
$ sudo pkg uninstall virtualbox
|
||||||
|
|
||||||
|
It is your responsibility to ensure that no VirtualBox VMs or other related
|
||||||
|
activities are running. One possible way is using the command pgrep VBoxSVC. If
|
||||||
|
this shows no output then it is safe to uninstall VirtualBox.
|
||||||
|
|
1031
doc/VBox-CodingGuidelines.cpp
Normal file
216
doc/VBox-MakefileGuidelines.cpp
Normal file
|
@ -0,0 +1,216 @@
|
||||||
|
/* $Id: VBox-MakefileGuidelines.cpp $ */
|
||||||
|
/** @file
|
||||||
|
* VBox - Makefile Guidelines.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2009-2023 Oracle and/or its affiliates.
|
||||||
|
*
|
||||||
|
* This file is part of VirtualBox base platform packages, as
|
||||||
|
* available from https://www.virtualbox.org.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, in version 3 of the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* This program 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
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @page pg_vbox_makefile_guidelines VBox Makefile Guidelines
|
||||||
|
*
|
||||||
|
* These guidelines apply to all the Makefile.kmk files in the tree.
|
||||||
|
* No exceptions.
|
||||||
|
*
|
||||||
|
* All these makefiles are ultimately the responsiblity of bird. Since there
|
||||||
|
* are currently more than three hundred files and the number is growing, they
|
||||||
|
* have to be very kept uniform or it will become very difficult to maintain
|
||||||
|
* them and impossible do bulk refactoring. Thus these guidelines have no bits
|
||||||
|
* that are optional unlike the coding guidelines, and should be thought of as
|
||||||
|
* rules rather than guidelines.
|
||||||
|
*
|
||||||
|
* Note! The guidelines do not apply to the non-kBuild makefiles found in the
|
||||||
|
* source tree, like the ones shipped in the SDK and the ones for the
|
||||||
|
* linux kernel modules.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @section sec_vbox_makefile_guidelines_kbuild kBuild
|
||||||
|
*
|
||||||
|
* kBuild is way older than VirtualBox, at least as a concept, but the
|
||||||
|
* VirtualBox project was a push to get something done about it again. It's
|
||||||
|
* maintained by bird in his spare time because: "We don't make buildsystems, we
|
||||||
|
* make virtual machines". So, kBuild makes progress when there is spare time
|
||||||
|
* or when there is an urgent need for something.
|
||||||
|
*
|
||||||
|
* The kBuild docs are in the process of being written. The current items and
|
||||||
|
* their status per 2018-10-29:
|
||||||
|
* - kmk Quick Reference [completed]:
|
||||||
|
* http://svn.netlabs.org/kbuild/wiki/kmk%20Quick%20Reference
|
||||||
|
* - kBuild Quick Reference [just started]:
|
||||||
|
* http://svn.netlabs.org/kbuild/wiki/kBuild%20Quick%20Reference
|
||||||
|
*
|
||||||
|
* Local copies of the docs can be found in kBuild/docs, just keep in mind that
|
||||||
|
* they might be slightly behind the online version.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @section sec_vbox_makefile_guidelines_example Example Makefiles
|
||||||
|
*
|
||||||
|
* Let me point to some good sample makefiles:
|
||||||
|
* - src/VBox/Additions/common/VBoxService/Makefile.kmk
|
||||||
|
* - src/VBox/Debugger/Makefile.kmk
|
||||||
|
* - src/VBox/Disassembler/Makefile.kmk
|
||||||
|
*
|
||||||
|
* And some bad ones:
|
||||||
|
* - src/lib/xpcom18a4/Makefile.kmk
|
||||||
|
* - src/recompiler/Makefile.kmk
|
||||||
|
* - src/VBox/Devices/Makefile.kmk
|
||||||
|
* - src/VBox/Main/Makefile.kmk
|
||||||
|
* - src/VBox/Runtime/Makefile.kmk
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @section sec_vbox_makefile_guidelines Guidelines
|
||||||
|
*
|
||||||
|
* First one really important fact:
|
||||||
|
*
|
||||||
|
* Everything is global because all makefiles
|
||||||
|
* are virtually one single makefile.
|
||||||
|
*
|
||||||
|
* The rules:
|
||||||
|
*
|
||||||
|
* - Using bits defined by a sub-makefile is fine, using anything defined
|
||||||
|
* by a parent, sibling, uncle, cousine, or remoter relatives is not
|
||||||
|
* Okay. It may break sub-tree building which is not acceptable.
|
||||||
|
*
|
||||||
|
* - Template names starts with VBox and are camel cased, no
|
||||||
|
* underscores or other separators. (Note this used to be all upper
|
||||||
|
* case, fixing this incomplete.)
|
||||||
|
*
|
||||||
|
* - Makefile variables shall be prefixed with VBOX or VB to avoid clashes
|
||||||
|
* with environment and kBuild variables.
|
||||||
|
*
|
||||||
|
* - Makefile variables are all upper cased and uses underscores to
|
||||||
|
* separate the words.
|
||||||
|
*
|
||||||
|
* - All variables are global. Make sure they are globally unique, but try
|
||||||
|
* not make them incredible long.
|
||||||
|
*
|
||||||
|
* - Makefile variables goes after the inclusion of the header and
|
||||||
|
* usually after including sub-makefiles.
|
||||||
|
*
|
||||||
|
* - Variables that are used by more than one makefile usually ends up
|
||||||
|
* in the monster file, Config.kmk. However, see if there are any
|
||||||
|
* sub-tree specific Config.kmk files that could do the job first.
|
||||||
|
*
|
||||||
|
* - Targets are lower or camel cased and as a rule the same as the
|
||||||
|
* resulting binary.
|
||||||
|
*
|
||||||
|
* - Install targets frequently have a -inst in their name, and a name that
|
||||||
|
* gives some idea what they install
|
||||||
|
*
|
||||||
|
* - Always use templates (mytarget_TEMPLATE = VBoxSomething).
|
||||||
|
*
|
||||||
|
* - Comment each target with a 3+ line block as seen in
|
||||||
|
* src/VBox/Debugger/Makefile.kmk.
|
||||||
|
*
|
||||||
|
* - No space between the comment block and the target definition.
|
||||||
|
*
|
||||||
|
* - Try fit all the custom recipes after the target they apply to.
|
||||||
|
*
|
||||||
|
* - Custom recipes that apply to more than one target should be placed at
|
||||||
|
* the bottom of the makefile, before the footer inclusion when possible.
|
||||||
|
*
|
||||||
|
* - Do NOT use custom recipes to install stuff, use install targets.
|
||||||
|
* Generate files to inst-target_0_OUTDIR. (Yes, there are a lot places
|
||||||
|
* where we don't do this yet.)
|
||||||
|
*
|
||||||
|
* - Always break SOURCES, LIBS, long target list and other lists the
|
||||||
|
* manner Debugger_SOURCES is broken into multiple lines in
|
||||||
|
* src/VBox/Debugger/Makefile.kmk. I.e. exactly one tab, the file name /
|
||||||
|
* list item, another space, the slash and then the newline.
|
||||||
|
*
|
||||||
|
* - Line continuation slashes shall never ever be aligned vertically (that
|
||||||
|
* always goes crooked sooner or later), but have exactly one space
|
||||||
|
* before them.
|
||||||
|
*
|
||||||
|
* - The last element of an broken list shall not have a slash-newline,
|
||||||
|
* otherwise we risk getting the next variable into the list.
|
||||||
|
*
|
||||||
|
* - When if'ed blocks come into play, we will only indent the conditional
|
||||||
|
* makefile directives (if, ifeq, ifneq, if1of, ifn1of, ifdef, ifndef,
|
||||||
|
* else, endif, ++), one space for each level. (Note! We used to indent
|
||||||
|
* non-directives, which made emacs upset as we'd have both tabs and
|
||||||
|
* spaces on as indentation on the same line. There are a lot of cases
|
||||||
|
* of this still around.)
|
||||||
|
*
|
||||||
|
* - \$(NO_SUCH_VARIABLE) should be when you need to put nothing somewhere,
|
||||||
|
* for instance to prevent inherting an attribute.
|
||||||
|
*
|
||||||
|
* - Always put the defines in the DEFS properties, never use the FLAGS
|
||||||
|
* properties for this. Doing so may screw up depenencies and object
|
||||||
|
* caches.
|
||||||
|
*
|
||||||
|
* - Mark each section and target of the file with a 3+ lines comment
|
||||||
|
* block.
|
||||||
|
*
|
||||||
|
* - Document variables that are not immediately obvious using double hash
|
||||||
|
* comments, doxygen style.
|
||||||
|
*
|
||||||
|
* - Each an every Makefile.kmk shall have a file header with Id, file
|
||||||
|
* description and copyright/license exactly like in the examples. (The
|
||||||
|
* SCM tool will complain if you don't.)
|
||||||
|
*
|
||||||
|
* - Multiple blank lines in a makefile is very seldom there without a
|
||||||
|
* reason and shall be preserved.
|
||||||
|
*
|
||||||
|
* - Inserting blank lines between target properties is all right if the
|
||||||
|
* target definition is long and/or crooked.
|
||||||
|
*
|
||||||
|
* - if1of and ifn1of shall always have a space after the comma, while ifeq
|
||||||
|
* and ifneq shall not. That way they are easier to tell apart.
|
||||||
|
*
|
||||||
|
* - Do a svn diff before committing makefile changes.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @section sec_vbox_makefile_guidelines_reminders Helpful reminders
|
||||||
|
*
|
||||||
|
* - Do not be afraid to ask for help on IRC or in the defect you're
|
||||||
|
* working on. There are usually somebody around that know how to best do
|
||||||
|
* something.
|
||||||
|
*
|
||||||
|
* - Watch out for "Heads Up!" bugtracker messages concerning the build
|
||||||
|
* system.
|
||||||
|
*
|
||||||
|
* - To remove bits from a template you're using you have to create a new
|
||||||
|
* template that extends the existing one and creatively use
|
||||||
|
* \$(filter-out) or \$(patsubst).
|
||||||
|
*
|
||||||
|
* - You can build sub-trees.
|
||||||
|
*
|
||||||
|
* - You don't have to cd into sub-trees: kmk -C src/recompiler
|
||||||
|
*
|
||||||
|
* - You can build individual targets: kmk VBoxRT
|
||||||
|
*
|
||||||
|
* - Even install targets: kmk nobin
|
||||||
|
*
|
||||||
|
* - You can compile individual source files: kmk ConsoleImpl.o
|
||||||
|
*
|
||||||
|
* - You can tell kmk to continue on failure: kmk -k
|
||||||
|
*
|
||||||
|
* - You can tell kmk to run at low priority: kmk --nice
|
||||||
|
*
|
||||||
|
* - The --pretty-command-printing option is useful for seeing exactly
|
||||||
|
* what's passed to the tools.
|
||||||
|
*
|
||||||
|
* - You can invoke recipes in the root makefile more efficiently via the
|
||||||
|
* Maintenance.kmk file: kmk -f Maintenance.kmk incs
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
219
doc/VBox-doc.c
Normal file
|
@ -0,0 +1,219 @@
|
||||||
|
/* $Id: VBox-doc.c $ */
|
||||||
|
/** @file
|
||||||
|
* VirtualBox Top Level Documentation File.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
*
|
||||||
|
* This file is part of VirtualBox base platform packages, as
|
||||||
|
* available from https://www.virtualbox.org.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation, in version 3 of the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* This program 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
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/** @mainpage VirtualBox
|
||||||
|
*
|
||||||
|
* (add introduction here)
|
||||||
|
*
|
||||||
|
* @section pg_main_comp Components
|
||||||
|
*
|
||||||
|
* - VM / @ref pg_vmm "VMM" / GVM / @ref pg_gvmm "GVMM" - Virtual Machine
|
||||||
|
* Monitor.
|
||||||
|
* - @ref pg_cfgm
|
||||||
|
* - @ref pg_cpum
|
||||||
|
* - @ref pg_dbgf
|
||||||
|
* - @ref pg_dbgf_addr_space
|
||||||
|
* - @ref pg_dbgf_vmcore
|
||||||
|
* - @ref pg_dbgf_module
|
||||||
|
* - @ref pg_dbgc
|
||||||
|
* - VBoxDbg - Debugger GUI (Qt).
|
||||||
|
* - @ref grp_dis
|
||||||
|
* - @ref pg_em
|
||||||
|
* - @ref pg_gim
|
||||||
|
* - @ref pg_hm
|
||||||
|
* - @ref pg_iem
|
||||||
|
* - @ref pg_nem
|
||||||
|
* - @ref pg_gmm
|
||||||
|
* - @ref pg_mm
|
||||||
|
* - @ref pg_pgm
|
||||||
|
* - @ref pg_pgm_phys
|
||||||
|
* - @ref pg_pgm_pool
|
||||||
|
* - @ref pg_selm
|
||||||
|
* - @ref pg_iom
|
||||||
|
* - @ref pg_pdm
|
||||||
|
* - Devices / USB Devices, Drivers and their public interfaces.
|
||||||
|
* - Async I/O Completion API.
|
||||||
|
* - Async Task API.
|
||||||
|
* - Critical Section API.
|
||||||
|
* - Queue API.
|
||||||
|
* - Thread API.
|
||||||
|
* - @ref pg_pdm_block_cache
|
||||||
|
* - @ref pg_ssm
|
||||||
|
* - @ref pg_stam
|
||||||
|
* - @ref pg_tm
|
||||||
|
* - @ref pg_trpm
|
||||||
|
* - VMM docs:
|
||||||
|
* - @ref pg_vmm_guideline
|
||||||
|
* - @ref pg_raw
|
||||||
|
* - Pluggable Components (via PDM).
|
||||||
|
* - DevPCArch - PC Architecture Device (chipset, legacy ++).
|
||||||
|
* - DevPCBios - Basic Input Output System.
|
||||||
|
* - DevDMAC - DMA Controller.
|
||||||
|
* - DevPIC - Programmable Interrupt Controller.
|
||||||
|
* - DevPIT - Programmable Interval Timer (i8254).
|
||||||
|
* - DevRTC - Real Time Clock.
|
||||||
|
* - DevVGA - Video Graphic Array.
|
||||||
|
* - DevPCI - Peripheral Component Interface (Bus).
|
||||||
|
* - VBoxDev - Special PCI Device which serves as an interface between
|
||||||
|
* the VMM and the guest OS for the additions.
|
||||||
|
* - @ref pg_pdm_audio "Audio":
|
||||||
|
* - DevHda - Intel High Definition Audio Device Emulation.
|
||||||
|
* - DevIchAc97 - ICH AC'97 Device Emulation.
|
||||||
|
* - DevSB16 - SoundBlaster 16 Device Emulation.
|
||||||
|
* - DrvAudio - Intermediate driver.
|
||||||
|
* - DrvHostAudioAlsa - ALSA Host Audio Driver (Linux).
|
||||||
|
* - DrvHostAudioCoreAudio - Core Audio Host Audio Driver (macOS).
|
||||||
|
* - DrvHostAudioDebug - Debug Backend Driver.
|
||||||
|
* - DrvHostAudioDSound - DirectSound Host Audio Driver (Windows).
|
||||||
|
* - DrvHostAudioNull - NULL Backend Driver.
|
||||||
|
* - DrvHostAudioOss - Open Sound System Host Audio Driver (Linux,
|
||||||
|
* Solaris, ++).
|
||||||
|
* - DrvHostAudioPulseAudio - PulseAudio Host Audio Driver (Linux).
|
||||||
|
* - DrvHostAudioValidationKit - Validation Kit Test Driver.
|
||||||
|
* - DrvHostAudioWasApi - Windows Audio Session API Host Audio Driver.
|
||||||
|
* - Networking:
|
||||||
|
* - DevPCNet - AMD PCNet Device Emulation.
|
||||||
|
* - DevE1000 - Intel E1000 Device Emulation.
|
||||||
|
* - DevEEPROM - Intel E1000 EPROM Device Emulation.
|
||||||
|
* - SrvINetNetR0 - Internal Networking Ring-0 Service.
|
||||||
|
* - DevINIP - IP Stack Service for the internal networking.
|
||||||
|
* - DrvIntNet - Internal Networking Driver.
|
||||||
|
* - DrvNetSniffer - Wireshark Compatible Sniffer Driver (pass thru).
|
||||||
|
* - DrvNAT - Network Address Translation Driver.
|
||||||
|
* - DrvTAP - Host Interface Networking Driver.
|
||||||
|
* - Storage:
|
||||||
|
* - DevATA - ATA ((E)IDE) Device Emulation.
|
||||||
|
* - @ref pg_dev_ahci
|
||||||
|
* - DevFDC - Floppy Controller Device Emulation.
|
||||||
|
* - DrvBlock - Intermediate block driver.
|
||||||
|
* - DrvHostBase - Common code for the host drivers.
|
||||||
|
* - DrvHostDVD - Host DVD drive driver.
|
||||||
|
* - DrvHostFloppy - Host floppy drive driver.
|
||||||
|
* - DrvHostRawDisk - Host raw disk drive driver.
|
||||||
|
* - DrvMediaISO - ISO media driver.
|
||||||
|
* - DrvRawImage - Raw image driver (floppy images etc).
|
||||||
|
* - DrvVD - Intermediate Virtual Drive (Media) driver.
|
||||||
|
* - DrvVDI - VirtualBox Drive Image Container Driver.
|
||||||
|
* - DrvVmdk - VMDK Drive Image Container Driver.
|
||||||
|
* - USB:
|
||||||
|
* - @ref pg_dev_ohci
|
||||||
|
* - @ref pg_dev_ehci
|
||||||
|
* - @ref pg_dev_vusb
|
||||||
|
* - @ref pg_dev_vusb_old
|
||||||
|
* - Host Drivers.
|
||||||
|
* - SUPDRV - The Support driver (aka VBoxDrv).
|
||||||
|
* - @ref pg_sup
|
||||||
|
* - @ref pg_netflt
|
||||||
|
* - @ref pg_netadp
|
||||||
|
* - VBoxUSB - The USB support driver.
|
||||||
|
* - @ref pg_netflt
|
||||||
|
* - @ref pg_rawpci
|
||||||
|
* - Host Services.
|
||||||
|
* - @ref pg_hostclip
|
||||||
|
* - Shared Folders.
|
||||||
|
* - @ref pg_svc_guest_properties
|
||||||
|
* - @ref pg_svc_guest_control
|
||||||
|
* - Guest Additions.
|
||||||
|
* - VBoxGuest.
|
||||||
|
* - @ref pg_guest_lib
|
||||||
|
* - @ref pg_vgsvc
|
||||||
|
* - @ref pg_vgsvc_timesync
|
||||||
|
* - @ref pg_vgsvc_vminfo
|
||||||
|
* - @ref pg_vgsvc_vmstats
|
||||||
|
* - @ref pg_vgsvc_gstctrl
|
||||||
|
* - @ref pg_vgsvc_pagesharing
|
||||||
|
* - @ref pg_vgsvc_memballoon
|
||||||
|
* - @ref pg_vgsvc_cpuhotplug
|
||||||
|
* - @ref pg_vgsvc_automount
|
||||||
|
* - @ref pg_vgsvc_clipboard
|
||||||
|
* - VBoxControl.
|
||||||
|
* - Linux, Solaris and FreeBSD specific guest services and drivers.
|
||||||
|
* - @ref pg_vboxdrmcliet (Linux only).
|
||||||
|
* - VBoxClient.
|
||||||
|
* - VBoxVideo.
|
||||||
|
* - Windows Guests.
|
||||||
|
* - VBoxTray.
|
||||||
|
* - crOpenGL.
|
||||||
|
* - pam.
|
||||||
|
* - ...
|
||||||
|
* - Network Services:
|
||||||
|
* - @ref pg_net_dhcp
|
||||||
|
* - NAT
|
||||||
|
* - @ref pg_main
|
||||||
|
* - @ref pg_main_events
|
||||||
|
* - @ref pg_vrdb_usb
|
||||||
|
* - Frontends:
|
||||||
|
* - VirtualBox - The default Qt-based GUI.
|
||||||
|
* - VBoxHeadless - The headless frontend.
|
||||||
|
* - VBoxManage - The CLI.
|
||||||
|
* - VBoxShell - An interactive shell written in python.
|
||||||
|
* - VBoxSDL - A very simple GUI.
|
||||||
|
* - VBoxBFE - A bare metal edition which does not use COM/XPCOM (barely
|
||||||
|
* maintained atm).
|
||||||
|
* - IPRT - Runtime Library for hiding host OS differences.
|
||||||
|
* - Validation Kit:
|
||||||
|
* - @ref pg_validationkit_guideline
|
||||||
|
* - @ref pg_bs3kit
|
||||||
|
* - @ref pg_vbox_guideline
|
||||||
|
*
|
||||||
|
* @todo Make links to the components.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @section Execution Contexts
|
||||||
|
*
|
||||||
|
* VirtualBox defines a number of different execution context, this can be
|
||||||
|
* confusing at first. So, to start with take a look at this diagram:
|
||||||
|
*
|
||||||
|
* @image html VMMContexts.png
|
||||||
|
*
|
||||||
|
* Context definitions:
|
||||||
|
* - Host context (HC) - This is the context where the host OS runs and
|
||||||
|
* runs VirtualBox within it. The absense of IN_RC and IN_GUEST
|
||||||
|
* indicates that we're in HC. IN_RING0 indicates ring-0 (kernel) and
|
||||||
|
* IN_RING3 indicates ring-3.
|
||||||
|
* - Raw-mode Context (RC) - This is the special VMM context where we
|
||||||
|
* execute the guest code directly on the CPU. Kernel code is patched
|
||||||
|
* and execute in ring-1 instead of ring-0 (ring compression). Ring-3
|
||||||
|
* code execute unmodified. Only VMMs use ring-1, so we don't need to
|
||||||
|
* worry about that (it's guarded against in the scheduler (EM)). We can
|
||||||
|
* in theory run ring-2 there, but since practially only only OS/2 uses
|
||||||
|
* ring-2, it is of little importance. The macro IN_RC indicates that
|
||||||
|
* we're compiling something for RC.
|
||||||
|
* Note! This used to be called GC (see below) earlier, so a bunch of RC
|
||||||
|
* things are using GC markers.
|
||||||
|
* - Guest Context (GC) - This is where the guest code is executed. When
|
||||||
|
* compiling, IN_GUEST indicates that it's for GC. IN_RING0 and
|
||||||
|
* IN_RING3 are also set when applicable, these are accompanied by
|
||||||
|
* IN_GUEST_R0 and IN_GUEST_R3 respecitively.
|
||||||
|
* - Intermediate context - This is a special memory context used within
|
||||||
|
* the world switchers (HC -> RC and back), it features some identity
|
||||||
|
* mapped code pages so we can switch to real mode if necessary.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
BIN
doc/VMM/PDMStorageScsi.odg
Normal file
BIN
doc/VMM/PDMStorageScsi.png
Normal file
After Width: | Height: | Size: 318 KiB |
BIN
doc/VMM/VMMContexts.odg
Normal file
BIN
doc/VMM/VMMContexts.png
Normal file
After Width: | Height: | Size: 349 KiB |
62
doc/kBuild-tricks.txt
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
|
||||||
|
kBuild / VBox Build Tricks
|
||||||
|
==========================
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
This document is written in reStructuredText (rst) which just happens to
|
||||||
|
be used by Python, the primary language for this revamp. For more information
|
||||||
|
on reStructuredText: http://docutils.sourceforge.net/rst.html
|
||||||
|
|
||||||
|
|
||||||
|
Changing the output directory
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
When switch between different VBox build settings it can be nice to have
|
||||||
|
different output directories to avoid having to rebuild the whole source tree
|
||||||
|
everything. One typical example is hardening, another is guest additions using
|
||||||
|
crossbuild gcc w/ SDK. The latter is is simpler so that's the first example:
|
||||||
|
|
||||||
|
.. code:: makefile
|
||||||
|
|
||||||
|
ifdef VBOX_WITH_COMPATIBLE_LINUX_GUEST_PACKAGE
|
||||||
|
PATH_OUT_BASE = $(PATH_ROOT)/add-out
|
||||||
|
endif
|
||||||
|
|
||||||
|
The following example is the typical developer setup, i.e. disable hardening by
|
||||||
|
default but respect command line overrides (kmk VBOX_WITH_HARDENING=1):
|
||||||
|
|
||||||
|
.. code:: make
|
||||||
|
|
||||||
|
VBOX_WITH_HARDENING :=
|
||||||
|
ifeq ($(VBOX_WITH_HARDENING),)
|
||||||
|
VBOX_WITHOUT_HARDENING=1
|
||||||
|
else
|
||||||
|
PATH_OUT_BASE = $(PATH_ROOT)/hard-out
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
Share tools download directory between trunk and branches
|
||||||
|
---------------------------------------------------------
|
||||||
|
|
||||||
|
To avoid filling up your disk with unnecessary tool zip and tar.gz files, set
|
||||||
|
the FETCHDIR variable in LocalConfig.kmk to point to a common directory for all
|
||||||
|
VBox checkouts.
|
||||||
|
|
||||||
|
.. code:: make
|
||||||
|
|
||||||
|
FETCHDIR = $(HOME)/Downloads/FetchDir
|
||||||
|
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
|
.. [1] no such footnote
|
||||||
|
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
|
:Status: $Id: kBuild-tricks.txt $
|
||||||
|
:Copyright: Copyright (C) 2006-2022 Oracle Corporation.
|
||||||
|
|
33
doc/manual/.scm-settings
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
# $Id: .scm-settings $
|
||||||
|
## @file
|
||||||
|
# Source code massager settings for the manual.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright (C) 2010-2023 Oracle and/or its affiliates.
|
||||||
|
#
|
||||||
|
# This file is part of VirtualBox base platform packages, as
|
||||||
|
# available from https://www.virtualbox.org.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation, in version 3 of the
|
||||||
|
# License.
|
||||||
|
#
|
||||||
|
# This program 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
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
/string.xsl: --external-copyright --no-convert-tabs
|
||||||
|
/titlepage-htmlhelp.xml: --external-copyright --no-convert-tabs
|
||||||
|
|
||||||
|
--filter-out-dirs /texfiles/.
|
||||||
|
|
423
doc/manual/Config.kmk
Normal file
|
@ -0,0 +1,423 @@
|
||||||
|
# $Id: Config.kmk $
|
||||||
|
## @file
|
||||||
|
# kBuild Configuration file for the manual.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright (C) 2010-2023 Oracle and/or its affiliates.
|
||||||
|
#
|
||||||
|
# This file is part of VirtualBox base platform packages, as
|
||||||
|
# available from https://www.virtualbox.org.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation, in version 3 of the
|
||||||
|
# License.
|
||||||
|
#
|
||||||
|
# This program 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
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
#
|
||||||
|
|
||||||
|
ifndef VBOX_DOC_MANUAL_CONFIG_KMK_INCLUDED
|
||||||
|
VBOX_DOC_MANUAL_CONFIG_KMK_INCLUDED = 1
|
||||||
|
|
||||||
|
# Include the top-level configure file.
|
||||||
|
ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
|
||||||
|
include $(PATH_ROOT)/Config.kmk
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Globals.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Source location.
|
||||||
|
VBOX_PATH_MANUAL_SRC := $(PATH_ROOT)/doc/manual
|
||||||
|
# Output location.
|
||||||
|
VBOX_PATH_MANUAL_OUTBASE := $(PATH_OBJ)/manual
|
||||||
|
|
||||||
|
## List of refentry files (manpages).
|
||||||
|
VBOX_MANUAL_XML_REFENTRY_FILES := \
|
||||||
|
man_VBoxManage-common.xml \
|
||||||
|
man_VBoxManage-list.xml \
|
||||||
|
man_VBoxManage-showvminfo.xml \
|
||||||
|
man_VBoxManage-registervm.xml \
|
||||||
|
man_VBoxManage-unregistervm.xml \
|
||||||
|
man_VBoxManage-createvm.xml \
|
||||||
|
man_VBoxManage-modifyvm.xml \
|
||||||
|
man_VBoxManage-snapshot.xml \
|
||||||
|
man_VBoxManage-clonevm.xml \
|
||||||
|
man_VBoxManage-movevm.xml \
|
||||||
|
man_VBoxManage-encryptvm.xml \
|
||||||
|
man_VBoxManage-startvm.xml \
|
||||||
|
man_VBoxManage-controlvm.xml \
|
||||||
|
man_VBoxManage-import.xml \
|
||||||
|
man_VBoxManage-export.xml \
|
||||||
|
man_VBoxManage-mediumio.xml \
|
||||||
|
man_VBoxManage-sharedfolder.xml \
|
||||||
|
man_VBoxManage-dhcpserver.xml \
|
||||||
|
man_VBoxManage-debugvm.xml \
|
||||||
|
man_VBoxManage-extpack.xml \
|
||||||
|
man_VBoxManage-unattended.xml \
|
||||||
|
man_VBoxManage-cloud.xml \
|
||||||
|
man_VBoxManage-cloudprofile.xml \
|
||||||
|
man_VBoxManage-signova.xml \
|
||||||
|
man_VBoxManage-modifynvram.xml \
|
||||||
|
man_VBoxManage-hostonlynet.xml \
|
||||||
|
man_VBoxManage-updatecheck.xml \
|
||||||
|
man_VBoxManage-discardstate.xml \
|
||||||
|
man_VBoxManage-adoptstate.xml \
|
||||||
|
man_VBoxManage-closemedium.xml \
|
||||||
|
man_VBoxManage-storageattach.xml \
|
||||||
|
man_VBoxManage-storagectl.xml \
|
||||||
|
man_VBoxManage-bandwidthctl.xml \
|
||||||
|
man_VBoxManage-showmediuminfo.xml \
|
||||||
|
man_VBoxManage-createmedium.xml \
|
||||||
|
man_VBoxManage-modifymedium.xml \
|
||||||
|
man_VBoxManage-clonemedium.xml \
|
||||||
|
man_VBoxManage-mediumproperty.xml \
|
||||||
|
man_VBoxManage-encryptmedium.xml \
|
||||||
|
man_VBoxManage-checkmediumpwd.xml \
|
||||||
|
man_VBoxManage-convertfromraw.xml \
|
||||||
|
man_VBoxManage-setextradata.xml \
|
||||||
|
man_VBoxManage-getextradata.xml \
|
||||||
|
man_VBoxManage-setproperty.xml \
|
||||||
|
man_VBoxManage-usbfilter.xml \
|
||||||
|
man_VBoxManage-guestproperty.xml \
|
||||||
|
man_VBoxManage-guestcontrol.xml \
|
||||||
|
man_VBoxManage-metrics.xml \
|
||||||
|
man_VBoxManage-natnetwork.xml \
|
||||||
|
man_VBoxManage-hostonlyif.xml \
|
||||||
|
man_VBoxManage-usbdevsource.xml
|
||||||
|
|
||||||
|
## List of user manual XML files.
|
||||||
|
VBOX_MANUAL_XML_FILES = \
|
||||||
|
UserManual.xml \
|
||||||
|
user_Preface.xml \
|
||||||
|
user_Introduction.xml \
|
||||||
|
user_Installation.xml \
|
||||||
|
user_BasicConcepts.xml \
|
||||||
|
user_GuestAdditions.xml \
|
||||||
|
user_Storage.xml \
|
||||||
|
user_Networking.xml \
|
||||||
|
user_Frontends.xml \
|
||||||
|
user_VBoxManage.xml \
|
||||||
|
user_AdvancedTopics.xml \
|
||||||
|
user_Technical.xml \
|
||||||
|
user_VirtualBoxAPI.xml \
|
||||||
|
user_Troubleshooting.xml \
|
||||||
|
user_Security.xml \
|
||||||
|
user_KnownIssues.xml \
|
||||||
|
user_ChangeLog.xml \
|
||||||
|
user_ThirdParty.xml \
|
||||||
|
user_PrivacyPolicy.xml \
|
||||||
|
user_Glossary.xml \
|
||||||
|
oracle-accessibility-ohc-en.xml \
|
||||||
|
oracle-diversity.xml \
|
||||||
|
oracle-support-en.xml
|
||||||
|
|
||||||
|
## List of user manual XML files common for all languages.
|
||||||
|
VBOX_MANUAL_XML_FILES_COMMON = \
|
||||||
|
$(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml
|
||||||
|
|
||||||
|
|
||||||
|
# Tool locations.
|
||||||
|
ifndef VBOX_OSE
|
||||||
|
# use docbook from our tools directory
|
||||||
|
VBOX_PATH_DOCBOOK ?= $(KBUILD_DEVTOOLS)/common/DocBook/v1.69.1
|
||||||
|
VBOX_PATH_DOCBOOK_DTD ?= $(KBUILD_DEVTOOLS)/common/docbook-xml/v4.5
|
||||||
|
else
|
||||||
|
# use docbook of the build host
|
||||||
|
VBOX_PATH_DOCBOOK ?= /usr/share/xml/docbook/stylesheet/docbook-xsl
|
||||||
|
VBOX_PATH_DOCBOOK_DTD ?= /usr/share/xml/docbook/schema/dtd/4.5
|
||||||
|
endif
|
||||||
|
VBOX_XML_CATALOG ?= $(VBOX_PATH_MANUAL_OUTBASE)/vbox-doc.cat
|
||||||
|
VBOX_XML_CATALOG_DOCBOOK ?= $(VBOX_PATH_MANUAL_OUTBASE)/docbook.cat
|
||||||
|
VBOX_XML_CATALOG_MANUAL ?= $(VBOX_PATH_MANUAL_OUTBASE)/manual.cat
|
||||||
|
VBOX_XML_ENTITIES ?= $(VBOX_PATH_MANUAL_OUTBASE)/all-entities.ent
|
||||||
|
|
||||||
|
# xsltproc with the catalog trick if applicable (set XML_DEBUG_CATALOG to
|
||||||
|
# non-zero value to debug file/uri resolution through the catalogs, using
|
||||||
|
# one of them is enough, they show the same information).
|
||||||
|
ifdef VBOX_XML_CATALOG
|
||||||
|
VBOX_XSLTPROC_WITH_CAT = $(REDIRECT) -E "XML_CATALOG_FILES=$(if $(2),$(2),$(VBOX_XML_CATALOG))" -E "XML_DEBUG_CATALOG=" $1 -- \
|
||||||
|
$(VBOX_XSLTPROC) --nonet --xinclude $(VBOX_XSLTPROC_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
|
||||||
|
VBOX_XMLLINT_WITH_CAT = $(REDIRECT) -E "XML_CATALOG_FILES=$(VBOX_XML_CATALOG)" -E "XML_DEBUG_CATALOG=" -- \
|
||||||
|
$(VBOX_XMLLINT) --nonet --xinclude --noout $(VBOX_XMLLINT_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
|
||||||
|
else
|
||||||
|
VBOX_XSLTPROC_WITH_CAT = $(if $(1), $(REDIRECT) $1 --,) $(VBOX_XSLTPROC) --nonet --xinclude $(VBOX_XSLTPROC_OPTS) \
|
||||||
|
--path "$(VBOX_PATH_MANUAL_OUTBASE)"
|
||||||
|
VBOX_XMLLINT_WITH_CAT = $(VBOX_XMLLINT) --nonet --xinclude --noout $(VBOX_XMLLINT_OPTS) --path "$(VBOX_PATH_MANUAL_OUTBASE)"
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# File name of the generated stylesheet for transforming xref elements into
|
||||||
|
# name user manual sections.
|
||||||
|
VBOX_XML_XREF_TO_TEXT = xref-to-text.xsl
|
||||||
|
|
||||||
|
##
|
||||||
|
# Emits rules for preprocessing refentry sources (applying remarks element),
|
||||||
|
# and for producing the actual man pages.
|
||||||
|
#
|
||||||
|
# $(evalcall2 def_vbox_refentry_preprocess_for_manpage)
|
||||||
|
# @param 1 The output directory.
|
||||||
|
# @param 2 The XML file name (no path).
|
||||||
|
# @param 3 The XML file with full path.
|
||||||
|
# @param 4 Non-empty if xrefs to replace.
|
||||||
|
# @param 5 Language code (optional if $4 is empty).
|
||||||
|
define def_vbox_refentry_preprocess_for_manpage
|
||||||
|
$(1)/$(2): \
|
||||||
|
$(3) \
|
||||||
|
$$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl \
|
||||||
|
$(if $(4), $$(VBOX_PATH_MANUAL_OUTBASE)/$(5)/$$(VBOX_XML_XREF_TO_TEXT),) \
|
||||||
|
$$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) \
|
||||||
|
$$(VBOX_VERSION_STAMP) | $$$$(dir $$$$@)
|
||||||
|
$$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(firstword $$(filter %.xml,$$^)),$$@)
|
||||||
|
$$(QUIET)$$(RM) -f "$$@"
|
||||||
|
$$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$@ \
|
||||||
|
"$$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manpage-preprocessing.xsl" $$<
|
||||||
|
ifneq ($(4),)
|
||||||
|
$$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT) --output $$@.tmp \
|
||||||
|
$$(VBOX_PATH_MANUAL_OUTBASE)/$(5)/$$(VBOX_XML_XREF_TO_TEXT) $$@
|
||||||
|
$$(QUIET)$$(MV) -f -- "$$@.tmp" "$$@"
|
||||||
|
endif
|
||||||
|
if defined(VBOX_HAVE_XMLLINT) && "$(USER)" == "bird" # Effing stuff happends on build servers, probably kmk related...
|
||||||
|
$$(VBOX_XMLLINT_WITH_CAT) --dtdvalid $$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd $$@
|
||||||
|
endif
|
||||||
|
endef
|
||||||
|
|
||||||
|
##
|
||||||
|
# Generate a single header file containing everything (no C file).
|
||||||
|
#
|
||||||
|
# @param 1 Destination file.
|
||||||
|
# @param 2 Full source file path.
|
||||||
|
# @param 3 Help infix.
|
||||||
|
define def_vbox_single_refentry_to_h
|
||||||
|
$(1).ts +| $(1): \
|
||||||
|
$$(VBOX_DOCBOOK_REFENTRY_TO_C_HELP) \
|
||||||
|
$$(VBOX_DOCBOOK_REFENTRY_TO_H_HELP) \
|
||||||
|
$(2) \
|
||||||
|
$$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) $(MAKEFILE) | $$$$(dir $$$$@)
|
||||||
|
$$(call MSG_TOOL,xsltproc $$(notdir $$(firstword $$(filter %.xsl,$$^))),,$$(filter %.xml,$$^),$$(patsubst %.ts,%,$$@))
|
||||||
|
$$(QUIET)$$(APPEND) -tn "$$@" \
|
||||||
|
'/* Autogenerated by $$(notdir $$(filter %.xsl,$$^)), do not edit! */' \
|
||||||
|
'' \
|
||||||
|
'#include <iprt/message.h>' \
|
||||||
|
'#include <iprt/assertcompile.h>' \
|
||||||
|
'' \
|
||||||
|
'typedef enum HELP_CMD_$(3)' \
|
||||||
|
'{' \
|
||||||
|
' HELP_CMD_INVALID = 0,'
|
||||||
|
$$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT, -a+to "$$@") \
|
||||||
|
--stringparam 'g_sMode' 'cmd' $$(VBOX_DOCBOOK_REFENTRY_TO_H_HELP) $(2)
|
||||||
|
$$(QUIET)$$(APPEND) -n "$$@" \
|
||||||
|
' HELP_CMD_END' \
|
||||||
|
'} HELP_CMD_VBOXMANAGE;' \
|
||||||
|
''
|
||||||
|
$$(NLTAB)$$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT, -a+to "$$@") \
|
||||||
|
--stringparam 'g_sMode' 'subcmd' $$(VBOX_DOCBOOK_REFENTRY_TO_H_HELP) $(2)
|
||||||
|
$$(QUIET)$$(APPEND) -n "$$@" \
|
||||||
|
''
|
||||||
|
$$(NLTAB)$$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT, -a+to "$$@") $$(VBOX_DOCBOOK_REFENTRY_TO_C_HELP) $(2)
|
||||||
|
$$(QUIET)$$(APPEND) -n "$$@" \
|
||||||
|
'' \
|
||||||
|
'/* end of file */'
|
||||||
|
$$(QUIET)$$(CP) --changed -- "$$@" "$$(patsubst %.ts,%,$$@)"
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Make sure we've got a rule to make the output directory.
|
||||||
|
#
|
||||||
|
BLDDIRS += $(VBOX_PATH_MANUAL_OUTBASE)
|
||||||
|
|
||||||
|
|
||||||
|
ifdef VBOX_XML_CATALOG
|
||||||
|
# Trickery for making sure that the file:/// URLs end up with exactly 3
|
||||||
|
# slashes, both on Unixy OSes (where the absolute path contributes one more,
|
||||||
|
# and some very picky xsltproc variants are floating around which do not work
|
||||||
|
# quite correctly with file:////, doing incorrect filename transformations)
|
||||||
|
# and on Windows (where the absolute path starts with a drive letter).
|
||||||
|
VBOX_FILE_URL_MAYBE_SLASH = $(if $(eq $(KBUILD_HOST),win),/,)
|
||||||
|
#
|
||||||
|
# To avoid network I/O for fetching DTDs, we generate catalogs mapping the public
|
||||||
|
# entity IDs to local files. (Obviously, only done when we have local files.)
|
||||||
|
#
|
||||||
|
# Create a catalog file for xsltproc that points to docbook catalog.
|
||||||
|
$(VBOX_XML_CATALOG): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
|
||||||
|
$(call MSG_L1,Creating catalog $@)
|
||||||
|
$(QUIET)$(APPEND) -tn "$@" \
|
||||||
|
'<?xml version="1.0"?>' \
|
||||||
|
'<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">' \
|
||||||
|
'<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">' \
|
||||||
|
' <delegatePublic publicIdStartString="-//OASIS/ENTITIES DocBook XML" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \
|
||||||
|
' <delegatePublic publicIdStartString="-//OASIS/DTD DocBook XML" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \
|
||||||
|
' <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \
|
||||||
|
' <delegateSystem systemIdStartString="http://docbook.org/" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \
|
||||||
|
' <delegateURI uriStartString="http://www.oasis-open.org/docbook/" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \
|
||||||
|
' <delegateURI uriStartString="http://docbook.org/" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_DOCBOOK)"/>' \
|
||||||
|
' <delegateSystem systemIdStartString="$(VBOX_PATH_MANUAL_SRC)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
||||||
|
' <delegateSystem systemIdStartString="$(VBOX_PATH_MANUAL_OUTBASE)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
||||||
|
' <delegateURI uriStartString="$(VBOX_PATH_MANUAL_SRC)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
||||||
|
' <delegateURI uriStartString="$(VBOX_PATH_MANUAL_OUTBASE)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
||||||
|
' <delegateURI uriStartString="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
||||||
|
' <delegateURI uriStartString="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)" catalog="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_XML_CATALOG_MANUAL)"/>' \
|
||||||
|
'</catalog>'
|
||||||
|
|
||||||
|
# Create a docbook catalog file for xsltproc that points to the local docbook files.
|
||||||
|
$(VBOX_XML_CATALOG_DOCBOOK): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
|
||||||
|
$(call MSG_L1,Creating catalog $@)
|
||||||
|
$(QUIET)$(APPEND) -tn "$@" \
|
||||||
|
'<?xml version="1.0"?>' \
|
||||||
|
'<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">' \
|
||||||
|
'<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">' \
|
||||||
|
' <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/dbpoolx.mod"/>' \
|
||||||
|
' <public publicId="-//OASIS//DTD DocBook XML V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd"/>' \
|
||||||
|
' <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/dbcentx.mod"/>' \
|
||||||
|
' <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/dbnotnx.mod"/>' \
|
||||||
|
' <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/dbgenent.mod"/>' \
|
||||||
|
' <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/dbhierx.mod"/>' \
|
||||||
|
' <public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/soextblx.dtd"/>' \
|
||||||
|
' <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/calstblx.dtd"/>' \
|
||||||
|
' <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.5" rewritePrefix="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)"/>' \
|
||||||
|
' <rewriteSystem systemIdStartString="http://docbook.org/xml/4.5" rewritePrefix="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)"/>' \
|
||||||
|
' <rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.5" rewritePrefix="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)"/>' \
|
||||||
|
' <rewriteURI uriStartString="http://docbook.org/xml/4.5" rewritePrefix="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsa.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsb.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsc.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsn.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amso.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsr.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-box.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-cyr1.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-cyr2.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-dia.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk1.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk2.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk3.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk4.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-lat1.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-lat2.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-num.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES Publishing//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-pub.ent"/>' \
|
||||||
|
' <public publicId="ISO 8879:1986//ENTITIES General Technical//EN" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-tech.ent"/>' \
|
||||||
|
'</catalog>'
|
||||||
|
|
||||||
|
# Create a docbook catalog file for xsltproc that points to the local manual files in non-default locations
|
||||||
|
$(VBOX_XML_CATALOG_MANUAL): $(VBOX_PATH_MANUAL_SRC)/Config.kmk | $$(dir $$@)
|
||||||
|
$(call MSG_L1,Creating catalog $@)
|
||||||
|
$(QUIET)$(APPEND) -tn "$@" \
|
||||||
|
'<?xml version="1.0"?>' \
|
||||||
|
'<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">' \
|
||||||
|
'<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">' \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-accessibility-ohc-en.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-accessibility-ohc-en.xml"/>' \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-legal-notices/oracle-diversity.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-diversity.xml"/>' \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/common/oracle-legal-notices/oracle-support-en.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/en_US/oracle-support-en.xml"/>' \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/en_US/user_ChangeLogImpl.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml"/>' \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/titlepage-htmlhelp.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)/titlepage-htmlhelp.xsl"/>' \
|
||||||
|
$(foreach x,user_VBoxManage_CommandsOverview.xml user_isomakercmd-man.xml $(addprefix user_,$(VBOX_MANUAL_XML_REFENTRY_FILES) man_VBoxHeadless.xml man_vboximg-mount.xml)\
|
||||||
|
,' <system systemId="$(VBOX_PATH_MANUAL_SRC)/en_US/$(x)" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)/en_US/$(x)"/>' \$(NLTAB)$(TAB)) \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/en_US/SDKRef_apiref.xml" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef_apiref.xml"/>' \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/en_US/all-entities.ent" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_MANUAL_OUTBASE)/all-entities.ent"/>' \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/html/docbook.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK)/html/docbook.xsl"/>' \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/html/chunk.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK)/html/chunk.xsl"/>' \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/htmlhelp/htmlhelp.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK)/htmlhelp/htmlhelp.xsl"/>' \
|
||||||
|
' <system systemId="$(VBOX_PATH_MANUAL_SRC)/manpages/docbook.xsl" uri="file://$(VBOX_FILE_URL_MAYBE_SLASH)$(VBOX_PATH_DOCBOOK)/manpages/docbook.xsl"/>' \
|
||||||
|
'</catalog>'
|
||||||
|
|
||||||
|
endif # VBOX_XML_CATALOG
|
||||||
|
|
||||||
|
|
||||||
|
ifdef VBOX_XML_ENTITIES
|
||||||
|
|
||||||
|
$(VBOX_XML_ENTITIES): $(VBOX_PATH_MANUAL_SRC)/Config.kmk $(VBOX_VERSION_STAMP) | $$(dir $$@)
|
||||||
|
$(call MSG_L1,Creating entities $@)
|
||||||
|
$(QUIET)$(APPEND) -tn "$@" \
|
||||||
|
'<!-- Entities for product names -->' \
|
||||||
|
'<!ENTITY product-version "$(VBOX_VERSION_STRING)">' \
|
||||||
|
'<!ENTITY product-name "Oracle VM VirtualBox">' \
|
||||||
|
'<!ENTITY vbox-mgr "VirtualBox Manager">' \
|
||||||
|
'<!ENTITY oci "Oracle Cloud Infrastructure">' \
|
||||||
|
'' \
|
||||||
|
'<!-- VBox placeholder entities -->' \
|
||||||
|
'<!ENTITY VBOX_VERSION_MAJOR "$(VBOX_VERSION_MAJOR)" >' \
|
||||||
|
'<!ENTITY VBOX_VERSION_MINOR "$(VBOX_VERSION_MINOR)" >' \
|
||||||
|
'<!ENTITY VBOX_VERSION_BUILD "$(VBOX_VERSION_BUILD)" >' \
|
||||||
|
'<!ENTITY VBOX_VERSION_STRING "$(VBOX_VERSION_STRING)" >' \
|
||||||
|
'<!ENTITY VBOX_VENDOR "$(VBOX_VENDOR)" >' \
|
||||||
|
'<!ENTITY VBOX_C_YEAR "$(VBOX_C_YEAR)" >' \
|
||||||
|
'<!ENTITY VBOX_PRODUCT '\''<trademark class="registered">Oracle</trademark> VM <trademark class="registered">VirtualBox</trademark>'\'' >' \
|
||||||
|
'' \
|
||||||
|
'<!-- Entities for Oracle Help Center -->' \
|
||||||
|
'<!ENTITY ohc-base-url "https://docs.oracle.com/en">' \
|
||||||
|
'<!ENTITY ohc-doc-page "&ohc-base-url;/virtualization/virtualbox/index.html">'
|
||||||
|
|
||||||
|
endif # VBOX_XML_ENTITIES
|
||||||
|
|
||||||
|
|
||||||
|
## Emit rules to produce stylesheet for translating cross references (xref)
|
||||||
|
# to user manual chapters and sections in the man pages and --help output.
|
||||||
|
#
|
||||||
|
# Note! This requires processing UserManual.xml as a single document in order
|
||||||
|
# to get the correct chapter and section numbering, so we use a catalog
|
||||||
|
# file to replace the generated XML documents it includes with a dummy
|
||||||
|
# one. This reduces the dependencies and recipies we require to build
|
||||||
|
# VBoxManage and the RTIsoMaker (w/ derivatives).
|
||||||
|
# $(evalcall2 def_vbox_xref_to_text)
|
||||||
|
# @param 1 Language code.
|
||||||
|
define def_vbox_xref_to_text
|
||||||
|
$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT) \
|
||||||
|
+ $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT).cat: \
|
||||||
|
$$(VBOX_PATH_MANUAL_SRC)/$(1)/docbook-refentry-link-replacement-xsl-gen.xsl \
|
||||||
|
$$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-link-replacement-xsl-gen.xsl \
|
||||||
|
$$(addprefix $$(VBOX_PATH_MANUAL_SRC)/en_US/,$$(VBOX_MANUAL_XML_FILES)) \
|
||||||
|
$$(VBOX_MANUAL_XML_FILES_COMMON) \
|
||||||
|
$$(VBOX_XML_CATALOG) $$(VBOX_XML_CATALOG_DOCBOOK) $$(VBOX_XML_CATALOG_MANUAL) $$(VBOX_XML_ENTITIES) \
|
||||||
|
| $$$$(dir $$$$@)
|
||||||
|
$$(call MSG_L1,Creating stylesheet $$@)
|
||||||
|
$$(QUIET)$$(APPEND) -nt "$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT).cat" \
|
||||||
|
'<?xml version="1.0"?>' \
|
||||||
|
'<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">' \
|
||||||
|
'<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">' \
|
||||||
|
$$(foreach x, user_isomakercmd-man.xml \
|
||||||
|
$$(addprefix user_,$$(VBOX_MANUAL_XML_REFENTRY_FILES) man_VBoxHeadless.xml man_vboximg-mount.xml) \
|
||||||
|
$$(addprefix overview_,$$(VBOX_MANUAL_XML_REFENTRY_FILES)) \
|
||||||
|
,' <system systemId="$$(VBOX_PATH_MANUAL_SRC)/en_US/$$(x)" uri="file://$$(VBOX_FILE_URL_MAYBE_SLASH)$$(VBOX_PATH_MANUAL_SRC)/dummy-sect1.xml"/>' \$$(NLTAB)$$(TAB)) \
|
||||||
|
' <nextCatalog catalog="file://$$(VBOX_FILE_URL_MAYBE_SLASH)$$(VBOX_XML_CATALOG)"/>' \
|
||||||
|
'</catalog>'
|
||||||
|
$$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT,,$$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/$$(VBOX_XML_XREF_TO_TEXT).cat) \
|
||||||
|
--stringparam 'g_sMode' 'first' --output "$$@" "$$<" $$(filter %UserManual.xml,$$^)
|
||||||
|
# Using en-US version as section and chapter names until user manual is translated as well
|
||||||
|
$$(foreach x, $$(VBOX_MANUAL_XML_REFENTRY_FILES)\
|
||||||
|
,$$(NLTAB)$$(QUIET)$$(call VBOX_XSLTPROC_WITH_CAT, -ato "$$@") --stringparam 'g_sMode' 'append' \
|
||||||
|
"$$<" "$$(VBOX_PATH_MANUAL_SRC)/en_US/$$(x)")
|
||||||
|
$$(QUIET)$$(APPEND) -n "$$@" '' '</xsl:stylesheet>'
|
||||||
|
|
||||||
|
BLDDIRS += $$(VBOX_PATH_MANUAL_OUTBASE)/$(1)/
|
||||||
|
endef
|
||||||
|
# generate rules for $(VBOX_XML_XREF_TO_TEXT)
|
||||||
|
$(evalcall2 def_vbox_xref_to_text,en_US)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generate rules for editing the refentry to C/H style sheets.
|
||||||
|
#
|
||||||
|
VBOX_DOCBOOK_REFENTRY_TO_C_HELP = $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-C-help.xsl
|
||||||
|
|
||||||
|
VBOX_DOCBOOK_REFENTRY_TO_H_HELP = $(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-H-help.xsl
|
||||||
|
|
||||||
|
#
|
||||||
|
# Manual dependency.
|
||||||
|
#
|
||||||
|
$(VBOX_PATH_MANUAL_OUTBASE)/docbook-refentry-to-C-help.xsl: $(VBOX_PATH_MANUAL_SRC)/common-formatcfg.xsl
|
||||||
|
|
||||||
|
|
||||||
|
endif # !defined(VBOX_DOC_MANUAL_CONFIG_KMK_INCLUDED)
|
||||||
|
|
1004
doc/manual/Makefile.kmk
Normal file
55
doc/manual/UserManual.qhcp
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
UserManul.qhcp:
|
||||||
|
UserManual qt help configuration file. XML to configure qt help project.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2018-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
<QHelpCollectionProject version="1.0">
|
||||||
|
<assistant>
|
||||||
|
<title>Virtual Box</title>
|
||||||
|
<!-- <applicationIcon>images/handbook.png</applicationIcon> -->
|
||||||
|
<cacheDirectory>QtProject/vbox</cacheDirectory>
|
||||||
|
<startPage>qthelp://org.virtualbox/manual/UserManual.xhtml</startPage>
|
||||||
|
<aboutMenuText>
|
||||||
|
<text>VirtualBox</text>
|
||||||
|
</aboutMenuText>
|
||||||
|
<!-- <aboutDialog> -->
|
||||||
|
<!-- <file>about.txt</file> -->
|
||||||
|
<!-- <icon>images/icon.png</icon> -->
|
||||||
|
<!-- </aboutDialog> -->
|
||||||
|
<enableDocumentationManager>false</enableDocumentationManager>
|
||||||
|
<enableAddressBar>true</enableAddressBar>
|
||||||
|
<enableFilterFunctionality>false</enableFilterFunctionality>
|
||||||
|
</assistant>
|
||||||
|
<docFiles>
|
||||||
|
<generate>
|
||||||
|
<file>
|
||||||
|
<input>UserManual.qhp</input>
|
||||||
|
<output>UserManual.qch</output>
|
||||||
|
</file>
|
||||||
|
</generate>
|
||||||
|
<register>
|
||||||
|
<file>UserManual.qch</file>
|
||||||
|
</register>
|
||||||
|
</docFiles>
|
||||||
|
</QHelpCollectionProject>
|
169
doc/manual/common-formatcfg.xsl
Normal file
|
@ -0,0 +1,169 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||||
|
|
||||||
|
<!-- General formatting settings. -->
|
||||||
|
<xsl:variable name="section.autolabel">1</xsl:variable>
|
||||||
|
<xsl:variable name="section.label.includes.component.label">1</xsl:variable>
|
||||||
|
<xsl:attribute-set name="monospace.properties">
|
||||||
|
<xsl:attribute name="font-size">90%</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
|
<xsl:param name="draft.mode" select="'no'"/>
|
||||||
|
|
||||||
|
<!-- Shift down section sizes one magstep. -->
|
||||||
|
<xsl:attribute-set name="section.title.level1.properties">
|
||||||
|
<xsl:attribute name="font-size">
|
||||||
|
<xsl:value-of select="$body.font.master * 1.728"></xsl:value-of>
|
||||||
|
<xsl:text>pt</xsl:text>
|
||||||
|
</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
|
<xsl:attribute-set name="section.title.level2.properties">
|
||||||
|
<xsl:attribute name="font-size">
|
||||||
|
<xsl:value-of select="$body.font.master * 1.44"></xsl:value-of>
|
||||||
|
<xsl:text>pt</xsl:text>
|
||||||
|
</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
|
<xsl:attribute-set name="section.title.level3.properties">
|
||||||
|
<xsl:attribute name="font-size">
|
||||||
|
<xsl:value-of select="$body.font.master * 1.2"></xsl:value-of>
|
||||||
|
<xsl:text>pt</xsl:text>
|
||||||
|
</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
|
<xsl:attribute-set name="section.title.level4.properties">
|
||||||
|
<xsl:attribute name="font-size">
|
||||||
|
<xsl:value-of select="$body.font.master"></xsl:value-of>
|
||||||
|
<xsl:text>pt</xsl:text>
|
||||||
|
</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
|
<xsl:attribute-set name="section.title.level5.properties">
|
||||||
|
<xsl:attribute name="font-size">
|
||||||
|
<xsl:value-of select="$body.font.master"></xsl:value-of>
|
||||||
|
<xsl:text>pt</xsl:text>
|
||||||
|
</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
|
<xsl:attribute-set name="section.title.level6.properties">
|
||||||
|
<xsl:attribute name="font-size">
|
||||||
|
<xsl:value-of select="$body.font.master"></xsl:value-of>
|
||||||
|
<xsl:text>pt</xsl:text>
|
||||||
|
</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
|
|
||||||
|
<!-- Shift down chapter font size one magstep. -->
|
||||||
|
<xsl:attribute-set name="component.title.properties">
|
||||||
|
<xsl:attribute name="font-size">
|
||||||
|
<xsl:value-of select="$body.font.master * 2.0736"></xsl:value-of>
|
||||||
|
<xsl:text>pt</xsl:text>
|
||||||
|
</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
|
|
||||||
|
<!-- command synopsis -->
|
||||||
|
<xsl:variable name="arg.choice.opt.open.str">[</xsl:variable>
|
||||||
|
<xsl:variable name="arg.choice.opt.close.str">]</xsl:variable>
|
||||||
|
<xsl:variable name="arg.choice.req.open.str"><</xsl:variable>
|
||||||
|
<xsl:variable name="arg.choice.req.close.str">></xsl:variable>
|
||||||
|
<xsl:variable name="arg.choice.plain.open.str"><xsl:text> </xsl:text></xsl:variable>
|
||||||
|
<xsl:variable name="arg.choice.plain.close.str"><xsl:text> </xsl:text></xsl:variable>
|
||||||
|
<xsl:variable name="arg.choice.def.open.str">[</xsl:variable>
|
||||||
|
<xsl:variable name="arg.choice.def.close.str">]</xsl:variable>
|
||||||
|
<xsl:variable name="arg.rep.repeat.str">...</xsl:variable>
|
||||||
|
<xsl:variable name="arg.rep.norepeat.str"></xsl:variable>
|
||||||
|
<xsl:variable name="arg.rep.def.str"></xsl:variable>
|
||||||
|
<xsl:variable name="arg.or.sep"> | </xsl:variable>
|
||||||
|
<xsl:variable name="cmdsynopsis.hanging.indent">4pi</xsl:variable>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Make sure that sections inside the Preface are not numbered.
|
||||||
|
-->
|
||||||
|
<xsl:template match="preface/sect1" mode="object.title.template">
|
||||||
|
<xsl:call-template name="gentext.template">
|
||||||
|
<xsl:with-param name="context" select="'title-unnumbered'"/>
|
||||||
|
<xsl:with-param name="name">
|
||||||
|
<xsl:call-template name="xpath.location"/>
|
||||||
|
</xsl:with-param>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
refentry related layout tweaks.
|
||||||
|
|
||||||
|
Note! While we could save us all this work by using refsect1..3 and
|
||||||
|
refsynopsisdiv docbook-refentry-to-manual-sect1.xsl, we'd like to have
|
||||||
|
a valid XML document and thus do do some extra markup using the role
|
||||||
|
and condition attributes. We catch some of it here. But the XSLT
|
||||||
|
for specific targets (html, latex, etc) have a few more tweaks
|
||||||
|
related to this.
|
||||||
|
|
||||||
|
The @role has only one special trick 'not-in-toc' that excludes sections
|
||||||
|
like 'Synopsis' and 'Description' from the TOCs.
|
||||||
|
|
||||||
|
The @condition records the original refentry element name, i.e. it will
|
||||||
|
have values like refentry, refsynopsisdiv, refsect1, refsect2 and refsect3.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- This removes the not-in-toc bits from the toc. -->
|
||||||
|
<xsl:template match="sect2[@role = 'not-in-toc']" mode="toc" />
|
||||||
|
<xsl:template match="sect3[@role = 'not-in-toc']" mode="toc" />
|
||||||
|
<xsl:template match="sect4[@role = 'not-in-toc']" mode="toc" />
|
||||||
|
<xsl:template match="sect5[@role = 'not-in-toc']" mode="toc" />
|
||||||
|
<xsl:template match="section[@role = 'not-in-toc']" mode="toc" />
|
||||||
|
<xsl:template match="simplesect[@role = 'not-in-toc']" mode="toc" />
|
||||||
|
|
||||||
|
<!-- This removes unnecessary <dd><dl> stuff caused by the above. -->
|
||||||
|
<xsl:template match="sect1[sect2/@role = 'not-in-toc']" mode="toc">
|
||||||
|
<xsl:param name="toc-context" select="."/>
|
||||||
|
<xsl:call-template name="subtoc">
|
||||||
|
<xsl:with-param name="toc-context" select="$toc-context"/>
|
||||||
|
<xsl:with-param name="nodes" select="sect2[@role != 'not-in-toc'] | bridgehead[$bridgehead.in.toc != 0]"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="sect2[sect3/@role = 'not-in-toc']" mode="toc">
|
||||||
|
<xsl:param name="toc-context" select="."/>
|
||||||
|
<xsl:call-template name="subtoc">
|
||||||
|
<xsl:with-param name="toc-context" select="$toc-context"/>
|
||||||
|
<xsl:with-param name="nodes" select="sect3[@role != 'not-in-toc'] | bridgehead[$bridgehead.in.toc != 0]"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- This make the refsect* and refsynopsisdiv unnumbered like the default refentry rendering. -->
|
||||||
|
<xsl:template match="sect2[@condition = 'refsynopsisdiv']
|
||||||
|
| sect2[starts-with(@condition, 'refsect')]
|
||||||
|
| sect3[starts-with(@condition, 'refsect')]
|
||||||
|
| sect4[starts-with(@condition, 'refsect')]
|
||||||
|
| sect5[starts-with(@condition, 'refsect')]
|
||||||
|
| section[starts-with(@condition, 'refsect')]
|
||||||
|
| simplesect[starts-with(@condition, 'refsect')]"
|
||||||
|
mode="object.title.template"
|
||||||
|
>
|
||||||
|
<xsl:call-template name="gentext.template">
|
||||||
|
<xsl:with-param name="context" select="'title-unnumbered'"/>
|
||||||
|
<xsl:with-param name="name">
|
||||||
|
<xsl:call-template name="xpath.location"/>
|
||||||
|
</xsl:with-param>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
197
doc/manual/common-html-formatcfg.xsl
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||||
|
|
||||||
|
<!-- Must strip spaces in 'arg' elements too, we'll get extra spaces when
|
||||||
|
using 'replaceable'. Adding option too, just in case. -->
|
||||||
|
<xsl:strip-space elements="arg option"/>
|
||||||
|
|
||||||
|
<!-- Our hand written css styling. -->
|
||||||
|
<xsl:template name="user.head.content">
|
||||||
|
<style type="text/css">
|
||||||
|
<xsl:comment>
|
||||||
|
body
|
||||||
|
{
|
||||||
|
font-family: Verdana, Sans-serif, Arial, 'Trebuchet MS', 'Times New Roman';
|
||||||
|
font-size: small;
|
||||||
|
}
|
||||||
|
h2.title
|
||||||
|
{
|
||||||
|
font-family: Verdana, Sans-serif, Arial, 'Trebuchet MS', 'Times New Roman';
|
||||||
|
margin: 5px 0 0;
|
||||||
|
padding: 1px 5px 1px;
|
||||||
|
border: 1px solid #6b89d4;
|
||||||
|
-moz-border-radius: 0.3em;
|
||||||
|
background: #e6edff;
|
||||||
|
}
|
||||||
|
.titlepage
|
||||||
|
{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.refsynopsisdiv, .refsect1, .refsect2, .refsect3
|
||||||
|
{
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.warning
|
||||||
|
{
|
||||||
|
padding: 5px;
|
||||||
|
border: 1px solid #ff0011;
|
||||||
|
-moz-border-radius: 0.3em;
|
||||||
|
background: #ffbbbb;
|
||||||
|
}
|
||||||
|
.warning .title { margin: 0px 0px 5px 0px; }
|
||||||
|
.warning p { margin: 1px; }
|
||||||
|
.note
|
||||||
|
{
|
||||||
|
padding: 1px 5px 1px;
|
||||||
|
border: 1px solid #84c43b;
|
||||||
|
-moz-border-radius: 0.3em;
|
||||||
|
background: #d7e9a7;
|
||||||
|
}
|
||||||
|
.note .title { margin: 0px 0px 5px 0px; }
|
||||||
|
.note p { margin: 1px; }
|
||||||
|
.cmdsynopsis
|
||||||
|
{
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
.refsynopsisdiv > .cmdsynopsis p, .refsect1 > .cmdsynopsis p,
|
||||||
|
.refsynopsisdiv .sect2 > .cmdsynopsis p, .refsect1 .sect2 > .cmdsynopsis p
|
||||||
|
{
|
||||||
|
margin-top: 0px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
.cmdsynopsis p
|
||||||
|
{
|
||||||
|
padding-left: 3.4em;
|
||||||
|
text-indent: -2.2em;
|
||||||
|
}
|
||||||
|
p.nextcommand
|
||||||
|
{
|
||||||
|
margin-top: 0px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
p.lastcommand
|
||||||
|
{
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
||||||
|
.refentry * h3
|
||||||
|
{
|
||||||
|
font-size: large;
|
||||||
|
}
|
||||||
|
.refentry * h4
|
||||||
|
{
|
||||||
|
font-size: larger;
|
||||||
|
}
|
||||||
|
.refentry * h5
|
||||||
|
{
|
||||||
|
font-size: larger;
|
||||||
|
}
|
||||||
|
|
||||||
|
</xsl:comment>
|
||||||
|
</style>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Ignore/skip the remark that the command overview inclusion file
|
||||||
|
uses as the root element. -->
|
||||||
|
<xsl:template match="remark[@role='VBoxManage-overview']">
|
||||||
|
<xsl:apply-templates select="node()"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- This is for allow special CSS rules to apply to the refsect stuff. -->
|
||||||
|
<xsl:template match="sect2[ @role = 'not-in-toc']/title
|
||||||
|
| sect3[ @role = 'not-in-toc']/title
|
||||||
|
| sect4[ @role = 'not-in-toc']/title
|
||||||
|
| sect5[ @role = 'not-in-toc']/title
|
||||||
|
| section[ @role = 'not-in-toc']/title
|
||||||
|
| simplesect[@role = 'not-in-toc']/title
|
||||||
|
| sect1[ @condition = 'refentry']/title
|
||||||
|
| sect2[ @condition = 'refentry']/title
|
||||||
|
| sect1[ starts-with(@condition, 'refsect')]/title
|
||||||
|
| sect2[ starts-with(@condition, 'refsect')]/title
|
||||||
|
| sect3[ starts-with(@condition, 'refsect')]/title
|
||||||
|
| sect4[ starts-with(@condition, 'refsect')]/title
|
||||||
|
| sect5[ starts-with(@condition, 'refsect')]/title
|
||||||
|
| section[ starts-with(@condition, 'refsect')]/title
|
||||||
|
| simplesect[starts-with(@condition, 'refsect')]/title
|
||||||
|
" mode="titlepage.mode">
|
||||||
|
<xsl:element name="div">
|
||||||
|
<xsl:attribute name="class">
|
||||||
|
<xsl:value-of select="../@role"/>
|
||||||
|
<xsl:if test="../@role and ../@condition">
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:value-of select="../@condition"/>
|
||||||
|
</xsl:attribute>
|
||||||
|
<xsl:apply-imports/>
|
||||||
|
</xsl:element>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="sect2[ @role = 'not-in-toc']
|
||||||
|
| sect3[ @role = 'not-in-toc']
|
||||||
|
| sect4[ @role = 'not-in-toc']
|
||||||
|
| sect5[ @role = 'not-in-toc']
|
||||||
|
| section[ @role = 'not-in-toc']
|
||||||
|
| simplesect[@role = 'not-in-toc']
|
||||||
|
| sect1[ @condition = 'refentry']
|
||||||
|
| sect2[ @condition = 'refentry']
|
||||||
|
| sect1[ starts-with(@condition, 'refsect')]
|
||||||
|
| sect2[ starts-with(@condition, 'refsect')]
|
||||||
|
| sect3[ starts-with(@condition, 'refsect')]
|
||||||
|
| sect4[ starts-with(@condition, 'refsect')]
|
||||||
|
| sect5[ starts-with(@condition, 'refsect')]
|
||||||
|
| section[ starts-with(@condition, 'refsect')]
|
||||||
|
| simplesect[starts-with(@condition, 'refsect')]" >
|
||||||
|
<xsl:element name="div">
|
||||||
|
<xsl:attribute name="class">
|
||||||
|
<xsl:value-of select="@role"/>
|
||||||
|
<xsl:if test="@role and @condition">
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:value-of select="@condition"/>
|
||||||
|
</xsl:attribute>
|
||||||
|
<xsl:apply-imports/>
|
||||||
|
</xsl:element>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- To use CSS to correctly insert hanging indent when soft wrapping and
|
||||||
|
<sbr>'ing a synopsis, we must place each command in its own <p>. The default
|
||||||
|
is to must issue a <br /> before each <command>, except the first one.
|
||||||
|
Note! This is a bit ugly as we're going contrary to the grain of XSLT here
|
||||||
|
starting with an closing . -->
|
||||||
|
<xsl:template match="cmdsynopsis/command">
|
||||||
|
<xsl:text disable-output-escaping="yes"><![CDATA[</p><p class="nextcommand">]]></xsl:text>
|
||||||
|
<xsl:call-template name="inline.monoseq"/>
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="cmdsynopsis/command[last()]">
|
||||||
|
<xsl:text disable-output-escaping="yes"><![CDATA[</p><p class="lastcommand">]]></xsl:text>
|
||||||
|
<xsl:call-template name="inline.monoseq"/>
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
103
doc/manual/docbook-changelog-formatcfg.xsl
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||||
|
|
||||||
|
<!-- Single html file template -->
|
||||||
|
<xsl:import href="html/docbook.xsl"/>
|
||||||
|
<xsl:import href="common-formatcfg.xsl"/>
|
||||||
|
|
||||||
|
<!-- Adjust some params -->
|
||||||
|
<!--
|
||||||
|
<xsl:param name="draft.mode" select="'no'"/>
|
||||||
|
<xsl:param name="generate.toc">book nop</xsl:param>
|
||||||
|
<xsl:param name="generate.index" select="0"></xsl:param>
|
||||||
|
<xsl:param name="suppress.navigation" select="1"></xsl:param>
|
||||||
|
<xsl:param name="header.rule" select="0"></xsl:param>
|
||||||
|
<xsl:param name="abstract.notitle.enabled" select="0"></xsl:param>
|
||||||
|
<xsl:param name="footer.rule" select="0"></xsl:param>
|
||||||
|
<xsl:param name="css.decoration" select="1"></xsl:param>
|
||||||
|
<xsl:param name="html.cleanup" select="1"></xsl:param>
|
||||||
|
<xsl:param name="css.decoration" select="1"></xsl:param>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Our hand written css styling -->
|
||||||
|
<xsl:template name="user.head.content">
|
||||||
|
<style type="text/css">
|
||||||
|
<xsl:comment>
|
||||||
|
<!--
|
||||||
|
body
|
||||||
|
{
|
||||||
|
height: 100%;
|
||||||
|
font-family: Verdana, Sans-serif, Arial, 'Trebuchet MS', 'Times New Roman';
|
||||||
|
font-size: small;
|
||||||
|
position: absolute;
|
||||||
|
margin: 0px 0 0 0;
|
||||||
|
}
|
||||||
|
h2
|
||||||
|
{
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 1.2em;
|
||||||
|
font-family: Verdana, Sans-serif, Arial, 'Trebuchet MS', 'Times New Roman';
|
||||||
|
margin: 5px 0 0;
|
||||||
|
padding: 1px 5px 1px;
|
||||||
|
border: 1px solid #6b89d4; /* #84C43B; */
|
||||||
|
-moz-border-radius: 0.3em;
|
||||||
|
background: #e6edff; /* #d7e9a7; */
|
||||||
|
}
|
||||||
|
#watermark
|
||||||
|
{
|
||||||
|
margin: 0;
|
||||||
|
position: fixed;
|
||||||
|
top: 40%;
|
||||||
|
color: #eeeeee;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-size: 9em;
|
||||||
|
font-weight: bold;
|
||||||
|
z-index:-1;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</xsl:comment>
|
||||||
|
</style>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Remove the title page at all -->
|
||||||
|
<!--
|
||||||
|
<xsl:template name="book.titlepage">
|
||||||
|
-->
|
||||||
|
<!-- Doesn't work with Qt, grrr -->
|
||||||
|
<!--<xsl:text><div id="watermark">VirtualBox<br />Change Log</div></xsl:text>-->
|
||||||
|
<!--
|
||||||
|
</xsl:template>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Disable any links into the manual -->
|
||||||
|
<xsl:template match="xref" name="xref">
|
||||||
|
<xsl:text>the manual for more information</xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
64
doc/manual/docbook-html-chunks-formatcfg.xsl
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||||
|
|
||||||
|
<!-- Chunked html file template -->
|
||||||
|
<xsl:import href="html/chunk.xsl"/>
|
||||||
|
|
||||||
|
<xsl:import href="common-formatcfg.xsl"/>
|
||||||
|
<xsl:import href="common-html-formatcfg.xsl"/>
|
||||||
|
|
||||||
|
<!-- Adjust some params -->
|
||||||
|
<xsl:param name="draft.mode" select="'no'"/>
|
||||||
|
<xsl:param name="suppress.navigation" select="1"></xsl:param>
|
||||||
|
<xsl:param name="header.rule" select="0"></xsl:param>
|
||||||
|
<xsl:param name="abstract.notitle.enabled" select="0"></xsl:param>
|
||||||
|
<xsl:param name="footer.rule" select="0"></xsl:param>
|
||||||
|
<xsl:param name="css.decoration" select="1"></xsl:param>
|
||||||
|
<xsl:param name="html.cleanup" select="1"></xsl:param>
|
||||||
|
<xsl:param name="css.decoration" select="1"></xsl:param>
|
||||||
|
|
||||||
|
<xsl:param name="generate.toc">
|
||||||
|
appendix toc,title
|
||||||
|
article/appendix nop
|
||||||
|
article toc,title
|
||||||
|
book toc,title,figure,table,example,equation
|
||||||
|
chapter toc,title
|
||||||
|
part toc,title
|
||||||
|
preface toc,title
|
||||||
|
qandadiv toc
|
||||||
|
qandaset toc
|
||||||
|
reference toc,title
|
||||||
|
sect1 nop
|
||||||
|
sect2 nop
|
||||||
|
sect3 nop
|
||||||
|
sect4 nop
|
||||||
|
sect5 nop
|
||||||
|
section nop
|
||||||
|
set toc,title
|
||||||
|
</xsl:param>
|
||||||
|
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
43
doc/manual/docbook-html-one-page-formatcfg.xsl
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||||
|
|
||||||
|
<!-- Single html file template -->
|
||||||
|
<xsl:import href="html/docbook.xsl"/>
|
||||||
|
|
||||||
|
<xsl:import href="common-formatcfg.xsl"/>
|
||||||
|
<xsl:import href="common-html-formatcfg.xsl"/>
|
||||||
|
|
||||||
|
<!-- Adjust some params -->
|
||||||
|
<xsl:param name="draft.mode" select="'no'"/>
|
||||||
|
<xsl:param name="suppress.navigation" select="1"></xsl:param>
|
||||||
|
<xsl:param name="header.rule" select="0"></xsl:param>
|
||||||
|
<xsl:param name="abstract.notitle.enabled" select="0"></xsl:param>
|
||||||
|
<xsl:param name="footer.rule" select="0"></xsl:param>
|
||||||
|
<xsl:param name="css.decoration" select="1"></xsl:param>
|
||||||
|
<xsl:param name="html.cleanup" select="1"></xsl:param>
|
||||||
|
<xsl:param name="css.decoration" select="1"></xsl:param>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
76
doc/manual/docbook-htmlhelp-formatcfg.xsl
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||||
|
|
||||||
|
<xsl:import href="htmlhelp/htmlhelp.xsl"/>
|
||||||
|
<xsl:import href="common-formatcfg.xsl"/>
|
||||||
|
<xsl:import href="common-html-formatcfg.xsl"/>
|
||||||
|
|
||||||
|
<xsl:include href="titlepage-htmlhelp.xsl"/>
|
||||||
|
|
||||||
|
<!-- Override the style sheet stuff from common-html-formatcfg.xsl, we don't
|
||||||
|
the same as the html-chunks and html-one-page. Also, the microsoft
|
||||||
|
help viewer may have limited CSS support, depending on which browser
|
||||||
|
version it emulated, so keep it simple. -->
|
||||||
|
<xsl:template name="user.head.content">
|
||||||
|
<style type="text/css">
|
||||||
|
<xsl:comment>
|
||||||
|
.cmdsynopsis p
|
||||||
|
{
|
||||||
|
padding-left: 3.4em;
|
||||||
|
text-indent: -2.2em;
|
||||||
|
}
|
||||||
|
p.nextcommand
|
||||||
|
{
|
||||||
|
margin-top: 0px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
p.lastcommand
|
||||||
|
{
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
||||||
|
</xsl:comment>
|
||||||
|
</style>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- for some reason, the default docbook stuff doesn't wrap simple <arg> elements
|
||||||
|
into HTML <code>, so with a default CSS a cmdsynopsis ends up with a mix of
|
||||||
|
monospace and proportional fonts. Elsewhere we hack that in the CSS, here
|
||||||
|
that turned out to be harded, so we just wrap things in <code>, risking
|
||||||
|
nested <code> elements, but who cares as long as it works... -->
|
||||||
|
<xsl:template match="group|arg">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="name(..) = 'arg' or name(..) = 'group'">
|
||||||
|
<xsl:apply-imports/>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<code><xsl:apply-imports/></code>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
203
doc/manual/docbook-refentry-link-replacement-xsl-gen.xsl
Normal file
|
@ -0,0 +1,203 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
docbook-refentry-link-replacement-xsl-gen.xsl:
|
||||||
|
XSLT stylesheet for generate a stylesheet that replaces links
|
||||||
|
to the user manual in the manpages.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet
|
||||||
|
version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
>
|
||||||
|
|
||||||
|
<xsl:output method="text" version="1.0" encoding="utf-8" indent="yes"/>
|
||||||
|
<xsl:strip-space elements="*"/>
|
||||||
|
|
||||||
|
<xsl:param name="g_sMode" select="not-specified"/>
|
||||||
|
|
||||||
|
<!-- Translatable strings -->
|
||||||
|
<xsl:variable name="sChapter" select="'chapter'"/>
|
||||||
|
<xsl:variable name="sSection" select="'section'"/>
|
||||||
|
<xsl:variable name="sOfManual" select="'of the user manual'"/>
|
||||||
|
<xsl:variable name="sInManual" select="'in the user manual'"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Default operation is to supress output -->
|
||||||
|
<xsl:template match="node()|@*">
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Remove all remarks. -->
|
||||||
|
<xsl:template match="remark"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Output header and footer.
|
||||||
|
-->
|
||||||
|
<xsl:template match="/">
|
||||||
|
<xsl:if test="$g_sMode = 'first'">
|
||||||
|
<xsl:text><?xml version="1.0"?>
|
||||||
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
|
||||||
|
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes" />
|
||||||
|
<xsl:template match="node()|@*">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:apply-templates select="node()|@*"/>
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
<xsl:if test="$g_sMode = 'last'">
|
||||||
|
<xsl:text>
|
||||||
|
</xsl:stylesheet>
|
||||||
|
</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Produce the transformation templates:
|
||||||
|
-->
|
||||||
|
<xsl:template match="chapter[@id]/title">
|
||||||
|
<xsl:text>
|
||||||
|
<xsl:template match="xref[@linkend='</xsl:text>
|
||||||
|
<xsl:value-of select="../@id"/><xsl:text>']">
|
||||||
|
<xsl:text></xsl:text><xsl:value-of select="$sChapter"/><xsl:text> </xsl:text>
|
||||||
|
<xsl:value-of select="count(../preceding-sibling::chapter) + 1"/><xsl:text> "</xsl:text>
|
||||||
|
<xsl:value-of select="normalize-space()"/>
|
||||||
|
<xsl:text>" </xsl:text><xsl:value-of select="$sInManual"/><xsl:text></xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:text>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="sect1[@id]/title">
|
||||||
|
<xsl:text><xsl:template match="xref[@linkend='</xsl:text>
|
||||||
|
<xsl:value-of select="../@id"/><xsl:text>']">
|
||||||
|
<xsl:text></xsl:text><xsl:value-of select="$sSection"/><xsl:text> </xsl:text>
|
||||||
|
<xsl:value-of select="count(../../preceding-sibling::chapter) + 1"/><xsl:text>.</xsl:text>
|
||||||
|
<xsl:value-of select="count(../preceding-sibling::sect1) + 1"/>
|
||||||
|
<xsl:text> "</xsl:text>
|
||||||
|
<xsl:value-of select="normalize-space()"/><xsl:text>" </xsl:text>
|
||||||
|
<xsl:value-of select="$sOfManual"/><xsl:text></xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:text>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="sect2[@id]/title">
|
||||||
|
<xsl:text><xsl:template match="xref[@linkend='</xsl:text>
|
||||||
|
<xsl:value-of select="../@id"/><xsl:text>']">
|
||||||
|
<xsl:text></xsl:text><xsl:value-of select="$sSection"/><xsl:text> </xsl:text>
|
||||||
|
<xsl:value-of select="count(../../../preceding-sibling::chapter) + 1"/><xsl:text>.</xsl:text>
|
||||||
|
<xsl:value-of select="count(../../preceding-sibling::sect1) + 1"/><xsl:text>.</xsl:text>
|
||||||
|
<xsl:value-of select="count(../preceding-sibling::sect2) + 1"/>
|
||||||
|
<xsl:text> "</xsl:text>
|
||||||
|
<xsl:value-of select="normalize-space()"/><xsl:text>" </xsl:text>
|
||||||
|
<xsl:value-of select="$sOfManual"/><xsl:text></xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:text>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="sect3[@id]/title">
|
||||||
|
<xsl:text><xsl:template match="xref[@linkend='</xsl:text>
|
||||||
|
<xsl:value-of select="../@id"/><xsl:text>']">
|
||||||
|
<xsl:text></xsl:text><xsl:value-of select="$sSection"/><xsl:text> </xsl:text>
|
||||||
|
<xsl:value-of select="count(../../../../preceding-sibling::chapter) + 1"/><xsl:text>.</xsl:text>
|
||||||
|
<xsl:value-of select="count(../../../preceding-sibling::sect1) + 1"/><xsl:text>.</xsl:text>
|
||||||
|
<xsl:value-of select="count(../../preceding-sibling::sect2) + 1"/><xsl:text>.</xsl:text>
|
||||||
|
<xsl:value-of select="count(../preceding-sibling::sect3) + 1"/>
|
||||||
|
<xsl:text> "</xsl:text>
|
||||||
|
<xsl:value-of select="normalize-space()"/><xsl:text>" </xsl:text>
|
||||||
|
<xsl:value-of select="$sOfManual"/><xsl:text></xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:text>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="preface[@id]/title">
|
||||||
|
<xsl:text><xsl:template match="xref[@linkend='</xsl:text>
|
||||||
|
<xsl:value-of select="../@id"/><xsl:text>']">
|
||||||
|
<xsl:text>"</xsl:text>
|
||||||
|
<xsl:value-of select="normalize-space()"/><xsl:text>" </xsl:text>
|
||||||
|
<xsl:value-of select="$sOfManual"/><xsl:text></xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:text>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="refentry[@id]/refentryinfo/title">
|
||||||
|
<xsl:text><xsl:template match="xref[@linkend='</xsl:text>
|
||||||
|
<xsl:value-of select="../../@id"/><xsl:text>']">
|
||||||
|
<xsl:text> "</xsl:text>
|
||||||
|
<xsl:value-of select="normalize-space()"/><xsl:text>"</xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:text>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="refsect2[@id]/title">
|
||||||
|
<xsl:text><xsl:template match="xref[@linkend='</xsl:text>
|
||||||
|
<xsl:value-of select="../@id"/><xsl:text>']">
|
||||||
|
<xsl:text>"</xsl:text>
|
||||||
|
<xsl:value-of select="normalize-space()"/><xsl:text>"</xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:text>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Debug/Diagnostics: Return the path to the specified node (by default the current).
|
||||||
|
-->
|
||||||
|
<xsl:template name="get-node-path">
|
||||||
|
<xsl:param name="Node" select="."/>
|
||||||
|
<xsl:for-each select="$Node">
|
||||||
|
<xsl:for-each select="ancestor-or-self::node()">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="name(.) = ''">
|
||||||
|
<xsl:text>text()</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="concat('/', name(.))"/>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@id">
|
||||||
|
<xsl:text>[@id=</xsl:text>
|
||||||
|
<xsl:value-of select="@id"/>
|
||||||
|
<xsl:text>]</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="position() > 1">
|
||||||
|
<xsl:text>[</xsl:text><xsl:value-of select="position()"/><xsl:text>]</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
999
doc/manual/docbook-refentry-to-C-help.xsl
Normal file
|
@ -0,0 +1,999 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
docbook-refentry-to-manual-sect1.xsl:
|
||||||
|
XSLT stylesheet for nicking the refsynopsisdiv bit of a
|
||||||
|
refentry (manpage) for use in the command overview section
|
||||||
|
in the user manual.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet
|
||||||
|
version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:str="http://xsltsl.org/string"
|
||||||
|
>
|
||||||
|
|
||||||
|
<xsl:import href="string.xsl"/>
|
||||||
|
<xsl:import href="common-formatcfg.xsl"/>
|
||||||
|
|
||||||
|
<xsl:output method="text" version="1.0" encoding="utf-8" indent="yes"/>
|
||||||
|
<xsl:strip-space elements="*"/>
|
||||||
|
|
||||||
|
<xsl:param name="g_fDebugText" select="0"/>
|
||||||
|
|
||||||
|
<xsl:variable name="g_sUnderlineRefSect1">
|
||||||
|
<xsl:text>===================================================================================================================</xsl:text>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="g_sUnderlineRefSect2">
|
||||||
|
<xsl:text>-------------------------------------------------------------------------------------------------------------------</xsl:text>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="g_sNewLine"><xsl:value-of select="' '" /></xsl:variable>
|
||||||
|
|
||||||
|
<!-- Sub-command style command (true) or single command (false). -->
|
||||||
|
<xsl:variable name="g_fSubCommands" select="not(not(//refsect2[@id]))" />
|
||||||
|
|
||||||
|
<!-- Translatable strings -->
|
||||||
|
<xsl:variable name="sUsage" select="'Usage'"/>
|
||||||
|
<xsl:variable name="sUsageUnderscore" select="'====='"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Default action, do nothing. -->
|
||||||
|
<xsl:template match="node()|@*"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
main() - because we need to order the output in a specific manner
|
||||||
|
that is contrary to the data flow in the refentry, this is
|
||||||
|
going to look a bit more like a C program than a stylesheet.
|
||||||
|
-->
|
||||||
|
<xsl:template match="refentry">
|
||||||
|
<!-- Assert refetry expectations. -->
|
||||||
|
<xsl:if test="not(./refsynopsisdiv)">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>refentry must have a refsynopsisdiv</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="not(./refentryinfo/title)">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>refentry must have a refentryinfo with title</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="not(./refmeta/refentrytitle)">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>refentry must have a refentryinfo with title</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="./refmeta/refentrytitle != ./refnamediv/refname">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>The refmeta/refentrytitle and the refnamediv/refname must be identical</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="not(./refsect1/title)">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>refentry must have a refsect1 with title</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="not(@id) or @id = ''">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>refentry must have an id attribute</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<!-- variables -->
|
||||||
|
<xsl:variable name="sBaseId" select="@id"/>
|
||||||
|
<xsl:variable name="sDataBaseSym" select="concat('g_', translate(@id, '-', '_'))"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Convert the refsynopsisdiv into REFENTRY::Synopsis data.
|
||||||
|
-->
|
||||||
|
<xsl:text>
|
||||||
|
|
||||||
|
static const RTMSGREFENTRYSTR </xsl:text><xsl:value-of select="$sDataBaseSym"/><xsl:text>_synopsis[] =
|
||||||
|
{</xsl:text>
|
||||||
|
<xsl:for-each select="./refsynopsisdiv/cmdsynopsis">
|
||||||
|
<!-- Assert synopsis expectations -->
|
||||||
|
<xsl:if test="not(@id) or substring-before(@id, '-') != 'synopsis'">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>The refsynopsisdiv/cmdsynopsis elements must have an id starting with 'synopsis-'.</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="not(starts-with(substring-after(@id, '-'), $sBaseId))">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>The refsynopsisdiv/cmdsynopsis elements @id is expected to include the refentry @id.</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="not(../../refsect1/refsect2[@id=./@id]) and $g_fSubCommands">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>No refsect2 with id="<xsl:value-of select="@id"/>" found.</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<!-- Do the work. -->
|
||||||
|
<xsl:apply-templates select="."/>
|
||||||
|
|
||||||
|
</xsl:for-each>
|
||||||
|
<xsl:text>
|
||||||
|
};</xsl:text>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Convert the whole manpage to help text.
|
||||||
|
-->
|
||||||
|
<xsl:text>
|
||||||
|
static const RTMSGREFENTRYSTR </xsl:text><xsl:value-of select="$sDataBaseSym"/><xsl:text>_full_help[] =
|
||||||
|
{</xsl:text>
|
||||||
|
<!-- We start by combining the refentry title and the refpurpose into a short description. -->
|
||||||
|
<xsl:text>
|
||||||
|
{ </xsl:text><xsl:call-template name="calc-scope-for-refentry"/><xsl:text>,
|
||||||
|
"</xsl:text>
|
||||||
|
<xsl:apply-templates select="./refentryinfo/title/node()"/>
|
||||||
|
<xsl:text> -- </xsl:text>
|
||||||
|
<xsl:call-template name="capitalize">
|
||||||
|
<xsl:with-param name="text">
|
||||||
|
<xsl:apply-templates select="./refnamediv/refpurpose/node()"/>
|
||||||
|
</xsl:with-param>
|
||||||
|
</xsl:call-template>
|
||||||
|
<xsl:text>." },
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME, "" },</xsl:text>
|
||||||
|
|
||||||
|
<!-- The follows the usage (synopsis) section. -->
|
||||||
|
<xsl:text>
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_GLOBAL,
|
||||||
|
"</xsl:text><xsl:value-of select="$sUsage"/><xsl:text>" },
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME,
|
||||||
|
"</xsl:text><xsl:value-of select="$sUsageUnderscore"/><xsl:text>" },</xsl:text>
|
||||||
|
<xsl:apply-templates select="./refsynopsisdiv/node()"/>
|
||||||
|
|
||||||
|
<!-- Then comes the description and other refsect1 -->
|
||||||
|
<xsl:for-each select="./refsect1">
|
||||||
|
<xsl:if test="name(*[1]) != 'title'"><xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Expected title as the first element in refsect1.</xsl:message></xsl:if>
|
||||||
|
<xsl:if test="text()"><xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>No text supported in refsect1.</xsl:message></xsl:if>
|
||||||
|
<xsl:if test="not(./remark[@role='help-skip'])">
|
||||||
|
<xsl:variable name="sTitle">
|
||||||
|
<xsl:apply-templates select="./title/node()"/>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:text>
|
||||||
|
{ </xsl:text><xsl:call-template name="calc-scope-refsect1"/><xsl:text>, "" },
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME,
|
||||||
|
"</xsl:text><xsl:value-of select="$sTitle"/><xsl:text>" },
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME,
|
||||||
|
"</xsl:text>
|
||||||
|
<xsl:value-of select="substring($g_sUnderlineRefSect1, 1, string-length($sTitle))"/>
|
||||||
|
<xsl:text>" },</xsl:text>
|
||||||
|
|
||||||
|
<xsl:apply-templates select="./*[name() != 'title']"/>
|
||||||
|
|
||||||
|
<xsl:text>
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME, "" },</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
|
<xsl:text>
|
||||||
|
};</xsl:text>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generate the refentry structure.
|
||||||
|
-->
|
||||||
|
<xsl:text>
|
||||||
|
static const RTMSGREFENTRY </xsl:text><xsl:value-of select="$sDataBaseSym"/><xsl:text> =
|
||||||
|
{
|
||||||
|
/* .idInternal = */ HELP_CMD_</xsl:text>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="contains(@id, '-')">
|
||||||
|
<xsl:call-template name="str:to-upper"> <!-- Multi level command. -->
|
||||||
|
<xsl:with-param name="text" select="translate(substring-after(@id, '-'), '-', '_')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:call-template name="str:to-upper"> <!-- Simple command. -->
|
||||||
|
<xsl:with-param name="text" select="@id"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
<xsl:text>,
|
||||||
|
/* .Synopsis = */ { RT_ELEMENTS(</xsl:text>
|
||||||
|
<xsl:value-of select="$sDataBaseSym"/><xsl:text>_synopsis), 0, </xsl:text>
|
||||||
|
<xsl:value-of select="$sDataBaseSym"/><xsl:text>_synopsis },
|
||||||
|
/* .Help = */ { RT_ELEMENTS(</xsl:text>
|
||||||
|
<xsl:value-of select="$sDataBaseSym"/><xsl:text>_full_help), 0, </xsl:text>
|
||||||
|
<xsl:value-of select="$sDataBaseSym"/><xsl:text>_full_help },
|
||||||
|
/* pszBrief = */ "</xsl:text>
|
||||||
|
<xsl:apply-templates select="./refnamediv/refpurpose/node()"/>
|
||||||
|
<!-- TODO: Add the command name too. -->
|
||||||
|
<xsl:text>"
|
||||||
|
};
|
||||||
|
</xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Convert command synopsis to text.
|
||||||
|
-->
|
||||||
|
<xsl:template match="cmdsynopsis">
|
||||||
|
<xsl:if test="text()"><xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>cmdsynopsis with text is not supported.</xsl:message></xsl:if>
|
||||||
|
<xsl:if test="position() = 1">
|
||||||
|
<xsl:text>
|
||||||
|
{ </xsl:text><xsl:call-template name="calc-scope-cmdsynopsis"/><xsl:text> | RTMSGREFENTRYSTR_FLAGS_SYNOPSIS, "" },</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:text>
|
||||||
|
{ </xsl:text><xsl:call-template name="calc-scope-cmdsynopsis"/><xsl:text> | RTMSGREFENTRYSTR_FLAGS_SYNOPSIS,
|
||||||
|
"</xsl:text><xsl:call-template name="emit-indentation"/><xsl:apply-templates select="*|@*"/><xsl:text>" },</xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="sbr">
|
||||||
|
<xsl:text>" },
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME | RTMSGREFENTRYSTR_FLAGS_SYNOPSIS,
|
||||||
|
" </xsl:text><xsl:call-template name="emit-indentation"/> <!-- hardcoded in VBoxManageHelp.cpp too -->
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="cmdsynopsis/command">
|
||||||
|
<xsl:text>" },
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME | RTMSGREFENTRYSTR_FLAGS_SYNOPSIS,
|
||||||
|
"</xsl:text><xsl:call-template name="emit-indentation"/>
|
||||||
|
<xsl:apply-templates select="node()|@*"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="cmdsynopsis/command[1]" priority="2">
|
||||||
|
<xsl:apply-templates select="node()|@*"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="command|option|computeroutput|literal|emphasis|filename|citetitle|note">
|
||||||
|
<xsl:apply-templates select="node()|@*"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="ulink">
|
||||||
|
<xsl:value-of select="@url"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="replaceable">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="ancestor::arg">
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:text><</xsl:text>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
<xsl:text>></xsl:text>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- duplicated in docbook2latex.xsl -->
|
||||||
|
<xsl:template match="arg|group">
|
||||||
|
<!-- separator char if we're not the first child -->
|
||||||
|
<xsl:if test="position() > 1">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="parent::group"><xsl:value-of select="$arg.or.sep"/></xsl:when>
|
||||||
|
<xsl:when test="ancestor-or-self::*/@sepchar"><xsl:value-of select="ancestor-or-self::*/@sepchar"/></xsl:when>
|
||||||
|
<xsl:otherwise><xsl:text> </xsl:text></xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<!-- open wrapping -->
|
||||||
|
<xsl:variable name="fWrappers" select="not(ancestor::group)"/>
|
||||||
|
<xsl:if test="$fWrappers">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="not(@choice) or @choice = ''"> <xsl:value-of select="$arg.choice.def.open.str"/></xsl:when>
|
||||||
|
<xsl:when test="@choice = 'opt'"> <xsl:value-of select="$arg.choice.opt.open.str"/></xsl:when>
|
||||||
|
<xsl:when test="@choice = 'req'"> <xsl:value-of select="$arg.choice.req.open.str"/></xsl:when>
|
||||||
|
<xsl:when test="@choice = 'plain'"/>
|
||||||
|
<xsl:otherwise><xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Invalid arg choice: "<xsl:value-of select="@choice"/>"</xsl:message></xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<!-- render the arg (TODO: may need to do more work here) -->
|
||||||
|
<xsl:apply-templates />
|
||||||
|
|
||||||
|
<!-- repeat wrapping -->
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@rep = 'norepeat' or not(@rep) or @rep = ''"/>
|
||||||
|
<xsl:when test="@rep = 'repeat'"> <xsl:value-of select="$arg.rep.repeat.str"/></xsl:when>
|
||||||
|
<xsl:otherwise><xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Invalid rep choice: "<xsl:value-of select="@rep"/>"</xsl:message></xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
|
||||||
|
<!-- close wrapping -->
|
||||||
|
<xsl:if test="$fWrappers">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="not(@choice) or @choice = ''"> <xsl:value-of select="$arg.choice.def.close.str"/></xsl:when>
|
||||||
|
<xsl:when test="@choice = 'opt'"> <xsl:value-of select="$arg.choice.opt.close.str"/></xsl:when>
|
||||||
|
<xsl:when test="@choice = 'req'"> <xsl:value-of select="$arg.choice.req.close.str"/></xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
<!-- Add a space padding if we're the last element in a repeating arg or group -->
|
||||||
|
<xsl:if test="(parent::arg or parent::group) and not(following-sibiling)">
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
refsect2
|
||||||
|
-->
|
||||||
|
<xsl:template match="refsect2">
|
||||||
|
<!-- assertions -->
|
||||||
|
<xsl:if test="text()"><xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>refsect2 shouldn't contain text</xsl:message></xsl:if>
|
||||||
|
<xsl:if test="count(./title) != 1"><xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>refsect2 requires a title (<xsl:value-of select="ancestor-or-self::*[@id][1]/@id"/>)</xsl:message></xsl:if>
|
||||||
|
|
||||||
|
<!-- title / command synopsis - sets the scope. -->
|
||||||
|
<xsl:variable name="sTitle">
|
||||||
|
<xsl:apply-templates select="./title/text()"/>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:text>
|
||||||
|
{ </xsl:text><xsl:call-template name="calc-scope-refsect2"/><xsl:text>, "" },
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME,
|
||||||
|
"</xsl:text><xsl:call-template name="emit-indentation"/>
|
||||||
|
<xsl:value-of select="$sTitle"/>
|
||||||
|
<xsl:text>" },
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME,
|
||||||
|
"</xsl:text><xsl:call-template name="emit-indentation"/>
|
||||||
|
<xsl:value-of select="substring($g_sUnderlineRefSect2, 1, string-length($sTitle))"/>
|
||||||
|
<xsl:text>" },</xsl:text>
|
||||||
|
|
||||||
|
<!-- <xsl:if test="./*[name() != 'title']/following::
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME, "y" },</xsl:text> cmdsynopsis -->
|
||||||
|
|
||||||
|
<!-- Format the text in the section -->
|
||||||
|
<xsl:for-each select="./*[name() != 'title']">
|
||||||
|
<xsl:apply-templates select="."/>
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
|
<!-- Add two blank lines, unless we're the last element in this refsect1. -->
|
||||||
|
<xsl:if test="position() != last()">
|
||||||
|
<xsl:text>
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME, "" },</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
para
|
||||||
|
-->
|
||||||
|
<xsl:template match="para">
|
||||||
|
<xsl:if test="position() != 1 or not(parent::listitem)">
|
||||||
|
<xsl:text>
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME, "" },</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:call-template name="process-mixed"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
variablelist
|
||||||
|
-->
|
||||||
|
<xsl:template match="variablelist">
|
||||||
|
<xsl:if test="*[not(self::varlistentry)]|text()">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Only varlistentry elements are supported in variablelist </xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:for-each select="./varlistentry">
|
||||||
|
<xsl:if test="not(term) or not(listitem) or count(listitem) > 1">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Expected one or more term members and exactly one listentry member in varlistentry element.</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="(not(@spacing) or @spacing != 'compact') and (position() > 1 or (count(../preceding-sibling::*) - count(../preceding-sibling::title) > 0))">
|
||||||
|
<xsl:text>
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME, "" },</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:apply-templates select="*"/>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="varlistentry/term">
|
||||||
|
<xsl:call-template name="process-mixed"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="varlistentry/listitem">
|
||||||
|
<xsl:call-template name="check-children">
|
||||||
|
<xsl:with-param name="UnsupportedNodes" select="*[not(self::para or self::itemizedlist or self::orderedlist or self::variablelist or self::note)]|text()"/>
|
||||||
|
<xsl:with-param name="SupportedNames">para, itemizedlist, orderedlist and note</xsl:with-param>
|
||||||
|
</xsl:call-template>
|
||||||
|
|
||||||
|
<xsl:apply-templates select="*"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
itemizedlist and orderedlist
|
||||||
|
-->
|
||||||
|
<xsl:template match="itemizedlist|orderedlist">
|
||||||
|
<xsl:if test="*[not(self::listitem)]|text()">
|
||||||
|
<xsl:message terminate="yes">
|
||||||
|
<xsl:call-template name="error-prefix"/>Only listitem elements are supported in <xsl:value-of select="name()"/>:
|
||||||
|
<xsl:call-template name="list-nodes">
|
||||||
|
<xsl:with-param name="Nodes" select="*[not(self::listitem)]|text()"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="parent::para">
|
||||||
|
<xsl:message terminate="yes"><xsl:value-of select="name()"/> inside a para is current not supported. <!-- no newline
|
||||||
|
-->Close the para before the list, it makes no difference to html and latex/pdf output.</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:if test="position() != 1 and (not(@spacing) or @spacing != 'compact')">
|
||||||
|
<xsl:text>
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME, "" },</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:for-each select="./listitem">
|
||||||
|
<xsl:apply-templates select="*"/>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="itemizedlist/listitem|orderedlist/listitem">
|
||||||
|
<xsl:if test="*[not(self::para)]|text()">
|
||||||
|
<xsl:message terminate="yes">
|
||||||
|
<xsl:call-template name="error-prefix"/>Expected <xsl:value-of select="name()"/>/listitem to only contain para elements:
|
||||||
|
<xsl:call-template name="list-nodes">
|
||||||
|
<xsl:with-param name="Nodes" select="*[not(self::para)]|text()"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<xsl:if test="position() != 1 and @spaceing != 'compact'">
|
||||||
|
<xsl:text>
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME, "" },</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:apply-templates select="*"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Screen
|
||||||
|
-->
|
||||||
|
<xsl:template match="screen">
|
||||||
|
<xsl:if test="ancestor::para">
|
||||||
|
<xsl:text>" },</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<xsl:text>
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME,
|
||||||
|
"</xsl:text>
|
||||||
|
|
||||||
|
<xsl:for-each select="node()">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="name() = ''">
|
||||||
|
<xsl:call-template name="screen_text_line">
|
||||||
|
<xsl:with-param name="sText" select="."/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:if test="*">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Support for elements under screen has not been implemented: <xsl:value-of select="name()"/></xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
|
<xsl:if test="not(ancestor::para)">
|
||||||
|
<xsl:text>" },</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template name="screen_text_line">
|
||||||
|
<xsl:param name="sText"/>
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="contains($sText, '
')">
|
||||||
|
<xsl:call-template name="escape_fixed_text">
|
||||||
|
<xsl:with-param name="sText" select="substring-before($sText,'
')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
|
||||||
|
<xsl:if test="substring-after($sText,'
')">
|
||||||
|
<xsl:text>" },
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME,
|
||||||
|
"</xsl:text>
|
||||||
|
<xsl:call-template name="screen_text_line">
|
||||||
|
<xsl:with-param name="sText" select="substring-after($sText,'
')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<xsl:otherwise> <!-- no newline, so use the whole string -->
|
||||||
|
<xsl:call-template name="escape_fixed_text">
|
||||||
|
<xsl:with-param name="sText" select="$sText"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Normalizes the current text node taking tailing and leading spaces
|
||||||
|
into account (unlike normalize-space which strips them mercilessly). -->
|
||||||
|
<xsl:template name="my-normalize-space-current">
|
||||||
|
<!-- <xsl:message>dbg0: position=<xsl:value-of select="position()"/> last=<xsl:value-of select="last()"/> .=|<xsl:value-of select="."/>|</xsl:message> -->
|
||||||
|
<xsl:if test="(starts-with(.,' ') or starts-with(., $g_sNewLine)) and position() != 1">
|
||||||
|
<xsl:value-of select="' '"/>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:value-of select="normalize-space(.)"/>
|
||||||
|
<xsl:if test="((substring(.,string-length(.)) = ' ') or (substring(.,string-length(.)) = $g_sNewLine)) and position() != last()">
|
||||||
|
<xsl:value-of select="' '"/>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Text escaping for C.
|
||||||
|
-->
|
||||||
|
<xsl:template match="text()" name="escape_text">
|
||||||
|
<!-- Leading whitespace hack! -->
|
||||||
|
<xsl:if test="(starts-with(.,' ') or starts-with(.,$g_sNewLine)) and position() != 1">
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
<xsl:if test="boolean($g_fDebugText)">
|
||||||
|
<xsl:message>text: add lead space</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<!-- Body of text -->
|
||||||
|
<xsl:choose>
|
||||||
|
|
||||||
|
<xsl:when test="contains(., '\') or contains(., '"')">
|
||||||
|
<xsl:variable name="sTmp">
|
||||||
|
<xsl:call-template name="str:subst">
|
||||||
|
<xsl:with-param name="text" select="normalize-space(.)"/>
|
||||||
|
<xsl:with-param name="replace" select="'\'"/>
|
||||||
|
<xsl:with-param name="with" select="'\\'"/>
|
||||||
|
<xsl:with-param name="disable-output-escaping" select="yes"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="sTmp2">
|
||||||
|
<xsl:call-template name="str:subst">
|
||||||
|
<xsl:with-param name="text" select="$sTmp"/>
|
||||||
|
<xsl:with-param name="replace" select="'"'"/>
|
||||||
|
<xsl:with-param name="with" select="'\"'"/>
|
||||||
|
<xsl:with-param name="disable-output-escaping" select="yes"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:value-of select="$sTmp2"/>
|
||||||
|
<xsl:if test="boolean($g_fDebugText)">
|
||||||
|
<xsl:message>text: |<xsl:value-of select="$sTmp2"/>|(1)</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="normalize-space(.)"/>
|
||||||
|
<xsl:if test="boolean($g_fDebugText)">
|
||||||
|
<xsl:message>text: |<xsl:value-of select="normalize-space(.)"/>|(2)</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
|
||||||
|
<!-- Trailing whitespace hack! -->
|
||||||
|
<xsl:if test="(substring(.,string-length(.)) = ' ' or substring(.,string-length(.)) = $g_sNewLine) and position() != last() and string-length(.) != 1">
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
<xsl:if test="boolean($g_fDebugText)">
|
||||||
|
<xsl:message>text: add tail space</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Elements producing non-breaking strings (single line). -->
|
||||||
|
<xsl:template match="command/text()|option/text()|computeroutput/text()|arg/text()|filename/text()" name="escape_fixed_text">
|
||||||
|
<xsl:param name="sText"><xsl:call-template name="my-normalize-space-current"/></xsl:param>
|
||||||
|
<xsl:choose>
|
||||||
|
|
||||||
|
<xsl:when test="contains($sText, '\') or contains($sText, '"')">
|
||||||
|
<xsl:variable name="sTmp1">
|
||||||
|
<xsl:call-template name="str:subst">
|
||||||
|
<xsl:with-param name="text" select="$sText"/>
|
||||||
|
<xsl:with-param name="replace" select="'\'"/>
|
||||||
|
<xsl:with-param name="with" select="'\\'"/>
|
||||||
|
<xsl:with-param name="disable-output-escaping" select="yes"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="sTmp2">
|
||||||
|
<xsl:call-template name="str:subst">
|
||||||
|
<xsl:with-param name="text" select="$sTmp1"/>
|
||||||
|
<xsl:with-param name="replace" select="'"'"/>
|
||||||
|
<xsl:with-param name="with" select="'\"'"/>
|
||||||
|
<xsl:with-param name="disable-output-escaping" select="yes"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="sTmp3">
|
||||||
|
<xsl:call-template name="str:subst">
|
||||||
|
<xsl:with-param name="text" select="$sTmp2"/>
|
||||||
|
<xsl:with-param name="replace" select="' '"/>
|
||||||
|
<xsl:with-param name="with" select="'\b'"/>
|
||||||
|
<xsl:with-param name="disable-output-escaping" select="yes"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:value-of select="$sTmp3"/>
|
||||||
|
<xsl:if test="boolean($g_fDebugText)">
|
||||||
|
<xsl:message>text! |<xsl:value-of select="$sTmp3"/>|</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<xsl:when test="contains($sText, ' ')">
|
||||||
|
<xsl:variable name="sTmp">
|
||||||
|
<xsl:call-template name="str:subst">
|
||||||
|
<xsl:with-param name="text" select="$sText"/>
|
||||||
|
<xsl:with-param name="replace" select="' '"/>
|
||||||
|
<xsl:with-param name="with" select="'\b'"/>
|
||||||
|
<xsl:with-param name="disable-output-escaping" select="yes"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:value-of select="$sTmp"/>
|
||||||
|
<xsl:if test="boolean($g_fDebugText)">
|
||||||
|
<xsl:message>text! |<xsl:value-of select="$sTmp"/>|</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="$sText"/>
|
||||||
|
<xsl:if test="boolean($g_fDebugText)">
|
||||||
|
<xsl:message>text! |<xsl:value-of select="$sText"/>|</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Unsupported elements and elements handled directly.
|
||||||
|
-->
|
||||||
|
<xsl:template match="synopfragment|synopfragmentref|title|refsect1">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>The <xsl:value-of select="name()"/> element is not supported</xsl:message>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="xref">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>The <xsl:value-of select="name()"/> element is not supported, most likely the linkend is not defined or incorrectly processed by docbook-refentry-link-replacement-xsl-gen.xsl</xsl:message>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Fail on misplaced scoping remarks.
|
||||||
|
-->
|
||||||
|
<xsl:template match="remark[@role = 'help-scope']">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="parent::refsect1"/>
|
||||||
|
<xsl:when test="parent::refsect2"/>
|
||||||
|
<xsl:when test="parent::cmdsynopsis and ancestor::refsynopsisdiv"/>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Misplaced remark/@role=help-scope element.
|
||||||
|
Only supported on: refsect1, refsect2, refsynopsisdiv/cmdsynopsis</xsl:message>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Execute synopsis copy remark (avoids duplication for complicated xml).
|
||||||
|
-->
|
||||||
|
<xsl:template match="remark[@role = 'help-copy-synopsis']">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>remark/@role=help-copy-synopsis is not supported by this stylesheet. Must preprocess input!</xsl:message>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Warn about unhandled elements
|
||||||
|
-->
|
||||||
|
<xsl:template match="*">
|
||||||
|
<xsl:message terminate="no">Warning: Unhandled element: <!-- no newline -->
|
||||||
|
<xsl:for-each select="ancestor-or-self::*">
|
||||||
|
<xsl:text>/</xsl:text>
|
||||||
|
<xsl:value-of select="name(.)"/>
|
||||||
|
<xsl:if test="@id">
|
||||||
|
<xsl:value-of select="concat('[id=', @id ,']')"/>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:message>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Functions
|
||||||
|
Functions
|
||||||
|
Functions
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Processes mixed children, i.e. both text and regular elements.
|
||||||
|
Normalizes whitespace. -->
|
||||||
|
<xsl:template name="process-mixed">
|
||||||
|
<xsl:text>
|
||||||
|
{ RTMSGREFENTRYSTR_SCOPE_SAME,
|
||||||
|
"</xsl:text><xsl:call-template name="emit-indentation"/>
|
||||||
|
|
||||||
|
<xsl:for-each select="node()[not(self::remark)]">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="name() = ''">
|
||||||
|
<xsl:call-template name="escape_text"/>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:apply-templates select="."/>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
|
<xsl:text>" },</xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Element specific scoping.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:template name="calc-scope-for-refentry">
|
||||||
|
<xsl:text>HELP_SCOPE_</xsl:text>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="contains(@id, '-')"> <!-- Multi level command. -->
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="translate(substring-after(@id, '-'), '-', '_')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise> <!-- Single command. -->
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="@id"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Figures out the scope of a refsect1 element. -->
|
||||||
|
<xsl:template name="calc-scope-refsect1">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="title[text() = 'Description']">
|
||||||
|
<xsl:text>RTMSGREFENTRYSTR_SCOPE_GLOBAL</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="@id or remark[@role='help-scope']">
|
||||||
|
<xsl:call-template name="calc-scope-from-remark-or-id"/>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:text>RTMSGREFENTRYSTR_SCOPE_GLOBAL</xsl:text>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Figures out the scope of a refsect2 element. -->
|
||||||
|
<xsl:template name="calc-scope-refsect2">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@id or remark[@role='help-scope']">
|
||||||
|
<xsl:call-template name="calc-scope-from-remark-or-id"/>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:text>RTMSGREFENTRYSTR_SCOPE_SAME</xsl:text>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Figures out the scope of a refsect1 element. -->
|
||||||
|
<xsl:template name="calc-scope-cmdsynopsis">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="ancestor::refsynopsisdiv">
|
||||||
|
<xsl:call-template name="calc-scope-from-remark-or-id">
|
||||||
|
<xsl:with-param name="sId" select="substring-after(@id, '-')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:text>RTMSGREFENTRYSTR_SCOPE_SAME</xsl:text>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Scoping worker functions.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Calculates the current scope from the scope remark or @id. -->
|
||||||
|
<xsl:template name="calc-scope-from-remark-or-id">
|
||||||
|
<xsl:param name="sId" select="@id"/>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="remark[@role='help-scope']">
|
||||||
|
<xsl:call-template name="calc-scope-consts-from-remark"/>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="$sId != ''">
|
||||||
|
<xsl:call-template name="calc-scope-const-from-id">
|
||||||
|
<xsl:with-param name="sId" select="$sId"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>expected remark child or id attribute.</xsl:message>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Turns a @id into a scope constant.
|
||||||
|
Some woodoo taking place here here that chops the everything up to and
|
||||||
|
including the first refentry/@id word from all IDs before turning them into
|
||||||
|
constants (word delimiter '-'). -->
|
||||||
|
<xsl:template name="calc-scope-const-from-id">
|
||||||
|
<xsl:param name="sId" select="@id"/>
|
||||||
|
<xsl:param name="sAncestorId" select="ancestor::refentry/@id"/>
|
||||||
|
<xsl:text>HELP_SCOPE_</xsl:text>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="not($sAncestorId)"> <!-- Sanity check. -->
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>calc-scope-const-from-id is invoked without an refentry ancestor with a id. <xsl:call-template name="get-node-path"/> </xsl:message>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<xsl:when test="contains($sAncestorId, '-')"> <!-- Multi level command. -->
|
||||||
|
<xsl:variable name="sPrefix" select="concat(substring-before($sAncestorId, '-'), '-')"/>
|
||||||
|
<xsl:if test="not(contains($sId, $sPrefix))">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Expected sId (<xsl:value-of select="$sId"/>) to contain <xsl:value-of select="$sPrefix"/></xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="translate(substring-after($sId, $sPrefix), '-', '_')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<xsl:otherwise> <!-- Single command. -->
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="translate($sId, '-', '_')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Turns a remark into one or more scope constants. -->
|
||||||
|
<xsl:template name="calc-scope-consts-from-remark">
|
||||||
|
<xsl:param name="sCondition" select="remark/@condition"/>
|
||||||
|
<xsl:variable name="sNormalized" select="concat(normalize-space(translate($sCondition, ',;:|', ' ')), ' ')"/>
|
||||||
|
<xsl:if test="$sNormalized = ' ' or $sNormalized = ''">
|
||||||
|
<xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Empty @condition for help-scope remark.</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="substring-before($sNormalized, ' ') = 'GLOBAL'">
|
||||||
|
<xsl:text>RTMSGREFENTRYSTR_SCOPE_GLOBAL</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:text>HELP_SCOPE_</xsl:text><xsl:value-of select="substring-before($sNormalized, ' ')"/>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
<xsl:call-template name="calc-scope-const-from-remark-worker">
|
||||||
|
<xsl:with-param name="sList" select="substring-after($sNormalized, ' ')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template name="calc-scope-const-from-remark-worker">
|
||||||
|
<xsl:param name="sList"/>
|
||||||
|
<xsl:if test="$sList != ''">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="substring-before($sList, ' ') = 'GLOBAL'">
|
||||||
|
<xsl:text>| RTMSGREFENTRYSTR_SCOPE_GLOBAL</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:text> | HELP_SCOPE_</xsl:text><xsl:value-of select="substring-before($sList, ' ')"/>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
<xsl:call-template name="calc-scope-const-from-remark-worker">
|
||||||
|
<xsl:with-param name="sList" select="substring-after($sList, ' ')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Calculates and emits indentation list markup.
|
||||||
|
-->
|
||||||
|
<xsl:template name="emit-indentation">
|
||||||
|
<xsl:variable name="iDepth" select="count(ancestor-or-self::*)"/>
|
||||||
|
<xsl:for-each select="ancestor-or-self::*">
|
||||||
|
<xsl:choose>
|
||||||
|
|
||||||
|
<xsl:when test="self::refsect1
|
||||||
|
| self::refsect2
|
||||||
|
| self::refsect3
|
||||||
|
| self::refsynopsisdiv">
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<xsl:when test="self::term">
|
||||||
|
<!-- currently no indent. -->
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<!-- Evidence here (especially with orderedlist) that doing list by for-each
|
||||||
|
listitem in the template matching the list type would be easier... -->
|
||||||
|
<xsl:when test="self::listitem and parent::itemizedlist and (position() + 1) = $iDepth">
|
||||||
|
<xsl:text> - </xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<xsl:when test="self::listitem and parent::orderedlist and (position() + 1) = $iDepth">
|
||||||
|
<xsl:variable name="iNumber" select="count(preceding-sibling::listitem) + 1"/>
|
||||||
|
<xsl:if test="$iNumber <= 9">
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:value-of select="$iNumber"/>
|
||||||
|
<xsl:text>. </xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<xsl:when test="self::listitem">
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Captializes the given text.
|
||||||
|
-->
|
||||||
|
<xsl:template name="capitalize">
|
||||||
|
<xsl:param name="text"/>
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="substring($text,1,1)"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
<xsl:value-of select="substring($text,2)"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Debug/Diagnostics: Return the path to the specified node (by default the current).
|
||||||
|
-->
|
||||||
|
<xsl:template name="get-node-path">
|
||||||
|
<xsl:param name="Node" select="."/>
|
||||||
|
<xsl:for-each select="$Node">
|
||||||
|
<xsl:for-each select="ancestor-or-self::node()">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="name(.) = ''">
|
||||||
|
<xsl:text>text()</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="concat('/', name(.))"/>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@id">
|
||||||
|
<xsl:text>[@id=</xsl:text>
|
||||||
|
<xsl:value-of select="@id"/>
|
||||||
|
<xsl:text>]</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="position() > 1">
|
||||||
|
<xsl:text>[</xsl:text><xsl:value-of select="position()"/><xsl:text>]</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Debug/Diagnostics: Return error message prefix.
|
||||||
|
-->
|
||||||
|
<xsl:template name="error-prefix">
|
||||||
|
<xsl:param name="Node" select="."/>
|
||||||
|
<xsl:text>error: </xsl:text>
|
||||||
|
<xsl:call-template name="get-node-path">
|
||||||
|
<xsl:with-param name="Node" select="$Node"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
<xsl:text>: </xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Debug/Diagnostics: Print list of nodes (by default all children of current node).
|
||||||
|
-->
|
||||||
|
<xsl:template name="list-nodes">
|
||||||
|
<xsl:param name="Nodes" select="node()"/>
|
||||||
|
<xsl:for-each select="$Nodes">
|
||||||
|
<xsl:if test="position() != 1">
|
||||||
|
<xsl:text>, </xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="name(.) = ''">
|
||||||
|
<xsl:text>text:text()</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="name(.)"/>
|
||||||
|
<xsl:if test="@id">
|
||||||
|
<xsl:text>[@id=</xsl:text>
|
||||||
|
<xsl:value-of select="@id"/>
|
||||||
|
<xsl:text>]</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template name="check-children">
|
||||||
|
<xsl:param name="Node" select="."/>
|
||||||
|
<xsl:param name="UnsupportedNodes" select="*"/>
|
||||||
|
<xsl:param name="SupportedNames" select="'none'"/>
|
||||||
|
<xsl:if test="count($UnsupportedNodes) != 0">
|
||||||
|
<xsl:message terminate="yes">
|
||||||
|
<xsl:call-template name="get-node-path">
|
||||||
|
<xsl:with-param name="Node" select="$Node"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
<!-- -->: error: Only <xsl:value-of select="$SupportedNames"/> are supported as children to <!-- -->
|
||||||
|
<xsl:value-of select="name($Node)"/>
|
||||||
|
<!-- -->
|
||||||
|
Unsupported children: <!-- -->
|
||||||
|
<xsl:call-template name="list-nodes">
|
||||||
|
<xsl:with-param name="Nodes" select="$UnsupportedNodes"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
151
doc/manual/docbook-refentry-to-H-help.xsl
Normal file
|
@ -0,0 +1,151 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
docbook-refentry-to-H-help.xsl:
|
||||||
|
XSLT stylesheet for generating command and sub-command
|
||||||
|
constants header for the built-in help.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet
|
||||||
|
version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:str="http://xsltsl.org/string"
|
||||||
|
>
|
||||||
|
|
||||||
|
<xsl:import href="string.xsl"/>
|
||||||
|
|
||||||
|
<xsl:output method="text" version="1.0" encoding="utf-8" indent="yes"/>
|
||||||
|
<xsl:strip-space elements="*"/>
|
||||||
|
|
||||||
|
<xsl:param name="g_sMode" select="not-specified"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Default action, do nothing. -->
|
||||||
|
<xsl:template match="node()|@*"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generate SCOPE enum for a refentry. We convert the
|
||||||
|
cmdsynopsisdiv/cmdsynopsis IDs into constants.
|
||||||
|
-->
|
||||||
|
<xsl:template match="refentry">
|
||||||
|
<xsl:variable name="RefEntry" select="."/>
|
||||||
|
<xsl:variable name="sRefEntryId" select="@id"/>
|
||||||
|
<xsl:variable name="sBaseNm">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="contains($sRefEntryId, '-')"> <!-- Multi level command. -->
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="translate(substring-after($sRefEntryId, '-'), '-', '_')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise> <!-- Simple command. -->
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="translate($sRefEntryId, '-', '_')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
<!-- Generate subcommand enums and defines -->
|
||||||
|
<xsl:when test="$g_sMode = 'subcmd'">
|
||||||
|
<!-- Start enum type and start off with the refentry id. -->
|
||||||
|
<xsl:text>
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
#define HELP_SCOPE_</xsl:text>
|
||||||
|
<xsl:value-of select="$sBaseNm"/>
|
||||||
|
<xsl:value-of select="substring(' ',1,56 - string-length($sBaseNm) - 11)"/>
|
||||||
|
<xsl:text> RT_BIT_64(HELP_SCOPE_</xsl:text><xsl:value-of select="$sBaseNm"/><xsl:text>_BIT)
|
||||||
|
HELP_SCOPE_</xsl:text><xsl:value-of select="$sBaseNm"/><xsl:text>_BIT = 0</xsl:text>
|
||||||
|
|
||||||
|
<!-- Synopsis IDs -->
|
||||||
|
<xsl:for-each select="./refsynopsisdiv/cmdsynopsis[@id != concat('synopsis-', $sRefEntryId)]">
|
||||||
|
<xsl:variable name="sSubNm">
|
||||||
|
<xsl:text>HELP_SCOPE_</xsl:text>
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="translate(substring-after(substring-after(@id, '-'), '-'), '-', '_')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:text>,
|
||||||
|
#define </xsl:text>
|
||||||
|
<xsl:value-of select="$sSubNm"/>
|
||||||
|
<xsl:value-of select="substring(' ',1,56 - string-length($sSubNm))"/>
|
||||||
|
<xsl:text> RT_BIT_64(</xsl:text><xsl:value-of select="$sSubNm"/><xsl:text>_BIT)
|
||||||
|
</xsl:text>
|
||||||
|
<xsl:value-of select="$sSubNm"/><xsl:text>_BIT</xsl:text>
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
|
<!-- Add scoping info for refsect1 and refsect2 IDs that aren't part of the synopsis. -->
|
||||||
|
<xsl:for-each select=".//refsect1[@id] | .//refsect2[@id]">
|
||||||
|
<xsl:variable name="sThisId" select="@id"/>
|
||||||
|
<xsl:if test="not($RefEntry[@id = $sThisId]) and not($RefEntry/refsynopsisdiv/cmdsynopsis[@id = concat('synopsis-', $sThisId)])">
|
||||||
|
<xsl:variable name="sSubNm">
|
||||||
|
<xsl:text>HELP_SCOPE_</xsl:text>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="contains($sRefEntryId, '-')"> <!-- Multi level command. -->
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="translate(substring-after(@id, '-'), '-', '_')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise> <!-- Simple command. -->
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="translate(@id, '-', '_')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:text>,
|
||||||
|
#define </xsl:text>
|
||||||
|
<xsl:value-of select="$sSubNm"/>
|
||||||
|
<xsl:value-of select="substring(' ',1,56 - string-length($sSubNm))"/>
|
||||||
|
<xsl:text> RT_BIT_64(</xsl:text><xsl:value-of select="$sSubNm"/><xsl:text>_BIT)
|
||||||
|
</xsl:text>
|
||||||
|
<xsl:value-of select="$sSubNm"/><xsl:text>_BIT</xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:for-each>
|
||||||
|
|
||||||
|
<!-- Done - complete the enum. -->
|
||||||
|
<xsl:text>,
|
||||||
|
HELP_SCOPE_</xsl:text><xsl:value-of select="$sBaseNm"/><xsl:text>_END
|
||||||
|
};
|
||||||
|
AssertCompile((int)HELP_SCOPE_</xsl:text><xsl:value-of select="$sBaseNm"/><xsl:text>_END >= 1);
|
||||||
|
AssertCompile((int)HELP_SCOPE_</xsl:text><xsl:value-of select="$sBaseNm"/><xsl:text>_END < 64);
|
||||||
|
AssertCompile(RT_BIT_64(HELP_SCOPE_</xsl:text><xsl:value-of select="$sBaseNm"/><xsl:text>_END - 1) & RTMSGREFENTRYSTR_SCOPE_MASK);
|
||||||
|
</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<!-- Generate command enum value. -->
|
||||||
|
<xsl:when test="$g_sMode = 'cmd'">
|
||||||
|
<xsl:text> HELP_CMD_</xsl:text><xsl:value-of select="$sBaseNm"/><xsl:text>,
|
||||||
|
</xsl:text>
|
||||||
|
</xsl:when>
|
||||||
|
|
||||||
|
<!-- Shouldn't happen. -->
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:message terminate="yes">Bad or missing g_sMode string parameter value.</xsl:message>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
89
doc/manual/docbook-refentry-to-manpage-preprocessing.xsl
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
docbook-refentry-to-manpage-preprocessing.xsl:
|
||||||
|
XSLT stylesheet preprocessing remarks elements before
|
||||||
|
turning a refentry (manpage) into a unix manual page and
|
||||||
|
VBoxManage built-in help.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet
|
||||||
|
version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:str="http://xsltsl.org/string"
|
||||||
|
>
|
||||||
|
|
||||||
|
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="no"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The default action is to copy everything.
|
||||||
|
-->
|
||||||
|
<xsl:template match="node()|@*">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:apply-templates select="node()|@*"/>
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Execute synopsis copy remark (avoids duplication for complicated xml).
|
||||||
|
We strip the attributes off it.
|
||||||
|
-->
|
||||||
|
<xsl:template match="remark[@role = 'help-copy-synopsis']">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="parent::refsect2"/>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:message terminate="yes">Misplaced remark/@role=help-copy-synopsis element.
|
||||||
|
Only supported on: refsect2</xsl:message>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
<xsl:variable name="sSrcId">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@condition"><xsl:value-of select="concat('synopsis-', @condition)"/></xsl:when>
|
||||||
|
<xsl:otherwise><xsl:value-of select="concat('synopsis-', ../@id)"/></xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="CmdSynopsis" select="/refentry/refsynopsisdiv/cmdsynopsis[@id = $sSrcId]"/>
|
||||||
|
<xsl:if test="not($CmdSynopsis)">
|
||||||
|
<xsl:message terminate="yes">Could not find any cmdsynopsis with id=<xsl:value-of select="$sSrcId"/> in refsynopsisdiv.</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<xsl:element name="cmdsynopsis">
|
||||||
|
<xsl:apply-templates select="$CmdSynopsis/node()"/>
|
||||||
|
</xsl:element>
|
||||||
|
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Remove bits only intended for the manual.
|
||||||
|
-->
|
||||||
|
<xsl:template match="remark[@role='help-manual']"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Remove remarks without a role.
|
||||||
|
These are used for leaving questions and such while working with the documentation team.
|
||||||
|
-->
|
||||||
|
<xsl:template match="remark[not(@role)]"/>
|
||||||
|
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
58
doc/manual/docbook-refentry-to-manpage.xsl
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
docbook-to-man.xsl:
|
||||||
|
XSLT stylesheet that renders a refentry into a troff manpage.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet
|
||||||
|
version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||||
|
|
||||||
|
<xsl:import href="manpages/docbook.xsl"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
|
||||||
|
<xsl:strip-space elements="*"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Extract manual's date from an *info/pubdate node (cf.
|
||||||
|
get.refentry.date). Detect RCS Date keyword.
|
||||||
|
-->
|
||||||
|
<xsl:template match="pubdate">
|
||||||
|
<xsl:choose>
|
||||||
|
<!-- careful with that keyword -->
|
||||||
|
<xsl:when test="starts-with(text(), concat('$', 'Date:'))">
|
||||||
|
<!-- Fetch the ISO 8601 date from inside -->
|
||||||
|
<xsl:value-of select="substring(text(), 8, 10)"/>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<!-- Use as-is -->
|
||||||
|
<xsl:value-of select="text()"/>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
74
doc/manual/docbook-refentry-to-manual-overview.xsl
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
docbook-refentry-to-manual-sect1.xsl:
|
||||||
|
XSLT stylesheet for nicking the refsynopsisdiv bit of a
|
||||||
|
refentry (manpage) for use in the command overview section
|
||||||
|
in the user manual.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet
|
||||||
|
version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
>
|
||||||
|
|
||||||
|
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
|
||||||
|
<xsl:strip-space elements="*"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Base operation is to copy. -->
|
||||||
|
<xsl:template match="node()|@*">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:apply-templates select="node()|@*"/>
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The refentry element is the top level one. We only process the
|
||||||
|
refsynopsisdiv sub element within it, since that is all we want.
|
||||||
|
-->
|
||||||
|
<xsl:template match="refentry">
|
||||||
|
<xsl:apply-templates select="refsynopsisdiv"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Combine all cmdsynopsis lines into a bunch of commands.
|
||||||
|
-->
|
||||||
|
<xsl:template match="refsynopsisdiv">
|
||||||
|
<xsl:if test="not(cmdsynopsis)">
|
||||||
|
<xsl:message terminate="yes">What? No cmdsynopsis in the refsynopsisdiv?</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:element name="cmdsynopsis">
|
||||||
|
<xsl:attribute name="id"><xsl:value-of select="/refentry/@id"/><xsl:text>-overview</xsl:text></xsl:attribute>
|
||||||
|
<xsl:for-each select="cmdsynopsis">
|
||||||
|
<xsl:copy-of select="node()"/>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:element>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Remove all remarks (for now). -->
|
||||||
|
<xsl:template match="remark"/>
|
||||||
|
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
183
doc/manual/docbook-refentry-to-manual-sect1.xsl
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
docbook-refentry-to-manual-sect1.xsl:
|
||||||
|
XSLT stylesheet for transforming a refentry (manpage)
|
||||||
|
to a sect1 for the user manual.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet
|
||||||
|
version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:str="http://xsltsl.org/string"
|
||||||
|
>
|
||||||
|
|
||||||
|
<xsl:import href="string.xsl"/>
|
||||||
|
|
||||||
|
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
|
||||||
|
<xsl:strip-space elements="*"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
global XSLT variables
|
||||||
|
- - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
base operation is to copy.
|
||||||
|
- - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<xsl:template match="node()|@*">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:apply-templates select="node()|@*"/>
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
|
- - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
|
||||||
|
<!-- rename refentry to sect1 -->
|
||||||
|
<xsl:template match="refentry">
|
||||||
|
<xsl:element name="sect1">
|
||||||
|
<xsl:attribute name="condition">refentry</xsl:attribute>
|
||||||
|
<xsl:apply-templates select="node()|@*"/>
|
||||||
|
</xsl:element>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Remove refentryinfo, keeping the title element. -->
|
||||||
|
<xsl:template match="refentryinfo">
|
||||||
|
<xsl:if test="./title">
|
||||||
|
<xsl:copy-of select="./title"/>
|
||||||
|
</xsl:if>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Morph refnamediv into a brief description. -->
|
||||||
|
<xsl:template match="refnamediv">
|
||||||
|
<xsl:element name="para">
|
||||||
|
<xsl:call-template name="capitalize">
|
||||||
|
<xsl:with-param name="text" select="normalize-space(./refpurpose)"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
<xsl:text>.</xsl:text>
|
||||||
|
</xsl:element>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Morph the refsynopsisdiv part into a synopsis section. -->
|
||||||
|
<xsl:template match="refsynopsisdiv">
|
||||||
|
<xsl:if test="name(*[1]) != 'cmdsynopsis'"><xsl:message terminate="yes">Expected refsynopsisdiv to start with cmdsynopsis</xsl:message></xsl:if>
|
||||||
|
<xsl:if test="title"><xsl:message terminate="yes">No title element supported in refsynopsisdiv</xsl:message></xsl:if>
|
||||||
|
|
||||||
|
<xsl:element name="sect2">
|
||||||
|
<xsl:attribute name="role">not-in-toc</xsl:attribute>
|
||||||
|
<xsl:attribute name="condition">refsynopsisdiv</xsl:attribute>
|
||||||
|
<xsl:element name="title">
|
||||||
|
<xsl:text>Synopsis</xsl:text>
|
||||||
|
</xsl:element>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:element>
|
||||||
|
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- refsect1 -> sect2 -->
|
||||||
|
<xsl:template match="refsect1">
|
||||||
|
<xsl:if test="not(title)"><xsl:message terminate="yes">refsect1 requires title</xsl:message></xsl:if>
|
||||||
|
<xsl:element name="sect2">
|
||||||
|
<xsl:attribute name="role">not-in-toc</xsl:attribute>
|
||||||
|
<xsl:attribute name="condition">refsect1</xsl:attribute>
|
||||||
|
<xsl:if test="@id">
|
||||||
|
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:element>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- refsect2 -> sect3 -->
|
||||||
|
<xsl:template match="refsect2">
|
||||||
|
<xsl:if test="not(title)"><xsl:message terminate="yes">refsect2 requires title</xsl:message></xsl:if>
|
||||||
|
<xsl:element name="sect3">
|
||||||
|
<xsl:attribute name="role">not-in-toc</xsl:attribute>
|
||||||
|
<xsl:attribute name="condition">refsect2</xsl:attribute>
|
||||||
|
<xsl:if test="@id">
|
||||||
|
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:element>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- refsect3 -> sect4 -->
|
||||||
|
<xsl:template match="refsect3">
|
||||||
|
<xsl:if test="not(title)"><xsl:message terminate="yes">refsect3 requires title</xsl:message></xsl:if>
|
||||||
|
<xsl:element name="sect4">
|
||||||
|
<xsl:attribute name="role">not-in-toc</xsl:attribute>
|
||||||
|
<xsl:attribute name="condition">refsect3</xsl:attribute>
|
||||||
|
<xsl:if test="@id">
|
||||||
|
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:element>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Remove refmeta. -->
|
||||||
|
<xsl:template match="refmeta"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
remark extensions:
|
||||||
|
-->
|
||||||
|
<!-- Default: remove all remarks. -->
|
||||||
|
<xsl:template match="remark"/>
|
||||||
|
|
||||||
|
<!-- help-manual - stuff that should only be included in the manual. -->
|
||||||
|
<xsl:template match="remark[@role = 'help-manual']">
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- help-copy-synopsis - used in refsect2 to copy synopsis from the refsynopsisdiv. -->
|
||||||
|
<xsl:template match="remark[@role = 'help-copy-synopsis']">
|
||||||
|
<xsl:if test="not(parent::refsect2)">
|
||||||
|
<xsl:message terminate="yes">The help-copy-synopsis remark is only applicable in refsect2.</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:variable name="sSrcId" select="concat('synopsis-',../@id)"/>
|
||||||
|
<xsl:if test="not(/refentry/refsynopsisdiv/cmdsynopsis[@id = $sSrcId])">
|
||||||
|
<xsl:message terminate="yes">Could not find any cmdsynopsis with id=<xsl:value-of select="$sSrcId"/> in refsynopsisdiv.</xsl:message>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:element name="cmdsynopsis">
|
||||||
|
<xsl:copy-of select="/refentry/refsynopsisdiv/cmdsynopsis[@id = $sSrcId]/node()"/>
|
||||||
|
</xsl:element>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Captializes the given text.
|
||||||
|
-->
|
||||||
|
<xsl:template name="capitalize">
|
||||||
|
<xsl:param name="text"/>
|
||||||
|
<xsl:call-template name="str:to-upper">
|
||||||
|
<xsl:with-param name="text" select="substring($text,1,1)"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
<xsl:value-of select="substring($text,2)"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
1305
doc/manual/docbook2latex.xsl
Normal file
29
doc/manual/dummy-sect1.xml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2019-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
<sect1>
|
||||||
|
Blah.
|
||||||
|
<xsect2>
|
||||||
|
More blah.
|
||||||
|
</xsect2>
|
||||||
|
</sect1>
|
||||||
|
|
32
doc/manual/en_US/.scm-settings
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# $Id: .scm-settings $
|
||||||
|
## @file
|
||||||
|
# Source code massager settings for the manual.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright (C) 2010-2023 Oracle and/or its affiliates.
|
||||||
|
#
|
||||||
|
# This file is part of VirtualBox base platform packages, as
|
||||||
|
# available from https://www.virtualbox.org.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation, in version 3 of the
|
||||||
|
# License.
|
||||||
|
#
|
||||||
|
# This program 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
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
/oracle-accessibility-ohc-en.xml: --external-copyright --no-strip-trailing-blanks
|
||||||
|
/oracle-support-en.xml: --external-copyright --no-strip-trailing-blanks
|
||||||
|
/oracle-diversity.xml: --external-copyright --no-strip-trailing-blanks
|
||||||
|
|
250
doc/manual/en_US/Accessibility.xml
Normal file
|
@ -0,0 +1,250 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||||
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
|
||||||
|
<!ENTITY % all.entities SYSTEM "all-entities.ent">
|
||||||
|
%all.entities;
|
||||||
|
]>
|
||||||
|
|
||||||
|
<book>
|
||||||
|
<bookinfo>
|
||||||
|
<title>&VBOX_PRODUCT;</title>
|
||||||
|
|
||||||
|
<subtitle>Accessibility Reference</subtitle>
|
||||||
|
|
||||||
|
<edition>Version &VBOX_VERSION_STRING;</edition>
|
||||||
|
|
||||||
|
<corpauthor>&VBOX_VENDOR;</corpauthor>
|
||||||
|
|
||||||
|
<address>https://www.virtualbox.org</address>
|
||||||
|
|
||||||
|
<copyright>
|
||||||
|
<year>2016-&VBOX_C_YEAR;</year>
|
||||||
|
|
||||||
|
<holder>&VBOX_VENDOR;</holder>
|
||||||
|
</copyright>
|
||||||
|
</bookinfo>
|
||||||
|
|
||||||
|
<chapter>
|
||||||
|
<title>Introduction</title>
|
||||||
|
<para>
|
||||||
|
Welcome to the <emphasis role="bold">VirtualBox Accessibility Support</emphasis> documentation! This document is primarily
|
||||||
|
a reference to help people who are interested in our project accessibility support and will describe how to use VirtualBox
|
||||||
|
user interface step-by-step. Since whole the application navigation will be explained here, this document will also be
|
||||||
|
helpful for those who are not familiar with our product user interface and wish to learn more. It will be written in a bit
|
||||||
|
excessive manner so that many obvious things will be explained too precisely to make it easier to understand by ear for a
|
||||||
|
blind users. The document will be periodically updated with recent changes and test-cases allowing us to more strictly
|
||||||
|
follow the required guidelines and make our product fully accessible.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Our application is based on Qt5, a powerful cross-platform library which allows to visualize various user interface ideas
|
||||||
|
the most flexible and native way. This also means that the library we use is responsible for many navigation and
|
||||||
|
accessibility aspects (like fonts, size hints, colors, look&feel patterns and many other things), but not for all of
|
||||||
|
them. Nativity as one of the main ideas of the Qt-based application sometimes brings additional complexity because there is
|
||||||
|
always at least one host which uses unique combination of fonts and colors which breaks accessibility support in an
|
||||||
|
unpredictable way.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Independently on platform we are supporting screen-reader applications which can communicate with Qt5 accessibility
|
||||||
|
interface which supports Microsoft Active Accessibility (MSAA), OS X Accessibility, and the Unix/X11 AT-SPI standard.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Our application user interface is able to be started in two modes:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
First of them is <emphasis role="bold">VirtualBox Manager</emphasis> user interface, the main application window
|
||||||
|
which allows to manage and configure virtual machines and their groups. Besides that, this window provides user with
|
||||||
|
access to various global and machine related tools allowing to administrate some of VirtualBox objects and their
|
||||||
|
settings.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Second application mode is <emphasis role="bold">Virtual Machine</emphasis> user interface, which allows to control
|
||||||
|
virtual machine guest screens as separate application windows. Besides that, this interface allows to access some of
|
||||||
|
machine tools and adjust guest screens up to your needs, by changing their resolution and toggling full-screen,
|
||||||
|
seamless and scaled modes.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
But first of all we should start from the <emphasis role="bold">General Concept</emphasis> which is related to whole the
|
||||||
|
GUI and summarizes the navigation and accessibility aspects we are using for whole application.
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter>
|
||||||
|
<title>General concept</title>
|
||||||
|
<para>
|
||||||
|
This chapter describes the general navigation and accessibility concept. We should note that not every detail of this
|
||||||
|
concept is already implemented and not every widget in our project already follows that concept. There is still large work
|
||||||
|
to be done in that regard. But in the end whole the project should correspond to this concept.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
In short, every application window of our project should be navigated using the following approaches:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>Mouse Navigation</para></listitem>
|
||||||
|
<listitem><para>Keyboard Navigation</para></listitem>
|
||||||
|
<listitem><para>Screen-reader Navigation</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
<sect1>
|
||||||
|
<title>Mouse Navigation</title>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each interactable widget can be focused with mouse (if that is not restricted by underlying host OS).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each hovered interactable widget causes own tool-tip to appear.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each tool-tip is given either in imperative mood (ex. "Create new virtual machine") or in short form (ex. "New").
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Short tool-tip form is only used if context is obvious for a user.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Tool-tip can contain shortcut mentioned in parentheses.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each hovered menu bar / toolbar action causes own status-tip to appear (if window have status-bar).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each status-tip is given in imperative mood only.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
TBD...
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</sect1>
|
||||||
|
<sect1>
|
||||||
|
<title>Keyboard Navigation</title>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each interactable widget can be focused with keyboard (if that is not restricted by underlying host OS).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Focusing is possible through tabbing or mnemonic navigation.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each button and menu bar / toolbar action can be directly activated with keyboard.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Activation is possible via shortcut or mnemonic.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each shortcut is configurable through application preferences.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Mnemonic mentioned above is underlined alphanumeric character which is a part of widget label (if widget has label).
|
||||||
|
Mnemonic being triggered in conjunction with the Alt key.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each mnemonic is unique within the visible part of current application window, there are no collisions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
TBD...
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</sect1>
|
||||||
|
<sect1>
|
||||||
|
<title>Screen-reader Navigation</title>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each interactable widget can be focused with screen-reader cursor.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each focused widget have clear name (or full description) in native user language.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each button and menu bar / toolbar action can be directly activated through the screen-reader cursor functionality.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each complex widget which has children (like list, tree, table and similar) is represented as closed group which
|
||||||
|
encapsulates it's children clearly.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
While navigating user is able to skip any group without forcing to be entered inside.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each group child can be a group itself with the same rules as above applicable.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Each text-field can be directly edited through the screen-reader cursor functionality.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
TBD...
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</sect1>
|
||||||
|
</chapter>
|
||||||
|
</book>
|
||||||
|
<!-- vim: set shiftwidth=2 tabstop=2 expandtab: -->
|
0
doc/manual/en_US/Makefile.kup
Normal file
6324
doc/manual/en_US/SDKRef.xml
Normal file
112
doc/manual/en_US/UserManual.xml
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||||
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
|
||||||
|
<!ENTITY % all.entities SYSTEM "all-entities.ent">
|
||||||
|
%all.entities;
|
||||||
|
]>
|
||||||
|
<book id="VBOXU" lang="en">
|
||||||
|
|
||||||
|
<!-- VBox bookinfo section -->
|
||||||
|
|
||||||
|
<bookinfo>
|
||||||
|
|
||||||
|
<title>&VBOX_PRODUCT;</title>
|
||||||
|
|
||||||
|
<subtitle>User Manual</subtitle>
|
||||||
|
|
||||||
|
<edition>Version &VBOX_VERSION_STRING;</edition>
|
||||||
|
|
||||||
|
<corpauthor>&VBOX_VENDOR;</corpauthor>
|
||||||
|
|
||||||
|
<address>http://www.virtualbox.org</address>
|
||||||
|
|
||||||
|
<copyright>
|
||||||
|
|
||||||
|
<year>2004-&VBOX_C_YEAR;</year>
|
||||||
|
|
||||||
|
<holder>&VBOX_VENDOR;</holder>
|
||||||
|
|
||||||
|
</copyright>
|
||||||
|
|
||||||
|
</bookinfo>
|
||||||
|
|
||||||
|
<xi:include href="user_Preface.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_Introduction.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_Installation.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_BasicConcepts.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_GuestAdditions.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_Storage.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_Networking.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_Frontends.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_VBoxManage.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_AdvancedTopics.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_Technical.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_VirtualBoxAPI.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_Troubleshooting.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_Security.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_KnownIssues.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_ChangeLog.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_ThirdParty.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_PrivacyPolicy.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
<xi:include href="user_Glossary.xml"
|
||||||
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
||||||
|
|
||||||
|
</book>
|
|
@ -0,0 +1,41 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
docbook-refentry-link-replacement-xsl-gen.xsl:
|
||||||
|
XSLT stylesheet for generate a stylesheet that replaces links
|
||||||
|
to the user manual in the manpages.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet
|
||||||
|
version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:str="http://xsltsl.org/string"
|
||||||
|
>
|
||||||
|
|
||||||
|
<xsl:import href="../docbook-refentry-link-replacement-xsl-gen.xsl"/>
|
||||||
|
|
||||||
|
<!-- Translated strings -->
|
||||||
|
<!-- none needed, English is the base language -->
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
||||||
|
|
BIN
doc/manual/en_US/images/clone-vm-1.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
doc/manual/en_US/images/clone-vm-2.png
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
doc/manual/en_US/images/clone-vm-3.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
doc/manual/en_US/images/cloud-profile-manager.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
doc/manual/en_US/images/cloudvm-add.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
doc/manual/en_US/images/cloudvm-new.png
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
doc/manual/en_US/images/cloudvm-oci-group.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
doc/manual/en_US/images/cloudvm-overview.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
doc/manual/en_US/images/create-vm-1.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
doc/manual/en_US/images/create-vm-2.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
doc/manual/en_US/images/create-vm-3.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
doc/manual/en_US/images/create-vm-4.png
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
doc/manual/en_US/images/details-pane.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
doc/manual/en_US/images/dnd-modes.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
doc/manual/en_US/images/export-appliance-oci.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
doc/manual/en_US/images/global-tools-menu.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
doc/manual/en_US/images/guest-fm.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
doc/manual/en_US/images/import-instance.png
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
doc/manual/en_US/images/log-viewer.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
doc/manual/en_US/images/machine-tools-menu.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
doc/manual/en_US/images/ovf-import.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
doc/manual/en_US/images/seamless.png
Normal file
After Width: | Height: | Size: 590 KiB |
BIN
doc/manual/en_US/images/session-information.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
doc/manual/en_US/images/snapshots-1.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
doc/manual/en_US/images/snapshots-2.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
doc/manual/en_US/images/softkeybd.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
doc/manual/en_US/images/upload-key.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
doc/manual/en_US/images/vbox-components.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
doc/manual/en_US/images/vboxlogo.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
doc/manual/en_US/images/virtual-disk-manager-2.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
doc/manual/en_US/images/virtual-disk-manager.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
doc/manual/en_US/images/virtual-hard-disk-wizard.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
doc/manual/en_US/images/virtualbox-main-empty.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
doc/manual/en_US/images/virtualbox-main.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
doc/manual/en_US/images/vm-activity-overview.png
Normal file
After Width: | Height: | Size: 122 KiB |
BIN
doc/manual/en_US/images/vm-close.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
doc/manual/en_US/images/vm-groups.png
Normal file
After Width: | Height: | Size: 113 KiB |
BIN
doc/manual/en_US/images/vm-hostkey.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
doc/manual/en_US/images/vm-settings-harddisk.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
doc/manual/en_US/images/vm-vista-running.png
Normal file
After Width: | Height: | Size: 511 KiB |
239
doc/manual/en_US/man_VBoxHeadless.xml
Normal file
|
@ -0,0 +1,239 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
manpage, user manual, usage: VBoxHeadless
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||||
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
|
||||||
|
<!ENTITY % all.entities SYSTEM "all-entities.ent">
|
||||||
|
%all.entities;
|
||||||
|
]>
|
||||||
|
<refentry id="man_vboxheadless" lang="en">
|
||||||
|
<refentryinfo>
|
||||||
|
<pubdate>August 2019</pubdate>
|
||||||
|
<title>VBoxHeadless</title>
|
||||||
|
</refentryinfo>
|
||||||
|
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>VBoxHeadless</refentrytitle>
|
||||||
|
<manvolnum>1</manvolnum>
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>VBoxHeadless</refname>
|
||||||
|
<refpurpose>&product-name; remote desktop server</refpurpose>
|
||||||
|
<refclass>Oracle VM VirtualBox</refclass>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis id="synopsis-vboxmanage-vboxheadless">
|
||||||
|
<command>VBoxHeadless</command>
|
||||||
|
<arg>--startvm=<group>
|
||||||
|
<arg choice="plain"><replaceable>uuid</replaceable></arg>
|
||||||
|
<arg choice="plain"><replaceable>vmname</replaceable></arg>
|
||||||
|
</group></arg>
|
||||||
|
<arg>--vrde=<group choice="plain">
|
||||||
|
<arg choice="plain">on</arg>
|
||||||
|
<arg choice="plain">off</arg>
|
||||||
|
<arg choice="plain">config</arg>
|
||||||
|
</group></arg>
|
||||||
|
<arg>--vrdeproperty=<replaceable>prop-name</replaceable>=[<replaceable>prop-value</replaceable>]</arg>
|
||||||
|
<arg>--settingspw=[<replaceable>password</replaceable>]</arg>
|
||||||
|
<arg>--settingspwfile=<replaceable>password-file</replaceable></arg>
|
||||||
|
<arg>--start-paused=<replaceable>vmname</replaceable></arg>
|
||||||
|
<arg>--capture</arg>
|
||||||
|
<arg>--width=<replaceable>width</replaceable></arg>
|
||||||
|
<arg>--height=<replaceable>height</replaceable></arg>
|
||||||
|
<arg>--bitrate=<replaceable>bit-rate</replaceable></arg>
|
||||||
|
<arg>--filename=<replaceable>filename</replaceable></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
<para>
|
||||||
|
The <command>VBoxHeadless</command> command is an alternate front
|
||||||
|
end that enables you to remotely manage virtual machines (VMs).
|
||||||
|
The front end is a CLI rather than the VirtualBox Manager
|
||||||
|
graphical user interface (GUI).
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
For information about using this command, see
|
||||||
|
<xref linkend="vboxheadless" />.
|
||||||
|
</para>
|
||||||
|
<refsect2 id="vboxmanage-vboxheadless-command-options">
|
||||||
|
<title>Command Options</title>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--startvm=<replaceable>uuid</replaceable> | <replaceable>vmname</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the Universally Unique Identifier (UUID) or name
|
||||||
|
of the VM to start.
|
||||||
|
</para><para>
|
||||||
|
Use the <command>VBoxManage list vms</command> command to
|
||||||
|
obtain VM information.
|
||||||
|
</para><para>
|
||||||
|
The short versions of this option are <option>-s</option>
|
||||||
|
and <option>-startvm</option>.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--vrde=on | off | config</option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies how to use the VRDP server. The default value is
|
||||||
|
<literal>config</literal>. Valid values are as follows:
|
||||||
|
</para><itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>on</literal> enables the VRDP server.
|
||||||
|
</para><screen>VBoxHeadless --startvm=<replaceable>vmname</replaceable> --vrde=on</screen></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>off</literal> disables the VRDP server.
|
||||||
|
</para><screen>VBoxHeadless --startvm=<replaceable>vmname</replaceable> --vrde=off</screen></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>config</literal> enables the VRDP server
|
||||||
|
depending on the VM configuration.
|
||||||
|
</para><screen>VBoxHeadless --startvm=<replaceable>vmname</replaceable> --vrde=config</screen></listitem>
|
||||||
|
</itemizedlist><para>
|
||||||
|
The short version of this option is <option>-v</option>.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--vrdeproperty=<replaceable>prop-name</replaceable>=<replaceable>prop-value</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies a value for one of the following properties:
|
||||||
|
</para><itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
The <literal>TCP/Ports</literal> property value is a
|
||||||
|
comma-separated list of ports to which the VRDE server
|
||||||
|
can bind. Use a hyphen (<literal>-</literal>) between
|
||||||
|
two port numbers to specify a range of ports.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
The <literal>TCP/Address</literal> property value is
|
||||||
|
the interface IP address to which to bind the VRDE
|
||||||
|
server.
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--settingspw=[<replaceable>password</replaceable>]</option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies a settings password to access encrypted
|
||||||
|
settings. If you do not specify the password on the
|
||||||
|
command line, <command>VBoxHeadless</command> prompts you
|
||||||
|
for the password.
|
||||||
|
</para><remark>
|
||||||
|
This design does not conform to Oracle's security
|
||||||
|
guidelines. You should not be able to specify a password
|
||||||
|
on the command line because the password can be seen in a
|
||||||
|
process listing.
|
||||||
|
</remark></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--settingspwfile=<replaceable>password-file</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the file that contains the settings password.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--start-paused=<replaceable>vmname</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Starts the specified VM in the paused state.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--capture</option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Records the VM screen output to a file. In addition to
|
||||||
|
this option, you must use the <option>--filename</option>
|
||||||
|
option to specify the name of the file.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--width=<replaceable>width</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the frame width of the recording in pixels. This
|
||||||
|
option is associated with the <option>--capture</option>
|
||||||
|
option.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--height=<replaceable>height</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the frame height of the recording in pixels.
|
||||||
|
This option is associated with the
|
||||||
|
<option>--capture</option> option.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--bitrate=<replaceable>bit-rate</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the bit rate of the recording in kilobits per
|
||||||
|
second. This option is associated with the
|
||||||
|
<option>--capture</option> option.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--filename=<replaceable>filename</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the name of the file in which to store the
|
||||||
|
recording. The codec used is based on the file extension
|
||||||
|
that you choose. You must specify this option if you use
|
||||||
|
the <option>--capture</option> option.
|
||||||
|
</para><remark>
|
||||||
|
Where can we get information about the file extensions
|
||||||
|
that are supported?
|
||||||
|
</remark></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect2>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Examples</title>
|
||||||
|
<remark role="help-scope" condition="GLOBAL"/>
|
||||||
|
<para>
|
||||||
|
The following command starts the <literal>ol7u4</literal> VM:
|
||||||
|
</para>
|
||||||
|
<screen>$ VBoxHeadless --startvm "ol7u4"</screen>
|
||||||
|
<para>
|
||||||
|
The following command starts the <literal>ol7u6</literal> VM in
|
||||||
|
the Paused state.
|
||||||
|
</para>
|
||||||
|
<screen>$ VBoxHeadless --startvm "ol7u6" --start-paused</screen>
|
||||||
|
<para>
|
||||||
|
The following command starts the <literal>ol7u6</literal> VM and
|
||||||
|
records the session. The recording is saved to the
|
||||||
|
<filename>ol7u6-recording</filename> WebM file.
|
||||||
|
</para>
|
||||||
|
<screen>$ VBoxHeadless --startvm "ol7u6" --capture --filename ol7u6-recording.webm</screen>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>See Also</title>
|
||||||
|
<para>
|
||||||
|
<xref linkend="vboxmanage-list" />,
|
||||||
|
<xref linkend="vboxmanage-startvm" />
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
112
doc/manual/en_US/man_VBoxManage-adoptstate.xml
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
manpage, user manual, usage: VBoxManage adoptstate
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||||
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
|
||||||
|
<!ENTITY % all.entities SYSTEM "all-entities.ent">
|
||||||
|
%all.entities;
|
||||||
|
]>
|
||||||
|
<refentry id="vboxmanage-adoptstate" lang="en">
|
||||||
|
<refentryinfo>
|
||||||
|
<pubdate>$Date: 2023-01-17 15:15:46 +0100 (Tue, 17 Jan 2023) $</pubdate>
|
||||||
|
<title>VBoxManage adoptstate</title>
|
||||||
|
</refentryinfo>
|
||||||
|
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>VBoxManage-adoptstate</refentrytitle>
|
||||||
|
<manvolnum>1</manvolnum>
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>VBoxManage-adoptstate</refname>
|
||||||
|
<refpurpose>change a virtual machine's state based on a saved state file</refpurpose>
|
||||||
|
<refclass>&product-name;</refclass>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis id="synopsis-vboxmanage-adoptstate">
|
||||||
|
<!-- The 'id' is mandatory and must start with 'synopsis-'. -->
|
||||||
|
<command>VBoxManage adoptstate</command>
|
||||||
|
<group choice="req">
|
||||||
|
<arg choice="plain"><replaceable>uuid</replaceable></arg>
|
||||||
|
<arg choice="plain"><replaceable>vmname</replaceable></arg>
|
||||||
|
</group>
|
||||||
|
<arg choice="req"><replaceable>state-filename</replaceable></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
<para>
|
||||||
|
The <command>VBoxManage adoptstate</command> command enables you
|
||||||
|
to change the state of a virtual machine (VM) to a state described
|
||||||
|
in a saved state file (<filename>.sav</filename>). This action is
|
||||||
|
referred to as a VM <emphasis>adopting</emphasis> a saved state
|
||||||
|
file. The saved state file must be separate from the VM
|
||||||
|
configuration.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
When you start the VM after adopting the saved state, the VM
|
||||||
|
restores its state from the saved state file.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Only use this command for custom deployments.
|
||||||
|
</para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><replaceable>uuid</replaceable> | <replaceable>vmname</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the Universally Unique Identifier (UUID) or name
|
||||||
|
of the VM.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><replaceable>state-filename</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the name of the saved state file.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Examples</title>
|
||||||
|
<remark role="help-scope" condition="GLOBAL" />
|
||||||
|
<para>
|
||||||
|
The following command adopts a saved state file called
|
||||||
|
<filename>mystate.sav</filename> by a VM called <literal>vm2</literal>.
|
||||||
|
A subsequent start of the VM called <literal>vm2</literal> restores the
|
||||||
|
state from the saved state file <filename>mystate.sav</filename>.
|
||||||
|
</para>
|
||||||
|
<screen>$ VBoxManage adoptstate vm2 /home/user/mystate.sav</screen>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>See Also</title>
|
||||||
|
<para>
|
||||||
|
<xref linkend="vboxmanage-discardstate"/>
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
307
doc/manual/en_US/man_VBoxManage-bandwidthctl.xml
Normal file
|
@ -0,0 +1,307 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
manpage, user manual, usage: VBoxManage bandwidthctl
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||||
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
|
||||||
|
<!ENTITY % all.entities SYSTEM "all-entities.ent">
|
||||||
|
%all.entities;
|
||||||
|
]>
|
||||||
|
<refentry id="vboxmanage-bandwidthctl" lang="en">
|
||||||
|
<refentryinfo>
|
||||||
|
<pubdate>$Date: 2023-01-17 15:15:46 +0100 (Tue, 17 Jan 2023) $</pubdate>
|
||||||
|
<title>VBoxManage bandwidthctl</title>
|
||||||
|
</refentryinfo>
|
||||||
|
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>VBoxManage-bandwidthctl</refentrytitle>
|
||||||
|
<manvolnum>1</manvolnum>
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>VBoxManage-bandwidthctl</refname>
|
||||||
|
<refpurpose>manage bandwidth groups</refpurpose>
|
||||||
|
<refclass>&product-name;</refclass>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis id="synopsis-vboxmanage-bandwidthctl-add">
|
||||||
|
<!-- The 'id' is mandatory and must start with 'synopsis-'. -->
|
||||||
|
<command>VBoxManage bandwidthctl</command>
|
||||||
|
<group choice="req">
|
||||||
|
<arg choice="plain"><replaceable>uuid</replaceable></arg>
|
||||||
|
<arg choice="plain"><replaceable>vmname</replaceable></arg>
|
||||||
|
</group>
|
||||||
|
<arg choice="plain">add</arg>
|
||||||
|
<arg choice="req"><replaceable>bandwidth-group-name</replaceable></arg>
|
||||||
|
<arg choice="req">--limit=<replaceable>bandwidth-limit</replaceable>[k|m|g|K|M|G]</arg>
|
||||||
|
<arg choice="req">--type=disk|network</arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
|
||||||
|
<cmdsynopsis id="synopsis-vboxmanage-bandwidthctl-list">
|
||||||
|
<command>VBoxManage bandwidthctl</command>
|
||||||
|
<group choice="req">
|
||||||
|
<arg choice="plain"><replaceable>uuid</replaceable></arg>
|
||||||
|
<arg choice="plain"><replaceable>vmname</replaceable></arg>
|
||||||
|
</group>
|
||||||
|
<arg choice="plain">list</arg>
|
||||||
|
<arg>--machinereadable</arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
|
||||||
|
<cmdsynopsis id="synopsis-vboxmanage-bandwidthctl-remove">
|
||||||
|
<command>VBoxManage bandwidthctl</command>
|
||||||
|
<group choice="req">
|
||||||
|
<arg choice="plain"><replaceable>uuid</replaceable></arg>
|
||||||
|
<arg choice="plain"><replaceable>vmname</replaceable></arg>
|
||||||
|
</group>
|
||||||
|
<arg choice="plain">remove</arg>
|
||||||
|
<arg choice="req"><replaceable>bandwidth-group-name</replaceable></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
|
||||||
|
<cmdsynopsis id="synopsis-vboxmanage-bandwidthctl-set">
|
||||||
|
<command>VBoxManage bandwidthctl</command>
|
||||||
|
<group choice="req">
|
||||||
|
<arg choice="plain"><replaceable>uuid</replaceable></arg>
|
||||||
|
<arg choice="plain"><replaceable>vmname</replaceable></arg>
|
||||||
|
</group>
|
||||||
|
<arg choice="plain">set</arg>
|
||||||
|
<arg choice="req"><replaceable>bandwidth-group-name</replaceable></arg>
|
||||||
|
<arg choice="req">--limit=<replaceable>bandwidth-limit</replaceable>[k|m|g|K|M|G]</arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
<para>
|
||||||
|
The <command>VBoxManage bandwidthctl</command> command enables you
|
||||||
|
to manage bandwidth groups for virtual machines (VMs). A bandwidth
|
||||||
|
group specifies the bandwidth limit for the disks or for the
|
||||||
|
network adapters of a VM.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Note that a network bandwidth limit applies only to the outbound
|
||||||
|
traffic from the VM. The inbound traffic is unlimited.
|
||||||
|
</para>
|
||||||
|
<refsect2 id="vboxmanage-bandwidthctl-add">
|
||||||
|
<title>Create a Bandwidth Group</title>
|
||||||
|
<remark role="help-copy-synopsis"/>
|
||||||
|
<para>
|
||||||
|
The <command>VBoxManage bandwidthctl add</command> command
|
||||||
|
creates a bandwidth group for the specified VM. You must specify
|
||||||
|
whether the bandwidth group is for disks or for networks, and
|
||||||
|
specify the bandwidth limit.
|
||||||
|
</para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><replaceable>uuid</replaceable> | <replaceable>vmname</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the Universally Unique Identifier (UUID) or the
|
||||||
|
name of the VM.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option><replaceable>bandwidth-group-name</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the name of the bandwidth group.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--type=disk|network</option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the type of the bandwidth group:
|
||||||
|
<literal>disk</literal> and <literal>network</literal>.
|
||||||
|
For more information, see
|
||||||
|
<xref linkend="storage-bandwidth-limit" /> or
|
||||||
|
<xref linkend="network_bandwidth_limit" />.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--limit=<replaceable>bandwidth-limit</replaceable>[k|m|g|K|M|G]</option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the bandwidth limit for a bandwidth group. The
|
||||||
|
default unit is megabytes per second. You can modify this
|
||||||
|
value while the VM is running.
|
||||||
|
</para><para>
|
||||||
|
You can change the unit by appending one of the following
|
||||||
|
unit specifiers to the bandwidth limit:
|
||||||
|
</para><itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>k</literal> – kilobits per second
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>m</literal> – megabits per second
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>g</literal> – gigabits per second
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>K</literal> – kilobytes per second
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>M</literal> – megabytes per second
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>G</literal> – gigabytes per second
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect2>
|
||||||
|
<refsect2 id="vboxmanage-bandwidthctl-list">
|
||||||
|
<title>List Bandwidth Groups</title>
|
||||||
|
<remark role="help-copy-synopsis"/>
|
||||||
|
<para>
|
||||||
|
The <command>VBoxManage bandwidthctl list</command> command
|
||||||
|
lists the all the bandwidth groups that have been defined for
|
||||||
|
the specified VM. Use the <option>--machinereadable</option>
|
||||||
|
option to produce the output in a machine-readable format, which
|
||||||
|
uses name-value pairs.
|
||||||
|
</para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><replaceable>uuid</replaceable> | <replaceable>vmname</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the UUID or the name of the VM.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--machinereadable</option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Outputs the information about the bandwidth groups in
|
||||||
|
name-value pairs.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect2>
|
||||||
|
<refsect2 id="vboxmanage-bandwidthctl-remove">
|
||||||
|
<title>Remove a Bandwidth Group</title>
|
||||||
|
<remark role="help-copy-synopsis"/>
|
||||||
|
<para>
|
||||||
|
The <command>VBoxManage bandwidthctl remove</command> command
|
||||||
|
removes a bandwidth group.
|
||||||
|
</para>
|
||||||
|
<note>
|
||||||
|
<para>
|
||||||
|
To successfully remove a bandwidth group, ensure that it is
|
||||||
|
not referenced by any disk or adapter in the running VM.
|
||||||
|
</para>
|
||||||
|
</note>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><replaceable>uuid</replaceable> | <replaceable>vmname</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the UUID or the name of the VM.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option><replaceable>bandwidth-group-name</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the name of the bandwidth group.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect2>
|
||||||
|
<refsect2 id="vboxmanage-bandwidthctl-set">
|
||||||
|
<title>Modify the Bandwidth Limit of a Bandwidth Group</title>
|
||||||
|
<remark role="help-copy-synopsis"/>
|
||||||
|
<para>
|
||||||
|
The <command>VBoxManage bandwidthctl set</command> command
|
||||||
|
modifies the bandwidth limit for a bandwidth group.
|
||||||
|
</para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><replaceable>uuid</replaceable> | <replaceable>vmname</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the UUID or the name of the VM.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option><replaceable>bandwidth-group-name</replaceable></option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the name of the bandwidth group.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--limit=<replaceable>bandwidth-limit</replaceable>[k|m|g|K|M|G]</option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the bandwidth limit for a bandwidth group. The
|
||||||
|
default unit is megabytes per second. You can modify this
|
||||||
|
value while the VM is running.
|
||||||
|
</para><para>
|
||||||
|
You can change the unit by appending one of the following
|
||||||
|
unit specifiers to the bandwidth limit:
|
||||||
|
</para><itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>k</literal> – kilobits per second
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>m</literal> – megabits per second
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>g</literal> – gigabits per second
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>K</literal> – kilobytes per second
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>M</literal> – megabytes per second
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>G</literal> – gigabytes per second
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect2>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Examples</title>
|
||||||
|
<remark role="help-scope" condition="GLOBAL"/>
|
||||||
|
<para>
|
||||||
|
The following example shows how to use the <command>VBoxManage
|
||||||
|
bandwidthctl</command> command to create the
|
||||||
|
<literal>Limit</literal> bandwidth group and set the limit to 20
|
||||||
|
Mbps. Then use the <command>VBoxManage modifyvm</command> command
|
||||||
|
to assign this bandwidth group to the first and second adapters of
|
||||||
|
the <literal>vm1</literal> VM.
|
||||||
|
</para>
|
||||||
|
<screen>$ VBoxManage bandwidthctl "vm1" add Limit --type network --limit 20m
|
||||||
|
$ VBoxManage modifyvm "vm1" --nicbandwidthgroup1 Limit
|
||||||
|
$ VBoxManage modifyvm "vm1" --nicbandwidthgroup2 Limit</screen>
|
||||||
|
<para>
|
||||||
|
You can dynamically modify the limit of a bandwidth group while
|
||||||
|
the VM is running. The following example shows how to modify the
|
||||||
|
limit for the <literal>Limit</literal> bandwidth group from 20
|
||||||
|
Mbps to 100 kbps:
|
||||||
|
</para>
|
||||||
|
<screen>$ VBoxManage bandwidthctl "vm1" set Limit --limit 100k</screen>
|
||||||
|
<para>
|
||||||
|
The following command disables shaping for all adapters in the
|
||||||
|
<literal>Limit</literal> bandwidth group by specifying a limit of
|
||||||
|
zero (<literal>0</literal>):
|
||||||
|
</para>
|
||||||
|
<screen>$ VBoxManage bandwidthctl "vm1" set Limit --limit 0</screen>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
113
doc/manual/en_US/man_VBoxManage-checkmediumpwd.xml
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
manpage, user manual, usage: VBoxManage checkmediumpwd
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||||
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
|
||||||
|
<!ENTITY % all.entities SYSTEM "all-entities.ent">
|
||||||
|
%all.entities;
|
||||||
|
]>
|
||||||
|
<refentry id="vboxmanage-checkmediumpwd" lang="en">
|
||||||
|
<refentryinfo>
|
||||||
|
<pubdate>$Date: 2023-01-17 15:15:46 +0100 (Tue, 17 Jan 2023) $</pubdate>
|
||||||
|
<title>VBoxManage checkmediumpwd</title>
|
||||||
|
</refentryinfo>
|
||||||
|
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>VBoxManage-checkmediumpwd</refentrytitle>
|
||||||
|
<manvolnum>1</manvolnum>
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>VBoxManage-checkmediumpwd</refname>
|
||||||
|
<refpurpose>check encryption password on a DEK-encrypted medium or a disk image</refpurpose>
|
||||||
|
<refclass>&product-name;</refclass>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis id="synopsis-vboxmanage-checkmediumpwd">
|
||||||
|
<!-- The 'id' is mandatory and must start with 'synopsis-'. -->
|
||||||
|
<command>VBoxManage checkmediumpwd</command>
|
||||||
|
<group choice="req">
|
||||||
|
<arg choice="plain"><replaceable>uuid</replaceable></arg>
|
||||||
|
<arg choice="plain"><replaceable>filename</replaceable></arg>
|
||||||
|
</group>
|
||||||
|
<arg choice="req"><replaceable>password-file</replaceable></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
<para>
|
||||||
|
The <command>VBoxManage checkmediumpwd</command> command checks
|
||||||
|
the current encryption password on a DEK-encrypted medium or a
|
||||||
|
disk image. See <xref linkend="diskencryption-encryption" />.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The command response indicates if the specified password is
|
||||||
|
correct.
|
||||||
|
</para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><replaceable>uuid</replaceable>|<replaceable>filename</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the Universally Unique Identifier (UUID) or the
|
||||||
|
absolute path name of the medium or image.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><replaceable>password-file</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the password to check. The password
|
||||||
|
can be the absolute path name of a password file
|
||||||
|
on the host OS or the dash character (<literal>-</literal>)
|
||||||
|
to prompt you for the password on the command line.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Examples</title>
|
||||||
|
<remark role="help-scope" condition="GLOBAL" />
|
||||||
|
<para>
|
||||||
|
The following example checks the encryption password for the
|
||||||
|
<filename>ol7u4-1.vdi</filename> disk image. The password
|
||||||
|
is contained in a file called <filename>pwfile</filename>.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The command returns a message indicating that the specified
|
||||||
|
password is correct.
|
||||||
|
</para>
|
||||||
|
<screen>$ VBoxManage checkmediumpwd "$HOME/VirtualBox VMs/ol7u4/ol7u4-1.vdi" /home/user/pwfile
|
||||||
|
The given password is correct</screen>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>See Also</title>
|
||||||
|
<para>
|
||||||
|
<xref linkend="vboxmanage-encryptmedium" />
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
214
doc/manual/en_US/man_VBoxManage-clonemedium.xml
Normal file
|
@ -0,0 +1,214 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
manpage, user manual, usage: VBoxManage clonemedium
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2006-2023 Oracle and/or its affiliates.
|
||||||
|
|
||||||
|
This file is part of VirtualBox base platform packages, as
|
||||||
|
available from https://www.virtualbox.org.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation, in version 3 of the
|
||||||
|
License.
|
||||||
|
|
||||||
|
This program 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
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses>.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
-->
|
||||||
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||||
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
|
||||||
|
<!ENTITY % all.entities SYSTEM "all-entities.ent">
|
||||||
|
%all.entities;
|
||||||
|
]>
|
||||||
|
<refentry id="vboxmanage-clonemedium" lang="en">
|
||||||
|
<refentryinfo>
|
||||||
|
<pubdate>$Date: 2023-01-17 15:15:46 +0100 (Tue, 17 Jan 2023) $</pubdate>
|
||||||
|
<title>VBoxManage clonemedium</title>
|
||||||
|
</refentryinfo>
|
||||||
|
|
||||||
|
<refmeta>
|
||||||
|
<refentrytitle>VBoxManage-clonemedium</refentrytitle>
|
||||||
|
<manvolnum>1</manvolnum>
|
||||||
|
</refmeta>
|
||||||
|
|
||||||
|
<refnamediv>
|
||||||
|
<refname>VBoxManage-clonemedium</refname>
|
||||||
|
<refpurpose>create a clone of a medium</refpurpose>
|
||||||
|
<refclass>&product-name;</refclass>
|
||||||
|
</refnamediv>
|
||||||
|
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis id="synopsis-vboxmanage-clonemedium">
|
||||||
|
<!-- The 'id' is mandatory and must start with 'synopsis-'. -->
|
||||||
|
<command>VBoxManage clonemedium</command>
|
||||||
|
<group choice="req">
|
||||||
|
<arg choice="plain"><replaceable>uuid</replaceable></arg>
|
||||||
|
<arg choice="plain"><replaceable>source-medium</replaceable></arg>
|
||||||
|
</group>
|
||||||
|
<group choice="req">
|
||||||
|
<arg choice="plain"><replaceable>uuid</replaceable></arg>
|
||||||
|
<arg choice="plain"><replaceable>target-medium</replaceable></arg>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<arg choice="plain">disk</arg>
|
||||||
|
<arg choice="plain">dvd</arg>
|
||||||
|
<arg choice="plain">floppy</arg>
|
||||||
|
</group>
|
||||||
|
<arg>--existing</arg>
|
||||||
|
<arg>--format=<group choice="plain">
|
||||||
|
<arg choice="plain">VDI</arg>
|
||||||
|
<arg choice="plain">VMDK</arg>
|
||||||
|
<arg choice="plain">VHD</arg>
|
||||||
|
<arg choice="plain">RAW</arg>
|
||||||
|
<arg choice="plain"><replaceable>other</replaceable></arg>
|
||||||
|
</group></arg>
|
||||||
|
<arg>--variant=Standard,Fixed,Split2G,Stream,ESX</arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Description</title>
|
||||||
|
<para>
|
||||||
|
The <command>VBoxManage clonemedium</command> command enables you
|
||||||
|
to clone an existing medium (virtual disk, DVD, or floppy), which
|
||||||
|
is typically an image file. Only the Universally Unique Identifier
|
||||||
|
(UUID) differs between the original image and the cloned image.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
You can use the Virtual Media Manager to transfer the cloned image
|
||||||
|
to another host system or reimport it into &product-name;. See
|
||||||
|
<xref linkend="virtual-media-manager" /> and <xref linkend="cloningvdis" />.
|
||||||
|
</para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><replaceable>uuid</replaceable> | <replaceable>source-medium</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the UUID or the absolute or relative file name of
|
||||||
|
the source medium to clone. You can specify the UUID of the
|
||||||
|
medium only if it is registered. Use the <command>VBoxManage
|
||||||
|
list hdds</command> command to list registered images.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><replaceable>uuid</replaceable> | <replaceable>target-medium</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the UUID or the absolute or relative file name of
|
||||||
|
the target (clone) medium. You can specify the UUID of the
|
||||||
|
target medium only if it is registered. Use the
|
||||||
|
<command>VBoxManage list hdds</command> command to list
|
||||||
|
registered images.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><literal>disk</literal> | <literal>dvd</literal> | <literal>floppy</literal></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the type of the medium to clone. Valid values are
|
||||||
|
<literal>disk</literal>, <literal>dvd</literal>, and
|
||||||
|
<literal>floppy</literal>. The default value is
|
||||||
|
<literal>disk</literal>.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--existing</option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Performs the clone operation by overwriting an existing
|
||||||
|
target medium. The result is that only the portion of the
|
||||||
|
source medium that fits into the existing target medium is
|
||||||
|
copied.
|
||||||
|
</para><para>
|
||||||
|
If the target medium is smaller than the source, only the
|
||||||
|
portion of the source medium up to the size of the target
|
||||||
|
medium is copied.
|
||||||
|
</para><para>
|
||||||
|
If the target medium is larger than the source, the
|
||||||
|
remaining part of the target medium is unchanged.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--format</option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the file format of the target medium if it differs
|
||||||
|
from the format of the source medium. Valid values are
|
||||||
|
<literal>VDI</literal>, <literal>VMDK</literal>,
|
||||||
|
<literal>VHD</literal>, <literal>RAW</literal>, and
|
||||||
|
<replaceable>other</replaceable>.
|
||||||
|
</para><remark>
|
||||||
|
What file formats can <replaceable>other</replaceable> be?
|
||||||
|
</remark></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--variant=Standard,Fixed,Split2G,Stream,ESX</option></term>
|
||||||
|
<listitem><para>
|
||||||
|
Specifies the file format variant for the target medium,
|
||||||
|
which is a comma-separated list of variants. Following are
|
||||||
|
the valid values:
|
||||||
|
</para><itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>Standard</literal> is the default disk image
|
||||||
|
type, which has a dynamically allocated file size.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>Fixed</literal> uses a disk image that has a
|
||||||
|
fixed file size.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>Split2G</literal> indicates that the disk image
|
||||||
|
is split into 2GB segments. This value is for VMDK only.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>Stream</literal> optimizes the disk image for
|
||||||
|
downloading. This value is for VMDK only.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
<literal>ESX</literal> is used for some VMWare products.
|
||||||
|
This value is for VMDK only.
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist><para>
|
||||||
|
Note that not all variant combinations are valid. Specifying
|
||||||
|
incompatible variant values in the list will produce an
|
||||||
|
error message.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
<note>
|
||||||
|
<para>
|
||||||
|
For compatibility with earlier versions of &product-name;, you
|
||||||
|
can use the <command>clonevdi</command> and
|
||||||
|
<command>clonehd</command> commands instead of the
|
||||||
|
<command>clonemedium</command> command.
|
||||||
|
</para>
|
||||||
|
</note>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>Examples</title>
|
||||||
|
<remark role="help-scope" condition="GLOBAL" />
|
||||||
|
<para>
|
||||||
|
The following command creates a clone of the
|
||||||
|
<filename>disk01.vdi</filename> disk image file. The clone is
|
||||||
|
called <filename>disk02.vdi</filename>.
|
||||||
|
</para>
|
||||||
|
<screen>$ VBoxManage clonemedium disk01.vdi disk02.vdi</screen>
|
||||||
|
<para>
|
||||||
|
The following command creates a clone of the
|
||||||
|
<filename>disk01.vdi</filename> disk image file. The clone is in
|
||||||
|
VMDK format and is called <filename>disk02.vmdk</filename>.
|
||||||
|
</para>
|
||||||
|
<screen>$ VBoxManage clonemedium disk01.vdi disk02.vmdk --format VMDK</screen>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>See Also</title>
|
||||||
|
<para>
|
||||||
|
<xref linkend="vboxmanage-list" />
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|