From nobody Mon Nov 10 21:08:57 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1589331535; cv=none; d=zohomail.com; s=zohoarc; b=ZV59gPKjrpUL67Z0sfJ8lqz3+6NgGbJDPybivTg/J9dxF0j5EAojj6gyp29XLP3WSUDws9Fm9eoxAK/FSkuSw9vLsmOo+JLkLFVAnycVI11ZivLPrs8PJ5V68siRGbS2RqaE5KYTUGnPUoXnLIQuThePa22E+8AGVhapcU3sZbE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1589331535; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1brDpjdUwGMbVSq6tuF5O7Jze20hQbuXMTaGnOz/sxI=; b=FgvgEKj/fj1syAiSVSD/MeYycV4Y4d2QDU0NjkaXbEsJxTyU/HKSPs/AWaEQ8TWm+nk9q3tlKEG4gqT6v3kZyJTsQfdZEKzDMS9O5fslcPweeWlm7e4smk6LjEoekQqmXxC/VOn9shdmJ7uzxV0mIzv3NDGPaEtvgRye2DTSUiw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1589331535383971.8196753544133; Tue, 12 May 2020 17:58:55 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jYfjB-0006JR-1i; Wed, 13 May 2020 00:58:29 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jYfj9-0006Id-NO for xen-devel@lists.xenproject.org; Wed, 13 May 2020 00:58:27 +0000 Received: from mail-qt1-x832.google.com (unknown [2607:f8b0:4864:20::832]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id d4c1b0ba-94b4-11ea-b07b-bc764e2007e4; Wed, 13 May 2020 00:58:17 +0000 (UTC) Received: by mail-qt1-x832.google.com with SMTP id x8so12777647qtr.2 for ; Tue, 12 May 2020 17:58:17 -0700 (PDT) Received: from six.lan (cpe-67-241-56-252.twcny.res.rr.com. [67.241.56.252]) by smtp.gmail.com with ESMTPSA id 62sm12400828qkh.113.2020.05.12.17.58.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2020 17:58:14 -0700 (PDT) X-Inumbo-ID: d4c1b0ba-94b4-11ea-b07b-bc764e2007e4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:in-reply-to:references:content-transfer-encoding; bh=1brDpjdUwGMbVSq6tuF5O7Jze20hQbuXMTaGnOz/sxI=; b=XD+Hf7/zflbEuxrNjcGjwwix11KTscuVE9nkRfu+8VCzg6CutgOmkc9Zhr+Z8erA70 6yiizRJwQSdJ5wiziDMYz21cylPU1OUg9bmvdG573SqyfJLJlivULyUVF56CXbDwQvI/ xh2bFZGlYf3lmqDVWwvjFJ++lSaIr3ocks2CG8DLtFfZ8USxh+Fqp+YU18qIqQettKP+ n/vvHQPOdLCmswDwCBQ5SyVSuwunbdWlqG392bvWk1RYsc9rT6lTK7T7tosAgVy4qDs9 wn6XyYzcTS6VnYYptEzaoF0vKV0nsjvyVgTZFOi6ex4XYls36ji/JDgmc8UGAsr60i2p /g/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:in-reply-to:references :content-transfer-encoding; bh=1brDpjdUwGMbVSq6tuF5O7Jze20hQbuXMTaGnOz/sxI=; b=idr/KFTybXg1tkFv6tYtqWuDK4jTEZI8LDjT3/KOSw6FTRdsQxHoa9OGbTCs/F+0PJ rfjiPM17Sz8ayMI1Z7UxjTJLPXQI9HkoUnf6xWYK0/tFuxRHC3suHhN1Z1DdIUEyV/oB HeKtpBNXaAC8O5sc4zK0mQpQ9M/nUi7GAHLuhgY/wMIHkjooDpvwlNVoJEycOAizn7oT 3JVbK7wTZaEG12I1luyDdJmfGURmUpuRhlgrqGb/YYFQeG72yavd9YkuVFD8VX5eE98Y OSBM3ArbQ3Z6B881hsWcoB3b1o/TNu18jc90DFFmb3KF8KPB6FOnc24ZYu7Q+CEzTTkJ lryQ== X-Gm-Message-State: AGi0PuYt29qA2ElsJNomh5DnSRCrInddGRmlzizu0gydcc1dgwl4Dn7l 117aW5Nlc4mHWnteU7BEfguIv8aaczM= X-Google-Smtp-Source: APiQypLmY2UikkTHR9+BQw2L5vEGBMeA6STde8Z5tyapQpQljpKFtb9u/T8A0nngKy1Ge2qV36mz2Q== X-Received: by 2002:ac8:6b44:: with SMTP id x4mr14047305qts.353.1589331495390; Tue, 12 May 2020 17:58:15 -0700 (PDT) From: Nick Rosbrook X-Google-Original-From: Nick Rosbrook To: xen-devel@lists.xenproject.org Subject: [PATCH v2 3/3] golang/xenlight: add necessary module/package documentation Date: Tue, 12 May 2020 20:58:07 -0400 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: References: MIME-Version: 1.0 In-Reply-To: References: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Julien Grall , Wei Liu , Andrew Cooper , Ian Jackson , George Dunlap , Nick Rosbrook , Jan Beulich Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Add a README and package comment giving a brief overview of the package. These also help pkg.go.dev generate better documentation. Also, add a copy of the LGPL (the same license used by libxl) to tools/golang/xenlight. This is required for the package to be shown on pkg.go.dev and added to the default module proxy, proxy.golang.org. Finally, add an entry for the xenlight package to SUPPORT.md. Signed-off-by: Nick Rosbrook Reviewed-by: George Dunlap --- Changes in v2: - Use LGPL instead of GPL for license. - Change some wording in README for clarity. - Add entry to SUPPORT.md for xenlight package. --- SUPPORT.md | 6 + tools/golang/xenlight/LICENSE | 198 ++++++++++++++++++++++++++++++ tools/golang/xenlight/README.md | 17 +++ tools/golang/xenlight/xenlight.go | 2 + 4 files changed, 223 insertions(+) create mode 100644 tools/golang/xenlight/LICENSE create mode 100644 tools/golang/xenlight/README.md diff --git a/SUPPORT.md b/SUPPORT.md index 7270c9b021..e3a366fd56 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -147,6 +147,12 @@ Output of information in machine-parseable JSON format =20 Status: Supported =20 +### xenlight Go package + +Go (golang) bindings for libxl + + Status: Experimental + ## Toolstack/3rd party =20 ### libvirt driver for xl diff --git a/tools/golang/xenlight/LICENSE b/tools/golang/xenlight/LICENSE new file mode 100644 index 0000000000..d4d1f17688 --- /dev/null +++ b/tools/golang/xenlight/LICENSE @@ -0,0 +1,198 @@ +This repository is distributed under the terms of the GNU Lesser General +Public License version 2.1 (included below). + +As a special exception to the GNU Lesser General Public License, you +may link, statically or dynamically, a "work that uses the Library" +with a publicly distributed version of the Library to produce an +executable file containing portions of the Library, and distribute +that executable file under terms of your choice, without any of the +additional requirements listed in clause 6 of the GNU Lesser General +Public License. By "a publicly distributed version of the Library", +we mean either the unmodified Library as distributed, or a +modified version of the Library that is distributed under the +conditions defined in clause 3 of the GNU Library General Public +License. This exception does not however invalidate any other reasons +why the executable file might be covered by the GNU Lesser General +Public License. + +------------ + +GNU LESSER GENERAL PUBLIC LICENSE +Version 2.1, February 1999 + + +Copyright (C) 1991, 1999 Free Software Foundation, Inc. +59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + +Preamble +The licenses for most software are designed to take away your freedom to s= hare and change it. By contrast, the GNU General Public Licenses are intend= ed to guarantee your freedom to share and change free software--to make sur= e the software is free for all its users. + +This license, the Lesser General Public License, applies to some specially= designated software packages--typically libraries--of the Free Software Fo= undation and other authors who decide to use it. You can use it too, but we= suggest you first think carefully about whether this license or the ordina= ry General Public License is the better strategy to use in any particular c= ase, based on the explanations below. + +When we speak of free software, we are referring to freedom of use, not pr= ice. Our General Public Licenses are designed to make sure that you have th= e freedom to distribute copies of free software (and charge for this servic= e if you wish); that you receive source code or can get it if you want it; = that you can change the software and use pieces of it in new free programs;= and that you are informed that you can do these things. + +To protect your rights, we need to make restrictions that forbid distribut= ors to deny you these rights or to ask you to surrender these rights. These= restrictions translate to certain responsibilities for you if you distribu= te copies of the library or if you modify it. + +For example, if you distribute copies of the library, whether gratis or fo= r a fee, you must give the recipients all the rights that we gave you. You = must make sure that they, too, receive or can get the source code. If you l= ink other code with the library, you must provide complete object files to = the recipients, so that they can relink them with the library after making = changes to the library and recompiling it. And you must show them these ter= ms so they know their rights. + +We protect your rights with a two-step method: (1) we copyright the librar= y, and (2) we offer you this license, which gives you legal permission to c= opy, distribute and/or modify the library. + +To protect each distributor, we want to make it very clear that there is n= o warranty for the free library. Also, if the library is modified by someon= e else and passed on, the recipients should know that what they have is not= the original version, so that the original author's reputation will not be= affected by problems that might be introduced by others. + +Finally, software patents pose a constant threat to the existence of any f= ree program. We wish to make sure that a company cannot effectively restric= t the users of a free program by obtaining a restrictive license from a pat= ent holder. Therefore, we insist that any patent license obtained for a ver= sion of the library must be consistent with the full freedom of use specifi= ed in this license. + +Most GNU software, including some libraries, is covered by the ordinary GN= U General Public License. This license, the GNU Lesser General Public Licen= se, applies to certain designated libraries, and is quite different from th= e ordinary General Public License. We use this license for certain librarie= s in order to permit linking those libraries into non-free programs. + +When a program is linked with a library, whether statically or using a sha= red library, the combination of the two is legally speaking a combined work= , a derivative of the original library. The ordinary General Public License= therefore permits such linking only if the entire combination fits its cri= teria of freedom. The Lesser General Public License permits more lax criter= ia for linking other code with the library. + +We call this license the "Lesser" General Public License because it does L= ess to protect the user's freedom than the ordinary General Public License.= It also provides other free software developers Less of an advantage over = competing non-free programs. These disadvantages are the reason we use the = ordinary General Public License for many libraries. However, the Lesser lic= ense provides advantages in certain special circumstances. + +For example, on rare occasions, there may be a special need to encourage t= he widest possible use of a certain library, so that it becomes a de-facto = standard. To achieve this, non-free programs must be allowed to use the lib= rary. A more frequent case is that a free library does the same job as wide= ly used non-free libraries. In this case, there is little to gain by limiti= ng the free library to free software only, so we use the Lesser General Pub= lic License. + +In other cases, permission to use a particular library in non-free program= s enables a greater number of people to use a large body of free software. = For example, permission to use the GNU C Library in non-free programs enabl= es many more people to use the whole GNU operating system, as well as its v= ariant, the GNU/Linux operating system. + +Although the Lesser General Public License is Less protective of the users= ' freedom, it does ensure that the user of a program that is linked with th= e Library has the freedom and the wherewithal to run that program using a m= odified version of the Library. + +The precise terms and conditions for copying, distribution and modificatio= n follow. Pay close attention to the difference between a "work based on th= e library" and a "work that uses the library". The former contains code der= ived from the library, whereas the latter must be combined with the library= in order to run. + + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +0. This License Agreement applies to any software library or other program= which contains a notice placed by the copyright holder or other authorized= party saying it may be distributed under the terms of this Lesser General = Public License (also called "this License"). Each licensee is addressed as = "you". + +A "library" means a collection of software functions and/or data prepared = so as to be conveniently linked with application programs (which use some o= f those functions and data) to form executables. + +The "Library", below, refers to any such software library or work which ha= s been distributed under these terms. A "work based on the Library" means e= ither the Library or any derivative work under copyright law: that is to sa= y, a work containing the Library or a portion of it, either verbatim or wit= h modifications and/or translated straightforwardly into another language. = (Hereinafter, translation is included without limitation in the term "modif= ication".) + +"Source code" for a work means the preferred form of the work for making m= odifications to it. For a library, complete source code means all the sourc= e code for all modules it contains, plus any associated interface definitio= n files, plus the scripts used to control compilation and installation of t= he library. + +Activities other than copying, distribution and modification are not cover= ed by this License; they are outside its scope. The act of running a progra= m using the Library is not restricted, and output from such a program is co= vered only if its contents constitute a work based on the Library (independ= ent of the use of the Library in a tool for writing it). Whether that is tr= ue depends on what the Library does and what the program that uses the Libr= ary does. + +1. You may copy and distribute verbatim copies of the Library's complete s= ource code as you receive it, in any medium, provided that you conspicuousl= y and appropriately publish on each copy an appropriate copyright notice an= d disclaimer of warranty; keep intact all the notices that refer to this Li= cense and to the absence of any warranty; and distribute a copy of this Lic= ense along with the Library. + +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 Library or any portion of it,= thus forming a work based on the Library, and copy and distribute such mod= ifications or work under the terms of Section 1 above, provided that you al= so meet all of these conditions: + + +a) The modified work must itself be a software library. +b) You must cause the files modified to carry prominent notices stating th= at you changed the files and the date of any change. +c) You must cause the whole of the work to be licensed at no charge to all= third parties under the terms of this License. +d) If a facility in the modified Library refers to a function or a table o= f data to be supplied by an application program that uses the facility, oth= er than as an argument passed when the facility is invoked, then you must m= ake a good faith effort to ensure that, in the event an application does no= t supply such function or table, the facility still operates, and performs = whatever part of its purpose remains meaningful. +(For example, a function in a library to compute square roots has a purpos= e that is entirely well-defined independent of the application. Therefore, = Subsection 2d requires that any application-supplied function or table used= by this function must be optional: if the application does not supply it, = the square root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If identifiable = sections of that work are not derived from the Library, and can be reasonab= ly considered independent and separate works in themselves, then this Licen= se, 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 w= hole which is a work based on the Library, the distribution of the whole mu= st be on the terms of this License, whose permissions for other licensees e= xtend to the entire whole, and thus to each and every part regardless of wh= o 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 bas= ed on the Library. + +In addition, mere aggregation of another work not based on the Library wit= h the Library (or with a work based on the Library) on a volume of a storag= e or distribution medium does not bring the other work under the scope of t= his License. + +3. You may opt to apply the terms of the ordinary GNU General Public Licen= se instead of this License to a given copy of the Library. To do this, you = must alter all the notices that refer to this License, so that they refer t= o the ordinary GNU General Public License, version 2, instead of to this Li= cense. (If a newer version than version 2 of the ordinary GNU General Publi= c License has appeared, then you can specify that version instead if you wi= sh.) Do not make any other change in these notices. + +Once this change is made in a given copy, it is irreversible for that copy= , so the ordinary GNU General Public License applies to all subsequent copi= es and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of the Librar= y into a program that is not a library. + +4. You may copy and distribute the Library (or a portion or derivative of = it, under Section 2) in object code or executable form under the terms of S= ections 1 and 2 above provided that you accompany it with the complete corr= esponding 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. + +If distribution of object code is made by offering access to copy from a d= esignated place, then offering equivalent access to copy the source code fr= om the same place satisfies the requirement to distribute the source code, = even though third parties are not compelled to copy the source along with t= he object code. + +5. A program that contains no derivative of any portion of the Library, bu= t is designed to work with the Library by being compiled or linked with it,= is called a "work that uses the Library". Such a work, in isolation, is no= t a derivative work of the Library, and therefore falls outside the scope o= f this License. + +However, linking a "work that uses the Library" with the Library creates a= n executable that is a derivative of the Library (because it contains porti= ons of the Library), rather than a "work that uses the library". The execut= able is therefore covered by this License. Section 6 states terms for distr= ibution of such executables. + +When a "work that uses the Library" uses material from a header file that = is part of the Library, the object code for the work may be a derivative wo= rk of the Library even though the source code is not. Whether this is true = is especially significant if the work can be linked without the Library, or= if the work is itself a library. The threshold for this to be true is not = precisely defined by law. + +If such an object file uses only numerical parameters, data structure layo= uts and accessors, and small macros and small inline functions (ten lines o= r less in length), then the use of the object file is unrestricted, regardl= ess of whether it is legally a derivative work. (Executables containing thi= s object code plus portions of the Library will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may distribute = the object code for the work under the terms of Section 6. Any executables = containing that work also fall under Section 6, whether or not they are lin= ked directly with the Library itself. + +6. As an exception to the Sections above, you may also combine or link a "= work that uses the Library" with the Library to produce a work containing p= ortions of the Library, and distribute that work under terms of your choice= , provided that the terms permit modification of the work for the customer'= s own use and reverse engineering for debugging such modifications. + +You must give prominent notice with each copy of the work that the Library= is used in it and that the Library and its use are covered by this License= . You must supply a copy of this License. If the work during execution disp= lays copyright notices, you must include the copyright notice for the Libra= ry among them, as well as a reference directing the user to the copy of thi= s License. Also, you must do one of these things: + + +a) Accompany the work with the complete corresponding machine-readable sou= rce code for the Library including whatever changes were used in the work (= which must be distributed under Sections 1 and 2 above); and, if the work i= s an executable linked with the Library, with the complete machine-readable= "work that uses the Library", as object code and/or source code, so that t= he user can modify the Library and then relink to produce a modified execut= able containing the modified Library. (It is understood that the user who c= hanges the contents of definitions files in the Library will not necessaril= y be able to recompile the application to use the modified definitions.) +b) Use a suitable shared library mechanism for linking with the Library. A= suitable mechanism is one that (1) uses at run time a copy of the library = already present on the user's computer system, rather than copying library = functions into the executable, and (2) will operate properly with a modifie= d version of the library, if the user installs one, as long as the modified= version is interface-compatible with the version that the work was made wi= th. +c) Accompany the work with a written offer, valid for at least three years= , to give the same user the materials specified in Subsection 6a, above, fo= r a charge no more than the cost of performing this distribution. +d) If distribution of the work is made by offering access to copy from a d= esignated place, offer equivalent access to copy the above specified materi= als from the same place. +e) Verify that the user has already received a copy of these materials or = that you have already sent this user a copy. +For an executable, the required form of the "work that uses the Library" m= ust include any data and utility programs needed for reproducing the execut= able from it. However, as a special exception, the materials to be distribu= ted need not include anything that is normally distributed (in either sourc= e or binary form) with the major components (compiler, kernel, and so on) o= f the operating system on which the executable runs, unless that component = itself accompanies the executable. + +It may happen that this requirement contradicts the license restrictions o= f other proprietary libraries that do not normally accompany the operating = system. Such a contradiction means you cannot use both them and the Library= together in an executable that you distribute. + +7. You may place library facilities that are a work based on the Library s= ide-by-side in a single library together with other library facilities not = covered by this License, and distribute such a combined library, provided t= hat the separate distribution of the work based on the Library and of the o= ther library facilities is otherwise permitted, and provided that you do th= ese two things: + + +a) Accompany the combined library with a copy of the same work based on th= e Library, uncombined with any other library facilities. This must be distr= ibuted under the terms of the Sections above. +b) Give prominent notice with the combined library of the fact that part o= f it is a work based on the Library, and explaining where to find the accom= panying uncombined form of the same work. +8. You may not copy, modify, sublicense, link with, or distribute the Libr= ary except as expressly provided under this License. Any attempt otherwise = to copy, modify, sublicense, link with, or distribute the Library is void, = and will automatically terminate your rights under this License. However, p= arties who have received copies, or rights, from you under this License wil= l not have their licenses terminated so long as such parties remain in full= compliance. + +9. 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= Library or its derivative works. These actions are prohibited by law if yo= u do not accept this License. Therefore, by modifying or distributing the L= ibrary (or any work based on the Library), you indicate your acceptance of = this License to do so, and all its terms and conditions for copying, distri= buting or modifying the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the Libra= ry), the recipient automatically receives a license from the original licen= sor to copy, distribute, link with or modify the Library subject to these t= erms and conditions. You may not impose any further restrictions on the rec= ipients' exercise of the rights granted herein. You are not responsible for= enforcing compliance by third parties with this License. + +11. If, as a consequence of a court judgment or allegation of patent infri= ngement or for any other reason (not limited to patent issues), conditions = are imposed on you (whether by court order, agreement or otherwise) that co= ntradict the conditions of this License, they do not excuse you from the co= nditions of this License. If you cannot distribute so as to satisfy simulta= neously your obligations under this License and any other pertinent obligat= ions, then as a consequence you may not distribute the Library at all. For = example, if a patent license would not permit royalty-free redistribution o= f the Library by all those who receive copies directly or indirectly throug= h you, then the only way you could satisfy both it and this License would b= e to refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any = particular circumstance, the balance of the section is intended to apply, a= nd 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 patent= s 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 practic= es. Many people have made generous contributions to the wide range of softw= are distributed through that system in reliance on consistent application o= f that system; it is up to the author/donor to decide if he or she is willi= ng to distribute software through any other system and a licensee cannot im= pose that choice. + +This section is intended to make thoroughly clear what is believed to be a= consequence of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in certain= countries either by patents or by copyrighted interfaces, the original cop= yright holder who places the Library under this License may add an explicit= geographical distribution limitation excluding those countries, so that di= stribution is permitted only in or among countries not thus excluded. In su= ch case, this License incorporates the limitation as if written in the body= of this License. + +13. The Free Software Foundation may publish revised and/or new versions o= f the Lesser General Public License from time to time. Such new versions wi= ll 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 Library spec= ifies a version number of this License which applies to it and "any later v= ersion", you have the option of following the terms and conditions either o= f that version or of any later version published by the Free Software Found= ation. If the Library does not specify a license version number, you may ch= oose any version ever published by the Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free progra= ms whose distribution conditions are incompatible with these, 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 m= ake exceptions for this. Our decision will be guided by the two goals of pr= eserving the free status of all derivatives of our free software and of pro= moting the sharing and reuse of software generally. + +NO WARRANTY + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY F= OR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHE= RWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE = THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLI= ED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILIT= Y AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY A= ND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTI= VE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. 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 REDISTR= IBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDI= NG ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF= THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS= OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR TH= IRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE)= , 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 Libraries +If you develop a new library, and you want it to be of the greatest possib= le use to the public, we recommend making it free software that everyone ca= n redistribute and change. You can do so by permitting redistribution under= these terms (or, alternatively, under the terms of the ordinary General Pu= blic License). + +To apply these terms, attach the following notices to the library. It is s= afest to attach them to the start of each source file to most effectively c= onvey the exclusion of warranty; and each file should have at least the "co= pyright" line and a pointer to where the full notice is found. + + +one line to give the library's name and an idea of what it does. +Copyright (C) year name of author + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; If not, see . + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your sc= hool, if any, to sign a "copyright disclaimer" for the library, if necessar= y. Here is a sample; alter the names: + + +Yoyodyne, Inc., hereby disclaims all copyright interest in +the library `Frob' (a library for tweaking knobs) written +by James Random Hacker. + +signature of Ty Coon, 1 April 1990 +Ty Coon, President of Vice + +That's all there is to it! diff --git a/tools/golang/xenlight/README.md b/tools/golang/xenlight/README= .md new file mode 100644 index 0000000000..046f86ab3e --- /dev/null +++ b/tools/golang/xenlight/README.md @@ -0,0 +1,17 @@ +# xenlight + +## About + +The xenlight package provides Go bindings to Xen's libxl C library via cgo= . The package is currently in an unstable "experimental" state. This means = the package is ready for initial use and evaluation, but is not yet fully f= unctional. Namely, only a subset of libxl's API is implemented, and breakin= g changes may occur in future package versions. + +Much of the package is generated using the libxl IDL. Changes to the gener= ated code can be made by modifying `tools/golang/xenlight/gengotypes.py` in= the xen.git tree. + +## Getting Started + +```go +import ( + "xenbits.xenproject.org/git-http/xen.git/tools/golang/xenlight" +) +``` + +The module is not yet tagged independently of xen.git; if you don=E2=80=99= t specify the version, you=E2=80=99ll get the most recent development versi= on, which is probably not what you want. A better option would be to speci= fy a Xen release tag; for instance: `go get xenbits.xenproject.org/git-http= /xen.git/tools/golang/xenlight@RELEASE-4.14.0`. diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenl= ight.go index 6b4f492550..3eaa5a3d63 100644 --- a/tools/golang/xenlight/xenlight.go +++ b/tools/golang/xenlight/xenlight.go @@ -14,6 +14,8 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; If not, see . */ + +// Package xenlight provides bindings to Xen's libxl C library. package xenlight =20 /* --=20 2.17.1