Commit sysroot / cross-compile build tree
This commit is contained in:
commit
faa6d3b4a9
2449 changed files with 561128 additions and 0 deletions
24
.gitignore
vendored
Normal file
24
.gitignore
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
*.a
|
||||
*.tar
|
||||
*.tar.*
|
||||
*.tgz
|
||||
*.tbz
|
||||
*.txz
|
||||
.dirstamp
|
||||
build/
|
||||
.built
|
||||
.installed
|
||||
config.mk
|
||||
.skeleton.built
|
||||
.links
|
||||
.dlfix
|
||||
.configured
|
||||
world/.stripped
|
||||
chroot.sh
|
||||
clean-chroot.sh
|
||||
newchroot.sh
|
||||
locales.mk
|
||||
src-files.mk
|
||||
awkgram.tab.c
|
||||
awkgram.tab.h
|
||||
proctab.c
|
28
COPYING
Normal file
28
COPYING
Normal file
|
@ -0,0 +1,28 @@
|
|||
Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
|
||||
The build tree for HitchHiker Linux is released to the public under the
|
||||
terms of the standard BEERWARE license (see LICENSE.BEERWARE). Portions
|
||||
of the source code are imported from external sources and retain their
|
||||
original license as shown in each relevant subdirectory.
|
||||
|
||||
The build tree fetches and installs a large amount of software released
|
||||
under the terms of the GPL and LGPL licenses (see LICENSE.GPL3 and
|
||||
LICENSE.LGPL3 respectively). Such source code is not imported directly
|
||||
into the build tree and retains the terms of it's original license.
|
||||
|
||||
It is believed by the project (HitchHiker Linux) that all of the above
|
||||
referenced licenses came to being in order to grant the end user greater
|
||||
freedom of choice in what software runs on their computing devices. It
|
||||
can be easily demonstrated that at times licensing issues have kept BSD
|
||||
and GPL licensed code seperate and in so doing have not served the needs
|
||||
of the users.
|
||||
|
||||
The moment a free software license becomes an impediment to using the
|
||||
code in the way in which the user wants to, the license is in effect
|
||||
subverting itself and it's intended purpose.
|
||||
|
||||
What this means is that the project (HitchHiker Linux), while intending
|
||||
to comply so far as possible with licensing terms, will use all freely
|
||||
available code irrespective of free software license variety. It also
|
||||
means that so far as the code developed by the project itself, please
|
||||
just do what you want with it, so long as credit is given.
|
26
INSTALL
Normal file
26
INSTALL
Normal file
|
@ -0,0 +1,26 @@
|
|||
To bootstrap from another linux system:
|
||||
|
||||
Make sure you have a full development environment installed including
|
||||
compiler, linker, headers etc. Git is also required for several stages,
|
||||
along with GNU wget. Commands following a # prompt are run as root, while
|
||||
those following a % prompt can be run as your normal user.
|
||||
|
||||
Bind mount the source directory on /usr/src:
|
||||
# mount -Bv <path to sourcedir> /src
|
||||
|
||||
Create a link required for the correct installation of the temporary
|
||||
toolchain:
|
||||
# ln -sv <path to sourcedir>/build/toolchain /toolchain
|
||||
|
||||
Set up the environment by sourcing an included script:
|
||||
# source scripts/setenv.sh
|
||||
|
||||
The system is now bootstrapped with minimal changes to the host. Should
|
||||
you wish to abort partway through and continue later, simply unmount
|
||||
/src and then remount it when ready to begin again.
|
||||
|
||||
To build the system:
|
||||
% make buildtools
|
||||
# make buildworld
|
||||
|
||||
This creates a complete root filesystem in /src/build
|
26
LICENSE.BEERWARE
Normal file
26
LICENSE.BEERWARE
Normal file
|
@ -0,0 +1,26 @@
|
|||
|
||||
-----------------------------------------------------------------------
|
||||
"THE BEER-WARE LICENSE" (Revision 42):
|
||||
<jeang3nie@HitchHiker-Linux.org> wrote this file. As long as you retain
|
||||
this notice you can do whatever you want with this stuff. If we meet
|
||||
some day, and you think this stuff is worth it, you can buy me a beer
|
||||
in return.
|
||||
-----------------------------------------------------------------------
|
||||
______ _______ _ _________
|
||||
( __ \ ( ___ )( ( /|( )\__ __/
|
||||
| ( \ )| ( ) || \ ( ||/ ) (
|
||||
| | ) || | | || \ | | | |
|
||||
| | | || | | || (\ \) | | |
|
||||
| | ) || | | || | \ | | |
|
||||
| (__/ )| (___) || ) \ | | |
|
||||
(______/ (_______)|/ )_) )_(
|
||||
|
||||
_______ _______ _ _________ _______
|
||||
( ____ )( ___ )( \ /|\__ __/( ____ \
|
||||
| ( )|| ( ) || \ ( | ) ( | ( |/
|
||||
| (____)|| (___) || \ | | | | | |
|
||||
| _____)| ___ || (\ \) | | | | |
|
||||
| ( | ( ) || | \ | | | | |
|
||||
| ) | ) ( || ) \ |___) (___| (____|\
|
||||
|/ |/ \||/ \_)\_______/(_______/
|
||||
|
27
LICENSE.BSD
Normal file
27
LICENSE.BSD
Normal file
|
@ -0,0 +1,27 @@
|
|||
Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of the nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
674
LICENSE.GPL3
Normal file
674
LICENSE.GPL3
Normal file
|
@ -0,0 +1,674 @@
|
|||
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>.
|
165
LICENSE.LGPL3
Normal file
165
LICENSE.LGPL3
Normal file
|
@ -0,0 +1,165 @@
|
|||
GNU LESSER 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.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser 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
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
340
LICENSE.heirloom/COPYING
Normal file
340
LICENSE.heirloom/COPYING
Normal file
|
@ -0,0 +1,340 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 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.
|
||||
|
||||
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 Library 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 Library General
|
||||
Public License instead of this License.
|
504
LICENSE.heirloom/COPYING.LGPL
Normal file
504
LICENSE.heirloom/COPYING.LGPL
Normal file
|
@ -0,0 +1,504 @@
|
|||
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 share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure 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 Foundation 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 ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
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 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
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for 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 link 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 terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone 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 free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared 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 criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less 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 license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the 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 library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs 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 enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, 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 the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
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 of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, 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 library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete 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 distribute a copy of this License 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 modifications or work under the terms of Section 1
|
||||
above, provided that you also 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 that 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 of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not 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 purpose 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 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 Library, 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 Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License 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 to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) 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 copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library 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 Sections 1 and 2 above provided that you 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.
|
||||
|
||||
If distribution of 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 satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but 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 not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution 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 work 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 layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this 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 linked 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 portions 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 displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source 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 is 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 the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily 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 modified 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 with.
|
||||
|
||||
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, for 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 designated place, offer equivalent access to copy the above
|
||||
specified materials 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" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be 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.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of 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 side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library 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, 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.
|
||||
|
||||
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 you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (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, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
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 with
|
||||
this License.
|
||||
|
||||
11. 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 Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library 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 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,
|
||||
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.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library 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.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser 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 Library
|
||||
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 Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs 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 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
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "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
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, 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 REDISTRIBUTE THE LIBRARY 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
|
||||
LIBRARY (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 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
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. 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 library's name and a brief 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, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
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
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. 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!
|
||||
|
||||
|
7
LICENSE.heirloom/CVS/Entries
Normal file
7
LICENSE.heirloom/CVS/Entries
Normal file
|
@ -0,0 +1,7 @@
|
|||
/COPYING/1.1.1.1/Sat Dec 4 13:51:08 2004//
|
||||
/COPYING.LGPL/1.1.1.1/Sat Dec 4 13:51:08 2004//
|
||||
/LICENSE/1.17/Fri Feb 2 23:50:52 2007//
|
||||
/LUCENT/1.1.1.1/Sat Dec 4 13:51:07 2004//
|
||||
/OPENSOLARIS.LICENSE/1.1/Sat Jun 18 16:57:49 2005//
|
||||
/README/1.1.1.1/Sat Dec 4 13:51:08 2004//
|
||||
D
|
1
LICENSE.heirloom/CVS/Repository
Normal file
1
LICENSE.heirloom/CVS/Repository
Normal file
|
@ -0,0 +1 @@
|
|||
heirloom/LICENSE
|
1
LICENSE.heirloom/CVS/Root
Normal file
1
LICENSE.heirloom/CVS/Root
Normal file
|
@ -0,0 +1 @@
|
|||
:pserver:anonymous@heirloom.cvs.sourceforge.net:/cvsroot/heirloom
|
354
LICENSE.heirloom/LICENSE
Normal file
354
LICENSE.heirloom/LICENSE
Normal file
|
@ -0,0 +1,354 @@
|
|||
********************************************************************************
|
||||
The license for newly written code and changes to existing code is:
|
||||
|
||||
Copyright (c) 2003 Gunnar Ritter
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute
|
||||
it freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
The following tools have been rewritten from scratch:
|
||||
|
||||
basename cat chown cmp copy cp
|
||||
cpio* csplit cut date dd df dirname
|
||||
du env expand false fold groups hd
|
||||
head hostname id install kill line
|
||||
listusers logins logname man mesg mkdir
|
||||
mkfifo mknod mt newform news nice nl
|
||||
nohup od paste pathchk pg pgrep printenv
|
||||
printf priocntl ps psrinfo pwd rm
|
||||
rmdir sdiff setpgrp shl sleep split stty
|
||||
su sync tabs tape tapecntl tee
|
||||
time touch true tty uname unexpand
|
||||
users wc who whoami whodo xargs yes
|
||||
|
||||
* See below for the licenses on compression codes.
|
||||
|
||||
All source code and documentation has been changed intensively, thus
|
||||
the above license applies to all material distributed here, further
|
||||
restricted by the original licenses.
|
||||
|
||||
********************************************************************************
|
||||
Caldera's License for Unix 6th Edition, Unix 7th Edition, and Unix 32V
|
||||
applies to nearly all manual pages and to the utilities based on these
|
||||
Unix versions:
|
||||
|
||||
Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
Redistributions of source code and documentation must retain the
|
||||
above copyright notice, this list of conditions and the following
|
||||
disclaimer.
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
All advertising materials mentioning features or use of this software
|
||||
must display the following acknowledgement:
|
||||
This product includes software developed or owned by Caldera
|
||||
International, Inc.
|
||||
Neither the name of Caldera International, Inc. nor the names of
|
||||
other contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
|
||||
INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
These utilities have been derived from Ancient Unix code:
|
||||
|
||||
banner bc cal calendar chmod cksum
|
||||
col comm dc deroff(1b) diff diff3
|
||||
ed egrep expr factor fgrep file find
|
||||
grep join mkdir oawk pr random sed
|
||||
sort sum tail tar tr tsort uniq
|
||||
unit
|
||||
|
||||
as well as the 'gmatch' and 'regexp' parts of libcommon.
|
||||
|
||||
********************************************************************************
|
||||
Some utilities and manual pages are based on various releases of
|
||||
4BSD, governed by the following license:
|
||||
|
||||
Copyright (c) 1980, 1993
|
||||
The Regents of the University of California. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. All advertising materials mentioning features or use of this software
|
||||
must display the following acknowledgement:
|
||||
This product includes software developed by the University of
|
||||
California, Berkeley and its contributors.
|
||||
4. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
The following utilities include 4BSD code:
|
||||
|
||||
bc ching dc deroff(1b) diff diff3 fmt
|
||||
ln(1b) more nawk oawk renice tcopy ul
|
||||
|
||||
********************************************************************************
|
||||
The following utilities are based on Sun's OpenSolaris code; the file
|
||||
OPENSOLARIS.LICENSE contains the licensing conditions for them:
|
||||
|
||||
bdiff bfs dircmp echo fmtmsg getconf getopt mail
|
||||
mvdir spell test what
|
||||
|
||||
Some manual pages have also been derived from OpenSolaris code; see
|
||||
the header of the respective page.
|
||||
Changes to these programs are also subject to the original license.
|
||||
********************************************************************************
|
||||
One utilities is based on the MINIX 2.0 sources, to which the
|
||||
following license applies:
|
||||
|
||||
Copyright (c) 1987,1997, Prentice Hall All rights reserved.
|
||||
|
||||
Redistribution and use of the MINIX operating system in source and
|
||||
binary forms, with or without modification, are permitted provided
|
||||
that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
Neither the name of Prentice Hall nor the names of the software
|
||||
authors or contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS, AUTHORS, AND
|
||||
CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL PRENTICE HALL OR ANY AUTHORS OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
The utility derived from MINIX sources is:
|
||||
|
||||
ls
|
||||
|
||||
********************************************************************************
|
||||
The utility 'nawk' and the library 'libuxre' are based on the Unix tools
|
||||
released made available by Caldera at <http://unixtools.sourceforge.net/>.
|
||||
GNU GPL 2.0 applies to 'nawk' (see the file COPYING); GNU LGPL 2.1 applies
|
||||
to 'libuxre' (see COPYING.LGPL). Changes to these tools are subject to these
|
||||
licenses also.
|
||||
|
||||
********************************************************************************
|
||||
The 'deroff' utility is derived from Plan 9 <http://cm.bell-labs.com/plan9dist/>
|
||||
and is distributed under the terms of the Lucent Public License Version 1.02;
|
||||
see the file LUCENT.
|
||||
|
||||
********************************************************************************
|
||||
The CRC-32 function for cpio was derived from zlib 1.1.4:
|
||||
|
||||
Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
Jean-loup Gailly Mark Adler
|
||||
jloup@gzip.org madler@alumni.caltech.edu
|
||||
|
||||
********************************************************************************
|
||||
The inflate decompression code for the zip support has been derived from
|
||||
Info-ZIP's zip 5.50:
|
||||
|
||||
This is version 2002-Feb-16 of the Info-ZIP copyright and license.
|
||||
The definitive version of this document should be available at
|
||||
ftp://ftp.info-zip.org/pub/infozip/license.html indefinitely.
|
||||
|
||||
|
||||
Copyright (c) 1990-2002 Info-ZIP. All rights reserved.
|
||||
|
||||
For the purposes of this copyright and license, "Info-ZIP" is defined as
|
||||
the following set of individuals:
|
||||
|
||||
Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel
|
||||
Dubois, Jean-loup Gailly, Hunter Goatley, Ian Gorman, Chris
|
||||
Herborth, Dirk Haase, Greg Hartwig, Robert Heath, Jonathan Hudson,
|
||||
Paul Kienitz, David Kirschbaum, Johnny Lee, Onno van der Linden,
|
||||
Igor Mandrichenko, Steve P. Miller, Sergio Monesi, Keith Owens,
|
||||
George Petrov, Greg Roelofs, Kai Uwe Rommel, Steve Salisbury, Dave
|
||||
Smith, Christian Spieler, Antoine Verheijen, Paul von Behren, Rich
|
||||
Wales, Mike White
|
||||
|
||||
This software is provided "as is," without warranty of any kind,
|
||||
express or implied. In no event shall Info-ZIP or its contributors
|
||||
be held liable for any direct, indirect, incidental, special or
|
||||
consequential damages arising out of the use of or inability to use
|
||||
this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute
|
||||
it freely, subject to the following restrictions:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, definition, disclaimer, and this list of conditions.
|
||||
|
||||
2. Redistributions in binary form (compiled executables) must
|
||||
reproduce the above copyright notice, definition, disclaimer,
|
||||
and this list of conditions in documentation and/or other
|
||||
materials provided with the distribution. The sole exception
|
||||
to this condition is redistribution of a standard UnZipSFX
|
||||
binary as part of a self-extracting archive; that is permitted
|
||||
without inclusion of this license, as long as the normal
|
||||
UnZipSFX banner has not been removed from the binary or
|
||||
disabled.
|
||||
|
||||
3. Altered versions--including, but not limited to, ports to new
|
||||
operating systems, existing ports with new graphical
|
||||
interfaces, and dynamic, shared, or static library
|
||||
versions--must be plainly marked as such and must not be
|
||||
misrepresented as being the original source. Such altered
|
||||
versions also must not be misrepresented as being Info-ZIP
|
||||
releases--including, but not limited to, labeling of the
|
||||
altered versions with the names "Info-ZIP" (or any variation
|
||||
thereof, including, but not limited to, different
|
||||
capitalizations), "Pocket UnZip," "WiZ" or "MacZip" without
|
||||
the explicit permission of Info-ZIP. Such altered versions
|
||||
are further prohibited from misrepresentative use of the
|
||||
Zip-Bugs or Info-ZIP e-mail addresses or of the Info-ZIP
|
||||
URL(s).
|
||||
|
||||
4. Info-ZIP retains the right to use the names "Info-ZIP," "Zip,"
|
||||
"UnZip," "UnZipSFX," "WiZ," "Pocket UnZip," "Pocket Zip," and
|
||||
"MacZip" for its own source and binary releases.
|
||||
|
||||
********************************************************************************
|
||||
The unshrink decompression code is derived from Info-ZIP's unzip 5.40:
|
||||
|
||||
* Copyright (c) 1994 Greg Roelofs.
|
||||
* Permission is granted to any individual/institution/corporate
|
||||
* entity to use, copy, redistribute or modify this software for
|
||||
* any purpose whatsoever, subject to the conditions noted in the
|
||||
* Frequently Asked Questions section below, plus one additional
|
||||
* condition: namely, that my name not be removed from the source
|
||||
* code. (Other names may, of course, be added as modifications
|
||||
* are made.) Corporate legal staff (like at IBM :-) ) who have
|
||||
* problems understanding this can contact me through Zip-Bugs...
|
||||
|
||||
|
||||
Q. Can I use the source code of Zip and UnZip in my commercial
|
||||
application?
|
||||
|
||||
A. Yes, so long as you include in your product an acknowledgment; a
|
||||
pointer to the original, free compression sources; and a statement
|
||||
making it clear that there are no extra or hidden charges resulting
|
||||
from the use of our compression code in your product (see below for
|
||||
an example). The acknowledgment should appear in at least one piece
|
||||
of human-readable documentation (e.g., a README file or man page),
|
||||
although additionally putting it in the executable(s) is OK, too.
|
||||
In other words, you are allowed to sell only your own work, not ours,
|
||||
and we'd like a little credit. (Note the additional restrictions
|
||||
above on the code in unreduce.c, unshrink.c, vms.c, time_lib.c, and
|
||||
everything in the wince and windll subdirectories.) Contact us at
|
||||
Zip-Bugs@lists.wku.edu if you have special requirements. We also
|
||||
like to hear when our code is being used, but we don't require that.
|
||||
|
||||
<Product> incorporates compression code from the Info-ZIP group.
|
||||
There are no extra charges or costs due to the use of this code,
|
||||
and the original compression sources are freely available from
|
||||
http://www.cdrom.com/pub/infozip/ or ftp://ftp.cdrom.com/pub/infozip/
|
||||
on the Internet.
|
||||
|
||||
If you only need compression capability, not full zipfile support,
|
||||
you might want to look at zlib instead; it has fewer restrictions
|
||||
on commercial use. See http://www.cdrom.com/pub/infozip/zlib/ .
|
||||
|
||||
********************************************************************************
|
||||
The blast decompression code (for DCL imploded zip archive entries) was
|
||||
derived from code by Mark Adler distributed with zlib 1.2.1:
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the author be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
Mark Adler madler@alumni.caltech.edu
|
||||
|
||||
********************************************************************************
|
||||
|
||||
********************************************************************************
|
||||
The explode decompression code is derived from unzip 5.40; this version
|
||||
of this code was put in the public domain by Mark Adler.
|
||||
|
||||
********************************************************************************
|
||||
|
||||
Gunnar Ritter 2/3/07
|
258
LICENSE.heirloom/LUCENT
Normal file
258
LICENSE.heirloom/LUCENT
Normal file
|
@ -0,0 +1,258 @@
|
|||
The Plan 9 software is provided under the terms of the
|
||||
Lucent Public License, Version 1.02, reproduced below,
|
||||
with the following exceptions:
|
||||
|
||||
1. No right is granted to create derivative works of or
|
||||
to redistribute (other than with the Plan 9 Operating System)
|
||||
the screen imprinter fonts identified in subdirectory
|
||||
/lib/font/bit/lucida and printer fonts (Lucida Sans Unicode, Lucida
|
||||
Sans Italic, Lucida Sans Demibold, Lucida Typewriter, Lucida Sans
|
||||
Typewriter83), identified in subdirectory /sys/lib/postscript/font.
|
||||
These directories contain material copyrights by B&H Inc. and Y&Y Inc.
|
||||
|
||||
2. The printer fonts identified in subdirectory /sys/lib/ghostscript/font
|
||||
are subject to the GNU GPL, reproduced in the file /LICENSE.gpl.
|
||||
|
||||
3. The ghostscript program in the subdirectory /sys/src/cmd/gs is
|
||||
covered by the Aladdin Free Public License, reproduced in the file
|
||||
/LICENSE.afpl.
|
||||
|
||||
===================================================================
|
||||
|
||||
Lucent Public License Version 1.02
|
||||
|
||||
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC
|
||||
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE
|
||||
PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
|
||||
|
||||
1. DEFINITIONS
|
||||
|
||||
"Contribution" means:
|
||||
|
||||
a. in the case of Lucent Technologies Inc. ("LUCENT"), the Original
|
||||
Program, and
|
||||
b. in the case of each Contributor,
|
||||
|
||||
i. changes to the Program, and
|
||||
ii. additions to the Program;
|
||||
|
||||
where such changes and/or additions to the Program were added to the
|
||||
Program by such Contributor itself or anyone acting on such
|
||||
Contributor's behalf, and the Contributor explicitly consents, in
|
||||
accordance with Section 3C, to characterization of the changes and/or
|
||||
additions as Contributions.
|
||||
|
||||
"Contributor" means LUCENT and any other entity that has Contributed a
|
||||
Contribution to the Program.
|
||||
|
||||
"Distributor" means a Recipient that distributes the Program,
|
||||
modifications to the Program, or any part thereof.
|
||||
|
||||
"Licensed Patents" mean patent claims licensable by a Contributor
|
||||
which are necessarily infringed by the use or sale of its Contribution
|
||||
alone or when combined with the Program.
|
||||
|
||||
"Original Program" means the original version of the software
|
||||
accompanying this Agreement as released by LUCENT, including source
|
||||
code, object code and documentation, if any.
|
||||
|
||||
"Program" means the Original Program and Contributions or any part
|
||||
thereof
|
||||
|
||||
"Recipient" means anyone who receives the Program under this
|
||||
Agreement, including all Contributors.
|
||||
|
||||
2. GRANT OF RIGHTS
|
||||
|
||||
a. Subject to the terms of this Agreement, each Contributor hereby
|
||||
grants Recipient a non-exclusive, worldwide, royalty-free copyright
|
||||
license to reproduce, prepare derivative works of, publicly display,
|
||||
publicly perform, distribute and sublicense the Contribution of such
|
||||
Contributor, if any, and such derivative works, in source code and
|
||||
object code form.
|
||||
|
||||
b. Subject to the terms of this Agreement, each Contributor hereby
|
||||
grants Recipient a non-exclusive, worldwide, royalty-free patent
|
||||
license under Licensed Patents to make, use, sell, offer to sell,
|
||||
import and otherwise transfer the Contribution of such Contributor, if
|
||||
any, in source code and object code form. The patent license granted
|
||||
by a Contributor shall also apply to the combination of the
|
||||
Contribution of that Contributor and the Program if, at the time the
|
||||
Contribution is added by the Contributor, such addition of the
|
||||
Contribution causes such combination to be covered by the Licensed
|
||||
Patents. The patent license granted by a Contributor shall not apply
|
||||
to (i) any other combinations which include the Contribution, nor to
|
||||
(ii) Contributions of other Contributors. No hardware per se is
|
||||
licensed hereunder.
|
||||
|
||||
c. Recipient understands that although each Contributor grants the
|
||||
licenses to its Contributions set forth herein, no assurances are
|
||||
provided by any Contributor that the Program does not infringe the
|
||||
patent or other intellectual property rights of any other entity. Each
|
||||
Contributor disclaims any liability to Recipient for claims brought by
|
||||
any other entity based on infringement of intellectual property rights
|
||||
or otherwise. As a condition to exercising the rights and licenses
|
||||
granted hereunder, each Recipient hereby assumes sole responsibility
|
||||
to secure any other intellectual property rights needed, if any. For
|
||||
example, if a third party patent license is required to allow
|
||||
Recipient to distribute the Program, it is Recipient's responsibility
|
||||
to acquire that license before distributing the Program.
|
||||
|
||||
d. Each Contributor represents that to its knowledge it has sufficient
|
||||
copyright rights in its Contribution, if any, to grant the copyright
|
||||
license set forth in this Agreement.
|
||||
|
||||
3. REQUIREMENTS
|
||||
|
||||
A. Distributor may choose to distribute the Program in any form under
|
||||
this Agreement or under its own license agreement, provided that:
|
||||
|
||||
a. it complies with the terms and conditions of this Agreement;
|
||||
|
||||
b. if the Program is distributed in source code or other tangible
|
||||
form, a copy of this Agreement or Distributor's own license agreement
|
||||
is included with each copy of the Program; and
|
||||
|
||||
c. if distributed under Distributor's own license agreement, such
|
||||
license agreement:
|
||||
|
||||
i. effectively disclaims on behalf of all Contributors all warranties
|
||||
and conditions, express and implied, including warranties or
|
||||
conditions of title and non-infringement, and implied warranties or
|
||||
conditions of merchantability and fitness for a particular purpose;
|
||||
ii. effectively excludes on behalf of all Contributors all liability
|
||||
for damages, including direct, indirect, special, incidental and
|
||||
consequential damages, such as lost profits; and
|
||||
iii. states that any provisions which differ from this Agreement are
|
||||
offered by that Contributor alone and not by any other party.
|
||||
|
||||
B. Each Distributor must include the following in a conspicuous
|
||||
location in the Program:
|
||||
|
||||
Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights
|
||||
Reserved.
|
||||
|
||||
C. In addition, each Contributor must identify itself as the
|
||||
originator of its Contribution in a manner that reasonably allows
|
||||
subsequent Recipients to identify the originator of the Contribution.
|
||||
Also, each Contributor must agree that the additions and/or changes
|
||||
are intended to be a Contribution. Once a Contribution is contributed,
|
||||
it may not thereafter be revoked.
|
||||
|
||||
4. COMMERCIAL DISTRIBUTION
|
||||
|
||||
Commercial distributors of software may accept certain
|
||||
responsibilities with respect to end users, business partners and the
|
||||
like. While this license is intended to facilitate the commercial use
|
||||
of the Program, the Distributor who includes the Program in a
|
||||
commercial product offering should do so in a manner which does not
|
||||
create potential liability for Contributors. Therefore, if a
|
||||
Distributor includes the Program in a commercial product offering,
|
||||
such Distributor ("Commercial Distributor") hereby agrees to defend
|
||||
and indemnify every Contributor ("Indemnified Contributor") against
|
||||
any losses, damages and costs (collectively"Losses") arising from
|
||||
claims, lawsuits and other legal actions brought by a third party
|
||||
against the Indemnified Contributor to the extent caused by the acts
|
||||
or omissions of such Commercial Distributor in connection with its
|
||||
distribution of the Program in a commercial product offering. The
|
||||
obligations in this section do not apply to any claims or Losses
|
||||
relating to any actual or alleged intellectual property infringement.
|
||||
In order to qualify, an Indemnified Contributor must: a) promptly
|
||||
notify the Commercial Distributor in writing of such claim, and b)
|
||||
allow the Commercial Distributor to control, and cooperate with the
|
||||
Commercial Distributor in, the defense and any related settlement
|
||||
negotiations. The Indemnified Contributor may participate in any such
|
||||
claim at its own expense.
|
||||
|
||||
For example, a Distributor might include the Program in a commercial
|
||||
product offering, Product X. That Distributor is then a Commercial
|
||||
Distributor. If that Commercial Distributor then makes performance
|
||||
claims, or offers warranties related to Product X, those performance
|
||||
claims and warranties are such Commercial Distributor's responsibility
|
||||
alone. Under this section, the Commercial Distributor would have to
|
||||
defend claims against the Contributors related to those performance
|
||||
claims and warranties, and if a court requires any Contributor to pay
|
||||
any damages as a result, the Commercial Distributor must pay those
|
||||
damages.
|
||||
|
||||
5. NO WARRANTY
|
||||
|
||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
|
||||
PROVIDED ON AN"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
|
||||
WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
|
||||
OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
|
||||
responsible for determining the appropriateness of using and
|
||||
distributing the Program and assumes all risks associated with its
|
||||
exercise of rights under this Agreement, including but not limited to
|
||||
the risks and costs of program errors, compliance with applicable
|
||||
laws, damage to or loss of data, programs or equipment, and
|
||||
unavailability or interruption of operations.
|
||||
|
||||
6. DISCLAIMER OF LIABILITY
|
||||
|
||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
|
||||
ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
|
||||
WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
|
||||
DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
|
||||
HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
7. EXPORT CONTROL
|
||||
|
||||
Recipient agrees that Recipient alone is responsible for compliance
|
||||
with the United States export administration regulations (and the
|
||||
export control laws and regulation of any other countries).
|
||||
|
||||
8. GENERAL
|
||||
|
||||
If any provision of this Agreement is invalid or unenforceable under
|
||||
applicable law, it shall not affect the validity or enforceability of
|
||||
the remainder of the terms of this Agreement, and without further
|
||||
action by the parties hereto, such provision shall be reformed to the
|
||||
minimum extent necessary to make such provision valid and enforceable.
|
||||
|
||||
If Recipient institutes patent litigation against a Contributor with
|
||||
respect to a patent applicable to software (including a cross-claim or
|
||||
counterclaim in a lawsuit), then any patent licenses granted by that
|
||||
Contributor to such Recipient under this Agreement shall terminate as
|
||||
of the date such litigation is filed. In addition, if Recipient
|
||||
institutes patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Program
|
||||
itself (excluding combinations of the Program with other software or
|
||||
hardware) infringes such Recipient's patent(s), then such Recipient's
|
||||
rights granted under Section 2(b) shall terminate as of the date such
|
||||
litigation is filed.
|
||||
|
||||
All Recipient's rights under this Agreement shall terminate if it
|
||||
fails to comply with any of the material terms or conditions of this
|
||||
Agreement and does not cure such failure in a reasonable period of
|
||||
time after becoming aware of such noncompliance. If all Recipient's
|
||||
rights under this Agreement terminate, Recipient agrees to cease use
|
||||
and distribution of the Program as soon as reasonably practicable.
|
||||
However, Recipient's obligations under this Agreement and any licenses
|
||||
granted by Recipient relating to the Program shall continue and
|
||||
survive.
|
||||
|
||||
LUCENT may publish new versions (including revisions) of this
|
||||
Agreement from time to time. Each new version of the Agreement will be
|
||||
given a distinguishing version number. The Program (including
|
||||
Contributions) may always be distributed subject to the version of the
|
||||
Agreement under which it was received. In addition, after a new
|
||||
version of the Agreement is published, Contributor may elect to
|
||||
distribute the Program (including its Contributions) under the new
|
||||
version. No one other than LUCENT has the right to modify this
|
||||
Agreement. Except as expressly stated in Sections 2(a) and 2(b) above,
|
||||
Recipient receives no rights or licenses to the intellectual property
|
||||
of any Contributor under this Agreement, whether expressly, by
|
||||
implication, estoppel or otherwise. All rights in the Program not
|
||||
expressly granted under this Agreement are reserved.
|
||||
|
||||
This Agreement is governed by the laws of the State of New York and
|
||||
the intellectual property laws of the United States of America. No
|
||||
party to this Agreement will bring a legal action under this Agreement
|
||||
more than one year after the cause of action arose. Each party waives
|
||||
its rights to a jury trial in any resulting litigation.
|
||||
|
385
LICENSE.heirloom/OPENSOLARIS.LICENSE
Normal file
385
LICENSE.heirloom/OPENSOLARIS.LICENSE
Normal file
|
@ -0,0 +1,385 @@
|
|||
Unless otherwise noted, all files in this distribution are released
|
||||
under the Common Development and Distribution License (CDDL),
|
||||
Version 1.0 only. Exceptions are noted within the associated
|
||||
source files.
|
||||
|
||||
--------------------------------------------------------------------
|
||||
|
||||
|
||||
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.
|
27
LICENSE.heirloom/README
Normal file
27
LICENSE.heirloom/README
Normal file
|
@ -0,0 +1,27 @@
|
|||
README for license conditions of the Heirloom Toolchest
|
||||
=======================================================
|
||||
|
||||
The Heirloom Toolchest is derived from a variety of sources; the
|
||||
respective licensing terms can be found in the other files in this
|
||||
directory; in addition, each source file contains the license terms
|
||||
of the original author at its top.
|
||||
|
||||
All newly written code is put under a zlib-style license (except for
|
||||
additions to the GPL and LGPL code in awk and libuxre). The rationale
|
||||
is that for something distributed as widely as Unix code, any license
|
||||
that requires more than naming the author would only cause annoyance.
|
||||
|
||||
In effect, this means that commercial Unix vendors who already have a
|
||||
Unix source code license can use nearly all of this code without being
|
||||
forced to mention it in other places than the source code files.
|
||||
|
||||
However, if you work for such a vendor, don't do so. Instead, convince
|
||||
the management to release at least the utility source. There is really
|
||||
nothing to keep secret about it to have an advantage over competitors,
|
||||
as any person or company can simply use the source of this or another
|
||||
toolchest to have comparable functionality. So by releasing the source
|
||||
to your version, you lose nothing, but you will make your users happy
|
||||
since they can use it as a reference. And happy users also mean more
|
||||
money in the end.
|
||||
|
||||
Gunnar Ritter 9/22/03
|
114
Makefile
Normal file
114
Makefile
Normal file
|
@ -0,0 +1,114 @@
|
|||
# Makefile - hhl - /usr/src
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
include src-config.mk
|
||||
include src-files.mk
|
||||
uid = $(shell id -u)
|
||||
|
||||
include_dir = /usr/include/mk
|
||||
make_includes += $(wildcard $(include_dir)/*.mk)
|
||||
|
||||
pkgdbdir = $(build)/var/db/pkg/base
|
||||
plists = $(pkgdbdir)/plist $(pkgdbdir)/etc.plist
|
||||
|
||||
dirs = dev proc sys run
|
||||
ifeq ($(arch),x86_64)
|
||||
dirs += lib64
|
||||
endif
|
||||
alldirs = bin boot dev etc home lib lib64 media mnt \
|
||||
opt proc root run sbin srv sys tmp usr var
|
||||
|
||||
all: buildworld
|
||||
|
||||
toolchain-tgz: toolchain-hhl-${os_version}-${arch}.tgz
|
||||
|
||||
toolchain-tbz: toolchain-hhl-${os_version}-${arch}.tbz
|
||||
|
||||
toolchain-txz: toolchain-hhl-${os_version}-${arch}.txz
|
||||
|
||||
rootfs-tgz: rootfs-hhl-${os_version}-${arch}.tgz
|
||||
|
||||
rootfs-tbz: rootfs-hhl-${os_version}-${arch}.tbz
|
||||
|
||||
rootfs-txz: rootfs-hhl-${os_version}-${arch}.txz
|
||||
|
||||
toolchain-hhl-${os_version}-${arch}.tgz: /toolchain/.built smalltools
|
||||
cd build && tar -czf ../$@ toolchain
|
||||
|
||||
toolchain-hhl-${os_version}-${arch}.tbz: /toolchain/.built smalltools
|
||||
cd build && tar -cjf ../$@ toolchain
|
||||
|
||||
toolchain-hhl-${os_version}-${arch}.txz: /toolchain/.built smalltools
|
||||
cd build && tar -cJf ../$@ toolchain
|
||||
|
||||
smalltools: /toolchain/.built
|
||||
$(MAKE) -C toolchain reduce-size
|
||||
|
||||
buildtools: /toolchain/.built
|
||||
$(info $(grn)=== Temporary toolchain build ===$(reset))
|
||||
|
||||
/toolchain/.built: | $(dirs)
|
||||
$(info $(grn)=== Building temporary toolchain ===$(reset))
|
||||
$(MAKE) -C toolchain
|
||||
touch $@
|
||||
|
||||
toolsclean:
|
||||
$(MAKE) -C toolchain clean
|
||||
|
||||
src-files.mk:
|
||||
echo src-files = \\ > $@.in
|
||||
git ls-files | sort | while read l ; do echo $${l} \\ ; done | \
|
||||
sed '$$ s:\\::' >> $@.in
|
||||
mv $@.in $@
|
||||
|
||||
buildworld: $(build)/.built $(plists)
|
||||
$(info $(grn)=== World build complete ===$(reset))
|
||||
|
||||
strip: $(build)/.stripped
|
||||
|
||||
$(build)/.stripped:
|
||||
for dir in ${stripdirs} ; \
|
||||
do /toolchain/bin/strip --strip-debug $${dir}/* > \
|
||||
/dev/null 2>&1 || true ; done
|
||||
touch $@
|
||||
|
||||
$(build)/.built: $(build)/.skeleton.built
|
||||
$(MAKE) -C world
|
||||
touch $@
|
||||
|
||||
$(build)/.skeleton.built: | $(dirs)
|
||||
install -d -m 0750 build/root
|
||||
install -dv -m 1777 build/tmp build/var/tmp
|
||||
[ -h build/var/run ] || ln -sv /run build/var/run
|
||||
[ -h build/var/lock ] || ln -sv /run/lock build/var/lock
|
||||
[ -c $(build)/dev/console ] || su -c "mknod -m 600 $(build)/dev/console c 5 1"
|
||||
[ -c $(build)/dev/null ] || su -c "mknod -m 666 $(build)/dev/null c 1 3"
|
||||
touch $@
|
||||
|
||||
$(plists): $(build)/.built
|
||||
$(info $(grn)=== Creating plist ===$(reset))
|
||||
pkgname=base $(MAKE) -C $(build) -f $(include_dir)/create-plist.mk install
|
||||
|
||||
$(dirs):
|
||||
install -d ${build}/$@
|
||||
|
||||
remove-toolchain:
|
||||
$(MAKE) -C toolchain remove
|
||||
|
||||
rootfs-hhl-$(os_version)-$(arch).tgz: $(plists) $(build)/.stripped
|
||||
cd build && tar -czf ../$@ $(alldirs)
|
||||
|
||||
rootfs-hhl-$(os_version)-$(arch).tbz: $(plists) $(build)/.stripped
|
||||
cd build && tar -cjf ../$@ $(alldirs)
|
||||
|
||||
rootfs-hhl-$(os_version)-$(arch).txz: $(plists) $(build)/.stripped
|
||||
cd build && tar -cJf ../$@ $(alldirs)
|
||||
|
||||
clean:
|
||||
$(MAKE) -C world clean
|
||||
$(MAKE) -C toolchain clean
|
||||
rm -rf build/*
|
||||
rm -rf build/.built
|
||||
rm -rf build/.skeleton.built
|
||||
|
||||
.PHONY: toolchain-archive buildtools smalltools toolsclean buildworld $(dirs) strip
|
24
config.mk.sample
Normal file
24
config.mk.sample
Normal file
|
@ -0,0 +1,24 @@
|
|||
# Target architecture, IE the machine that the newly built system will run on.
|
||||
# Supported targets are:
|
||||
# i486
|
||||
# i586
|
||||
# i686
|
||||
# x86_64 (most modern Intel and AMD based systems)
|
||||
# armv7l (earlier Arm SBC's such as RPI and RPI2)
|
||||
# aarch64 (later Arm SBC's such as RPI3 and RPI4)
|
||||
# riscv64 (SiFive Unmatched, BeagleV)
|
||||
arch = x86_64
|
||||
|
||||
# Maximum make threads to run concurrently. For some packages on some
|
||||
# architectures this will be automatically overridden.
|
||||
makeflags = -j8
|
||||
|
||||
# Optional bootstrap packages. HitchHiker ships with BSD paxtar, and it's syntax
|
||||
# is used rather than GNU tar in certain places. To bootstrap on systems other
|
||||
# than HitchHiker it is a good idea to set build_pax to 1.
|
||||
#
|
||||
# Similarly, GNU awk (gawk) is a build time dependency of Glibc, but HitchHiker
|
||||
# ships with The One True Awk. By setting build_gawk to 1, we build a temporary
|
||||
# gawk which will only exist in /toolchain
|
||||
build_pax = 1
|
||||
build_gawk = 1
|
576
distfiles/Makefile
Normal file
576
distfiles/Makefile
Normal file
|
@ -0,0 +1,576 @@
|
|||
# Makefile - hhl - /usr/src/distfiles
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
include versions.mk
|
||||
|
||||
gnu = https://ftp.gnu.org/gnu
|
||||
savannah = https://download.savannah.gnu.org/releases
|
||||
github = https://github.com
|
||||
sourceforge = https://downloads.sourceforge.net/project
|
||||
kernel = https://www.kernel.org/pub/linux
|
||||
skarnet = https://skarnet.org/software
|
||||
|
||||
distfiles = \
|
||||
acl-${acl_version}.tar.gz \
|
||||
attr-${attr_version}.tar.gz \
|
||||
autoconf-${autoconf_version}.tar.xz \
|
||||
automake-${automake_version}.tar.xz \
|
||||
bc-${bc_version}.tar.xz \
|
||||
binutils-${binutils_version}.tar.xz \
|
||||
bison-${bison_version}.tar.xz \
|
||||
busybox-${busybox_version}.tar.bz2 \
|
||||
bzip2-${bzip2_version}.tar.gz \
|
||||
cmake-$(cmake_version).tar.gz \
|
||||
coreutils-${coreutils_version}.tar.xz \
|
||||
dash-${dash_version}.tar.gz \
|
||||
dbus-${dbus_version}.tar.gz \
|
||||
diffutils-${diffutils_version}.tar.xz \
|
||||
dhcpcd-${dhcpcd_version}.tar.xz \
|
||||
e2fsprogs-${e2fsprogs_version}.tar.gz \
|
||||
elfutils-${elfutils_version}.tar.bz2 \
|
||||
eudev-${eudev_version}.tar.gz \
|
||||
execline-${execline_version}.tar.gz \
|
||||
expat-${expat_version}.tar.xz \
|
||||
file-${file_version}.tar.gz \
|
||||
findutils-${findutils_version}.tar.xz \
|
||||
flex-${flex_version}.tar.gz \
|
||||
gawk-${gawk_version}.tar.xz \
|
||||
gcc-${gcc_version}.tar.xz \
|
||||
gdbm-${gdbm_version}.tar.gz \
|
||||
gettext-${gettext_version}.tar.xz \
|
||||
gettext-tiny-${gettext-tiny_version}.tar.xz \
|
||||
glibc-${glibc_version}.tar.xz \
|
||||
gmp-${gmp_version}.tar.xz \
|
||||
gperf-${gperf_version}.tar.gz \
|
||||
grep-${grep_version}.tar.xz \
|
||||
groff-${groff_version}.tar.gz \
|
||||
grub-${grub_version}.tar.xz \
|
||||
gzip-${gzip_version}.tar.xz \
|
||||
iana-etc-${iana-etc_version}.tar.bz2 \
|
||||
inetutils-${inetutils_version}.tar.xz \
|
||||
intltool-${intltool_version}.tar.gz \
|
||||
iproute2-${iproute2_version}.tar.xz \
|
||||
kbd-${kbd_version}.tar.xz \
|
||||
kmod-${kmod_version}.tar.xz \
|
||||
less-${less_version}.tar.gz \
|
||||
libcap-${libcap_version}.tar.xz \
|
||||
libedit-20191231-3.1.tar.gz \
|
||||
libelf-compat-${libelf-compat_version}.tar.xz \
|
||||
libffi-${libffi_version}.tar.gz \
|
||||
libnl-${libnl_version}.tar.gz \
|
||||
libressl-${libressl_version}.tar.gz \
|
||||
libtool-${libtool_version}.tar.xz \
|
||||
libz-${libz_version}.tar.gz \
|
||||
linux-${linux_version}.tar.xz \
|
||||
m4-${m4_version}.tar.xz \
|
||||
make-${make_version}.tar.gz \
|
||||
mandoc-${mandoc_version}.tar.gz \
|
||||
man-pages-${man-pages_version}.tar.xz \
|
||||
meson-${meson_version}.tar.gz \
|
||||
mpc-${mpc_version}.tar.gz \
|
||||
mpfr-${mpfr_version}.tar.xz \
|
||||
ncurses-${ncurses_version}.tar.gz \
|
||||
netbsd-curses-${netbsd-curses_version}.tar.xz \
|
||||
ninja-${ninja_version}.tar.gz \
|
||||
patch-${patch_version}.tar.xz \
|
||||
pcre-${pcre_version}.tar.bz2 \
|
||||
perl-${perl_version}.tar.xz \
|
||||
perl-cross-$(per-cross_version).tar.gz \
|
||||
pkg-config-${pkg-config_version}.tar.gz \
|
||||
pkgsrc-${pkgsrc_version}.tar.xz \
|
||||
procps-ng-${procps-ng_version}.tar.xz \
|
||||
psmisc-${psmisc_version}.tar.xz \
|
||||
Python-${python_version}.tar.xz \
|
||||
python-${python_version}-docs-html.tar.bz2 \
|
||||
s6-${s6_version}.tar.gz \
|
||||
s6-linux-init-${s6-linux-init_version}.tar.gz \
|
||||
sed-${sed_version}.tar.xz \
|
||||
shadow-${shadow_version}.tar.xz \
|
||||
skalibs-${skalibs_version}.tar.gz \
|
||||
sysklogd-${sysklogd_version}.tar.gz \
|
||||
tar-${tar_version}.tar.xz \
|
||||
texinfo-${texinfo_version}.tar.xz \
|
||||
tzdata${tzdata_version}.tar.gz \
|
||||
u-boot-$(u-boot_version).tar.bz2 \
|
||||
udev-lfs-${udev-lfs_version}.tar.xz \
|
||||
util-linux-${util-linux_version}.tar.xz \
|
||||
vim-${vim_version}.tar.gz \
|
||||
wget-${wget_version}.tar.gz \
|
||||
wireless-tools/wireless_tools.${wireless_tools_version}.tar.gz \
|
||||
wpa_supplicant-${wpa_supplicant_version}.tar.gz \
|
||||
XML-Parser-${XML-Parser_version}.tar.gz \
|
||||
xz-${xz_version}.tar.xz \
|
||||
zsh-${zsh_version}.tar.xz \
|
||||
zstd-${zstd_version}.tar.gz
|
||||
|
||||
all: ${distfiles}
|
||||
|
||||
acl: acl-${acl_version}.tar.gz
|
||||
|
||||
acl-${acl_version}.tar.gz:
|
||||
wget -c ${savannah}/acl/$@
|
||||
|
||||
attr: attr-${attr_version}.tar.gz
|
||||
|
||||
attr-${attr_version}.tar.gz:
|
||||
wget -c ${savannah}/attr/$@
|
||||
|
||||
autoconf: autoconf-${autoconf_version}.tar.xz
|
||||
|
||||
autoconf-${autoconf_version}.tar.xz:
|
||||
wget -c ${gnu}/autoconf/$@
|
||||
|
||||
automake: automake-${automake_version}.tar.xz
|
||||
|
||||
automake-${automake_version}.tar.xz:
|
||||
wget -c ${gnu}/automake/$@
|
||||
|
||||
bc: bc-${bc_version}.tar.xz
|
||||
|
||||
bc-${bc_version}.tar.xz:
|
||||
wget -c ${github}/gavinhoward/bc/releases/download/${bc_version}/$@
|
||||
|
||||
binutils: binutils-${binutils_version}.tar.xz
|
||||
|
||||
binutils-${binutils_version}.tar.xz:
|
||||
wget -c ${gnu}/binutils/$@
|
||||
|
||||
bison: bison-${bison_version}.tar.xz
|
||||
|
||||
bison-${bison_version}.tar.xz:
|
||||
wget -c ${gnu}/bison/$@
|
||||
|
||||
busybox: busybox-${busybox_version}.tar.bz2
|
||||
|
||||
busybox-${busybox_version}.tar.bz2:
|
||||
wget -c https://busybox.net/downloads/$@
|
||||
|
||||
bzip2: bzip2-${bzip2_version}.tar.gz
|
||||
|
||||
bzip2-${bzip2_version}.tar.gz:
|
||||
wget -c https://www.sourceware.org/pub/bzip2/$@
|
||||
|
||||
cmake: cmake-$(cmake_version).tar.gz
|
||||
|
||||
cmake-$(cmake_version).tar.gz:
|
||||
wget -c https://cmake.org/files/v3.18/$@
|
||||
|
||||
coreutils: coreutils-${coreutils_version}.tar.xz
|
||||
|
||||
coreutils-${coreutils_version}.tar.xz:
|
||||
wget -c ${gnu}/coreutils/$@
|
||||
|
||||
dash: dash-${dash_version}.tar.gz
|
||||
|
||||
dash-${dash_version}.tar.gz:
|
||||
wget -c https://git.kernel.org/pub/scm/utils/dash/dash.git/snapshot/$@
|
||||
|
||||
dbus: dbus-${dbus_version}.tar.gz
|
||||
|
||||
dbus-${dbus_version}.tar.gz:
|
||||
wget -c https://dbus.freedesktop.org/releases/dbus/$@
|
||||
|
||||
diffutils: diffutils-${diffutils_version}.tar.xz
|
||||
|
||||
diffutils-${diffutils_version}.tar.xz:
|
||||
wget -c ${gnu}/diffutils/$@
|
||||
|
||||
dhcpcd: dhcpcd-${dhcpcd_version}.tar.xz
|
||||
|
||||
dhcpcd-${dhcpcd_version}.tar.xz:
|
||||
wget -c https://roy.marples.name/downloads/dhcpcd/$@
|
||||
|
||||
e2fsprogs: e2fsprogs-$(e2fsprogs_version).tar.xz
|
||||
|
||||
e2fsprogs-$(e2fsprogs_version).tar.xz:
|
||||
wget -c $(kernel)/kernel/people/tytso/e2fsprogs/v$(e2fsprogs_version)/$@
|
||||
|
||||
elfutils: elfutils-${elfutils_version}.tar.bz2
|
||||
|
||||
elfutils-${elfutils_version}.tar.bz2:
|
||||
wget -c https://sourceware.org/ftp/elfutils/${elfutils_version}/$@
|
||||
|
||||
eudev: eudev-${eudev_version}.tar.gz
|
||||
|
||||
eudev-${eudev_version}.tar.gz:
|
||||
wget -c https://dev.gentoo.org/~blueness/eudev/$@
|
||||
|
||||
execline: execline-{execline_version}.tar.gz
|
||||
|
||||
execline-${execline_version}.tar.gz:
|
||||
wget -c ${skarnet}/execline/$@
|
||||
|
||||
expat: expat-${expat_version}.tar.xz
|
||||
|
||||
expat-${expat_version}.tar.xz:
|
||||
wget -c $(github)/libexpat/libexpat/releases/download/R_2_2_10/$@
|
||||
|
||||
file: file-${file_version}.tar.gz
|
||||
|
||||
file-${file_version}.tar.gz:
|
||||
wget -c ftp://ftp.astron.com/pub/file/$@
|
||||
|
||||
findutils: findutils-${findutils_version}.tar.xz
|
||||
|
||||
findutils-${findutils_version}.tar.xz:
|
||||
wget -c ${gnu}/findutils/$@
|
||||
|
||||
flex: flex-${flex_version}.tar.gz
|
||||
|
||||
flex-${flex_version}.tar.gz:
|
||||
wget -c ${github}/westes/flex/releases/download/v${flex_version}/$@
|
||||
|
||||
gawk: gawk-${gawk_version}.tar.xz
|
||||
|
||||
gawk-${gawk_version}.tar.xz:
|
||||
wget -c ${gnu}/gawk/$@
|
||||
|
||||
gcc: gcc-${gcc_version}.tar.xz
|
||||
|
||||
gcc-${gcc_version}.tar.xz:
|
||||
wget -c ${gnu}/gcc/gcc-${gcc_version}/$@
|
||||
|
||||
gdbm: gdbm-${gdbm_version}.tar.gz
|
||||
|
||||
gdbm-${gdbm_version}.tar.gz:
|
||||
wget -c ${gnu}/gdbm/$@
|
||||
|
||||
gettext: gettext-${gettext_version}.tar.xz
|
||||
|
||||
gettext-${gettext_version}.tar.xz:
|
||||
wget -c ${gnu}/gettext/$@
|
||||
|
||||
gettext-tiny: gettext-tiny-${gettext-tiny_version}.tar.xz
|
||||
|
||||
gettext-tiny-${gettext-tiny_version}.tar.xz:
|
||||
wget -c http://ftp.barfooze.de/pub/sabotage/tarballs/$@
|
||||
|
||||
glibc: glibc-${glibc_version}.tar.xz
|
||||
|
||||
glibc-${glibc_version}.tar.xz:
|
||||
wget -c ${gnu}/glibc/$@
|
||||
|
||||
gmp: gmp-${gmp_version}.tar.xz
|
||||
|
||||
gmp-${gmp_version}.tar.xz:
|
||||
wget -c ${gnu}/gmp/$@
|
||||
|
||||
gperf: gperf-${gperf_version}.tar.gz
|
||||
|
||||
gperf-${gperf_version}.tar.gz:
|
||||
wget -c ${gnu}/gperf/$@
|
||||
|
||||
grep: grep-${grep_version}.tar.xz
|
||||
|
||||
grep-${grep_version}.tar.xz:
|
||||
wget -c ${gnu}/grep/$@
|
||||
|
||||
groff: groff-${groff_version}.tar.gz
|
||||
|
||||
groff-${groff_version}.tar.gz:
|
||||
wget -c ${gnu}/groff/$@
|
||||
|
||||
grub: grub-${grub_version}.tar.xz
|
||||
|
||||
grub-${grub_version}.tar.xz:
|
||||
wget -c ${gnu}/grub/$@
|
||||
|
||||
gzip: gzip-${gzip_version}.tar.xz
|
||||
|
||||
gzip-${gzip_version}.tar.xz:
|
||||
wget -c ${gnu}/gzip/$@
|
||||
|
||||
iana-etc: iana-etc-${iana-etc_version}.tar.gz
|
||||
|
||||
iana-etc-${iana-etc_version}.tar.gz:
|
||||
wget -c $(github)/Mic92/iana-etc/releases/download/$(iana-etc_version)/$@
|
||||
|
||||
inetutils: inetutils-${inetutils_version}.tar.xz
|
||||
|
||||
inetutils-${inetutils_version}.tar.xz:
|
||||
wget -c ${gnu}/inetutils/$@
|
||||
|
||||
intltool: intltool-${intltool_version}.tar.gz
|
||||
|
||||
intltool-${intltool_version}.tar.gz:
|
||||
wget -c https://launchpad.net/intltool/trunk/${intltool_version}/+download/$@
|
||||
|
||||
iproute2: iproute2-${iproute2_version}.tar.xz
|
||||
|
||||
iproute2-${iproute2_version}.tar.xz:
|
||||
wget -c ${kernel}/utils/net/iproute2/$@
|
||||
|
||||
kbd: kbd-${kbd_version}.tar.xz
|
||||
|
||||
kbd-${kbd_version}.tar.xz:
|
||||
wget -c ${kernel}/utils/kbd/$@
|
||||
|
||||
kmod: kmod-${kmod_version}.tar.xz
|
||||
|
||||
kmod-${kmod_version}.tar.xz:
|
||||
wget -c ${kernel}/utils/kernel/kmod/$@
|
||||
|
||||
less: less-${less_version}.tar.gz
|
||||
|
||||
less-${less_version}.tar.gz:
|
||||
wget -c http://www.greenwoodsoftware.com/less/$@
|
||||
|
||||
libcap: libcap-${libcap_version}.tar.xz
|
||||
|
||||
libcap-${libcap_version}.tar.xz:
|
||||
wget -c ${kernel}/libs/security/linux-privs/libcap2/$@
|
||||
|
||||
libedit: libedit-${libedit_version}.tar.gz
|
||||
|
||||
libedit-${libedit_version}.tar.gz:
|
||||
wget -c https://www.thrysoee.dk/editline/$@
|
||||
|
||||
libelf-compat: libelf-compat-${libelf-compat_version}.tar.xz
|
||||
|
||||
libelf-compat-${libelf-compat_version}.tar.xz:
|
||||
wget -c https://hitchhiker-linux.org/pub/src/external/$@
|
||||
|
||||
libffi: libffi-${libffi_version}.tar.gz
|
||||
|
||||
libffi-${libffi_version}.tar.gz:
|
||||
wget -c ftp://sourceware.org/pub/libffi/$@
|
||||
|
||||
libnl: libnl-${libnl_version}.tar.gz
|
||||
|
||||
libnl-${libnl_version}.tar.gz:
|
||||
wget -c ${github}/thom311/libnl/releases/download/libnl3_5_0/$@
|
||||
|
||||
libressl: libressl-${libressl_version}.tar.gz
|
||||
|
||||
libressl-${libressl_version}.tar.gz:
|
||||
wget -c https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/$@
|
||||
|
||||
libtool: libtool-${libtool_version}.tar.xz
|
||||
|
||||
libtool-${libtool_version}.tar.xz:
|
||||
wget -c ${gnu}/libtool/$@
|
||||
|
||||
libz: libz-${libz_version}.tar.gz
|
||||
|
||||
libz-${libz_version}.tar.gz:
|
||||
wget -c https://sortix.org/libz/release/$@
|
||||
|
||||
linux: linux-${linux_version}.tar.xz
|
||||
|
||||
linux-${linux_version}.tar.xz:
|
||||
wget -c ${kernel}/kernel/v5.x/$@
|
||||
|
||||
linux_rpi: linux_rpi-${linux_rpi_version}.tar.xz
|
||||
|
||||
linux_rpi-${linux_rpi_version}.tar.xz:
|
||||
wget -c http://hitchhiker-linux.org/pub/src/external/$@
|
||||
|
||||
m4: m4-${m4_version}.tar.xz
|
||||
|
||||
m4-${m4_version}.tar.xz:
|
||||
wget -c ${gnu}/m4/$@
|
||||
|
||||
make: make-${make_version}.tar.gz
|
||||
|
||||
make-${make_version}.tar.gz:
|
||||
wget -c ${gnu}/make/$@
|
||||
|
||||
man-pages: man-pages-${man-pages_version}.tar.xz
|
||||
|
||||
man-pages-${man-pages_version}.tar.xz:
|
||||
wget -c ${kernel}/docs/man-pages/$@
|
||||
|
||||
mandoc: mandoc-${mandoc_version}.tar.gz
|
||||
|
||||
mandoc-${mandoc_version}.tar.gz:
|
||||
wget -c https://mandoc.bsd.lv/snapshots/$@
|
||||
|
||||
meson: meson-${meson_version}.tar.gz
|
||||
|
||||
meson-${meson_version}.tar.gz:
|
||||
wget -c ${github}/mesonbuild/meson/releases/download/${meson_version}/$@
|
||||
|
||||
mpc: mpc-${mpc_version}.tar.gz
|
||||
|
||||
mpc-${mpc_version}.tar.gz:
|
||||
wget -c ${gnu}/mpc/$@
|
||||
|
||||
mpfr: mpfr-${mpfr_version}.tar.xz
|
||||
|
||||
mpfr-${mpfr_version}.tar.xz:
|
||||
wget -c http://www.mpfr.org/mpfr-${mpfr_version}/$@
|
||||
|
||||
ncurses: ncurses-${ncurses_version}.tar.gz
|
||||
|
||||
ncurses-${ncurses_version}.tar.gz:
|
||||
wget -c ${gnu}/ncurses/$@
|
||||
|
||||
netbsd-curses: netbsd-curses-${netbsd-curses_version}.tar.xz
|
||||
|
||||
netbsd-curses-${netbsd-curses_version}.tar.xz:
|
||||
wget -c http://ftp.barfooze.de/pub/sabotage/tarballs/$@
|
||||
|
||||
ninja: ninja-${ninja_version}.tar.gz
|
||||
|
||||
ninja-${ninja_version}.tar.gz:
|
||||
wget -c ${github}/ninja-build/ninja/archive/v${ninja_version}/$@
|
||||
|
||||
patch: patch-${patch_version}.tar.xz
|
||||
|
||||
patch-${patch_version}.tar.xz:
|
||||
wget -c ${gnu}/patch/$@
|
||||
|
||||
pcre: pcre-${pcre_version}.tar.bz2
|
||||
|
||||
pcre-${pcre_version}.tar.bz2:
|
||||
wget -c https://ftp.pcre.org/pub/pcre/$@
|
||||
|
||||
perl: perl-${perl_version}.tar.xz
|
||||
|
||||
perl-${perl_version}.tar.xz:
|
||||
wget -c https://www.cpan.org/src/5.0/$@
|
||||
|
||||
perl-cross: perl-cross-$(perl-cross_version).tar.gz
|
||||
|
||||
perl-cross-$(perl-cross_version).tar.gz:
|
||||
wget -c $(github)/arsv/perl-cross/releases/download/$(perl-cross_version)/$@
|
||||
|
||||
pkg-config: pkg-config-${pkg-config_version}.tar.gz
|
||||
|
||||
pkg-config-${pkg-config_version}.tar.gz:
|
||||
wget -c https://pkg-config.freedesktop.org/releases/$@
|
||||
|
||||
pkgsrc: pkgsrc-${pkgsrc_version}.tar.xz
|
||||
|
||||
pkgsrc-${pkgsrc_version}.tar.xz:
|
||||
wget -c http://cdn.netbsd.org/pub/pkgsrc/pkgsrc-${pkgsrc_version}/$@
|
||||
|
||||
procps-ng: procps-ng-${procps-ng_version}.tar.xz
|
||||
|
||||
procps-ng-${procps-ng_version}.tar.xz:
|
||||
wget -c https://sourceforge.net/projects/procps-ng/files/Production/$@
|
||||
|
||||
psmisc: psmisc-${psmisc_version}.tar.xz
|
||||
|
||||
psmisc-${psmisc_version}.tar.xz:
|
||||
wget -c https://sourceforge.net/projects/psmisc/files/psmisc/$@
|
||||
|
||||
python: Python-${python_version}.tar.xz
|
||||
|
||||
Python-${python_version}.tar.xz:
|
||||
wget -c https://www.python.org/ftp/python/${python_version}/$@
|
||||
|
||||
python-docs: python-${python_version}-docs-html.tar.bz2
|
||||
|
||||
python-${python_version}-docs-html.tar.bz2:
|
||||
wget -c https://www.python.org/ftp/python/doc/${python_version}/$@
|
||||
|
||||
s6: s6-${s6_version}.tar.gz
|
||||
|
||||
s6-${s6_version}.tar.gz:
|
||||
wget -c ${skarnet}/s6/$@
|
||||
|
||||
s6-linux-init: s6-linux-init-${s6-linux-init_version}.tar.gz
|
||||
|
||||
s6-linux-init-${s6-linux-init_version}.tar.gz:
|
||||
wget -c ${skarnet}/s6-linux-init/$@
|
||||
|
||||
s6-rc: s6-rc-${s6-rc_version}.tar.gz
|
||||
|
||||
s6-rc-${s6-rc_version}.tar.gz:
|
||||
wget -c ${skarnet}/s6-rc/$@
|
||||
|
||||
sed: sed-${sed_version}.tar.xz
|
||||
|
||||
sed-${sed_version}.tar.xz:
|
||||
wget -c ${gnu}/sed/$@
|
||||
|
||||
shadow: shadow-${shadow_version}.tar.xz
|
||||
|
||||
shadow-${shadow_version}.tar.xz:
|
||||
wget -c ${github}/shadow-maint/shadow/releases/download/${shadow_version}/$@
|
||||
|
||||
skalibs: skalibs-${skalibs_version}.tar.gz
|
||||
|
||||
skalibs-${skalibs_version}.tar.gz:
|
||||
wget -c ${skarnet}/skalibs/$@
|
||||
|
||||
sysklogd: sysklogd-${sysklogd_version}.tar.gz
|
||||
|
||||
sysklogd-${sysklogd_version}.tar.gz:
|
||||
wget -c http://www.infodrom.org/projects/sysklogd/download/$@
|
||||
|
||||
tar: tar-${tar_version}.tar.xz
|
||||
|
||||
tar-${tar_version}.tar.xz:
|
||||
wget -c ${gnu}/tar/$@
|
||||
|
||||
texinfo: texinfo-${texinfo_version}.tar.xz
|
||||
|
||||
texinfo-${texinfo_version}.tar.xz:
|
||||
wget -c ${gnu}/texinfo/$@
|
||||
|
||||
tzdata: tzdata${tzdata_version}.tar.gz
|
||||
|
||||
tzdata${tzdata_version}.tar.gz:
|
||||
wget -c https://www.iana.org/time-zones/repository/releases/$@
|
||||
|
||||
u-boot: u-boot-$(u-boot_version).tar.bz2
|
||||
wget -c ftp://ftp.denx.de/pub/u-boot/$@
|
||||
|
||||
udev-lfs: udev-lfs-${udev-lfs_version}.tar.xz
|
||||
|
||||
udev-lfs-${udev-lfs_version}.tar.xz:
|
||||
wget -c http://anduin.linuxfromscratch.org/LFS/$@
|
||||
|
||||
util-linux: util-linux-${util-linux_version}.tar.xz
|
||||
|
||||
util-linux-${util-linux_version}.tar.xz:
|
||||
wget -c ${kernel}/utils/util-linux/v2.36/$@
|
||||
|
||||
vim: vim-${vim_version}.tar.gz
|
||||
|
||||
vim-${vim_version}.tar.gz:
|
||||
wget -c http://anduin.linuxfromscratch.org/LFS/$@
|
||||
|
||||
wget: wget-${wget_version}.tar.gz
|
||||
|
||||
wget-${wget_version}.tar.gz:
|
||||
wget -c ${gnu}/wget/$@
|
||||
|
||||
wireless_tools: wireless_tools.${wireless_tools_version}.tar.gz
|
||||
|
||||
wireless_tools.${wireless_tools_version}.tar.gz:
|
||||
wget -c https://hewlettpackard.github.io/wireless-tools/$@
|
||||
|
||||
wpa_supplicant: wpa_supplicant-${wpa_supplicant_version}.tar.gz
|
||||
|
||||
wpa_supplicant-${wpa_supplicant_version}.tar.gz:
|
||||
wget -c https://w1.fi/releases/$@
|
||||
|
||||
XML-Parser: XML-Parser-${XML-Parser_version}.tar.gz
|
||||
|
||||
XML-Parser-${XML-Parser_version}.tar.gz:
|
||||
wget -c https://cpan.metacpan.org/authors/id/T/TO/TODDR/$@
|
||||
|
||||
xz: xz-${xz_version}.tar.xz
|
||||
|
||||
xz-${xz_version}.tar.xz:
|
||||
wget -c http://tukaani.org/xz/$@
|
||||
|
||||
zsh: zsh-${zsh_version}.tar.xz
|
||||
|
||||
zsh-${zsh_version}.tar.xz:
|
||||
wget -c http://www.zsh.org/pub/$@
|
||||
|
||||
zsh-doc: zsh-${zsh_version}-doc.tar.xz
|
||||
|
||||
zsh-${zsh_version}-doc.tar.xz:
|
||||
wget -c http://www.zsh.org/pub/$@
|
||||
|
||||
zstd: zstd-${zstd_version}.tar.gz
|
||||
|
||||
zstd-${zstd_version}.tar.gz:
|
||||
wget -c ${github}/facebook/zstd/releases/download/v${zstd_version}/$@
|
||||
|
||||
.PHONY: all
|
54
include/mk/create-plist.mk
Normal file
54
include/mk/create-plist.mk
Normal file
|
@ -0,0 +1,54 @@
|
|||
# create-plist.mk - hhl - /usr/include/hhl
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
|
||||
pkgdbdir = var/db/pkg/${pkgname}
|
||||
|
||||
dirs = \
|
||||
bin \
|
||||
boot \
|
||||
dev \
|
||||
home \
|
||||
lib \
|
||||
media \
|
||||
mnt \
|
||||
opt \
|
||||
proc \
|
||||
root \
|
||||
run \
|
||||
sbin \
|
||||
srv \
|
||||
sys \
|
||||
sys \
|
||||
tmp \
|
||||
usr \
|
||||
var
|
||||
|
||||
install: ${pkgdbdir}/plist ${pkgdbdir}/etc.plist
|
||||
|
||||
${pkgdbdir}/plist:
|
||||
if [ ! -d ${pkgdbdir} ] ; then install -d ${pkgdbdir} ; fi
|
||||
find usr/src -name '.built' -exec rm -rf {} + || true
|
||||
find usr/src -name '.installed' -exec rm -rf {} + || true
|
||||
find ${dirs} -type f | while read f ; \
|
||||
do echo file\|$$(stat -c %n\|%a\|%u:%g $${f})\|$$(file -b -e elf $${f}) ; \
|
||||
done > $@.in
|
||||
find ${dirs} -type d | while read d ; \
|
||||
do echo directory\|$$(stat -c %n\|%a\|%u:%g $${d}) ; \
|
||||
done >> $@.in
|
||||
find ${dirs} -type c | while read c ; \
|
||||
do echo device\|$${c}\|$$(file -b $${c}) ; \
|
||||
done >> $@.in
|
||||
mv -v $@.in $@
|
||||
|
||||
${pkgdbdir}/etc.plist:
|
||||
if [ ! -d ${pkgdbdir} ] ; then install -d ${pkgdbdir} ; fi
|
||||
find etc -type f | while read f ; \
|
||||
do echo file\|$$(stat -c %n\|%a\|%u:%g $${f})\|$$(file -b -e elf $${f}) ; \
|
||||
done > $@.in
|
||||
find etc -type d | while read d ; \
|
||||
do echo directory\|$$(stat -c %n\|%a\|%u:%g $${d}) ; \
|
||||
done >> $@.in
|
||||
mv -v $@.in $@
|
||||
|
||||
.PHONY: install
|
4
include/mk/hhl.colors.mk
Normal file
4
include/mk/hhl.colors.mk
Normal file
|
@ -0,0 +1,4 @@
|
|||
export grn = $(shell tput setaf 2)
|
||||
export red = $(shell tput setaf 1)
|
||||
export reset = $(shell tput sgr0)
|
||||
export colormk = ""
|
6
include/mk/hhl.cprog.bsd.mk
Normal file
6
include/mk/hhl.cprog.bsd.mk
Normal file
|
@ -0,0 +1,6 @@
|
|||
# hhl.cprog.bsd.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
ldflags += -isystem ../../lib/libbsd/include/
|
||||
libs += ../../lib/libbsd/libbsd.a
|
||||
include hhl.cprog.mk
|
71
include/mk/hhl.cprog.mk
Normal file
71
include/mk/hhl.cprog.mk
Normal file
|
@ -0,0 +1,71 @@
|
|||
# hhl.cprog.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
internal = true
|
||||
src ?= ./src
|
||||
objdir ?= ${global_objdir}/${progname}
|
||||
srcs += $(wildcard ${src}/*.c)
|
||||
objs += $(patsubst ${src}/%.c,${objdir}/%.o,${srcs})
|
||||
hdrs += $(wildcard ${src}/*.h)
|
||||
o_lvl ?= -O2
|
||||
include world.mk
|
||||
include hhl.doc.mk
|
||||
include hhl.locale.mk
|
||||
include hhl.colors.mk
|
||||
CC = $(tgt)-gcc
|
||||
AR = $(tgt)-ar
|
||||
RANLIB = $(tgt)-ranlib
|
||||
BLD_CC ?= cc
|
||||
|
||||
ifeq (${sbin},1)
|
||||
bindir = ${sbindir}
|
||||
binprog = ${sbindir}/${progname}
|
||||
else
|
||||
binprog = ${bindir}/${progname}
|
||||
endif
|
||||
|
||||
ldflags += -I${src}
|
||||
cflags += ${o_lvl}
|
||||
cflags += --sysroot=$(DESTDIR)
|
||||
|
||||
ifeq (${hhl_source},1)
|
||||
cflags += -std=c99
|
||||
cflags += -Wall
|
||||
cflags += -pedantic
|
||||
endif
|
||||
|
||||
VPATH += ${src}
|
||||
|
||||
install: ${binprog} ${docs} ${locales} | ${binlinks} ${manlinks}
|
||||
$(info $(grn)=== Finished building $(progname) ===$(reset))
|
||||
|
||||
ifeq (${onestage},true)
|
||||
${binprog}: ${srcs} ${hdrs} | ${bindir}
|
||||
$(info $(grn)=== Building for ${progname} ===$(reset))
|
||||
${pre_build}
|
||||
$(CC) ${cppflags} ${cflags} ${ldflags} -o $@ ${srcs} ${libs}
|
||||
${post_build}
|
||||
else
|
||||
${objdir}:
|
||||
$(info $(grn)=== Building for $(progname) ===$(reset))
|
||||
${pre_build}
|
||||
install -d ${objdir}
|
||||
|
||||
${binprog}: ${objs} | ${bindir}
|
||||
$(CC) ${cflags} -o $@ ${objs} ${libs}
|
||||
${post_build}
|
||||
|
||||
${objdir}/%.o: ${src}/%.c ${hdrs} | ${objdir}
|
||||
$(CC) ${cppflags} ${cflags} ${ldflags} -o $@ -c $<
|
||||
endif
|
||||
|
||||
${binlinks}: ${binprog}
|
||||
ln -sf ${progname} $@
|
||||
|
||||
${bindir}:
|
||||
install -d $@
|
||||
|
||||
clean:
|
||||
rm -rf ${objs}
|
||||
|
||||
.PHONY: install clean
|
13
include/mk/hhl.cprog.openbsd.mk
Normal file
13
include/mk/hhl.cprog.openbsd.mk
Normal file
|
@ -0,0 +1,13 @@
|
|||
# hhl.cprog.bsd.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
cppflags += -DHAVE_CONFIG_H
|
||||
ldflags += -I../../../include/openbsd
|
||||
ldflags += -I../../lib/liboutil/include
|
||||
ldflags += -include compat.h
|
||||
ldflags += -include config.h
|
||||
libs += -L../../lib/libopenbsd
|
||||
libs += -L../../lib/liboutil
|
||||
libs += -loutil
|
||||
libs += -lopenbsd
|
||||
include hhl.cprog.mk
|
15
include/mk/hhl.cprog.sbase.mk
Normal file
15
include/mk/hhl.cprog.sbase.mk
Normal file
|
@ -0,0 +1,15 @@
|
|||
# hhl.cprog.sbase.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
onestage ?= true
|
||||
cppflags += -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_FILE_OFFSET_BITS=64
|
||||
cflags += -std=c99 -Wall -pedantic
|
||||
ldflags += -I../../../include
|
||||
libs += -L../../lib/libsbutil
|
||||
libs += -L../../lib/libutf
|
||||
libs += -lsbutil
|
||||
libs += -lutf
|
||||
include hhl.cprog.mk
|
||||
|
||||
${sbase_libs}:
|
||||
$(MAKE) -C ../../lib/libutil ../../lib/libutf
|
13
include/mk/hhl.cprog.ubase.mk
Normal file
13
include/mk/hhl.cprog.ubase.mk
Normal file
|
@ -0,0 +1,13 @@
|
|||
# hhl.cprog.sbase.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
include hhl.cprog.mk
|
||||
cppflags += -D_FILE_OFFSET_BITS=64 -D_XOPEN_SOURCE=700 -D_GNU_SOURCE
|
||||
cflags += -std=c99 -Wall -Wextra
|
||||
ldflags += -I../../../include
|
||||
libs += -L../../lib/libubase
|
||||
libs += -lubase
|
||||
libs += -lcrypt
|
||||
|
||||
${sbase_libs}:
|
||||
$(MAKE) -C ../../lib/libutil ../../lib/libutf
|
76
include/mk/hhl.doc.mk
Normal file
76
include/mk/hhl.doc.mk
Normal file
|
@ -0,0 +1,76 @@
|
|||
# hhl.doc.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
|
||||
man1srcs ?= $(wildcard man/*.1)
|
||||
man2srcs ?= $(wildcard man/*.2)
|
||||
man3srcs ?= $(wildcard man/*.3)
|
||||
man4srcs ?= $(wildcard man/*.4)
|
||||
man5srcs ?= $(wildcard man/*.5)
|
||||
man6srcs ?= $(wildcard man/*.6)
|
||||
man7srcs ?= $(wildcard man/*.7)
|
||||
man8srcs ?= $(wildcard man/*.8)
|
||||
man1s ?= $(patsubst man/%.1,${man1dir}/%.1,${man1srcs})
|
||||
man2s ?= $(patsubst man/%.2,${man2dir}/%.2,${man2srcs})
|
||||
man3s ?= $(patsubst man/%.3,${man3dir}/%.3,${man3srcs})
|
||||
man4s ?= $(patsubst man/%.4,${man4dir}/%.4,${man4srcs})
|
||||
man5s ?= $(patsubst man/%.5,${man5dir}/%.5,${man5srcs})
|
||||
man6s ?= $(patsubst man/%.6,${man6dir}/%.6,${man6srcs})
|
||||
man7s ?= $(patsubst man/%.7,${man7dir}/%.7,${man7srcs})
|
||||
man8s ?= $(patsubst man/%.8,${man8dir}/%.8,${man8srcs})
|
||||
mans = ${man1s} ${man2s} ${man3s} ${man4s} ${man5s} ${man6s} \
|
||||
${man7s} ${man8s}
|
||||
infosrcs ?= $(wildcard info/*.info)
|
||||
infos ?= $(patsubst info/%.info,${infodir}/%.info,${infosrcs})
|
||||
|
||||
progdocdir = ${docdir}/${progname}
|
||||
htmlsrcs ?= $(wildcard doc/*.html)
|
||||
html = $(patsubst doc/%.html,${progdocdir}/%.html,${htmlsrcs})
|
||||
txtsrcs ?= $(wildcard doc/*.txt)
|
||||
txt = $(patsubst doc/%.txt,${progdocdir}/%.txt,${txtsrcs})
|
||||
pdfsrcs ?= $(wildcard doc/*.pdf)
|
||||
pdf = $(patsubst doc/%.pdf,${progdocdir}/%.pdf,${pdfsrcs})
|
||||
|
||||
docs = ${mans} ${infos} ${html} ${txt} ${pdf}
|
||||
|
||||
VPATH += ./man
|
||||
VPATH += ./doc
|
||||
|
||||
${man1dir}/%.1: man/%.1
|
||||
install -Dm644 $< $@
|
||||
|
||||
${man2dir}/%.2: man/%.2
|
||||
install -Dm644 $< $@
|
||||
|
||||
${man3dir}/%.3: man/%.3
|
||||
install -Dm644 $< $@
|
||||
|
||||
${man4dir}/%.4: man/%.4
|
||||
install -Dm644 $< $@
|
||||
|
||||
${man5dir}/%.5: man/%.5
|
||||
install -Dm644 $< $@
|
||||
|
||||
${man6dir}/%.6: man/%.6
|
||||
install -Dm644 $< $@
|
||||
|
||||
${man7dir}/%.7: man/%.7
|
||||
install -Dm644 $< $@
|
||||
|
||||
${man8dir}/%.8: man/%.8
|
||||
install -Dm644 $< $@
|
||||
|
||||
${manlinks}:
|
||||
ln -sf $(shell echo $@ | sed 's;@; ;')
|
||||
|
||||
${infodir}/%.info: info/%.info
|
||||
install -Dm644 $< $@
|
||||
|
||||
${progdocdir}/%.html: doc/%.html
|
||||
install -Dm644 $< $@
|
||||
|
||||
${progdocdir}/%.txt: doc/%.txt
|
||||
install -Dm644 $< $@
|
||||
|
||||
${progdocdir}/%.pdf: doc/%.pdf
|
||||
install -Dm644 $< $@
|
17
include/mk/hhl.lib.mk
Normal file
17
include/mk/hhl.lib.mk
Normal file
|
@ -0,0 +1,17 @@
|
|||
# hhl.staticlib.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
src ?= ./src
|
||||
include world.mk
|
||||
include hhl.colors.mk
|
||||
CC = $(tgt)-gcc
|
||||
AR = $(tgt)-ar
|
||||
RANLIB = $(tgt)-ranlib
|
||||
VPATH += ${src}
|
||||
cflags += --sysroot=$(DESTDIR)
|
||||
|
||||
srcs ?= $(wildcard ${src}/*.c)
|
||||
objs ?= $(patsubst ${src}/%.c,${objdir}/%.o,${srcs})
|
||||
|
||||
ldflags += -I. -I${src}
|
||||
|
13
include/mk/hhl.locale.mk
Normal file
13
include/mk/hhl.locale.mk
Normal file
|
@ -0,0 +1,13 @@
|
|||
# hhl.doc.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
|
||||
posrc = $(wildcard locale/*.po)
|
||||
localedirs = $(patsubst locale/%.po,${localedir}/%/LC_MESSAGES,${posrc})
|
||||
locales = $(patsubst locale/%.po,${localedir}/%/LC_MESSAGES/${progname}.mo,${posrc})
|
||||
|
||||
${localedir}/%/LC_MESSAGES/${progname}.mo: locale/%.po | ${localedir}/%/LC_MESSAGES
|
||||
msgfmt $< -o $@
|
||||
|
||||
${localedirs}:
|
||||
install -d $@
|
42
include/mk/hhl.script.mk
Normal file
42
include/mk/hhl.script.mk
Normal file
|
@ -0,0 +1,42 @@
|
|||
# hhl.script.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
internal = true
|
||||
src ?= src/${progname}.sh
|
||||
include world.mk
|
||||
include hhl.doc.mk
|
||||
include hhl.colors.mk
|
||||
|
||||
ifneq (${sbin},true)
|
||||
installdirs = ${bindir}
|
||||
binprog = ${bindir}/${progname}
|
||||
else
|
||||
installdirs = ${sbindir}
|
||||
binprog = ${sbindir}/${progname}
|
||||
endif
|
||||
bins = ${binprog} ${binlinks}
|
||||
|
||||
install: ${bins} ${docs}
|
||||
ifneq (${finish},true)
|
||||
$(info $(grn)=== Finished building $(progname) ===$(reset))
|
||||
endif
|
||||
|
||||
finish: install ${objdir}/.finished
|
||||
ifeq (${finish},true)
|
||||
$(info $(grn)=== Finished building $(progname) ===$(reset))
|
||||
endif
|
||||
|
||||
${binprog}: ${src} ${installdirs}
|
||||
$(info $(grn)=== Installing ${src} as ${binprog} ===$(reset))
|
||||
install -Dm755 ${src} $@
|
||||
|
||||
${binlinks}: ${binprog}
|
||||
ln -f $< $@
|
||||
|
||||
${objdir}:
|
||||
install -d ${objdir}
|
||||
|
||||
${installdirs}:
|
||||
install -d $@
|
||||
|
||||
.PHONY: install
|
40
include/mk/hhl.sharedlib.mk
Normal file
40
include/mk/hhl.sharedlib.mk
Normal file
|
@ -0,0 +1,40 @@
|
|||
# hhl.staticlib.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
objdir ?= $(global_objdir)/lib$(libname)_shared
|
||||
version = $(major).$(minor)
|
||||
libbase = lib$(libname).so
|
||||
libmajor = $(libbase).$(major)
|
||||
libminor = $(libmajor).$(minor)
|
||||
include hhl.lib.mk
|
||||
cflags += -fpic
|
||||
cflags += -fPIC
|
||||
liblinks = $(libdir)/$(libmajor) $(libdir)/$(libbase)
|
||||
|
||||
install: $(libdir)/$(libminor) | $(liblinks)
|
||||
@echo -e "$(grn)=== Finished Building $(libminor) ===$(unset)"
|
||||
|
||||
all: $(libminor)
|
||||
|
||||
$(libdir)/$(libminor): $(libminor) | $(libdir)
|
||||
install -m755 $< $@
|
||||
|
||||
$(liblinks): $(libdir)/$(libminor)
|
||||
ln -s $(libminor) $@
|
||||
|
||||
$(libminor): $(objs)
|
||||
$(CC) -shared -Wl,-soname -Wl,$(libmajor) -o $@ $(objs)
|
||||
rm -f $(libmajor)
|
||||
|
||||
$(objdir)/%.o: $(src)/%.c | $(objdir)
|
||||
$(CC) $(cppflags) $(cflags) $(ldflags) -o $@ -c $<
|
||||
|
||||
$(objdir):
|
||||
@echo -e "$(grn)=== Building for $(libname) ===$(unset)"
|
||||
install -d $(objdir)
|
||||
|
||||
clean:
|
||||
@echo -e "$(grn)=== Cleaning for $(libname) ===$(unset)"
|
||||
rm -rf $(objdir) $(libminor) $(libmajor)
|
||||
|
||||
.PHONY: all clean
|
31
include/mk/hhl.staticlib.mk
Normal file
31
include/mk/hhl.staticlib.mk
Normal file
|
@ -0,0 +1,31 @@
|
|||
# hhl.staticlib.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
internal = true
|
||||
objdir ?= $(global_objdir)/lib$(libname)_static
|
||||
staticlib = lib$(libname).a
|
||||
include hhl.lib.mk
|
||||
|
||||
all: $(staticlib)
|
||||
$(info $(grn)=== Finished Building $(staticlib) ===$(reset))
|
||||
|
||||
$(staticlib): $(objs)
|
||||
$(AR) rc $@ $^
|
||||
$(RANLIB) $@
|
||||
|
||||
$(objdir)/%.o: $(src)/%.c | $(objdir)
|
||||
$(CC) $(cppflags) $(cflags) $(ldflags) -o $@ -c $<
|
||||
|
||||
$(objdir):
|
||||
$(info $(grn)=== Building for $(staticlib) ===$(reset))
|
||||
install -d $(objdir)
|
||||
|
||||
install: $(libdir)/$(staticlib)
|
||||
|
||||
$(libdir)/$(staticlib): $(staticlib) | $(libdir)
|
||||
install $< $@
|
||||
|
||||
clean:
|
||||
rm -rf $(objdir) $(staticlib)
|
||||
|
||||
.PHONY: all clean
|
15
include/mk/hhl.staticlib.openbsd.mk
Normal file
15
include/mk/hhl.staticlib.openbsd.mk
Normal file
|
@ -0,0 +1,15 @@
|
|||
# hhl.staticlib.sbase.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
doinstall = false
|
||||
src = $(shell find src/ -name '*.c')
|
||||
include hhl.staticlib.mk
|
||||
cppflags += -D__LIBC__
|
||||
cppflags += -DHAVE_CONFIG_H
|
||||
cflags += -Werror=deprecated-declarations
|
||||
cflags += -Werror-implicit-function-declaration
|
||||
ldflags += -I../../include/openbsd
|
||||
ldflags += -I./include
|
||||
ldflags += -I./include/hidden
|
||||
ldflags += -include config.h
|
||||
ldflags += -include namespace.h
|
11
include/mk/hhl.staticlib.sbase.mk
Normal file
11
include/mk/hhl.staticlib.sbase.mk
Normal file
|
@ -0,0 +1,11 @@
|
|||
# hhl.staticlib.sbase.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
doinstall = false
|
||||
include hhl.staticlib.mk
|
||||
cppflags += -D_DEFAULT_SOURCE
|
||||
cppflags += -D_BSD_SOURCE
|
||||
cppflags += -D_XOPEN_SOURCE=700
|
||||
cppflags += -D_FILE_OFFSET_BITS=64
|
||||
cflags += -std=c99 -Wall -pedantic
|
||||
ldflags += -I${basedir}/include
|
8
include/mk/hhl.staticlib.ubase.mk
Normal file
8
include/mk/hhl.staticlib.ubase.mk
Normal file
|
@ -0,0 +1,8 @@
|
|||
# hhl.staticlib.sbase.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
doinstall = false
|
||||
include hhl.staticlib.mk
|
||||
cppflags += -D_FILE_OFFSET_BITS=64 -D_XOPEN_SOURCE=700 -D_GNU_SOURCE
|
||||
cflags += -std=c99 -Wall -Wextra
|
||||
ldflags += -I../../../include
|
11
include/mk/ports.mk
Normal file
11
include/mk/ports.mk
Normal file
|
@ -0,0 +1,11 @@
|
|||
# ports.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
|
||||
install_prefix ?= /usr/local
|
||||
confdir ?= ${install_prefix}/etc
|
||||
localstatedir ?= ${prefix}/var
|
||||
logdir ?= ${localstatedir}/log
|
||||
|
||||
export PATH = /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
|
||||
include src-config.mk
|
113
include/mk/src-config.mk
Normal file
113
include/mk/src-config.mk
Normal file
|
@ -0,0 +1,113 @@
|
|||
# src-config.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
include versions.mk
|
||||
os_name = Hitch Hiker Linux
|
||||
os_abbrev = hhl
|
||||
os_version = 2021q2
|
||||
basedir = /src
|
||||
include $(basedir)/config.mk
|
||||
|
||||
arch ?= $(shell uname -m)
|
||||
bld_arch ?= $(shell uname -m)
|
||||
|
||||
ifndef colormk
|
||||
include hhl.colors.mk
|
||||
endif
|
||||
|
||||
ifeq ($(filter armv7l aarch64, $(arch)), $(arch))
|
||||
tgt = ${arch}-unknown-linux-gnueabi
|
||||
else
|
||||
tgt = ${arch}-unknown-linux-gnu
|
||||
endif
|
||||
|
||||
ifeq ($(filter armv7l aarch64, $(bld_arch)), $(bld_arch))
|
||||
bld = $(bld_arch)-unknown-linux-gnueabi
|
||||
else
|
||||
bld = $(bld_arch)-unknown-linux-gnu
|
||||
endif
|
||||
|
||||
exec_prefix ?= ${DESTDIR}${install_prefix}
|
||||
bindir ?= ${exec_prefix}/bin
|
||||
sbindir ?= ${exec_prefix}/sbin
|
||||
libdir ?= ${DESTDIR}${install_prefix}/lib
|
||||
libexecdir ?= ${DESTDIR}${install_prefix}/libexec
|
||||
includedir ?= ${DESTDIR}${install_prefix}/include
|
||||
sharedir ?= ${DESTDIR}${install_prefix}/share
|
||||
docdir ?= ${sharedir}/doc
|
||||
infodir ?= ${sharedir}/info
|
||||
localedir ?= ${sharedir}/locale
|
||||
mandir ?= ${sharedir}/man
|
||||
man1dir = ${mandir}/man1
|
||||
man2dir = ${mandir}/man2
|
||||
man3dir = ${mandir}/man3
|
||||
man4dir = ${mandir}/man4
|
||||
man5dir = ${mandir}/man5
|
||||
man6dir = ${mandir}/man6
|
||||
man7dir = ${mandir}/man7
|
||||
man8dir = ${mandir}/man8
|
||||
|
||||
distdir = ${basedir}/distfiles
|
||||
toolchain = ${basedir}/toolchain
|
||||
world = ${basedir}/world
|
||||
build = ${basedir}/build
|
||||
distfullname ?= ${distname}-${${distname}_version}
|
||||
objdirname ?= ${distfullname}
|
||||
distext ?= xz
|
||||
distfile ?= ${distfullname}.tar.${distext}
|
||||
distlocal ?= ${distdir}/${distfile}
|
||||
wkgdir = $(shell pwd)
|
||||
srcdir ?= ${global_srcdir}/${distfullname}
|
||||
|
||||
export LC_ALL = POSIX
|
||||
|
||||
_dhcpcd ?= 1
|
||||
_wireless ?= 1
|
||||
|
||||
use_configure ?= 1
|
||||
no_objdir ?= 0
|
||||
|
||||
ifeq (${use_configure},1)
|
||||
config_tgt ?= ${objdir}/Makefile
|
||||
config_deps += ${srcdir}/.dirstamp
|
||||
config_opts ?= --prefix=${install_prefix}
|
||||
config_cmd ?= cd ${objdir} && ${srcdir}/configure ${config_opts}
|
||||
build_deps ?= ${config_tgt}
|
||||
else
|
||||
build_deps ?= ${config_deps}
|
||||
build_deps += ${srcdir}/.dirstamp
|
||||
endif
|
||||
build_cmd ?= $(MAKE) ${makeflags} -C ${objdir}
|
||||
install_deps ?= ${objdir}/.built
|
||||
install_cmd ?= $(MAKE) ${makeflags} -C ${objdir} install
|
||||
all_deps ?= ${objdir}/.built
|
||||
|
||||
ifndef internal
|
||||
stamps ?= ${config_tgt} ${objdir}/.built ${objdir}/.installed
|
||||
endif
|
||||
|
||||
ifeq (${no_objdir},1)
|
||||
objdir = ${srcdir}
|
||||
else
|
||||
pre_dirs += ${objdir}
|
||||
endif
|
||||
|
||||
ifdef patches
|
||||
config_deps += ${patches} ${srcdir}/.patched
|
||||
endif
|
||||
|
||||
stripdirs += ${build}/lib
|
||||
stripdirs += ${build}/usr/lib
|
||||
stripdirs += ${build}/bin
|
||||
stripdirs += ${build}/sbin
|
||||
stripdirs += ${build}/bin
|
||||
stripdirs += ${build}/sbin
|
||||
stripdirs += ${build}/usr/bin
|
||||
stripdirs += ${build}/usr/sbin
|
||||
stripdirs += ${build}/usr/bin
|
||||
stripdirs += ${build}/usr/sbin
|
||||
|
||||
${basedir}/config.mk:
|
||||
cp $(basedir)/config.mk.sample $(basedir)/config.mk
|
||||
|
||||
.DEFAULT_GOAL = ${default_goal}
|
107
include/mk/targets.mk
Normal file
107
include/mk/targets.mk
Normal file
|
@ -0,0 +1,107 @@
|
|||
# targets.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
|
||||
ifeq ($(no_objdir),1)
|
||||
clean_cmd ?= $(MAKE) -C $(srcdir) clean distclean
|
||||
else
|
||||
clean_cmd ?= rm -rf $(objdir)
|
||||
endif
|
||||
|
||||
distclean_cmd ?= rm -rf ${objdir} ${srcdir} ${stamps}
|
||||
|
||||
ifeq (${distext},gz)
|
||||
tarflags += -xzf
|
||||
endif
|
||||
ifeq (${distext},bz2)
|
||||
tarflags += -xjf
|
||||
endif
|
||||
ifeq (${distext},xz)
|
||||
tarflags += -xJf
|
||||
endif
|
||||
|
||||
install_cmd ?= $(MAKE) DESTDIR=$(DESTDIR) -C $(objdir) install
|
||||
|
||||
all: ${all_deps}
|
||||
|
||||
install: ${objdir}/.installed
|
||||
$(info $(grn)=== $(distfullname) installed ===$(reset))
|
||||
|
||||
${objdir}/.installed: ${install_deps}
|
||||
$(info $(grn)=== $(distfullname) built ===$(reset))
|
||||
$(info $(grn)=== Installing for $(distfullname) ===$(reset))
|
||||
$(pre_install)
|
||||
$(install_cmd)
|
||||
$(post_install)
|
||||
touch $@
|
||||
|
||||
installclean:
|
||||
$(MAKE) install clean
|
||||
|
||||
$(installdirs):
|
||||
install -d $@
|
||||
|
||||
$(objdir)/.built: $(build_deps) | $(pre_dirs)
|
||||
$(info $(grn)=== Building for $(distfullname)$(reset))
|
||||
$(pre_build)
|
||||
$(build_cmd)
|
||||
$(post_build)
|
||||
touch $@
|
||||
|
||||
$(config_tgt): $(config_deps) | $(pre_dirs)
|
||||
$(info $(grn)=== Configuring for $(distfullname) ===$(reset))
|
||||
$(pre_configure)
|
||||
$(config_cmd)
|
||||
$(post_configure)
|
||||
touch $@
|
||||
|
||||
$(srcdir)/.patched: $(patches) $(srcdir)/.dirstamp
|
||||
$(info $(grn)=== Patching $(srcdir) ===$(reset))
|
||||
for patch in $(patches) ; do cd $(srcdir) && \
|
||||
patch -p1 < $(wkgdir)/$${patch} ; done
|
||||
touch ${srcdir}/.patched
|
||||
|
||||
$(srcdir)/.dirstamp: $(distlocal)
|
||||
$(info $(grn)=== Extracting $(distlocal) ===$(reset))
|
||||
tar $(tarflags) $(distlocal) -C $(global_srcdir)
|
||||
touch $@
|
||||
|
||||
ifneq (${no_objdir},1)
|
||||
${objdir}:
|
||||
install -d $@
|
||||
endif
|
||||
|
||||
$(distlocal):
|
||||
$(info $(grn)=== Fetching $(distfile) ===$(reset))
|
||||
$(MAKE) -C $(distdir) $(distfile)
|
||||
|
||||
clean:
|
||||
$(info $(grn)=== Cleaning for $(distname) ===$(reset))
|
||||
$(clean_cmd)
|
||||
|
||||
distclean: clean
|
||||
${distclean_cmd}
|
||||
|
||||
remove-objs:
|
||||
rm -rf ${objs} || true
|
||||
|
||||
remove-srcdir:
|
||||
rm -rf ${srcdir} || true
|
||||
|
||||
remove-objdir:
|
||||
rm -rf ${objdir} || true
|
||||
|
||||
remove: remove-objs remove-srcdir remove-objdir
|
||||
|
||||
.PHONY: \
|
||||
all \
|
||||
install \
|
||||
installclean \
|
||||
finish \
|
||||
clean \
|
||||
distclean \
|
||||
remove-objs \
|
||||
remove-objdir \
|
||||
remove-srcdir \
|
||||
remove
|
||||
|
19
include/mk/toolchain.mk
Normal file
19
include/mk/toolchain.mk
Normal file
|
@ -0,0 +1,19 @@
|
|||
# toolchain.mk - mk - /usr/include/hhl
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
|
||||
install_prefix = /toolchain
|
||||
confdir ?= ${install_prefix}/etc
|
||||
localstatedir ?= ${install_prefix}/var
|
||||
logdir ?= ${localstatedir}/log
|
||||
|
||||
global_srcdir = /src/build/src
|
||||
global_objdir = /src/build/obj
|
||||
|
||||
export PATH = /toolchain/bin:/usr/bin:/bin:/toolchain/sbin:/usr/sbin:/sbin
|
||||
|
||||
default_goal ?= install
|
||||
|
||||
include src-config.mk
|
||||
objdir ?= ${global_objdir}/${objdirname}-toolchain
|
||||
|
98
include/mk/versions.mk
Normal file
98
include/mk/versions.mk
Normal file
|
@ -0,0 +1,98 @@
|
|||
# versions.mk - hhl - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
|
||||
# package versions - hhl base
|
||||
acl_version = 2.2.53
|
||||
attr_version = 2.4.48
|
||||
autoconf_version = 2.71
|
||||
automake_version = 1.16.3
|
||||
bc_version = 3.2.5
|
||||
binutils_version = 2.36
|
||||
bison_version = 3.7.5
|
||||
busybox_version = 1.31.1
|
||||
bzip2_version = 1.0.8
|
||||
cmake_version = 3.18.1
|
||||
coreutils_version = 8.32
|
||||
curl_version = 7.71.0
|
||||
dash_version = 0.5.11
|
||||
dbus_version = 1.12.18
|
||||
diffutils_version = 3.7
|
||||
dhcpcd_version = 8.1.6
|
||||
e2fsprogs_version = 1.46.0
|
||||
elfutils_version = 0.182
|
||||
eudev_version = 3.2.9
|
||||
execline_version = 2.7.0.1
|
||||
expat_version = 2.2.10
|
||||
file_version = 5.39
|
||||
findutils_version = 4.8.0
|
||||
flex_version = 2.6.4
|
||||
gawk_version = 5.1.0
|
||||
gcc_version = 10.2.0
|
||||
gdbm_version = 1.19
|
||||
gettext_version = 0.21
|
||||
gettext-tiny_version = 0.3.2
|
||||
glibc_version = 2.32
|
||||
gmp_version = 6.2.1
|
||||
gperf_version = 3.1
|
||||
grep_version = 3.6
|
||||
groff_version = 1.22.4
|
||||
grub_version = 2.04
|
||||
gzip_version = 1.10
|
||||
iana-etc_version = 20210115
|
||||
inetutils_version = 1.9.4
|
||||
intltool_version = 0.51.0
|
||||
iproute2_version = 5.10.0
|
||||
kbd_version = 2.4.0
|
||||
kmod_version = 28
|
||||
less_version = 563
|
||||
libcap_version = 2.47
|
||||
libedit_version = 20191231-3.1
|
||||
libelf-compat_version = 0.152
|
||||
libffi_version = 3.3
|
||||
libnl_version = 3.5.0
|
||||
libressl_version = 3.0.2
|
||||
libtool_version = 2.4.6
|
||||
libz_version = 1.2.8.2015.12.26
|
||||
linux_version = 5.10.15
|
||||
linux_rpi_version = 5.4.45
|
||||
m4_version = 1.4.18
|
||||
make_version = 4.3
|
||||
man-pages_version = 5.10
|
||||
mandoc_version = 1.14.5
|
||||
meson_version = 0.56.2
|
||||
mpc_version = 1.2.1
|
||||
mpfr_version = 4.1.0
|
||||
ncurses_version = 6.2
|
||||
netbsd-curses_version = 0.3.1
|
||||
ninja_version = 1.10.2
|
||||
patch_version = 2.7.6
|
||||
pcre_version = 8.44
|
||||
perl_version = 5.32.1
|
||||
perl-cross_version = 1.3.5
|
||||
pkg-config_version = 0.29.2
|
||||
pkgsrc_version = 2020Q2
|
||||
procps-ng_version = 3.3.16
|
||||
psmisc_version = 23.3
|
||||
python_version = 3.9.1
|
||||
s6_version = 2.10.0.1
|
||||
s6-linux-init_version = 1.0.6.0
|
||||
s6-rc_version = 0.5.2.1
|
||||
sed_version = 4.8
|
||||
shadow_version = 4.8.1
|
||||
skalibs_version = 2.10.0.1
|
||||
sysklogd_version = 1.5.1
|
||||
tar_version = 1.33
|
||||
texinfo_version = 6.7
|
||||
tzdata_version = 2021a
|
||||
u-boot_version = 2021.01
|
||||
udev-lfs_version = 20171102
|
||||
util-linux_version = 2.36.1
|
||||
vim_version = 8.2.2433
|
||||
wget_version = 1.21.1
|
||||
wireless_tools_version = 29
|
||||
wpa_supplicant_version = 2.9
|
||||
XML-Parser_version = 2.46
|
||||
xz_version = 5.2.5
|
||||
zsh_version = 5.8
|
||||
zstd_version = 1.4.8
|
29
include/mk/world.mk
Normal file
29
include/mk/world.mk
Normal file
|
@ -0,0 +1,29 @@
|
|||
# world.mk - mk - /usr/include/mk
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
|
||||
DESTDIR ?= /src/build
|
||||
export DESTDIR
|
||||
|
||||
global_srcdir ?= /src/build/src
|
||||
global_objdir ?= /src/build/obj
|
||||
|
||||
#config_opts += --cache-file=$(global_objdir)/config.cache
|
||||
install_cmd ?= $(MAKE) $(makeflags) DESTDIR=$(DESTDIR) -C $(objdir) install
|
||||
install_prefix ?= /usr
|
||||
confdir ?= ${DESTDIR}/etc
|
||||
localstatedir ?= ${DESTDIR}/var
|
||||
logdir ?= ${DESTDIR}/var/log
|
||||
|
||||
export PATH = /toolchain/bin:/toolchain/sbin:/usr/bin:/usr/sbin:/bin:/sbin
|
||||
ifeq (${doinstall},false)
|
||||
default_goal ?= all
|
||||
endif
|
||||
|
||||
ifndef finish
|
||||
default_goal ?= install
|
||||
else
|
||||
default_goal ?= finish
|
||||
endif
|
||||
|
||||
include src-config.mk
|
||||
objdir ?= ${global_objdir}/${objdirname}-world
|
70
include/openbsd/arpa/tftp.h
Normal file
70
include/openbsd/arpa/tftp.h
Normal file
|
@ -0,0 +1,70 @@
|
|||
/* $OpenBSD: tftp.h,v 1.8 2006/07/26 16:43:30 deraadt Exp $ */
|
||||
/* $NetBSD: tftp.h,v 1.3 1994/10/26 00:56:48 cgd Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1983 Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)tftp.h 5.4 (Berkeley) 4/3/91
|
||||
*/
|
||||
|
||||
#include_next <arpa/tftp.h>
|
||||
|
||||
#ifndef _COMPAT_TFTP_H_
|
||||
#define _COMPAT_TFTP_H_
|
||||
|
||||
/*
|
||||
* Trivial File Transfer Protocol (IEN-133)
|
||||
*/
|
||||
#ifndef SEGSIZE_MIN
|
||||
#define SEGSIZE_MIN 8 /* minimal data segment size */
|
||||
#endif
|
||||
#ifndef SEGSIZE_MAX
|
||||
#define SEGSIZE_MAX 65464 /* maximal data segment size */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Packet types.
|
||||
*/
|
||||
#ifndef QACK
|
||||
#define OACK 06 /* option acknowledgement */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Error codes.
|
||||
*/
|
||||
#define EUNDEF 0 /* not defined */
|
||||
#define ENOTFOUND 1 /* file not found */
|
||||
#define EACCESS 2 /* access violation */
|
||||
#define ENOSPACE 3 /* disk full or allocation exceeded */
|
||||
#define EBADOP 4 /* illegal TFTP operation */
|
||||
#define EBADID 5 /* unknown transfer ID */
|
||||
#define EEXISTS 6 /* file already exists */
|
||||
#define ENOUSER 7 /* no such user */
|
||||
#define EOPTNEG 8 /* option negotiation failed */
|
||||
|
||||
#endif /* !_TFTP_H_ */
|
82
include/openbsd/blf.h
Normal file
82
include/openbsd/blf.h
Normal file
|
@ -0,0 +1,82 @@
|
|||
/* $OpenBSD: blf.h,v 1.7 2007/03/14 17:59:41 grunk Exp $ */
|
||||
/*
|
||||
* Blowfish - a fast block cipher designed by Bruce Schneier
|
||||
*
|
||||
* Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by Niels Provos.
|
||||
* 4. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _BLF_H_
|
||||
#define _BLF_H_
|
||||
|
||||
/* Schneier specifies a maximum key length of 56 bytes.
|
||||
* This ensures that every key bit affects every cipher
|
||||
* bit. However, the subkeys can hold up to 72 bytes.
|
||||
* Warning: For normal blowfish encryption only 56 bytes
|
||||
* of the key affect all cipherbits.
|
||||
*/
|
||||
|
||||
#define BLF_N 16 /* Number of Subkeys */
|
||||
#define BLF_MAXKEYLEN ((BLF_N-2)*4) /* 448 bits */
|
||||
#define BLF_MAXUTILIZED ((BLF_N+2)*4) /* 576 bits */
|
||||
|
||||
/* Blowfish context */
|
||||
typedef struct BlowfishContext {
|
||||
u_int32_t S[4][256]; /* S-Boxes */
|
||||
u_int32_t P[BLF_N + 2]; /* Subkeys */
|
||||
} blf_ctx;
|
||||
|
||||
/* Raw access to customized Blowfish
|
||||
* blf_key is just:
|
||||
* Blowfish_initstate( state )
|
||||
* Blowfish_expand0state( state, key, keylen )
|
||||
*/
|
||||
|
||||
void Blowfish_encipher(blf_ctx *, u_int32_t *, u_int32_t *);
|
||||
void Blowfish_decipher(blf_ctx *, u_int32_t *, u_int32_t *);
|
||||
void Blowfish_initstate(blf_ctx *);
|
||||
void Blowfish_expand0state(blf_ctx *, const u_int8_t *, u_int16_t);
|
||||
void Blowfish_expandstate
|
||||
(blf_ctx *, const u_int8_t *, u_int16_t, const u_int8_t *, u_int16_t);
|
||||
|
||||
/* Standard Blowfish */
|
||||
|
||||
void blf_key(blf_ctx *, const u_int8_t *, u_int16_t);
|
||||
void blf_enc(blf_ctx *, u_int32_t *, u_int16_t);
|
||||
void blf_dec(blf_ctx *, u_int32_t *, u_int16_t);
|
||||
|
||||
void blf_ecb_encrypt(blf_ctx *, u_int8_t *, u_int32_t);
|
||||
void blf_ecb_decrypt(blf_ctx *, u_int8_t *, u_int32_t);
|
||||
|
||||
void blf_cbc_encrypt(blf_ctx *, u_int8_t *, u_int8_t *, u_int32_t);
|
||||
void blf_cbc_decrypt(blf_ctx *, u_int8_t *, u_int8_t *, u_int32_t);
|
||||
|
||||
/* Converts u_int8_t to u_int32_t */
|
||||
u_int32_t Blowfish_stream2word(const u_int8_t *, u_int16_t , u_int16_t *);
|
||||
|
||||
#endif
|
187
include/openbsd/compat.h
Normal file
187
include/openbsd/compat.h
Normal file
|
@ -0,0 +1,187 @@
|
|||
#ifndef _COMPAT_H_
|
||||
#define _COMPAT_H_
|
||||
|
||||
#define FAIL_INSTEAD_OF_TRYING_FALLBACK
|
||||
|
||||
#define __warn_references(x,y)
|
||||
|
||||
#ifndef ALIGN
|
||||
/* XXX: x86_64 only, see sys/arch/$arch/include/_types.h */
|
||||
#define ALIGNBYTES (sizeof(long) - 1)
|
||||
#define ALIGN(p) (((size_t)(p) + ALIGNBYTES) &~ ALIGNBYTES)
|
||||
#endif
|
||||
|
||||
#define __UNUSED __attribute__ ((unused))
|
||||
/* XXX: __unused clashes with musls stat.h
|
||||
#define __unused __attribute__ ((unused))
|
||||
*/
|
||||
|
||||
#define __dead __attribute__((__noreturn__))
|
||||
|
||||
#define __BEGIN_DECLS
|
||||
#define __END_DECLS
|
||||
|
||||
#define __BEGIN_HIDDEN_DECLS
|
||||
#define __END_HIDDEN_DECLS
|
||||
|
||||
#ifndef __CONCAT
|
||||
#define __CONCAT(x,y) x ## y
|
||||
#endif
|
||||
#ifndef __STRING
|
||||
#define __STRING(x) #x
|
||||
#endif
|
||||
|
||||
#undef __weak_alias
|
||||
#define __weak_alias(new, old) \
|
||||
extern __typeof(old) new __attribute__((weak, alias(#old)))
|
||||
|
||||
#define __strong_alias(new, old) \
|
||||
extern __typeof(old) new __attribute__((alias(#old)))
|
||||
|
||||
#ifndef SA_LEN
|
||||
#define SA_LEN(X) \
|
||||
(((struct sockaddr*)(X))->sa_family == AF_INET ? sizeof(struct sockaddr_in) : \
|
||||
((struct sockaddr*)(X))->sa_family == AF_INET6 ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr))
|
||||
#endif
|
||||
|
||||
#ifndef SS_LEN
|
||||
#define SS_LEN(X) \
|
||||
(((struct sockaddr_storage*)(X))->ss_family == AF_INET ? sizeof(struct sockaddr_in) : \
|
||||
((struct sockaddr_storage*)(X))->ss_family == AF_INET6 ? sizeof(struct sockaddr_in6) : sizeof(struct sockaddr))
|
||||
#endif
|
||||
|
||||
#define _PW_BUF_LEN 1024
|
||||
#define _GR_BUF_LEN 1024
|
||||
|
||||
#define NOFILE_MAX NOFILE
|
||||
|
||||
#if !defined(HAVE_ATTRIBUTE__BOUNDED__)
|
||||
#define __bounded__(x, y, z)
|
||||
#endif
|
||||
|
||||
#if !defined(DEF_WEAK)
|
||||
#define DEF_WEAK(x)
|
||||
#endif
|
||||
|
||||
#if !defined(DEF_STRONG)
|
||||
#define DEF_STRONG(x)
|
||||
#endif
|
||||
|
||||
#if !defined(PROTO_NORMAL)
|
||||
#define PROTO_NORMAL(x)
|
||||
#endif
|
||||
|
||||
/* sys/sys/param.h */
|
||||
/*
|
||||
* File system parameters and macros.
|
||||
*
|
||||
* The file system is made out of blocks of at most MAXBSIZE units, with
|
||||
* smaller units (fragments) only in the last direct block. MAXBSIZE
|
||||
* primarily determines the size of buffers in the buffer pool. It may be
|
||||
* made larger without any effect on existing file systems; however making
|
||||
* it smaller makes some file systems unmountable.
|
||||
*/
|
||||
#define MAXBSIZE (64 * 1024)
|
||||
|
||||
#ifndef NL_TEXTMAX
|
||||
#define NL_TEXTMAX 2048
|
||||
#endif
|
||||
|
||||
#ifndef howmany
|
||||
#define howmany(n,d) (((n)+((d)-1))/(d))
|
||||
#endif
|
||||
|
||||
/* API definitions lifted from OpenBSD src/include */
|
||||
|
||||
/* pwd.h */
|
||||
#define _PW_NAME_LEN 63
|
||||
|
||||
/* stdlib.h */
|
||||
|
||||
/* unistd.h */
|
||||
#ifndef HAVE_EXECVPE
|
||||
int execvpe(const char *, char *const *, char *const *);
|
||||
#endif /* !HAVE_EXECVPE */
|
||||
#ifndef HAVE_SETRESUID
|
||||
/* int setresuid(uid_t, uid_t, uid_t); */
|
||||
#endif /* !HAVE_SETRESUID */
|
||||
|
||||
#ifndef HAVE_PLEDGE
|
||||
int pledge(const char *, const char *[]);
|
||||
#endif /* !HAVE_PLEDGE */
|
||||
|
||||
#ifndef HAVE_SETPROGNAME
|
||||
const char * getprogname(void);
|
||||
void setprogname(const char *progname);
|
||||
#endif /* !HAVE_SETPROGNAME */
|
||||
|
||||
/* pwcache.c */
|
||||
/* char *user_from_uid(uid_t, int); */
|
||||
/* char *group_from_gid(gid_t gid, int); */
|
||||
|
||||
/* getbsize.c */
|
||||
char *getbsize(int *, long *);
|
||||
|
||||
#define strtoq strtoll
|
||||
|
||||
/* inttypes.h */
|
||||
/*
|
||||
intmax_t strtoimax(const char *, char **, int);
|
||||
uintmax_t strtoumax(const char *, char **, int);
|
||||
*/
|
||||
|
||||
/* #define d_namlen d_reclen */
|
||||
#if !defined(_DIRENT_HAVE_NAMLEN)
|
||||
#define D_NAMLEN(x) \
|
||||
strnlen((x)->d_name, (x)->d_reclen)
|
||||
#else
|
||||
#define D_NAMLEN(x) \
|
||||
(x)->d_namlen
|
||||
#endif
|
||||
|
||||
/* for musl, required by xinstall */
|
||||
#ifndef S_BLKSIZE
|
||||
#define S_BLKSIZE 512
|
||||
#endif
|
||||
|
||||
/**/
|
||||
#ifndef MAXNAMLEN
|
||||
#define MAXNAMLEN 255
|
||||
#endif
|
||||
|
||||
/* XXX: read dynamically? */
|
||||
#define UID_MAX 60000
|
||||
#define GID_MAX 60000
|
||||
|
||||
/* sys/sys/stat.h */
|
||||
#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 00777 */
|
||||
#define ALLPERMS (S_ISUID|S_ISGID|S_ISTXT|S_IRWXU|S_IRWXG|S_IRWXO) /* 00666 */
|
||||
#define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
|
||||
|
||||
#define S_ISTXT S_ISVTX
|
||||
|
||||
/* lib/libc/include/thread_private.h */
|
||||
#define _MUTEX_LOCK(mutex) do {} while (0)
|
||||
#define _MUTEX_UNLOCK(mutex) do {} while (0)
|
||||
|
||||
#define SHA512_Update SHA512Update
|
||||
#define SHA512_CTX SHA2_CTX
|
||||
#define SHA512_Init SHA512Init
|
||||
#define SHA512_Final SHA512Final
|
||||
|
||||
/* sys/socket.h */
|
||||
#define RT_TABLEID_MAX 255
|
||||
|
||||
/* sys/syslimits.h */
|
||||
#define CHILD_MAX 80 /* max simultaneous processes */
|
||||
|
||||
/* setproctitle.c */
|
||||
void setproctitle(const char *, ...);
|
||||
|
||||
/* pw_dup.c */
|
||||
struct passwd *pw_dup(const struct passwd *);
|
||||
|
||||
int issetugid(void);
|
||||
|
||||
#define OPEN_MAX 64 /* max open files per process */
|
||||
#endif
|
184
include/openbsd/config.h
Normal file
184
include/openbsd/config.h
Normal file
|
@ -0,0 +1,184 @@
|
|||
/* config.h. Generated from config.h.in by configure. */
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if your system has a working `chown' function. */
|
||||
#define HAVE_CHOWN 1
|
||||
|
||||
/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
|
||||
don't. */
|
||||
#define HAVE_DECL_SYS_SIGLIST 1
|
||||
|
||||
/* Define to 1 if you have the declaration of `sys_signame', and to 0 if you
|
||||
don't. */
|
||||
#define HAVE_DECL_SYS_SIGNAME 0
|
||||
|
||||
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
|
||||
*/
|
||||
#define HAVE_DIRENT_H 1
|
||||
|
||||
/* Define to 1 if you have the `dl_iterate_phdr' function. */
|
||||
#define HAVE_DL_ITERATE_PHDR 1
|
||||
|
||||
/* Define to 1 if you have the `explicit_bzero' function. */
|
||||
#define HAVE_EXPLICIT_BZERO 1
|
||||
|
||||
/* Define to 1 if you have the `fgetln' function. */
|
||||
/* #undef HAVE_FGETLN */
|
||||
|
||||
/* Define to 1 if you have the `fork' function. */
|
||||
#define HAVE_FORK 1
|
||||
|
||||
/* Define to 1 if you have the `getdtablecount' function. */
|
||||
/* #undef HAVE_GETDTABLECOUNT */
|
||||
|
||||
/* Define to 1 if you have the `getentropy' function. */
|
||||
#define HAVE_GETENTROPY 1
|
||||
|
||||
/* Define to 1 if you have the `getpagesize' function. */
|
||||
#define HAVE_GETPAGESIZE 1
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#define HAVE_INTTYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the `issetugid' function. */
|
||||
/* #undef HAVE_ISSETUGID */
|
||||
|
||||
/* Define to 1 if you have the `crypt' library (-lcrypt). */
|
||||
#define HAVE_LIBCRYPT 1
|
||||
|
||||
/* Define to 1 if you have the `rt' library (-lrt). */
|
||||
#define HAVE_LIBRT 1
|
||||
|
||||
/* Define to 1 if you have the <login_cap.h> header file. */
|
||||
/* #undef HAVE_LOGIN_CAP_H */
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#define HAVE_MEMORY_H 1
|
||||
|
||||
/* Define to 1 if you have a working `mmap' system call. */
|
||||
#define HAVE_MMAP 1
|
||||
|
||||
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
|
||||
/* #undef HAVE_NDIR_H */
|
||||
|
||||
/* Define to 1 if you have the `reallocarray' function. */
|
||||
#define HAVE_REALLOCARRAY 1
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#define HAVE_STDINT_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#define HAVE_STDLIB_H 1
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#define HAVE_STRINGS_H 1
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#define HAVE_STRING_H 1
|
||||
|
||||
/* Define to 1 if you have the `strlcat' function. */
|
||||
/* #undef HAVE_STRLCAT */
|
||||
|
||||
/* Define to 1 if you have the `strlcpy' function. */
|
||||
/* #undef HAVE_STRLCPY */
|
||||
|
||||
/* Define to 1 if you have the `strptime' function. */
|
||||
#define HAVE_STRPTIME 1
|
||||
|
||||
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
|
||||
*/
|
||||
/* #undef HAVE_SYS_DIR_H */
|
||||
|
||||
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
|
||||
*/
|
||||
/* #undef HAVE_SYS_NDIR_H */
|
||||
|
||||
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||
#define HAVE_SYS_PARAM_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#define HAVE_SYS_STAT_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/tree.h> header file. */
|
||||
/* #undef HAVE_SYS_TREE_H */
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#define HAVE_SYS_TYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#define HAVE_UNISTD_H 1
|
||||
|
||||
/* Define to 1 if you have the `vfork' function. */
|
||||
#define HAVE_VFORK 1
|
||||
|
||||
/* Define to 1 if you have the <vfork.h> header file. */
|
||||
/* #undef HAVE_VFORK_H */
|
||||
|
||||
/* Define to 1 if `fork' works. */
|
||||
#define HAVE_WORKING_FORK 1
|
||||
|
||||
/* Define to 1 if `vfork' works. */
|
||||
#define HAVE_WORKING_VFORK 1
|
||||
|
||||
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
|
||||
slash. */
|
||||
#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#define PACKAGE_BUGREPORT "https://github.com/Duncaen/lobase/issues"
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#define PACKAGE_NAME "lobase"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "lobase 0.0"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#define PACKAGE_TARNAME "lobase"
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#define PACKAGE_URL ""
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "0.0"
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#define STDC_HEADERS 1
|
||||
|
||||
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
||||
#define TIME_WITH_SYS_TIME 1
|
||||
|
||||
/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
|
||||
`char[]'. */
|
||||
#define YYTEXT_POINTER 1
|
||||
|
||||
/* Path to tty. */
|
||||
#define _PATH_TTY "/dev/tty"
|
||||
|
||||
/* Serial device lock file path. */
|
||||
#define _PATH_UUCPLOCK "/var/spool/lock"
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
/* #undef gid_t */
|
||||
|
||||
/* Define to the type of a signed integer type of width exactly 64 bits if
|
||||
such a type exists and the standard includes do not define it. */
|
||||
/* #undef int64_t */
|
||||
|
||||
/* Define to `long int' if <sys/types.h> does not define. */
|
||||
/* #undef off_t */
|
||||
|
||||
/* Define to `int' if <sys/types.h> does not define. */
|
||||
/* #undef pid_t */
|
||||
|
||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||
/* #undef size_t */
|
||||
|
||||
/* Define to `int' if <sys/types.h> does not define. */
|
||||
/* #undef ssize_t */
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
/* #undef uid_t */
|
||||
|
||||
/* Define as `fork' if `vfork' does not work. */
|
||||
/* #undef vfork */
|
161
include/openbsd/db.h
Normal file
161
include/openbsd/db.h
Normal file
|
@ -0,0 +1,161 @@
|
|||
/* $OpenBSD: db.h,v 1.12 2015/10/17 21:48:42 guenther Exp $ */
|
||||
/* $NetBSD: db.h,v 1.13 1994/10/26 00:55:48 cgd Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990, 1993, 1994
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)db.h 8.7 (Berkeley) 6/16/94
|
||||
*/
|
||||
|
||||
#ifndef _DB_H_
|
||||
#define _DB_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
#define RET_ERROR -1 /* Return values. */
|
||||
#define RET_SUCCESS 0
|
||||
#define RET_SPECIAL 1
|
||||
|
||||
#define MAX_PAGE_NUMBER 0xffffffff /* >= # of pages in a file */
|
||||
typedef u_int32_t pgno_t;
|
||||
#define MAX_PAGE_OFFSET 65535 /* >= # of bytes in a page */
|
||||
typedef u_int16_t indx_t;
|
||||
#define MAX_REC_NUMBER 0xffffffff /* >= # of records in a tree */
|
||||
typedef u_int32_t recno_t;
|
||||
|
||||
/* Key/data structure -- a Data-Base Thang. */
|
||||
typedef struct {
|
||||
void *data; /* data */
|
||||
size_t size; /* data length */
|
||||
} DBT;
|
||||
|
||||
/* Routine flags. */
|
||||
#define R_CURSOR 1 /* del, put, seq */
|
||||
#define __R_UNUSED 2 /* UNUSED */
|
||||
#define R_FIRST 3 /* seq */
|
||||
#define R_IAFTER 4 /* put (RECNO) */
|
||||
#define R_IBEFORE 5 /* put (RECNO) */
|
||||
#define R_LAST 6 /* seq (BTREE, RECNO) */
|
||||
#define R_NEXT 7 /* seq */
|
||||
#define R_NOOVERWRITE 8 /* put */
|
||||
#define R_PREV 9 /* seq (BTREE, RECNO) */
|
||||
#define R_SETCURSOR 10 /* put (RECNO) */
|
||||
#define R_RECNOSYNC 11 /* sync (RECNO) */
|
||||
|
||||
typedef enum { DB_BTREE, DB_HASH, DB_RECNO } DBTYPE;
|
||||
|
||||
/*
|
||||
* !!!
|
||||
* The following flags are included in the dbopen(3) call as part of the
|
||||
* open(2) flags. In order to avoid conflicts with the open flags, start
|
||||
* at the top of the 16 or 32-bit number space and work our way down. If
|
||||
* the open flags were significantly expanded in the future, it could be
|
||||
* a problem. Wish I'd left another flags word in the dbopen call.
|
||||
*
|
||||
* !!!
|
||||
* None of this stuff is implemented yet. The only reason that it's here
|
||||
* is so that the access methods can skip copying the key/data pair when
|
||||
* the DB_LOCK flag isn't set.
|
||||
*/
|
||||
#if UINT_MAX > 65535
|
||||
#define DB_LOCK 0x20000000 /* Do locking. */
|
||||
#define DB_SHMEM 0x40000000 /* Use shared memory. */
|
||||
#define DB_TXN 0x80000000 /* Do transactions. */
|
||||
#else
|
||||
#define DB_LOCK 0x2000 /* Do locking. */
|
||||
#define DB_SHMEM 0x4000 /* Use shared memory. */
|
||||
#define DB_TXN 0x8000 /* Do transactions. */
|
||||
#endif
|
||||
|
||||
/* Access method description structure. */
|
||||
typedef struct __db {
|
||||
DBTYPE type; /* Underlying db type. */
|
||||
int (*close)(struct __db *);
|
||||
int (*del)(const struct __db *, const DBT *, unsigned int);
|
||||
int (*get)(const struct __db *, const DBT *, DBT *, unsigned int);
|
||||
int (*put)(const struct __db *, DBT *, const DBT *, unsigned int);
|
||||
int (*seq)(const struct __db *, DBT *, DBT *, unsigned int);
|
||||
int (*sync)(const struct __db *, unsigned int);
|
||||
void *internal; /* Access method private. */
|
||||
int (*fd)(const struct __db *);
|
||||
} DB;
|
||||
|
||||
#define BTREEMAGIC 0x053162
|
||||
#define BTREEVERSION 3
|
||||
|
||||
/* Structure used to pass parameters to the btree routines. */
|
||||
typedef struct {
|
||||
#define R_DUP 0x01 /* duplicate keys */
|
||||
unsigned long flags;
|
||||
unsigned int cachesize; /* bytes to cache */
|
||||
int maxkeypage; /* maximum keys per page */
|
||||
int minkeypage; /* minimum keys per page */
|
||||
unsigned int psize; /* page size */
|
||||
int (*compare) /* comparison function */
|
||||
(const DBT *, const DBT *);
|
||||
size_t (*prefix) /* prefix function */
|
||||
(const DBT *, const DBT *);
|
||||
int lorder; /* byte order */
|
||||
} BTREEINFO;
|
||||
|
||||
#define HASHMAGIC 0x061561
|
||||
#define HASHVERSION 2
|
||||
|
||||
/* Structure used to pass parameters to the hashing routines. */
|
||||
typedef struct {
|
||||
unsigned int bsize; /* bucket size */
|
||||
unsigned int ffactor; /* fill factor */
|
||||
unsigned int nelem; /* number of elements */
|
||||
unsigned int cachesize; /* bytes to cache */
|
||||
u_int32_t /* hash function */
|
||||
(*hash)(const void *, size_t);
|
||||
int lorder; /* byte order */
|
||||
} HASHINFO;
|
||||
|
||||
/* Structure used to pass parameters to the record routines. */
|
||||
typedef struct {
|
||||
#define R_FIXEDLEN 0x01 /* fixed-length records */
|
||||
#define R_NOKEY 0x02 /* key not required */
|
||||
#define R_SNAPSHOT 0x04 /* snapshot the input */
|
||||
unsigned long flags;
|
||||
unsigned int cachesize; /* bytes to cache */
|
||||
unsigned int psize; /* page size */
|
||||
int lorder; /* byte order */
|
||||
size_t reclen; /* record length
|
||||
(fixed-length records) */
|
||||
unsigned char bval; /* delimiting byte
|
||||
(variable-length records) */
|
||||
char *bfname; /* btree file name */
|
||||
} RECNOINFO;
|
||||
|
||||
__BEGIN_DECLS
|
||||
DB *dbopen(const char *, int, int, DBTYPE, const void *);
|
||||
__END_DECLS
|
||||
#endif /* !_DB_H_ */
|
54
include/openbsd/err.h
Normal file
54
include/openbsd/err.h
Normal file
|
@ -0,0 +1,54 @@
|
|||
/* $OpenBSD: err.h,v 1.13 2015/08/31 02:53:56 guenther Exp $ */
|
||||
/* $NetBSD: err.h,v 1.11 1994/10/26 00:55:52 cgd Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)err.h 8.1 (Berkeley) 6/2/93
|
||||
*/
|
||||
|
||||
#ifndef _COMPAT_ERR_H_
|
||||
#define _COMPAT_ERR_H_
|
||||
|
||||
#include <stdarg.h> /* for va_list */
|
||||
|
||||
__BEGIN_DECLS
|
||||
__dead void errc(int, int, const char *, ...)
|
||||
__attribute__((__format__ (printf, 3, 4)));
|
||||
__dead void verrc(int, int, const char *, va_list)
|
||||
__attribute__((__format__ (printf, 3, 0)));
|
||||
|
||||
void warnc(int, const char *, ...)
|
||||
__attribute__((__format__ (printf, 2, 3)));
|
||||
void vwarnc(int, const char *, va_list)
|
||||
__attribute__((__format__ (printf, 2, 0)));
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !_COMPAT_ERR_H_ */
|
||||
|
||||
#include_next <err.h>
|
8
include/openbsd/errno.h
Normal file
8
include/openbsd/errno.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#ifndef _COMPAT_ERRNO_H_
|
||||
#define _COMPAT_ERRNO_H_
|
||||
|
||||
#define EFTYPE ENOTSUP
|
||||
|
||||
#endif /* !_COMPAT_ERRNO_H_ */
|
||||
|
||||
#include_next <errno.h>
|
15
include/openbsd/fcntl.h
Normal file
15
include/openbsd/fcntl.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
#include_next <fcntl.h>
|
||||
|
||||
#ifndef _COMPAT_FCNTL_H_
|
||||
#define _COMPAT_FCNTL_H_
|
||||
|
||||
#ifdef __NEED_OPENBSD_open
|
||||
#define open openbsd_open
|
||||
|
||||
#define O_EXLOCK 10000000
|
||||
#define O_SHLOCK 20000000
|
||||
#endif /* !__NEED_OPENBSD_open */
|
||||
|
||||
int openbsd_open(const char *, int, ...);
|
||||
|
||||
#endif /* !_COMPAT_FCNTL_H_ */
|
127
include/openbsd/fts.h
Normal file
127
include/openbsd/fts.h
Normal file
|
@ -0,0 +1,127 @@
|
|||
/* $OpenBSD: fts.h,v 1.14 2012/12/05 23:19:57 deraadt Exp $ */
|
||||
/* $NetBSD: fts.h,v 1.5 1994/12/28 01:41:50 mycroft Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)fts.h 8.3 (Berkeley) 8/14/94
|
||||
*/
|
||||
|
||||
#ifndef _FTS_H_
|
||||
#define _FTS_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
typedef struct {
|
||||
struct _ftsent *fts_cur; /* current node */
|
||||
struct _ftsent *fts_child; /* linked list of children */
|
||||
struct _ftsent **fts_array; /* sort array */
|
||||
dev_t fts_dev; /* starting device # */
|
||||
char *fts_path; /* path for this descent */
|
||||
int fts_rfd; /* fd for root */
|
||||
size_t fts_pathlen; /* sizeof(path) */
|
||||
int fts_nitems; /* elements in the sort array */
|
||||
int (*fts_compar)(); /* compare function */
|
||||
|
||||
#define FTS_COMFOLLOW 0x0001 /* follow command line symlinks */
|
||||
#define FTS_LOGICAL 0x0002 /* logical walk */
|
||||
#define FTS_NOCHDIR 0x0004 /* don't change directories */
|
||||
#define FTS_NOSTAT 0x0008 /* don't get stat info */
|
||||
#define FTS_PHYSICAL 0x0010 /* physical walk */
|
||||
#define FTS_SEEDOT 0x0020 /* return dot and dot-dot */
|
||||
#define FTS_XDEV 0x0040 /* don't cross devices */
|
||||
#define FTS_OPTIONMASK 0x00ff /* valid user option mask */
|
||||
|
||||
#define FTS_NAMEONLY 0x1000 /* (private) child names only */
|
||||
#define FTS_STOP 0x2000 /* (private) unrecoverable error */
|
||||
int fts_options; /* fts_open options, global flags */
|
||||
} FTS;
|
||||
|
||||
typedef struct _ftsent {
|
||||
struct _ftsent *fts_cycle; /* cycle node */
|
||||
struct _ftsent *fts_parent; /* parent directory */
|
||||
struct _ftsent *fts_link; /* next file in directory */
|
||||
long fts_number; /* local numeric value */
|
||||
void *fts_pointer; /* local address value */
|
||||
char *fts_accpath; /* access path */
|
||||
char *fts_path; /* root path */
|
||||
int fts_errno; /* errno for this node */
|
||||
int fts_symfd; /* fd for symlink */
|
||||
size_t fts_pathlen; /* strlen(fts_path) */
|
||||
size_t fts_namelen; /* strlen(fts_name) */
|
||||
|
||||
ino_t fts_ino; /* inode */
|
||||
dev_t fts_dev; /* device */
|
||||
nlink_t fts_nlink; /* link count */
|
||||
|
||||
#define FTS_ROOTPARENTLEVEL -1
|
||||
#define FTS_ROOTLEVEL 0
|
||||
#define FTS_MAXLEVEL 0x7fffffff
|
||||
int fts_level; /* depth (-1 to N) */
|
||||
|
||||
#define FTS_D 1 /* preorder directory */
|
||||
#define FTS_DC 2 /* directory that causes cycles */
|
||||
#define FTS_DEFAULT 3 /* none of the above */
|
||||
#define FTS_DNR 4 /* unreadable directory */
|
||||
#define FTS_DOT 5 /* dot or dot-dot */
|
||||
#define FTS_DP 6 /* postorder directory */
|
||||
#define FTS_ERR 7 /* error; errno is set */
|
||||
#define FTS_F 8 /* regular file */
|
||||
#define FTS_INIT 9 /* initialized only */
|
||||
#define FTS_NS 10 /* stat(2) failed */
|
||||
#define FTS_NSOK 11 /* no stat(2) requested */
|
||||
#define FTS_SL 12 /* symbolic link */
|
||||
#define FTS_SLNONE 13 /* symbolic link without target */
|
||||
unsigned short fts_info; /* user flags for FTSENT structure */
|
||||
|
||||
#define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */
|
||||
#define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */
|
||||
unsigned short fts_flags; /* private flags for FTSENT structure */
|
||||
|
||||
#define FTS_AGAIN 1 /* read node again */
|
||||
#define FTS_FOLLOW 2 /* follow symbolic link */
|
||||
#define FTS_NOINSTR 3 /* no instructions */
|
||||
#define FTS_SKIP 4 /* discard node */
|
||||
unsigned short fts_instr; /* fts_set() instructions */
|
||||
|
||||
unsigned short fts_spare; /* unused */
|
||||
|
||||
struct stat *fts_statp; /* stat(2) information */
|
||||
char fts_name[1]; /* file name */
|
||||
} FTSENT;
|
||||
|
||||
__BEGIN_DECLS
|
||||
FTSENT *fts_children(FTS *, int);
|
||||
int fts_close(FTS *);
|
||||
FTS *fts_open(char * const *, int,
|
||||
int (*)(const FTSENT **, const FTSENT **));
|
||||
FTSENT *fts_read(FTS *);
|
||||
int fts_set(FTS *, FTSENT *, int);
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !_FTS_H_ */
|
84
include/openbsd/getopt.h
Normal file
84
include/openbsd/getopt.h
Normal file
|
@ -0,0 +1,84 @@
|
|||
/* $OpenBSD: getopt.h,v 1.3 2013/11/22 21:32:49 millert Exp $ */
|
||||
/* $NetBSD: getopt.h,v 1.4 2000/07/07 10:43:54 ad Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2000 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
* by Dieter Baron and Thomas Klausner.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPAT_GETOPT_H_
|
||||
#define _COMPAT_GETOPT_H_
|
||||
|
||||
#define getopt_long(argc, argv, optstr, longopts, longindex) \
|
||||
openbsd_getopt_long_only(argc, argv, optstr, longopts, longindex)
|
||||
|
||||
#define getopt_long(argc, argv, optstr, longopts, longindex) \
|
||||
openbsd_getopt_long_only(argc, argv, optstr, longopts, longindex)
|
||||
|
||||
/*
|
||||
* GNU-like getopt_long()
|
||||
*/
|
||||
#define no_argument 0
|
||||
#define required_argument 1
|
||||
#define optional_argument 2
|
||||
|
||||
struct option {
|
||||
/* name of long option */
|
||||
const char *name;
|
||||
/*
|
||||
* one of no_argument, required_argument, and optional_argument:
|
||||
* whether option takes an argument
|
||||
*/
|
||||
int has_arg;
|
||||
/* if not NULL, set *flag to val when option found */
|
||||
int *flag;
|
||||
/* if flag not NULL, value to set *flag to; else return value */
|
||||
int val;
|
||||
};
|
||||
|
||||
__BEGIN_DECLS
|
||||
int getopt_long(int, char * const *, const char *,
|
||||
const struct option *, int *);
|
||||
int getopt_long_only(int, char * const *, const char *,
|
||||
const struct option *, int *);
|
||||
#ifndef _GETOPT_DEFINED_
|
||||
#define _GETOPT_DEFINED_
|
||||
#define getopt(argc, argv, optstr) \
|
||||
openbsd_getopt(argc, argv, optstr)
|
||||
#define opterr openbsd_opterr
|
||||
#define optind openbsd_optind
|
||||
int getopt(int, char * const *, const char *);
|
||||
|
||||
extern char *optarg; /* getopt(3) external variables */
|
||||
extern int opterr;
|
||||
extern int optind;
|
||||
extern int optopt;
|
||||
extern int optreset;
|
||||
#endif
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !_COMPAT_GETOPT_H_ */
|
95
include/openbsd/glob.h
Normal file
95
include/openbsd/glob.h
Normal file
|
@ -0,0 +1,95 @@
|
|||
/* $OpenBSD: glob.h,v 1.13 2012/12/05 23:19:57 deraadt Exp $ */
|
||||
/* $NetBSD: glob.h,v 1.5 1994/10/26 00:55:56 cgd Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Guido van Rossum.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)glob.h 8.1 (Berkeley) 6/2/93
|
||||
*/
|
||||
|
||||
#ifndef _GLOB_H_
|
||||
#define _GLOB_H_
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
struct stat;
|
||||
typedef struct {
|
||||
int gl_pathc; /* Count of total paths so far. */
|
||||
int gl_matchc; /* Count of paths matching pattern. */
|
||||
int gl_offs; /* Reserved at beginning of gl_pathv. */
|
||||
int gl_flags; /* Copy of flags parameter to glob. */
|
||||
char **gl_pathv; /* List of paths matching pattern. */
|
||||
struct stat **gl_statv; /* Stat entries corresponding to gl_pathv */
|
||||
/* Copy of errfunc parameter to glob. */
|
||||
int (*gl_errfunc)(const char *, int);
|
||||
|
||||
/*
|
||||
* Alternate filesystem access methods for glob; replacement
|
||||
* versions of closedir(3), readdir(3), opendir(3), stat(2)
|
||||
* and lstat(2).
|
||||
*/
|
||||
void (*gl_closedir)(void *);
|
||||
struct dirent *(*gl_readdir)(void *);
|
||||
void *(*gl_opendir)(const char *);
|
||||
int (*gl_lstat)(const char *, struct stat *);
|
||||
int (*gl_stat)(const char *, struct stat *);
|
||||
} glob_t;
|
||||
|
||||
#define GLOB_APPEND 0x0001 /* Append to output from previous call. */
|
||||
#define GLOB_DOOFFS 0x0002 /* Use gl_offs. */
|
||||
#define GLOB_ERR 0x0004 /* Return on error. */
|
||||
#define GLOB_MARK 0x0008 /* Append / to matching directories. */
|
||||
#define GLOB_NOCHECK 0x0010 /* Return pattern itself if nothing matches. */
|
||||
#define GLOB_NOSORT 0x0020 /* Don't sort. */
|
||||
#define GLOB_NOESCAPE 0x1000 /* Disable backslash escaping. */
|
||||
|
||||
#define GLOB_NOSPACE (-1) /* Malloc call failed. */
|
||||
#define GLOB_ABORTED (-2) /* Unignored error. */
|
||||
#define GLOB_NOMATCH (-3) /* No match and GLOB_NOCHECK not set. */
|
||||
#define GLOB_NOSYS (-4) /* Function not supported. */
|
||||
|
||||
#define GLOB_ALTDIRFUNC 0x0040 /* Use alternately specified directory funcs. */
|
||||
#define GLOB_BRACE 0x0080 /* Expand braces ala csh. */
|
||||
#define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */
|
||||
#define GLOB_NOMAGIC 0x0200 /* GLOB_NOCHECK without magic chars (csh). */
|
||||
#define GLOB_QUOTE 0x0400 /* Quote special chars with \. */
|
||||
#define GLOB_TILDE 0x0800 /* Expand tilde names from the passwd file. */
|
||||
#define GLOB_LIMIT 0x2000 /* Limit pattern match output to ARG_MAX */
|
||||
#define GLOB_KEEPSTAT 0x4000 /* Retain stat data for paths in gl_statv. */
|
||||
#define GLOB_ABEND GLOB_ABORTED /* backward compatibility */
|
||||
|
||||
__BEGIN_DECLS
|
||||
int glob(const char *__restrict, int, int (*)(const char *, int),
|
||||
glob_t *__restrict);
|
||||
void globfree(glob_t *);
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !_GLOB_H_ */
|
49
include/openbsd/grp.h
Normal file
49
include/openbsd/grp.h
Normal file
|
@ -0,0 +1,49 @@
|
|||
/* $OpenBSD: grp.h,v 1.12 2014/08/31 04:04:38 guenther Exp $ */
|
||||
/* $NetBSD: grp.h,v 1.7 1995/04/29 05:30:40 cgd Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
* (c) UNIX System Laboratories, Inc.
|
||||
* All or some portions of this file are derived from material licensed
|
||||
* to the University of California by American Telephone and Telegraph
|
||||
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
|
||||
* the permission of UNIX System Laboratories, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)grp.h 8.2 (Berkeley) 1/21/94
|
||||
*/
|
||||
|
||||
#ifndef _COMPAT_GRP_H_
|
||||
#define _COMPAT_GRP_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
char *group_from_gid(gid_t, int);
|
||||
|
||||
#endif /* !_COMPAT_GRP_H_ */
|
||||
|
||||
#include_next <grp.h>
|
14
include/openbsd/libgen.h
Normal file
14
include/openbsd/libgen.h
Normal file
|
@ -0,0 +1,14 @@
|
|||
#include_next <libgen.h>
|
||||
|
||||
#ifndef _COMPAT_LIBGEN_H_
|
||||
#define _COMPAT_LIBGEN_H_
|
||||
|
||||
#undef basename
|
||||
#define basename openbsd_basename
|
||||
#undef dirname
|
||||
#define dirname openbsd_dirname
|
||||
|
||||
char *basename(const char *);
|
||||
char *dirname(const char *);
|
||||
|
||||
#endif /* _COMPAT_LIBGEN_H_ */
|
12
include/openbsd/limits.h
Normal file
12
include/openbsd/limits.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
#include_next <limits.h>
|
||||
|
||||
#ifndef _COMPAT_LIMITS_H_
|
||||
#define _COMPAT_LIMITS_H_
|
||||
|
||||
#ifndef ARG_MAX
|
||||
# if defined(__linux__) && defined(_SC_ARG_MAX)
|
||||
# define ARG_MAX sysconf(_SC_ARG_MAX)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif
|
49
include/openbsd/md5.h
Normal file
49
include/openbsd/md5.h
Normal file
|
@ -0,0 +1,49 @@
|
|||
/* $OpenBSD: md5.h,v 1.17 2012/12/05 23:19:57 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* This code implements the MD5 message-digest algorithm.
|
||||
* The algorithm is due to Ron Rivest. This code was
|
||||
* written by Colin Plumb in 1993, no copyright is claimed.
|
||||
* This code is in the public domain; do with it what you wish.
|
||||
*
|
||||
* Equivalent code is available from RSA Data Security, Inc.
|
||||
* This code has been tested against that, and is equivalent,
|
||||
* except that you don't need to include two pages of legalese
|
||||
* with every copy.
|
||||
*/
|
||||
|
||||
#ifndef _MD5_H_
|
||||
#define _MD5_H_
|
||||
|
||||
#define MD5_BLOCK_LENGTH 64
|
||||
#define MD5_DIGEST_LENGTH 16
|
||||
#define MD5_DIGEST_STRING_LENGTH (MD5_DIGEST_LENGTH * 2 + 1)
|
||||
|
||||
typedef struct MD5Context {
|
||||
u_int32_t state[4]; /* state */
|
||||
u_int64_t count; /* number of bits, mod 2^64 */
|
||||
u_int8_t buffer[MD5_BLOCK_LENGTH]; /* input buffer */
|
||||
} MD5_CTX;
|
||||
|
||||
__BEGIN_DECLS
|
||||
void MD5Init(MD5_CTX *);
|
||||
void MD5Update(MD5_CTX *, const u_int8_t *, size_t)
|
||||
__attribute__((__bounded__(__string__,2,3)));
|
||||
void MD4Pad(MD5_CTX *);
|
||||
void MD5Final(u_int8_t [MD5_DIGEST_LENGTH], MD5_CTX *)
|
||||
__attribute__((__bounded__(__minbytes__,1,MD5_DIGEST_LENGTH)));
|
||||
void MD5Transform(u_int32_t [4], const u_int8_t [MD5_BLOCK_LENGTH])
|
||||
__attribute__((__bounded__(__minbytes__,1,4)))
|
||||
__attribute__((__bounded__(__minbytes__,2,MD5_BLOCK_LENGTH)));
|
||||
char *MD5End(MD5_CTX *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,MD5_DIGEST_STRING_LENGTH)));
|
||||
char *MD5File(const char *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,MD5_DIGEST_STRING_LENGTH)));
|
||||
char *MD5FileChunk(const char *, char *, off_t, off_t)
|
||||
__attribute__((__bounded__(__minbytes__,2,MD5_DIGEST_STRING_LENGTH)));
|
||||
char *MD5Data(const u_int8_t *, size_t, char *)
|
||||
__attribute__((__bounded__(__string__,1,2)))
|
||||
__attribute__((__bounded__(__minbytes__,3,MD5_DIGEST_STRING_LENGTH)));
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _MD5_H_ */
|
78
include/openbsd/ndbm.h
Normal file
78
include/openbsd/ndbm.h
Normal file
|
@ -0,0 +1,78 @@
|
|||
/* $OpenBSD: ndbm.h,v 1.6 2004/05/03 17:27:50 millert Exp $ */
|
||||
/* $NetBSD: ndbm.h,v 1.6 1995/07/20 23:31:11 jtc Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Margo Seltzer.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)ndbm.h 8.1 (Berkeley) 6/2/93
|
||||
*/
|
||||
|
||||
#ifndef _NDBM_H_
|
||||
#define _NDBM_H_
|
||||
|
||||
#include <db.h>
|
||||
|
||||
/* Map dbm interface onto db(3). */
|
||||
#define DBM_RDONLY O_RDONLY
|
||||
|
||||
/* Flags to dbm_store(). */
|
||||
#define DBM_INSERT 0
|
||||
#define DBM_REPLACE 1
|
||||
|
||||
/*
|
||||
* The db(3) support for ndbm(3) always appends this suffix to the
|
||||
* file name to avoid overwriting the user's original database.
|
||||
*/
|
||||
#define DBM_SUFFIX ".db"
|
||||
|
||||
typedef struct {
|
||||
void *dptr;
|
||||
size_t dsize;
|
||||
} datum;
|
||||
|
||||
typedef DB DBM;
|
||||
#define dbm_pagfno(a) DBM_PAGFNO_NOT_AVAILABLE
|
||||
|
||||
__BEGIN_DECLS
|
||||
int dbm_clearerr(DBM *);
|
||||
void dbm_close(DBM *);
|
||||
int dbm_delete(DBM *, datum);
|
||||
int dbm_error(DBM *);
|
||||
datum dbm_fetch(DBM *, datum);
|
||||
datum dbm_firstkey(DBM *);
|
||||
datum dbm_nextkey(DBM *);
|
||||
DBM *dbm_open(const char *, int, mode_t);
|
||||
int dbm_store(DBM *, datum, datum, int);
|
||||
int dbm_dirfno(DBM *);
|
||||
int dbm_rdonly(DBM *);
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !_NDBM_H_ */
|
54
include/openbsd/netinet/in.h
Normal file
54
include/openbsd/netinet/in.h
Normal file
|
@ -0,0 +1,54 @@
|
|||
/* $OpenBSD: in.h,v 1.122 2017/05/04 15:00:24 bluhm Exp $ */
|
||||
/* $NetBSD: in.h,v 1.20 1996/02/13 23:41:47 christos Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1982, 1986, 1990, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _COMPAT_NETINET_IN_H_
|
||||
#define _COMPAT_NETINET_IN_H_
|
||||
|
||||
/*
|
||||
* Constants and structures defined by the internet system,
|
||||
* Per RFC 790, September 1981, and numerous additions.
|
||||
*/
|
||||
#define IP_PORTRANGE 19 /* int; range to choose for unspec port */
|
||||
|
||||
/*
|
||||
* Argument for IP_PORTRANGE:
|
||||
* - which range to search when port is unspecified at bind() or connect()
|
||||
*/
|
||||
#define IP_PORTRANGE_DEFAULT 0 /* default range */
|
||||
#define IP_PORTRANGE_HIGH 1 /* "high" - request firewall bypass */
|
||||
#define IP_PORTRANGE_LOW 2 /* "low" - vouchsafe security */
|
||||
|
||||
#include_next <netinet/in.h>
|
||||
|
||||
#include <netinet6/in6.h>
|
||||
|
||||
#endif /* _COMPAT_NETINET_IN_H_ */
|
78
include/openbsd/netinet6/in6.h
Normal file
78
include/openbsd/netinet6/in6.h
Normal file
|
@ -0,0 +1,78 @@
|
|||
/* $OpenBSD: in6.h,v 1.94 2017/05/04 15:00:24 bluhm Exp $ */
|
||||
/* $KAME: in6.h,v 1.83 2001/03/29 02:55:07 jinmei Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the project nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 1982, 1986, 1990, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)in.h 8.3 (Berkeley) 1/3/94
|
||||
*/
|
||||
|
||||
#ifndef _COMPAT_NETINET6_IN6_H_
|
||||
#define _COMPAT_NETINET6_IN6_H_
|
||||
|
||||
#define IPV6_PORTRANGE 14 /* int; range to choose for unspec port */
|
||||
|
||||
/*
|
||||
* Argument for IPV6_PORTRANGE:
|
||||
* - which range to search when port is unspecified at bind() or connect()
|
||||
*/
|
||||
#define IPV6_PORTRANGE_DEFAULT 0 /* default range */
|
||||
#define IPV6_PORTRANGE_HIGH 1 /* "high" - request firewall bypass */
|
||||
#define IPV6_PORTRANGE_LOW 2 /* "low" - vouchsafe security */
|
||||
|
||||
/* #include_next <netinet6/in6.h> */
|
||||
#endif /* _COMPAT_NETINET6_IN6_H_ */
|
156
include/openbsd/paths.h
Normal file
156
include/openbsd/paths.h
Normal file
|
@ -0,0 +1,156 @@
|
|||
/* $OpenBSD: paths.h,v 1.25 2014/03/13 15:24:41 tedu Exp $ */
|
||||
/* $NetBSD: paths.h,v 1.7 1994/10/26 00:56:12 cgd Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)paths.h 8.1 (Berkeley) 6/2/93
|
||||
*/
|
||||
|
||||
#ifndef _COMPAT_PATHS_H_
|
||||
#define _COMPAT_PATHS_H_
|
||||
|
||||
#include_next <paths.h>
|
||||
|
||||
/* Default search path. */
|
||||
#ifndef _PATH_DEFPATH
|
||||
# define _PATH_DEFPATH "/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin"
|
||||
#endif
|
||||
|
||||
/* All standard utilities path. */
|
||||
#ifndef _PATH_STDPATH
|
||||
# define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin"
|
||||
#endif
|
||||
|
||||
#ifndef _PATH_BSHELL
|
||||
# define _PATH_BSHELL "/bin/sh"
|
||||
#endif
|
||||
#ifndef _PATH_CONSOLE
|
||||
# define _PATH_CONSOLE "/dev/console"
|
||||
#endif
|
||||
#ifndef _PATH_CSHELL
|
||||
# define _PATH_CSHELL "/bin/csh"
|
||||
#endif
|
||||
#ifndef _PATH_DEFTAPE
|
||||
# define _PATH_DEFTAPE "/dev/rst0"
|
||||
#endif
|
||||
#ifndef _PATH_DEVDB
|
||||
# define _PATH_DEVDB "/var/run/dev.db"
|
||||
#endif
|
||||
#ifndef _PATH_DEVNULL
|
||||
# define _PATH_DEVNULL "/dev/null"
|
||||
#endif
|
||||
#ifndef _PATH_FSIRAND
|
||||
# define _PATH_FSIRAND "/sbin/fsirand"
|
||||
#endif
|
||||
#ifndef _PATH_KLOG
|
||||
# define _PATH_KLOG "/dev/klog"
|
||||
#endif
|
||||
#ifndef _PATH_KMEM
|
||||
# define _PATH_KMEM "/dev/kmem"
|
||||
#endif
|
||||
#ifndef _PATH_KSHELL
|
||||
# define _PATH_KSHELL "/bin/ksh"
|
||||
#endif
|
||||
#ifndef _PATH_KSYMS
|
||||
# define _PATH_KSYMS "/dev/ksyms"
|
||||
#endif
|
||||
#ifndef _PATH_KVMDB
|
||||
# define _PATH_KVMDB "/var/db/kvm_bsd.db"
|
||||
#endif
|
||||
#ifndef _PATH_LOCALE
|
||||
# define _PATH_LOCALE "/usr/share/locale"
|
||||
#endif
|
||||
#ifndef _PATH_LOGCONF
|
||||
# define _PATH_LOGCONF "/etc/syslog.conf"
|
||||
#endif
|
||||
#ifndef _PATH_LOGPID
|
||||
# define _PATH_LOGPID "/var/run/syslog.pid"
|
||||
#endif
|
||||
#ifndef _PATH_MAILDIR
|
||||
# define _PATH_MAILDIR "/var/mail"
|
||||
#endif
|
||||
#ifndef _PATH_MAN
|
||||
# define _PATH_MAN "/usr/share/man"
|
||||
#endif
|
||||
#ifndef _PATH_MEM
|
||||
# define _PATH_MEM "/dev/mem"
|
||||
#endif
|
||||
#ifndef _PATH_NOLOGIN
|
||||
# define _PATH_NOLOGIN "/etc/nologin"
|
||||
#endif
|
||||
#ifndef _PATH_RSH
|
||||
# define _PATH_RSH "/usr/bin/ssh"
|
||||
#endif
|
||||
#ifndef _PATH_SENDMAIL
|
||||
# define _PATH_SENDMAIL "/usr/sbin/sendmail"
|
||||
#endif
|
||||
#ifndef _PATH_SHELLS
|
||||
# define _PATH_SHELLS "/etc/shells"
|
||||
#endif
|
||||
#ifndef _PATH_TTY
|
||||
# define _PATH_TTY "/dev/tty"
|
||||
#endif
|
||||
#ifndef _PATH_UNIX
|
||||
# define _PATH_UNIX "/bsd"
|
||||
#endif
|
||||
#ifndef _PATH_VI
|
||||
# define _PATH_VI "/usr/bin/vi"
|
||||
#endif
|
||||
|
||||
|
||||
/* Provide trailing slash, since mostly used for building pathnames. */
|
||||
#ifndef _PATH_BOOTDIR
|
||||
# define _PATH_BOOTDIR "/usr/mdec/"
|
||||
#endif
|
||||
#ifndef _PATH_DEV
|
||||
# define _PATH_DEV "/dev/"
|
||||
#endif
|
||||
#ifndef _PATH_DEVFD
|
||||
# define _PATH_DEVFD "/dev/fd/"
|
||||
#endif
|
||||
#ifndef _PATH_TMP
|
||||
# define _PATH_TMP "/tmp/"
|
||||
#endif
|
||||
#ifndef _PATH_UUCPLOCK
|
||||
# define _PATH_UUCPLOCK "/var/spool/lock/"
|
||||
#endif
|
||||
#ifndef _PATH_VARDB
|
||||
# define _PATH_VARDB "/var/db/"
|
||||
#endif
|
||||
#ifndef _PATH_VAREMPTY
|
||||
# define _PATH_VAREMPTY "/var/empty/"
|
||||
#endif
|
||||
#ifndef _PATH_VARRUN
|
||||
# define _PATH_VARRUN "/var/run/"
|
||||
#endif
|
||||
#ifndef _PATH_VARTMP
|
||||
# define _PATH_VARTMP "/var/tmp/"
|
||||
#endif
|
||||
|
||||
#endif /* !_PATHS_H_ */
|
10
include/openbsd/poll.h
Normal file
10
include/openbsd/poll.h
Normal file
|
@ -0,0 +1,10 @@
|
|||
#include_next <poll.h>
|
||||
|
||||
#ifndef _COMPAT_POLL_H_
|
||||
#define _COMPAT_POLL_H_
|
||||
|
||||
#ifndef INFTIM
|
||||
# define INFTIM (-1)
|
||||
#endif
|
||||
|
||||
#endif
|
56
include/openbsd/pwd.h
Normal file
56
include/openbsd/pwd.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/* $OpenBSD: pwd.h,v 1.24 2015/11/18 16:44:46 tedu Exp $ */
|
||||
/* $NetBSD: pwd.h,v 1.9 1996/05/15 21:36:45 jtc Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
* (c) UNIX System Laboratories, Inc.
|
||||
* All or some portions of this file are derived from material licensed
|
||||
* to the University of California by American Telephone and Telegraph
|
||||
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
|
||||
* the permission of UNIX System Laboratories, Inc.
|
||||
* Portions Copyright(C) 1995, 1996, Jason Downs. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)pwd.h 8.2 (Berkeley) 1/21/94
|
||||
*/
|
||||
|
||||
#ifndef _COMPAT_PWD_H_
|
||||
#define _COMPAT_PWD_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#define _PASSWORD_LEN 128 /* max length, not counting NUL */
|
||||
|
||||
char *user_from_uid(uid_t, int);
|
||||
char *bcrypt_gensalt(u_int8_t);
|
||||
char *bcrypt(const char *, const char *);
|
||||
int bcrypt_newhash(const char *, int, char *, size_t);
|
||||
int bcrypt_checkpass(const char *, const char *);
|
||||
struct passwd *pw_dup(const struct passwd *);
|
||||
#endif /* !_COMPAT_PWD_H_ */
|
||||
|
||||
#include_next <pwd.h>
|
37
include/openbsd/readpassphrase.h
Normal file
37
include/openbsd/readpassphrase.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
/* $OpenBSD: readpassphrase.h,v 1.5 2003/06/17 21:56:23 millert Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000, 2002 Todd C. Miller <Todd.Miller@courtesan.com>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* Sponsored in part by the Defense Advanced Research Projects
|
||||
* Agency (DARPA) and Air Force Research Laboratory, Air Force
|
||||
* Materiel Command, USAF, under agreement number F39502-99-1-0512.
|
||||
*/
|
||||
|
||||
/* OPENBSD ORIGINAL: include/readpassphrase.h */
|
||||
|
||||
#ifndef HAVE_READPASSPHRASE
|
||||
|
||||
#define RPP_ECHO_OFF 0x00 /* Turn off echo (default). */
|
||||
#define RPP_ECHO_ON 0x01 /* Leave echo on. */
|
||||
#define RPP_REQUIRE_TTY 0x02 /* Fail if there is no tty. */
|
||||
#define RPP_FORCELOWER 0x04 /* Force input to lower case. */
|
||||
#define RPP_FORCEUPPER 0x08 /* Force input to upper case. */
|
||||
#define RPP_SEVENBIT 0x10 /* Strip the high bit from input. */
|
||||
#define RPP_STDIN 0x20 /* Read from stdin, not /dev/tty */
|
||||
|
||||
char * readpassphrase(const char *, char *, size_t, int);
|
||||
|
||||
#endif
|
113
include/openbsd/regex.h
Normal file
113
include/openbsd/regex.h
Normal file
|
@ -0,0 +1,113 @@
|
|||
/* $OpenBSD: regex.h,v 1.7 2012/12/05 23:19:57 deraadt Exp $ */
|
||||
/* $NetBSD: regex.h,v 1.4.6.1 1996/06/10 18:57:07 explorer Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1992 Henry Spencer.
|
||||
* Copyright (c) 1992, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Henry Spencer of the University of Toronto.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)regex.h 8.1 (Berkeley) 6/2/93
|
||||
*/
|
||||
|
||||
#ifndef _REGEX_H_
|
||||
#define _REGEX_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#define regoff_t openbsd_regoff_t
|
||||
#define regex_t openbsd_regex_t
|
||||
#define regmatch_t openbsd_regmatch_t
|
||||
|
||||
/* types */
|
||||
typedef off_t regoff_t;
|
||||
|
||||
typedef struct {
|
||||
int re_magic;
|
||||
size_t re_nsub; /* number of parenthesized subexpressions */
|
||||
const char *re_endp; /* end pointer for REG_PEND */
|
||||
struct re_guts *re_g; /* none of your business :-) */
|
||||
} regex_t;
|
||||
|
||||
typedef struct {
|
||||
regoff_t rm_so; /* start of match */
|
||||
regoff_t rm_eo; /* end of match */
|
||||
} regmatch_t;
|
||||
|
||||
/* regcomp() flags */
|
||||
#define REG_BASIC 0000
|
||||
#define REG_EXTENDED 0001
|
||||
#define REG_ICASE 0002
|
||||
#define REG_NOSUB 0004
|
||||
#define REG_NEWLINE 0010
|
||||
#define REG_NOSPEC 0020
|
||||
#define REG_PEND 0040
|
||||
#define REG_DUMP 0200
|
||||
|
||||
/* regerror() flags */
|
||||
#define REG_NOMATCH 1
|
||||
#define REG_BADPAT 2
|
||||
#define REG_ECOLLATE 3
|
||||
#define REG_ECTYPE 4
|
||||
#define REG_EESCAPE 5
|
||||
#define REG_ESUBREG 6
|
||||
#define REG_EBRACK 7
|
||||
#define REG_EPAREN 8
|
||||
#define REG_EBRACE 9
|
||||
#define REG_BADBR 10
|
||||
#define REG_ERANGE 11
|
||||
#define REG_ESPACE 12
|
||||
#define REG_BADRPT 13
|
||||
#define REG_EMPTY 14
|
||||
#define REG_ASSERT 15
|
||||
#define REG_INVARG 16
|
||||
#define REG_ATOI 255 /* convert name to number (!) */
|
||||
#define REG_ITOA 0400 /* convert number to name (!) */
|
||||
|
||||
/* regexec() flags */
|
||||
#define REG_NOTBOL 00001
|
||||
#define REG_NOTEOL 00002
|
||||
#define REG_STARTEND 00004
|
||||
#define REG_TRACE 00400 /* tracing of execution */
|
||||
#define REG_LARGE 01000 /* force large representation */
|
||||
#define REG_BACKR 02000 /* force use of backref code */
|
||||
|
||||
#define regcomp openbsd_regcomp
|
||||
#define regerror openbsd_regerror
|
||||
#define regexec openbsd_regexec
|
||||
#define regfree openbsd_regfree
|
||||
|
||||
__BEGIN_DECLS
|
||||
int regcomp(regex_t *, const char *, int);
|
||||
size_t regerror(int, const regex_t *, char *, size_t);
|
||||
int regexec(const regex_t *, const char *, size_t, regmatch_t [], int);
|
||||
void regfree(regex_t *);
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !_REGEX_H_ */
|
9
include/openbsd/resolv.h
Normal file
9
include/openbsd/resolv.h
Normal file
|
@ -0,0 +1,9 @@
|
|||
#ifndef _COMPAT_RESOLV_H_
|
||||
#define _COMPAT_RESOLV_H_
|
||||
|
||||
int b64_ntop(unsigned char const *, size_t, char *, size_t);
|
||||
int b64_pton(char const *, unsigned char *, size_t);
|
||||
|
||||
#endif /* _COMPAT_RESOLV_H_ */
|
||||
|
||||
#include_next <resolv.h>
|
60
include/openbsd/rmd160.h
Normal file
60
include/openbsd/rmd160.h
Normal file
|
@ -0,0 +1,60 @@
|
|||
/* $OpenBSD: rmd160.h,v 1.17 2012/12/05 23:19:57 deraadt Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef _RMD160_H
|
||||
#define _RMD160_H
|
||||
|
||||
#define RMD160_BLOCK_LENGTH 64
|
||||
#define RMD160_DIGEST_LENGTH 20
|
||||
#define RMD160_DIGEST_STRING_LENGTH (RMD160_DIGEST_LENGTH * 2 + 1)
|
||||
|
||||
/* RMD160 context. */
|
||||
typedef struct RMD160Context {
|
||||
u_int32_t state[5]; /* state */
|
||||
u_int64_t count; /* number of bits, mod 2^64 */
|
||||
u_int8_t buffer[RMD160_BLOCK_LENGTH]; /* input buffer */
|
||||
} RMD160_CTX;
|
||||
|
||||
__BEGIN_DECLS
|
||||
void RMD160Init(RMD160_CTX *);
|
||||
void RMD160Transform(u_int32_t [5], const u_int8_t [RMD160_BLOCK_LENGTH])
|
||||
__attribute__((__bounded__(__minbytes__,1,5)))
|
||||
__attribute__((__bounded__(__minbytes__,2,RMD160_BLOCK_LENGTH)));
|
||||
void RMD160Update(RMD160_CTX *, const u_int8_t *, size_t)
|
||||
__attribute__((__bounded__(__string__,2,3)));
|
||||
void RMD160Pad(RMD160_CTX *);
|
||||
void RMD160Final(u_int8_t [RMD160_DIGEST_LENGTH], RMD160_CTX *)
|
||||
__attribute__((__bounded__(__minbytes__,1,RMD160_DIGEST_LENGTH)));
|
||||
char *RMD160End(RMD160_CTX *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,RMD160_DIGEST_STRING_LENGTH)));
|
||||
char *RMD160File(const char *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,RMD160_DIGEST_STRING_LENGTH)));
|
||||
char *RMD160FileChunk(const char *, char *, off_t, off_t)
|
||||
__attribute__((__bounded__(__minbytes__,2,RMD160_DIGEST_STRING_LENGTH)));
|
||||
char *RMD160Data(const u_int8_t *, size_t, char *)
|
||||
__attribute__((__bounded__(__string__,1,2)))
|
||||
__attribute__((__bounded__(__minbytes__,3,RMD160_DIGEST_STRING_LENGTH)));
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _RMD160_H */
|
57
include/openbsd/sha1.h
Normal file
57
include/openbsd/sha1.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/* $OpenBSD: sha1.h,v 1.24 2012/12/05 23:19:57 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* SHA-1 in C
|
||||
* By Steve Reid <steve@edmweb.com>
|
||||
* 100% Public Domain
|
||||
*/
|
||||
|
||||
#ifndef _SHA1_H
|
||||
#define _SHA1_H
|
||||
|
||||
#define SHA1_BLOCK_LENGTH 64
|
||||
#define SHA1_DIGEST_LENGTH 20
|
||||
#define SHA1_DIGEST_STRING_LENGTH (SHA1_DIGEST_LENGTH * 2 + 1)
|
||||
|
||||
typedef struct {
|
||||
u_int32_t state[5];
|
||||
u_int64_t count;
|
||||
u_int8_t buffer[SHA1_BLOCK_LENGTH];
|
||||
} SHA1_CTX;
|
||||
|
||||
__BEGIN_DECLS
|
||||
void SHA1Init(SHA1_CTX *);
|
||||
void SHA1Pad(SHA1_CTX *);
|
||||
void SHA1Transform(u_int32_t [5], const u_int8_t [SHA1_BLOCK_LENGTH])
|
||||
__attribute__((__bounded__(__minbytes__,1,5)))
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA1_BLOCK_LENGTH)));
|
||||
void SHA1Update(SHA1_CTX *, const u_int8_t *, size_t)
|
||||
__attribute__((__bounded__(__string__,2,3)));
|
||||
void SHA1Final(u_int8_t [SHA1_DIGEST_LENGTH], SHA1_CTX *)
|
||||
__attribute__((__bounded__(__minbytes__,1,SHA1_DIGEST_LENGTH)));
|
||||
char *SHA1End(SHA1_CTX *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA1_DIGEST_STRING_LENGTH)));
|
||||
char *SHA1File(const char *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA1_DIGEST_STRING_LENGTH)));
|
||||
char *SHA1FileChunk(const char *, char *, off_t, off_t)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA1_DIGEST_STRING_LENGTH)));
|
||||
char *SHA1Data(const u_int8_t *, size_t, char *)
|
||||
__attribute__((__bounded__(__string__,1,2)))
|
||||
__attribute__((__bounded__(__minbytes__,3,SHA1_DIGEST_STRING_LENGTH)));
|
||||
__END_DECLS
|
||||
|
||||
#define HTONDIGEST(x) do { \
|
||||
x[0] = htonl(x[0]); \
|
||||
x[1] = htonl(x[1]); \
|
||||
x[2] = htonl(x[2]); \
|
||||
x[3] = htonl(x[3]); \
|
||||
x[4] = htonl(x[4]); } while (0)
|
||||
|
||||
#define NTOHDIGEST(x) do { \
|
||||
x[0] = ntohl(x[0]); \
|
||||
x[1] = ntohl(x[1]); \
|
||||
x[2] = ntohl(x[2]); \
|
||||
x[3] = ntohl(x[3]); \
|
||||
x[4] = ntohl(x[4]); } while (0)
|
||||
|
||||
#endif /* _SHA1_H */
|
156
include/openbsd/sha2.h
Normal file
156
include/openbsd/sha2.h
Normal file
|
@ -0,0 +1,156 @@
|
|||
/* $OpenBSD: sha2.h,v 1.10 2016/09/03 17:00:29 tedu Exp $ */
|
||||
|
||||
/*
|
||||
* FILE: sha2.h
|
||||
* AUTHOR: Aaron D. Gifford <me@aarongifford.com>
|
||||
*
|
||||
* Copyright (c) 2000-2001, Aaron D. Gifford
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the copyright holder nor the names of contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $From: sha2.h,v 1.1 2001/11/08 00:02:01 adg Exp adg $
|
||||
*/
|
||||
|
||||
#ifndef _SHA2_H
|
||||
#define _SHA2_H
|
||||
|
||||
|
||||
/*** SHA-256/384/512 Various Length Definitions ***********************/
|
||||
#define SHA224_BLOCK_LENGTH 64
|
||||
#define SHA224_DIGEST_LENGTH 28
|
||||
#define SHA224_DIGEST_STRING_LENGTH (SHA224_DIGEST_LENGTH * 2 + 1)
|
||||
#define SHA256_BLOCK_LENGTH 64
|
||||
#define SHA256_DIGEST_LENGTH 32
|
||||
#define SHA256_DIGEST_STRING_LENGTH (SHA256_DIGEST_LENGTH * 2 + 1)
|
||||
#define SHA384_BLOCK_LENGTH 128
|
||||
#define SHA384_DIGEST_LENGTH 48
|
||||
#define SHA384_DIGEST_STRING_LENGTH (SHA384_DIGEST_LENGTH * 2 + 1)
|
||||
#define SHA512_BLOCK_LENGTH 128
|
||||
#define SHA512_DIGEST_LENGTH 64
|
||||
#define SHA512_DIGEST_STRING_LENGTH (SHA512_DIGEST_LENGTH * 2 + 1)
|
||||
#define SHA512_256_BLOCK_LENGTH 128
|
||||
#define SHA512_256_DIGEST_LENGTH 32
|
||||
#define SHA512_256_DIGEST_STRING_LENGTH (SHA512_256_DIGEST_LENGTH * 2 + 1)
|
||||
|
||||
|
||||
/*** SHA-224/256/384/512 Context Structure *******************************/
|
||||
typedef struct _SHA2_CTX {
|
||||
union {
|
||||
u_int32_t st32[8];
|
||||
u_int64_t st64[8];
|
||||
} state;
|
||||
u_int64_t bitcount[2];
|
||||
u_int8_t buffer[SHA512_BLOCK_LENGTH];
|
||||
} SHA2_CTX;
|
||||
|
||||
__BEGIN_DECLS
|
||||
void SHA224Init(SHA2_CTX *);
|
||||
void SHA224Transform(u_int32_t state[8], const u_int8_t [SHA224_BLOCK_LENGTH]);
|
||||
void SHA224Update(SHA2_CTX *, const u_int8_t *, size_t)
|
||||
__attribute__((__bounded__(__string__,2,3)));
|
||||
void SHA224Pad(SHA2_CTX *);
|
||||
void SHA224Final(u_int8_t [SHA224_DIGEST_LENGTH], SHA2_CTX *)
|
||||
__attribute__((__bounded__(__minbytes__,1,SHA224_DIGEST_LENGTH)));
|
||||
char *SHA224End(SHA2_CTX *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA224_DIGEST_STRING_LENGTH)));
|
||||
char *SHA224File(const char *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA224_DIGEST_STRING_LENGTH)));
|
||||
char *SHA224FileChunk(const char *, char *, off_t, off_t)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA224_DIGEST_STRING_LENGTH)));
|
||||
char *SHA224Data(const u_int8_t *, size_t, char *)
|
||||
__attribute__((__bounded__(__string__,1,2)))
|
||||
__attribute__((__bounded__(__minbytes__,3,SHA224_DIGEST_STRING_LENGTH)));
|
||||
|
||||
void SHA256Init(SHA2_CTX *);
|
||||
void SHA256Transform(u_int32_t state[8], const u_int8_t [SHA256_BLOCK_LENGTH]);
|
||||
void SHA256Update(SHA2_CTX *, const u_int8_t *, size_t)
|
||||
__attribute__((__bounded__(__string__,2,3)));
|
||||
void SHA256Pad(SHA2_CTX *);
|
||||
void SHA256Final(u_int8_t [SHA256_DIGEST_LENGTH], SHA2_CTX *)
|
||||
__attribute__((__bounded__(__minbytes__,1,SHA256_DIGEST_LENGTH)));
|
||||
char *SHA256End(SHA2_CTX *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA256_DIGEST_STRING_LENGTH)));
|
||||
char *SHA256File(const char *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA256_DIGEST_STRING_LENGTH)));
|
||||
char *SHA256FileChunk(const char *, char *, off_t, off_t)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA256_DIGEST_STRING_LENGTH)));
|
||||
char *SHA256Data(const u_int8_t *, size_t, char *)
|
||||
__attribute__((__bounded__(__string__,1,2)))
|
||||
__attribute__((__bounded__(__minbytes__,3,SHA256_DIGEST_STRING_LENGTH)));
|
||||
|
||||
void SHA384Init(SHA2_CTX *);
|
||||
void SHA384Transform(u_int64_t state[8], const u_int8_t [SHA384_BLOCK_LENGTH]);
|
||||
void SHA384Update(SHA2_CTX *, const u_int8_t *, size_t)
|
||||
__attribute__((__bounded__(__string__,2,3)));
|
||||
void SHA384Pad(SHA2_CTX *);
|
||||
void SHA384Final(u_int8_t [SHA384_DIGEST_LENGTH], SHA2_CTX *)
|
||||
__attribute__((__bounded__(__minbytes__,1,SHA384_DIGEST_LENGTH)));
|
||||
char *SHA384End(SHA2_CTX *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA384_DIGEST_STRING_LENGTH)));
|
||||
char *SHA384File(const char *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA384_DIGEST_STRING_LENGTH)));
|
||||
char *SHA384FileChunk(const char *, char *, off_t, off_t)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA384_DIGEST_STRING_LENGTH)));
|
||||
char *SHA384Data(const u_int8_t *, size_t, char *)
|
||||
__attribute__((__bounded__(__string__,1,2)))
|
||||
__attribute__((__bounded__(__minbytes__,3,SHA384_DIGEST_STRING_LENGTH)));
|
||||
|
||||
void SHA512Init(SHA2_CTX *);
|
||||
void SHA512Transform(u_int64_t state[8], const u_int8_t [SHA512_BLOCK_LENGTH]);
|
||||
void SHA512Update(SHA2_CTX *, const u_int8_t *, size_t)
|
||||
__attribute__((__bounded__(__string__,2,3)));
|
||||
void SHA512Pad(SHA2_CTX *);
|
||||
void SHA512Final(u_int8_t [SHA512_DIGEST_LENGTH], SHA2_CTX *)
|
||||
__attribute__((__bounded__(__minbytes__,1,SHA512_DIGEST_LENGTH)));
|
||||
char *SHA512End(SHA2_CTX *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA512_DIGEST_STRING_LENGTH)));
|
||||
char *SHA512File(const char *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA512_DIGEST_STRING_LENGTH)));
|
||||
char *SHA512FileChunk(const char *, char *, off_t, off_t)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA512_DIGEST_STRING_LENGTH)));
|
||||
char *SHA512Data(const u_int8_t *, size_t, char *)
|
||||
__attribute__((__bounded__(__string__,1,2)))
|
||||
__attribute__((__bounded__(__minbytes__,3,SHA512_DIGEST_STRING_LENGTH)));
|
||||
|
||||
void SHA512_256Init(SHA2_CTX *);
|
||||
void SHA512_256Transform(u_int64_t state[8], const u_int8_t [SHA512_256_BLOCK_LENGTH]);
|
||||
void SHA512_256Update(SHA2_CTX *, const u_int8_t *, size_t)
|
||||
__attribute__((__bounded__(__string__,2,3)));
|
||||
void SHA512_256Pad(SHA2_CTX *);
|
||||
void SHA512_256Final(u_int8_t [SHA512_256_DIGEST_LENGTH], SHA2_CTX *)
|
||||
__attribute__((__bounded__(__minbytes__,1,SHA512_256_DIGEST_LENGTH)));
|
||||
char *SHA512_256End(SHA2_CTX *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA512_256_DIGEST_STRING_LENGTH)));
|
||||
char *SHA512_256File(const char *, char *)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA512_256_DIGEST_STRING_LENGTH)));
|
||||
char *SHA512_256FileChunk(const char *, char *, off_t, off_t)
|
||||
__attribute__((__bounded__(__minbytes__,2,SHA512_256_DIGEST_STRING_LENGTH)));
|
||||
char *SHA512_256Data(const u_int8_t *, size_t, char *)
|
||||
__attribute__((__bounded__(__string__,1,2)))
|
||||
__attribute__((__bounded__(__minbytes__,3,SHA512_256_DIGEST_STRING_LENGTH)));
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _SHA2_H */
|
24
include/openbsd/signal.h
Normal file
24
include/openbsd/signal.h
Normal file
|
@ -0,0 +1,24 @@
|
|||
#include_next <signal.h>
|
||||
|
||||
#ifndef _COMPAT_SIGNAL_H_
|
||||
#define _COMPAT_SIGNAL_H_
|
||||
|
||||
#define SIGINFO SIGUSR1
|
||||
|
||||
#ifndef _NSIG
|
||||
# ifdef NSIG
|
||||
# define _NSIG NSIG
|
||||
# else
|
||||
# define _NSIG 128
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_SYS_SIGLIST
|
||||
extern const char *const sys_siglist[_NSIG];
|
||||
#endif /* !HAVE_DECL_SYS_SIGLIST */
|
||||
|
||||
#if !HAVE_DECL_SYS_SIGNAME
|
||||
extern const char *const sys_signame[_NSIG];
|
||||
#endif /* !HAVE_DECL_SYS_SIGNAME */
|
||||
|
||||
#endif /* _COMPAT_SIGNAL_H_ */
|
10
include/openbsd/stdarg.h
Normal file
10
include/openbsd/stdarg.h
Normal file
|
@ -0,0 +1,10 @@
|
|||
#include_next <stdarg.h>
|
||||
|
||||
#ifndef _COMPAT_STDARG_H_
|
||||
#define _COMPAT_STDARG_H_
|
||||
|
||||
#ifndef __va_list
|
||||
# define __va_list va_list;
|
||||
#endif
|
||||
|
||||
#endif
|
13
include/openbsd/stdio.h
Normal file
13
include/openbsd/stdio.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
#include_next <stdio.h>
|
||||
|
||||
#ifndef _COMPAT_STDIO_H_
|
||||
#define _COMPAT_STDIO_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
char *fgetln(FILE *, size_t *);
|
||||
|
||||
int asprintf(char **, const char *, ...);
|
||||
int vasprintf(char **, const char *, va_list);
|
||||
|
||||
#endif /* _COMPAT STDIO_H_ */
|
84
include/openbsd/stdlib.h
Normal file
84
include/openbsd/stdlib.h
Normal file
|
@ -0,0 +1,84 @@
|
|||
/* $OpenBSD: stdlib.h,v 1.67 2016/09/20 21:10:22 fcambus Exp $ */
|
||||
/* $NetBSD: stdlib.h,v 1.25 1995/12/27 21:19:08 jtc Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)stdlib.h 5.13 (Berkeley) 6/4/91
|
||||
*/
|
||||
|
||||
#ifndef _COMPAT_STDLIB_H_
|
||||
#define _COMPAT_STDLIB_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdint.h>
|
||||
|
||||
char *getbsize(int *, long *);
|
||||
char *cgetcap(char *, const char *, int);
|
||||
int cgetclose(void);
|
||||
int cgetent(char **, char **, const char *);
|
||||
int cgetfirst(char **, char **);
|
||||
int cgetmatch(char *, const char *);
|
||||
int cgetnext(char **, char **);
|
||||
int cgetnum(char *, const char *, long *);
|
||||
int cgetset(const char *);
|
||||
int cgetusedb(int);
|
||||
int cgetstr(char *, const char *, char **);
|
||||
int cgetustr(char *, const char *, char **);
|
||||
|
||||
uint32_t arc4random(void);
|
||||
uint32_t arc4random_uniform(uint32_t);
|
||||
void arc4random_buf(void *, size_t)
|
||||
__attribute__((__bounded__ (__string__,1,2)));
|
||||
char *devname(dev_t, mode_t);
|
||||
void freezero(void *, size_t);
|
||||
void *reallocarray(void *, size_t, size_t);
|
||||
void *recallocarray(void *, size_t, size_t, size_t);
|
||||
int heapsort(void *, size_t, size_t, int (*)(const void *, const void *));
|
||||
int mergesort(void *, size_t, size_t, int (*)(const void *, const void *));
|
||||
int radixsort(const unsigned char **, int, const unsigned char *, unsigned);
|
||||
void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
|
||||
int sradixsort(const unsigned char **, int, const unsigned char *, unsigned);
|
||||
double strtod(const char *__restrict, char **__restrict);
|
||||
long long strtonum(const char *, long long, long long, const char **);
|
||||
long double strtold(const char *__restrict, char **__restrict);
|
||||
long random(void);
|
||||
void srandom(unsigned int);
|
||||
void srandom_deterministic(unsigned int);
|
||||
void srandomdev(void);
|
||||
char *initstate(unsigned int, char *, size_t);
|
||||
char *setstate(char *);
|
||||
|
||||
/* void srand_deterministic(unsigned int); */
|
||||
#define srand_deterministic(x) srand((x))
|
||||
|
||||
int mkostemp(char *, int);
|
||||
|
||||
#endif /* _COMPAT_STDLIB_H_ */
|
||||
|
||||
#include_next <stdlib.h>
|
56
include/openbsd/string.h
Normal file
56
include/openbsd/string.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/* $OpenBSD: string.h,v 1.31 2016/09/09 18:12:37 millert Exp $ */
|
||||
/* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)string.h 5.10 (Berkeley) 3/9/91
|
||||
*/
|
||||
|
||||
#ifndef _COMPAT_STRING_H_
|
||||
#define _COMPAT_STRING_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
void explicit_bzero(void *, size_t)
|
||||
__attribute__ ((__bounded__(__buffer__,1,2)));
|
||||
size_t strlcat(char *, const char *, size_t)
|
||||
__attribute__ ((__bounded__(__string__,1,3)));
|
||||
size_t strlcpy(char *, const char *, size_t)
|
||||
__attribute__ ((__bounded__(__string__,1,3)));
|
||||
void strmode(int, char *);
|
||||
|
||||
int timingsafe_bcmp(const void *, const void *, size_t);
|
||||
int timingsafe_memcmp(const void *, const void *, size_t);
|
||||
|
||||
char *strcasestr(const char *, const char *);
|
||||
void *memrchr(const void *, int, size_t);
|
||||
|
||||
#endif /* _COMPAT_STRING_H_ */
|
||||
|
||||
#include_next <string.h>
|
94
include/openbsd/sys/mount.h
Normal file
94
include/openbsd/sys/mount.h
Normal file
|
@ -0,0 +1,94 @@
|
|||
#include <sys/vfs.h>
|
||||
#include_next <sys/mount.h>
|
||||
|
||||
#ifndef _COMPAT_SYS_MOUNT_H_
|
||||
#define _COMPAT_SYS_MOUNT_H_
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
/*
|
||||
* Flags for various system call interfaces.
|
||||
*
|
||||
* waitfor flags to vfs_sync() and getfsstat()
|
||||
*/
|
||||
#define MNT_NOWAIT 1
|
||||
#define MNT_WAIT 2
|
||||
#define MNT_LAZY 3
|
||||
|
||||
/*
|
||||
* Flags set by internal operations.
|
||||
*/
|
||||
#define MNT_LOCAL 0x00001000 /* filesystem is stored locally */
|
||||
#define MNT_QUOTA 0x00002000 /* quotas are enabled on filesystem */
|
||||
#define MNT_ROOTFS 0x00004000 /* identifies the root filesystem */
|
||||
|
||||
/*
|
||||
* file system statistics
|
||||
*/
|
||||
|
||||
#define MFSNAMELEN 16 /* length of fs type name, including nul */
|
||||
#define MNAMELEN 90 /* length of buffer for returned name */
|
||||
|
||||
/*
|
||||
* Mount flags.
|
||||
*
|
||||
* Unmount uses MNT_FORCE flag.
|
||||
*/
|
||||
#define MNT_RDONLY 0x00000001 /* read only filesystem */
|
||||
#define MNT_SYNCHRONOUS 0x00000002 /* file system written synchronously */
|
||||
#define MNT_NOEXEC 0x00000004 /* can't exec from filesystem */
|
||||
#define MNT_NOSUID 0x00000008 /* don't honor setuid bits on fs */
|
||||
#define MNT_NODEV 0x00000010 /* don't interpret special files */
|
||||
#define MNT_NOPERM 0x00000020 /* don't enforce permission checks */
|
||||
#define MNT_ASYNC 0x00000040 /* file system written asynchronously */
|
||||
#define MNT_WXALLOWED 0x00000800 /* filesystem allows W|X mappings */
|
||||
|
||||
/*
|
||||
* File system types.
|
||||
*/
|
||||
#define MOUNT_FFS "ffs" /* UNIX "Fast" Filesystem */
|
||||
#define MOUNT_UFS MOUNT_FFS /* for compatibility */
|
||||
#define MOUNT_NFS "nfs" /* Network Filesystem */
|
||||
#define MOUNT_MFS "mfs" /* Memory Filesystem */
|
||||
#define MOUNT_MSDOS "msdos" /* MSDOS Filesystem */
|
||||
#define MOUNT_AFS "afs" /* Andrew Filesystem */
|
||||
#define MOUNT_CD9660 "cd9660" /* ISO9660 (aka CDROM) Filesystem */
|
||||
#define MOUNT_EXT2FS "ext2fs" /* Second Extended Filesystem */
|
||||
#define MOUNT_NCPFS "ncpfs" /* NetWare Network File System */
|
||||
#define MOUNT_NTFS "ntfs" /* NTFS */
|
||||
#define MOUNT_UDF "udf" /* UDF */
|
||||
#define MOUNT_TMPFS "tmpfs" /* tmpfs */
|
||||
#define MOUNT_FUSEFS "fuse" /* FUSE */
|
||||
|
||||
union mount_info {
|
||||
|
||||
};
|
||||
|
||||
struct openbsd_statfs {
|
||||
struct statfs buf;
|
||||
dev_t st_dev;
|
||||
char f_fstypename[MFSNAMELEN]; /* fs type name */
|
||||
char f_mntonname[MNAMELEN]; /* directory on which mounted */
|
||||
char f_mntfromname[MNAMELEN]; /* mounted file system */
|
||||
char f_mntfromspec[MNAMELEN]; /* special for mount request */
|
||||
union mount_info mount_info; /* per-filesystem mount options */
|
||||
};
|
||||
|
||||
#ifdef __NEED_OPENBSD_statfs
|
||||
#define statfs openbsd_statfs
|
||||
|
||||
#define f_blocks buf.f_blocks
|
||||
#define f_bsize buf.f_bsize
|
||||
#define f_bfree buf.f_bfree
|
||||
#define f_bavail buf.f_bavail
|
||||
|
||||
#define f_files buf.f_files
|
||||
#define f_ffree buf.f_ffree
|
||||
#define f_flags buf.f_flags
|
||||
#endif /* !__NEED_OPENBSD_statfs */
|
||||
|
||||
int getmntinfo(struct openbsd_statfs **, int);
|
||||
int getfsstat(struct openbsd_statfs *, size_t, int);
|
||||
int openbsd_statfs(const char *, struct openbsd_statfs *);
|
||||
|
||||
#endif /* _COMPAT_SYS_MOUNT_H_ */
|
121
include/openbsd/sys/proc.h
Normal file
121
include/openbsd/sys/proc.h
Normal file
|
@ -0,0 +1,121 @@
|
|||
/* $OpenBSD: proc.h,v 1.235 2017/02/14 10:31:15 mpi Exp $ */
|
||||
/* $NetBSD: proc.h,v 1.44 1996/04/22 01:23:21 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1986, 1989, 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
* (c) UNIX System Laboratories, Inc.
|
||||
* All or some portions of this file are derived from material licensed
|
||||
* to the University of California by American Telephone and Telegraph
|
||||
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
|
||||
* the permission of UNIX System Laboratories, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)proc.h 8.8 (Berkeley) 1/21/94
|
||||
*/
|
||||
|
||||
#ifndef _SYS_PROC_H_
|
||||
#define _SYS_PROC_H_
|
||||
|
||||
#include <sys/queue.h>
|
||||
|
||||
/*
|
||||
* These flags are kept in ps_flags.
|
||||
*/
|
||||
#define PS_CONTROLT 0x00000001 /* Has a controlling terminal. */
|
||||
#define PS_EXEC 0x00000002 /* Process called exec. */
|
||||
#define PS_INEXEC 0x00000004 /* Process is doing an exec right now */
|
||||
#define PS_EXITING 0x00000008 /* Process is exiting. */
|
||||
#define PS_SUGID 0x00000010 /* Had set id privs since last exec. */
|
||||
#define PS_SUGIDEXEC 0x00000020 /* last execve() was set[ug]id */
|
||||
#define PS_PPWAIT 0x00000040 /* Parent waits for exec/exit. */
|
||||
#define PS_ISPWAIT 0x00000080 /* Is parent of PPWAIT child. */
|
||||
#define PS_PROFIL 0x00000100 /* Has started profiling. */
|
||||
#define PS_TRACED 0x00000200 /* Being ptraced. */
|
||||
#define PS_WAITED 0x00000400 /* Stopped proc was waited for. */
|
||||
#define PS_COREDUMP 0x00000800 /* Busy coredumping */
|
||||
#define PS_SINGLEEXIT 0x00001000 /* Other threads must die. */
|
||||
#define PS_SINGLEUNWIND 0x00002000 /* Other threads must unwind. */
|
||||
#define PS_NOZOMBIE 0x00004000 /* No signal or zombie at exit. */
|
||||
#define PS_STOPPED 0x00008000 /* Just stopped, need sig to parent. */
|
||||
#define PS_SYSTEM 0x00010000 /* No sigs, stats or swapping. */
|
||||
#define PS_EMBRYO 0x00020000 /* New process, not yet fledged */
|
||||
#define PS_ZOMBIE 0x00040000 /* Dead and ready to be waited for */
|
||||
#define PS_NOBROADCASTKILL 0x00080000 /* Process excluded from kill -1. */
|
||||
#define PS_PLEDGE 0x00100000 /* Has called pledge(2) */
|
||||
#define PS_WXNEEDED 0x00200000 /* Process may violate W^X */
|
||||
|
||||
#define PS_BITS \
|
||||
("\20" "\01CONTROLT" "\02EXEC" "\03INEXEC" "\04EXITING" "\05SUGID" \
|
||||
"\06SUGIDEXEC" "\07PPWAIT" "\010ISPWAIT" "\011PROFIL" "\012TRACED" \
|
||||
"\013WAITED" "\014COREDUMP" "\015SINGLEEXIT" "\016SINGLEUNWIND" \
|
||||
"\017NOZOMBIE" "\020STOPPED" "\021SYSTEM" "\022EMBRYO" "\023ZOMBIE" \
|
||||
"\024NOBROADCASTKILL" "\025PLEDGE" "\026WXNEEDED")
|
||||
|
||||
/* Status values. */
|
||||
#define SIDL 1 /* Thread being created by fork. */
|
||||
#define SRUN 2 /* Currently runnable. */
|
||||
#define SSLEEP 3 /* Sleeping on an address. */
|
||||
#define SSTOP 4 /* Debugging or suspension. */
|
||||
#define SZOMB 5 /* unused */
|
||||
#define SDEAD 6 /* Thread is almost gone */
|
||||
#define SONPROC 7 /* Thread is currently on a CPU. */
|
||||
|
||||
#define P_ZOMBIE(p) ((p)->p_stat == SDEAD)
|
||||
#define P_HASSIBLING(p) (TAILQ_FIRST(&(p)->p_p->ps_threads) != (p) || \
|
||||
TAILQ_NEXT((p), p_thr_link) != NULL)
|
||||
|
||||
/*
|
||||
* These flags are per-thread and kept in p_flag
|
||||
*/
|
||||
#define P_INKTR 0x00000001 /* In a ktrace op, don't recurse */
|
||||
#define P_PROFPEND 0x00000002 /* SIGPROF needs to be posted */
|
||||
#define P_ALRMPEND 0x00000004 /* SIGVTALRM needs to be posted */
|
||||
#define P_SIGSUSPEND 0x00000008 /* Need to restore before-suspend mask*/
|
||||
#define P_CANTSLEEP 0x00000010 /* insomniac thread */
|
||||
#define P_SELECT 0x00000040 /* Selecting; wakeup/waiting danger. */
|
||||
#define P_SINTR 0x00000080 /* Sleep is interruptible. */
|
||||
#define P_SYSTEM 0x00000200 /* No sigs, stats or swapping. */
|
||||
#define P_TIMEOUT 0x00000400 /* Timing out during sleep. */
|
||||
#define P_WEXIT 0x00002000 /* Working on exiting. */
|
||||
#define P_OWEUPC 0x00008000 /* Owe proc an addupc() at next ast. */
|
||||
#define P_SUSPSINGLE 0x00080000 /* Need to stop for single threading. */
|
||||
#define P_CONTINUED 0x00800000 /* Proc has continued from a stopped state. */
|
||||
#define P_THREAD 0x04000000 /* Only a thread, not a real process */
|
||||
#define P_SUSPSIG 0x08000000 /* Stopped from signal. */
|
||||
#define P_SOFTDEP 0x10000000 /* Stuck processing softdep worklist */
|
||||
#define P_CPUPEG 0x40000000 /* Do not move to another cpu. */
|
||||
|
||||
#define P_BITS \
|
||||
("\20" "\01INKTR" "\02PROFPEND" "\03ALRMPEND" "\04SIGSUSPEND" \
|
||||
"\05CANTSLEEP" "\07SELECT" "\010SINTR" "\012SYSTEM" "\013TIMEOUT" \
|
||||
"\016WEXIT" "\020OWEUPC" "\024SUSPSINGLE" "\027XX" \
|
||||
"\030CONTINUED" "\033THREAD" "\034SUSPSIG" "\035SOFTDEP" "\037CPUPEG")
|
||||
|
||||
#define THREAD_PID_OFFSET 100000
|
||||
|
||||
#endif /* !_SYS_PROC_H_ */
|
||||
|
533
include/openbsd/sys/queue.h
Normal file
533
include/openbsd/sys/queue.h
Normal file
|
@ -0,0 +1,533 @@
|
|||
/* $OpenBSD: queue.h,v 1.43 2015/12/28 19:38:40 millert Exp $ */
|
||||
/* $NetBSD: queue.h,v 1.11 1996/05/16 05:17:14 mycroft Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)queue.h 8.5 (Berkeley) 8/20/94
|
||||
*/
|
||||
|
||||
#ifndef _SYS_QUEUE_H_
|
||||
#define _SYS_QUEUE_H_
|
||||
|
||||
/*
|
||||
* This file defines five types of data structures: singly-linked lists,
|
||||
* lists, simple queues, tail queues and XOR simple queues.
|
||||
*
|
||||
*
|
||||
* A singly-linked list is headed by a single forward pointer. The elements
|
||||
* are singly linked for minimum space and pointer manipulation overhead at
|
||||
* the expense of O(n) removal for arbitrary elements. New elements can be
|
||||
* added to the list after an existing element or at the head of the list.
|
||||
* Elements being removed from the head of the list should use the explicit
|
||||
* macro for this purpose for optimum efficiency. A singly-linked list may
|
||||
* only be traversed in the forward direction. Singly-linked lists are ideal
|
||||
* for applications with large datasets and few or no removals or for
|
||||
* implementing a LIFO queue.
|
||||
*
|
||||
* A list is headed by a single forward pointer (or an array of forward
|
||||
* pointers for a hash table header). The elements are doubly linked
|
||||
* so that an arbitrary element can be removed without a need to
|
||||
* traverse the list. New elements can be added to the list before
|
||||
* or after an existing element or at the head of the list. A list
|
||||
* may only be traversed in the forward direction.
|
||||
*
|
||||
* A simple queue is headed by a pair of pointers, one to the head of the
|
||||
* list and the other to the tail of the list. The elements are singly
|
||||
* linked to save space, so elements can only be removed from the
|
||||
* head of the list. New elements can be added to the list before or after
|
||||
* an existing element, at the head of the list, or at the end of the
|
||||
* list. A simple queue may only be traversed in the forward direction.
|
||||
*
|
||||
* A tail queue is headed by a pair of pointers, one to the head of the
|
||||
* list and the other to the tail of the list. The elements are doubly
|
||||
* linked so that an arbitrary element can be removed without a need to
|
||||
* traverse the list. New elements can be added to the list before or
|
||||
* after an existing element, at the head of the list, or at the end of
|
||||
* the list. A tail queue may be traversed in either direction.
|
||||
*
|
||||
* An XOR simple queue is used in the same way as a regular simple queue.
|
||||
* The difference is that the head structure also includes a "cookie" that
|
||||
* is XOR'd with the queue pointer (first, last or next) to generate the
|
||||
* real pointer value.
|
||||
*
|
||||
* For details on the use of these macros, see the queue(3) manual page.
|
||||
*/
|
||||
|
||||
#if defined(QUEUE_MACRO_DEBUG) || (defined(_KERNEL) && defined(DIAGNOSTIC))
|
||||
#define _Q_INVALIDATE(a) (a) = ((void *)-1)
|
||||
#else
|
||||
#define _Q_INVALIDATE(a)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Singly-linked List definitions.
|
||||
*/
|
||||
#define SLIST_HEAD(name, type) \
|
||||
struct name { \
|
||||
struct type *slh_first; /* first element */ \
|
||||
}
|
||||
|
||||
#define SLIST_HEAD_INITIALIZER(head) \
|
||||
{ NULL }
|
||||
|
||||
#define SLIST_ENTRY(type) \
|
||||
struct { \
|
||||
struct type *sle_next; /* next element */ \
|
||||
}
|
||||
|
||||
/*
|
||||
* Singly-linked List access methods.
|
||||
*/
|
||||
#define SLIST_FIRST(head) ((head)->slh_first)
|
||||
#define SLIST_END(head) NULL
|
||||
#define SLIST_EMPTY(head) (SLIST_FIRST(head) == SLIST_END(head))
|
||||
#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
|
||||
|
||||
#define SLIST_FOREACH(var, head, field) \
|
||||
for((var) = SLIST_FIRST(head); \
|
||||
(var) != SLIST_END(head); \
|
||||
(var) = SLIST_NEXT(var, field))
|
||||
|
||||
#define SLIST_FOREACH_SAFE(var, head, field, tvar) \
|
||||
for ((var) = SLIST_FIRST(head); \
|
||||
(var) && ((tvar) = SLIST_NEXT(var, field), 1); \
|
||||
(var) = (tvar))
|
||||
|
||||
/*
|
||||
* Singly-linked List functions.
|
||||
*/
|
||||
#define SLIST_INIT(head) { \
|
||||
SLIST_FIRST(head) = SLIST_END(head); \
|
||||
}
|
||||
|
||||
#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
|
||||
(elm)->field.sle_next = (slistelm)->field.sle_next; \
|
||||
(slistelm)->field.sle_next = (elm); \
|
||||
} while (0)
|
||||
|
||||
#define SLIST_INSERT_HEAD(head, elm, field) do { \
|
||||
(elm)->field.sle_next = (head)->slh_first; \
|
||||
(head)->slh_first = (elm); \
|
||||
} while (0)
|
||||
|
||||
#define SLIST_REMOVE_AFTER(elm, field) do { \
|
||||
(elm)->field.sle_next = (elm)->field.sle_next->field.sle_next; \
|
||||
} while (0)
|
||||
|
||||
#define SLIST_REMOVE_HEAD(head, field) do { \
|
||||
(head)->slh_first = (head)->slh_first->field.sle_next; \
|
||||
} while (0)
|
||||
|
||||
#define SLIST_REMOVE(head, elm, type, field) do { \
|
||||
if ((head)->slh_first == (elm)) { \
|
||||
SLIST_REMOVE_HEAD((head), field); \
|
||||
} else { \
|
||||
struct type *curelm = (head)->slh_first; \
|
||||
\
|
||||
while (curelm->field.sle_next != (elm)) \
|
||||
curelm = curelm->field.sle_next; \
|
||||
curelm->field.sle_next = \
|
||||
curelm->field.sle_next->field.sle_next; \
|
||||
} \
|
||||
_Q_INVALIDATE((elm)->field.sle_next); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* List definitions.
|
||||
*/
|
||||
#define LIST_HEAD(name, type) \
|
||||
struct name { \
|
||||
struct type *lh_first; /* first element */ \
|
||||
}
|
||||
|
||||
#define LIST_HEAD_INITIALIZER(head) \
|
||||
{ NULL }
|
||||
|
||||
#define LIST_ENTRY(type) \
|
||||
struct { \
|
||||
struct type *le_next; /* next element */ \
|
||||
struct type **le_prev; /* address of previous next element */ \
|
||||
}
|
||||
|
||||
/*
|
||||
* List access methods.
|
||||
*/
|
||||
#define LIST_FIRST(head) ((head)->lh_first)
|
||||
#define LIST_END(head) NULL
|
||||
#define LIST_EMPTY(head) (LIST_FIRST(head) == LIST_END(head))
|
||||
#define LIST_NEXT(elm, field) ((elm)->field.le_next)
|
||||
|
||||
#define LIST_FOREACH(var, head, field) \
|
||||
for((var) = LIST_FIRST(head); \
|
||||
(var)!= LIST_END(head); \
|
||||
(var) = LIST_NEXT(var, field))
|
||||
|
||||
#define LIST_FOREACH_SAFE(var, head, field, tvar) \
|
||||
for ((var) = LIST_FIRST(head); \
|
||||
(var) && ((tvar) = LIST_NEXT(var, field), 1); \
|
||||
(var) = (tvar))
|
||||
|
||||
/*
|
||||
* List functions.
|
||||
*/
|
||||
#define LIST_INIT(head) do { \
|
||||
LIST_FIRST(head) = LIST_END(head); \
|
||||
} while (0)
|
||||
|
||||
#define LIST_INSERT_AFTER(listelm, elm, field) do { \
|
||||
if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
|
||||
(listelm)->field.le_next->field.le_prev = \
|
||||
&(elm)->field.le_next; \
|
||||
(listelm)->field.le_next = (elm); \
|
||||
(elm)->field.le_prev = &(listelm)->field.le_next; \
|
||||
} while (0)
|
||||
|
||||
#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
|
||||
(elm)->field.le_prev = (listelm)->field.le_prev; \
|
||||
(elm)->field.le_next = (listelm); \
|
||||
*(listelm)->field.le_prev = (elm); \
|
||||
(listelm)->field.le_prev = &(elm)->field.le_next; \
|
||||
} while (0)
|
||||
|
||||
#define LIST_INSERT_HEAD(head, elm, field) do { \
|
||||
if (((elm)->field.le_next = (head)->lh_first) != NULL) \
|
||||
(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
|
||||
(head)->lh_first = (elm); \
|
||||
(elm)->field.le_prev = &(head)->lh_first; \
|
||||
} while (0)
|
||||
|
||||
#define LIST_REMOVE(elm, field) do { \
|
||||
if ((elm)->field.le_next != NULL) \
|
||||
(elm)->field.le_next->field.le_prev = \
|
||||
(elm)->field.le_prev; \
|
||||
*(elm)->field.le_prev = (elm)->field.le_next; \
|
||||
_Q_INVALIDATE((elm)->field.le_prev); \
|
||||
_Q_INVALIDATE((elm)->field.le_next); \
|
||||
} while (0)
|
||||
|
||||
#define LIST_REPLACE(elm, elm2, field) do { \
|
||||
if (((elm2)->field.le_next = (elm)->field.le_next) != NULL) \
|
||||
(elm2)->field.le_next->field.le_prev = \
|
||||
&(elm2)->field.le_next; \
|
||||
(elm2)->field.le_prev = (elm)->field.le_prev; \
|
||||
*(elm2)->field.le_prev = (elm2); \
|
||||
_Q_INVALIDATE((elm)->field.le_prev); \
|
||||
_Q_INVALIDATE((elm)->field.le_next); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* Simple queue definitions.
|
||||
*/
|
||||
#define SIMPLEQ_HEAD(name, type) \
|
||||
struct name { \
|
||||
struct type *sqh_first; /* first element */ \
|
||||
struct type **sqh_last; /* addr of last next element */ \
|
||||
}
|
||||
|
||||
#define SIMPLEQ_HEAD_INITIALIZER(head) \
|
||||
{ NULL, &(head).sqh_first }
|
||||
|
||||
#define SIMPLEQ_ENTRY(type) \
|
||||
struct { \
|
||||
struct type *sqe_next; /* next element */ \
|
||||
}
|
||||
|
||||
/*
|
||||
* Simple queue access methods.
|
||||
*/
|
||||
#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
|
||||
#define SIMPLEQ_END(head) NULL
|
||||
#define SIMPLEQ_EMPTY(head) (SIMPLEQ_FIRST(head) == SIMPLEQ_END(head))
|
||||
#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
|
||||
|
||||
#define SIMPLEQ_FOREACH(var, head, field) \
|
||||
for((var) = SIMPLEQ_FIRST(head); \
|
||||
(var) != SIMPLEQ_END(head); \
|
||||
(var) = SIMPLEQ_NEXT(var, field))
|
||||
|
||||
#define SIMPLEQ_FOREACH_SAFE(var, head, field, tvar) \
|
||||
for ((var) = SIMPLEQ_FIRST(head); \
|
||||
(var) && ((tvar) = SIMPLEQ_NEXT(var, field), 1); \
|
||||
(var) = (tvar))
|
||||
|
||||
/*
|
||||
* Simple queue functions.
|
||||
*/
|
||||
#define SIMPLEQ_INIT(head) do { \
|
||||
(head)->sqh_first = NULL; \
|
||||
(head)->sqh_last = &(head)->sqh_first; \
|
||||
} while (0)
|
||||
|
||||
#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \
|
||||
if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
|
||||
(head)->sqh_last = &(elm)->field.sqe_next; \
|
||||
(head)->sqh_first = (elm); \
|
||||
} while (0)
|
||||
|
||||
#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \
|
||||
(elm)->field.sqe_next = NULL; \
|
||||
*(head)->sqh_last = (elm); \
|
||||
(head)->sqh_last = &(elm)->field.sqe_next; \
|
||||
} while (0)
|
||||
|
||||
#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
|
||||
if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
|
||||
(head)->sqh_last = &(elm)->field.sqe_next; \
|
||||
(listelm)->field.sqe_next = (elm); \
|
||||
} while (0)
|
||||
|
||||
#define SIMPLEQ_REMOVE_HEAD(head, field) do { \
|
||||
if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
|
||||
(head)->sqh_last = &(head)->sqh_first; \
|
||||
} while (0)
|
||||
|
||||
#define SIMPLEQ_REMOVE_AFTER(head, elm, field) do { \
|
||||
if (((elm)->field.sqe_next = (elm)->field.sqe_next->field.sqe_next) \
|
||||
== NULL) \
|
||||
(head)->sqh_last = &(elm)->field.sqe_next; \
|
||||
} while (0)
|
||||
|
||||
#define SIMPLEQ_CONCAT(head1, head2) do { \
|
||||
if (!SIMPLEQ_EMPTY((head2))) { \
|
||||
*(head1)->sqh_last = (head2)->sqh_first; \
|
||||
(head1)->sqh_last = (head2)->sqh_last; \
|
||||
SIMPLEQ_INIT((head2)); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* XOR Simple queue definitions.
|
||||
*/
|
||||
#define XSIMPLEQ_HEAD(name, type) \
|
||||
struct name { \
|
||||
struct type *sqx_first; /* first element */ \
|
||||
struct type **sqx_last; /* addr of last next element */ \
|
||||
unsigned long sqx_cookie; \
|
||||
}
|
||||
|
||||
#define XSIMPLEQ_ENTRY(type) \
|
||||
struct { \
|
||||
struct type *sqx_next; /* next element */ \
|
||||
}
|
||||
|
||||
/*
|
||||
* XOR Simple queue access methods.
|
||||
*/
|
||||
#define XSIMPLEQ_XOR(head, ptr) ((__typeof(ptr))((head)->sqx_cookie ^ \
|
||||
(unsigned long)(ptr)))
|
||||
#define XSIMPLEQ_FIRST(head) XSIMPLEQ_XOR(head, ((head)->sqx_first))
|
||||
#define XSIMPLEQ_END(head) NULL
|
||||
#define XSIMPLEQ_EMPTY(head) (XSIMPLEQ_FIRST(head) == XSIMPLEQ_END(head))
|
||||
#define XSIMPLEQ_NEXT(head, elm, field) XSIMPLEQ_XOR(head, ((elm)->field.sqx_next))
|
||||
|
||||
|
||||
#define XSIMPLEQ_FOREACH(var, head, field) \
|
||||
for ((var) = XSIMPLEQ_FIRST(head); \
|
||||
(var) != XSIMPLEQ_END(head); \
|
||||
(var) = XSIMPLEQ_NEXT(head, var, field))
|
||||
|
||||
#define XSIMPLEQ_FOREACH_SAFE(var, head, field, tvar) \
|
||||
for ((var) = XSIMPLEQ_FIRST(head); \
|
||||
(var) && ((tvar) = XSIMPLEQ_NEXT(head, var, field), 1); \
|
||||
(var) = (tvar))
|
||||
|
||||
/*
|
||||
* XOR Simple queue functions.
|
||||
*/
|
||||
#define XSIMPLEQ_INIT(head) do { \
|
||||
arc4random_buf(&(head)->sqx_cookie, sizeof((head)->sqx_cookie)); \
|
||||
(head)->sqx_first = XSIMPLEQ_XOR(head, NULL); \
|
||||
(head)->sqx_last = XSIMPLEQ_XOR(head, &(head)->sqx_first); \
|
||||
} while (0)
|
||||
|
||||
#define XSIMPLEQ_INSERT_HEAD(head, elm, field) do { \
|
||||
if (((elm)->field.sqx_next = (head)->sqx_first) == \
|
||||
XSIMPLEQ_XOR(head, NULL)) \
|
||||
(head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \
|
||||
(head)->sqx_first = XSIMPLEQ_XOR(head, (elm)); \
|
||||
} while (0)
|
||||
|
||||
#define XSIMPLEQ_INSERT_TAIL(head, elm, field) do { \
|
||||
(elm)->field.sqx_next = XSIMPLEQ_XOR(head, NULL); \
|
||||
*(XSIMPLEQ_XOR(head, (head)->sqx_last)) = XSIMPLEQ_XOR(head, (elm)); \
|
||||
(head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \
|
||||
} while (0)
|
||||
|
||||
#define XSIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
|
||||
if (((elm)->field.sqx_next = (listelm)->field.sqx_next) == \
|
||||
XSIMPLEQ_XOR(head, NULL)) \
|
||||
(head)->sqx_last = XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \
|
||||
(listelm)->field.sqx_next = XSIMPLEQ_XOR(head, (elm)); \
|
||||
} while (0)
|
||||
|
||||
#define XSIMPLEQ_REMOVE_HEAD(head, field) do { \
|
||||
if (((head)->sqx_first = XSIMPLEQ_XOR(head, \
|
||||
(head)->sqx_first)->field.sqx_next) == XSIMPLEQ_XOR(head, NULL)) \
|
||||
(head)->sqx_last = XSIMPLEQ_XOR(head, &(head)->sqx_first); \
|
||||
} while (0)
|
||||
|
||||
#define XSIMPLEQ_REMOVE_AFTER(head, elm, field) do { \
|
||||
if (((elm)->field.sqx_next = XSIMPLEQ_XOR(head, \
|
||||
(elm)->field.sqx_next)->field.sqx_next) \
|
||||
== XSIMPLEQ_XOR(head, NULL)) \
|
||||
(head)->sqx_last = \
|
||||
XSIMPLEQ_XOR(head, &(elm)->field.sqx_next); \
|
||||
} while (0)
|
||||
|
||||
|
||||
/*
|
||||
* Tail queue definitions.
|
||||
*/
|
||||
#define TAILQ_HEAD(name, type) \
|
||||
struct name { \
|
||||
struct type *tqh_first; /* first element */ \
|
||||
struct type **tqh_last; /* addr of last next element */ \
|
||||
}
|
||||
|
||||
#define TAILQ_HEAD_INITIALIZER(head) \
|
||||
{ NULL, &(head).tqh_first }
|
||||
|
||||
#define TAILQ_ENTRY(type) \
|
||||
struct { \
|
||||
struct type *tqe_next; /* next element */ \
|
||||
struct type **tqe_prev; /* address of previous next element */ \
|
||||
}
|
||||
|
||||
/*
|
||||
* Tail queue access methods.
|
||||
*/
|
||||
#define TAILQ_FIRST(head) ((head)->tqh_first)
|
||||
#define TAILQ_END(head) NULL
|
||||
#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
|
||||
#define TAILQ_LAST(head, headname) \
|
||||
(*(((struct headname *)((head)->tqh_last))->tqh_last))
|
||||
/* XXX */
|
||||
#define TAILQ_PREV(elm, headname, field) \
|
||||
(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
|
||||
#define TAILQ_EMPTY(head) \
|
||||
(TAILQ_FIRST(head) == TAILQ_END(head))
|
||||
|
||||
#define TAILQ_FOREACH(var, head, field) \
|
||||
for((var) = TAILQ_FIRST(head); \
|
||||
(var) != TAILQ_END(head); \
|
||||
(var) = TAILQ_NEXT(var, field))
|
||||
|
||||
#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
|
||||
for ((var) = TAILQ_FIRST(head); \
|
||||
(var) != TAILQ_END(head) && \
|
||||
((tvar) = TAILQ_NEXT(var, field), 1); \
|
||||
(var) = (tvar))
|
||||
|
||||
|
||||
#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
|
||||
for((var) = TAILQ_LAST(head, headname); \
|
||||
(var) != TAILQ_END(head); \
|
||||
(var) = TAILQ_PREV(var, headname, field))
|
||||
|
||||
#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \
|
||||
for ((var) = TAILQ_LAST(head, headname); \
|
||||
(var) != TAILQ_END(head) && \
|
||||
((tvar) = TAILQ_PREV(var, headname, field), 1); \
|
||||
(var) = (tvar))
|
||||
|
||||
/*
|
||||
* Tail queue functions.
|
||||
*/
|
||||
#define TAILQ_INIT(head) do { \
|
||||
(head)->tqh_first = NULL; \
|
||||
(head)->tqh_last = &(head)->tqh_first; \
|
||||
} while (0)
|
||||
|
||||
#define TAILQ_INSERT_HEAD(head, elm, field) do { \
|
||||
if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
|
||||
(head)->tqh_first->field.tqe_prev = \
|
||||
&(elm)->field.tqe_next; \
|
||||
else \
|
||||
(head)->tqh_last = &(elm)->field.tqe_next; \
|
||||
(head)->tqh_first = (elm); \
|
||||
(elm)->field.tqe_prev = &(head)->tqh_first; \
|
||||
} while (0)
|
||||
|
||||
#define TAILQ_INSERT_TAIL(head, elm, field) do { \
|
||||
(elm)->field.tqe_next = NULL; \
|
||||
(elm)->field.tqe_prev = (head)->tqh_last; \
|
||||
*(head)->tqh_last = (elm); \
|
||||
(head)->tqh_last = &(elm)->field.tqe_next; \
|
||||
} while (0)
|
||||
|
||||
#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
|
||||
if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
|
||||
(elm)->field.tqe_next->field.tqe_prev = \
|
||||
&(elm)->field.tqe_next; \
|
||||
else \
|
||||
(head)->tqh_last = &(elm)->field.tqe_next; \
|
||||
(listelm)->field.tqe_next = (elm); \
|
||||
(elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
|
||||
} while (0)
|
||||
|
||||
#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
|
||||
(elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
|
||||
(elm)->field.tqe_next = (listelm); \
|
||||
*(listelm)->field.tqe_prev = (elm); \
|
||||
(listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
|
||||
} while (0)
|
||||
|
||||
#define TAILQ_REMOVE(head, elm, field) do { \
|
||||
if (((elm)->field.tqe_next) != NULL) \
|
||||
(elm)->field.tqe_next->field.tqe_prev = \
|
||||
(elm)->field.tqe_prev; \
|
||||
else \
|
||||
(head)->tqh_last = (elm)->field.tqe_prev; \
|
||||
*(elm)->field.tqe_prev = (elm)->field.tqe_next; \
|
||||
_Q_INVALIDATE((elm)->field.tqe_prev); \
|
||||
_Q_INVALIDATE((elm)->field.tqe_next); \
|
||||
} while (0)
|
||||
|
||||
#define TAILQ_REPLACE(head, elm, elm2, field) do { \
|
||||
if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != NULL) \
|
||||
(elm2)->field.tqe_next->field.tqe_prev = \
|
||||
&(elm2)->field.tqe_next; \
|
||||
else \
|
||||
(head)->tqh_last = &(elm2)->field.tqe_next; \
|
||||
(elm2)->field.tqe_prev = (elm)->field.tqe_prev; \
|
||||
*(elm2)->field.tqe_prev = (elm2); \
|
||||
_Q_INVALIDATE((elm)->field.tqe_prev); \
|
||||
_Q_INVALIDATE((elm)->field.tqe_next); \
|
||||
} while (0)
|
||||
|
||||
#define TAILQ_CONCAT(head1, head2, field) do { \
|
||||
if (!TAILQ_EMPTY(head2)) { \
|
||||
*(head1)->tqh_last = (head2)->tqh_first; \
|
||||
(head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
|
||||
(head1)->tqh_last = (head2)->tqh_last; \
|
||||
TAILQ_INIT((head2)); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif /* !_SYS_QUEUE_H_ */
|
32
include/openbsd/sys/stat.h
Normal file
32
include/openbsd/sys/stat.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
#ifndef _COMPAT_SYS_STAT_H_
|
||||
#define _COMPAT_SYS_STAT_H_
|
||||
|
||||
#define S_ISTXT S_ISVTX /* sticky bit */
|
||||
|
||||
#ifndef st_atimespec
|
||||
#define st_atimespec st_atim
|
||||
#endif
|
||||
|
||||
#ifndef st_atimensec
|
||||
#define st_atimensec st_atim.tv_nsec
|
||||
#endif
|
||||
|
||||
#ifndef st_mtimespec
|
||||
#define st_mtimespec st_mtim
|
||||
#endif
|
||||
|
||||
#ifndef st_mtimensec
|
||||
#define st_mtimensec st_mtim.tv_nsec
|
||||
#endif
|
||||
|
||||
#ifndef st_ctimespec
|
||||
#define st_ctimespec st_ctim
|
||||
#endif
|
||||
|
||||
#ifndef st_ctimensec
|
||||
#define st_ctimensec st_ctim.tv_nsec
|
||||
#endif
|
||||
|
||||
#endif /* !_COMPAT_SYS_STAT_H_ */
|
||||
|
||||
#include_next <sys/stat.h>
|
438
include/openbsd/sys/sysctl.h
Normal file
438
include/openbsd/sys/sysctl.h
Normal file
|
@ -0,0 +1,438 @@
|
|||
/* $OpenBSD: sysctl.h,v 1.171 2017/01/21 05:42:03 guenther Exp $ */
|
||||
/* $NetBSD: sysctl.h,v 1.16 1996/04/09 20:55:36 cgd Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Mike Karels at Berkeley Software Design, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)sysctl.h 8.2 (Berkeley) 3/30/95
|
||||
*/
|
||||
|
||||
#ifndef _COMPAT_SYS_SYSCTL_H_
|
||||
#define _COMPAT_SYS_SYSCTL_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/*
|
||||
* KERN_PROC subtypes
|
||||
*/
|
||||
#define KERN_PROC_ALL 0 /* everything but kernel threads */
|
||||
#define KERN_PROC_PID 1 /* by process id */
|
||||
#define KERN_PROC_PGRP 2 /* by process group id */
|
||||
#define KERN_PROC_SESSION 3 /* by session of pid */
|
||||
#define KERN_PROC_TTY 4 /* by controlling tty */
|
||||
#define KERN_PROC_UID 5 /* by effective uid */
|
||||
#define KERN_PROC_RUID 6 /* by real uid */
|
||||
#define KERN_PROC_KTHREAD 7 /* also return kernel threads */
|
||||
#define KERN_PROC_SHOW_THREADS 0x40000000/* also return normal threads */
|
||||
|
||||
/*
|
||||
* KERN_PROC_ARGS subtypes
|
||||
*/
|
||||
#define KERN_PROC_ARGV 1
|
||||
#define KERN_PROC_NARGV 2
|
||||
#define KERN_PROC_ENV 3
|
||||
#define KERN_PROC_NENV 4
|
||||
|
||||
/*
|
||||
* KERN_PROC subtype ops return arrays of relatively fixed size
|
||||
* structures of process info. Use 8 byte alignment, and new
|
||||
* elements should only be added to the end of this structure so
|
||||
* binary compatibility can be preserved.
|
||||
*/
|
||||
#define KI_NGROUPS 16
|
||||
#define KI_MAXCOMLEN 24 /* extra for 8 byte alignment */
|
||||
#define KI_WMESGLEN 8
|
||||
#define KI_MAXLOGNAME 32
|
||||
#define KI_EMULNAMELEN 8
|
||||
|
||||
#define KI_NOCPU (~(u_int64_t)0)
|
||||
|
||||
struct kinfo_proc {
|
||||
u_int64_t p_forw; /* PTR: linked run/sleep queue. */
|
||||
u_int64_t p_back;
|
||||
u_int64_t p_paddr; /* PTR: address of proc */
|
||||
|
||||
u_int64_t p_addr; /* PTR: Kernel virtual addr of u-area */
|
||||
u_int64_t p_fd; /* PTR: Ptr to open files structure. */
|
||||
u_int64_t p_stats; /* unused, always zero. */
|
||||
u_int64_t p_limit; /* PTR: Process limits. */
|
||||
u_int64_t p_vmspace; /* PTR: Address space. */
|
||||
u_int64_t p_sigacts; /* PTR: Signal actions, state */
|
||||
u_int64_t p_sess; /* PTR: session pointer */
|
||||
u_int64_t p_tsess; /* PTR: tty session pointer */
|
||||
u_int64_t p_ru; /* PTR: Exit information. XXX */
|
||||
|
||||
int32_t p_eflag; /* LONG: extra kinfo_proc flags */
|
||||
#define EPROC_CTTY 0x01 /* controlling tty vnode active */
|
||||
#define EPROC_SLEADER 0x02 /* session leader */
|
||||
int32_t p_exitsig; /* unused, always zero. */
|
||||
int32_t p_flag; /* INT: P_* flags. */
|
||||
|
||||
int32_t p_pid; /* PID_T: Process identifier. */
|
||||
int32_t p_ppid; /* PID_T: Parent process id */
|
||||
int32_t p_sid; /* PID_T: session id */
|
||||
int32_t p__pgid; /* PID_T: process group id */
|
||||
/* XXX: <sys/proc.h> hijacks p_pgid */
|
||||
int32_t p_tpgid; /* PID_T: tty process group id */
|
||||
|
||||
u_int32_t p_uid; /* UID_T: effective user id */
|
||||
u_int32_t p_ruid; /* UID_T: real user id */
|
||||
u_int32_t p_gid; /* GID_T: effective group id */
|
||||
u_int32_t p_rgid; /* GID_T: real group id */
|
||||
|
||||
u_int32_t p_groups[KI_NGROUPS]; /* GID_T: groups */
|
||||
int16_t p_ngroups; /* SHORT: number of groups */
|
||||
|
||||
int16_t p_jobc; /* SHORT: job control counter */
|
||||
u_int32_t p_tdev; /* DEV_T: controlling tty dev */
|
||||
|
||||
u_int32_t p_estcpu; /* U_INT: Time averaged value of p_cpticks. */
|
||||
u_int32_t p_rtime_sec; /* STRUCT TIMEVAL: Real time. */
|
||||
u_int32_t p_rtime_usec; /* STRUCT TIMEVAL: Real time. */
|
||||
int32_t p_cpticks; /* INT: Ticks of cpu time. */
|
||||
u_int32_t p_pctcpu; /* FIXPT_T: %cpu for this process */
|
||||
u_int32_t p_swtime; /* unused, always zero */
|
||||
u_int32_t p_slptime; /* U_INT: Time since last blocked. */
|
||||
int32_t p_schedflags; /* INT: PSCHED_* flags */
|
||||
|
||||
u_int64_t p_uticks; /* U_QUAD_T: Statclock hits in user mode. */
|
||||
u_int64_t p_sticks; /* U_QUAD_T: Statclock hits in system mode. */
|
||||
u_int64_t p_iticks; /* U_QUAD_T: Statclock hits processing intr. */
|
||||
|
||||
u_int64_t p_tracep; /* PTR: Trace to vnode or file */
|
||||
int32_t p_traceflag; /* INT: Kernel trace points. */
|
||||
|
||||
int32_t p_holdcnt; /* INT: If non-zero, don't swap. */
|
||||
|
||||
int32_t p_siglist; /* INT: Signals arrived but not delivered. */
|
||||
u_int32_t p_sigmask; /* SIGSET_T: Current signal mask. */
|
||||
u_int32_t p_sigignore; /* SIGSET_T: Signals being ignored. */
|
||||
u_int32_t p_sigcatch; /* SIGSET_T: Signals being caught by user. */
|
||||
|
||||
int8_t p_stat; /* CHAR: S* process status (from LWP). */
|
||||
u_int8_t p_priority; /* U_CHAR: Process priority. */
|
||||
u_int8_t p_usrpri; /* U_CHAR: User-priority based on p_estcpu and ps_nice. */
|
||||
u_int8_t p_nice; /* U_CHAR: Process "nice" value. */
|
||||
|
||||
u_int16_t p_xstat; /* U_SHORT: Exit status for wait; also stop signal. */
|
||||
u_int16_t p_acflag; /* U_SHORT: Accounting flags. */
|
||||
|
||||
char p_comm[KI_MAXCOMLEN];
|
||||
|
||||
char p_wmesg[KI_WMESGLEN]; /* wchan message */
|
||||
u_int64_t p_wchan; /* PTR: sleep address. */
|
||||
|
||||
char p_login[KI_MAXLOGNAME]; /* setlogin() name */
|
||||
|
||||
int32_t p_vm_rssize; /* SEGSZ_T: current resident set size in pages */
|
||||
int32_t p_vm_tsize; /* SEGSZ_T: text size (pages) */
|
||||
int32_t p_vm_dsize; /* SEGSZ_T: data size (pages) */
|
||||
int32_t p_vm_ssize; /* SEGSZ_T: stack size (pages) */
|
||||
|
||||
int64_t p_uvalid; /* CHAR: following p_u* members from struct user are valid */
|
||||
/* XXX 64 bits for alignment */
|
||||
u_int64_t p_ustart_sec; /* STRUCT TIMEVAL: starting time. */
|
||||
u_int32_t p_ustart_usec; /* STRUCT TIMEVAL: starting time. */
|
||||
|
||||
u_int32_t p_uutime_sec; /* STRUCT TIMEVAL: user time. */
|
||||
u_int32_t p_uutime_usec; /* STRUCT TIMEVAL: user time. */
|
||||
u_int32_t p_ustime_sec; /* STRUCT TIMEVAL: system time. */
|
||||
u_int32_t p_ustime_usec; /* STRUCT TIMEVAL: system time. */
|
||||
|
||||
u_int64_t p_uru_maxrss; /* LONG: max resident set size. */
|
||||
u_int64_t p_uru_ixrss; /* LONG: integral shared memory size. */
|
||||
u_int64_t p_uru_idrss; /* LONG: integral unshared data ". */
|
||||
u_int64_t p_uru_isrss; /* LONG: integral unshared stack ". */
|
||||
u_int64_t p_uru_minflt; /* LONG: page reclaims. */
|
||||
u_int64_t p_uru_majflt; /* LONG: page faults. */
|
||||
u_int64_t p_uru_nswap; /* LONG: swaps. */
|
||||
u_int64_t p_uru_inblock; /* LONG: block input operations. */
|
||||
u_int64_t p_uru_oublock; /* LONG: block output operations. */
|
||||
u_int64_t p_uru_msgsnd; /* LONG: messages sent. */
|
||||
u_int64_t p_uru_msgrcv; /* LONG: messages received. */
|
||||
u_int64_t p_uru_nsignals; /* LONG: signals received. */
|
||||
u_int64_t p_uru_nvcsw; /* LONG: voluntary context switches. */
|
||||
u_int64_t p_uru_nivcsw; /* LONG: involuntary ". */
|
||||
|
||||
u_int32_t p_uctime_sec; /* STRUCT TIMEVAL: child u+s time. */
|
||||
u_int32_t p_uctime_usec; /* STRUCT TIMEVAL: child u+s time. */
|
||||
int32_t p_psflags; /* INT: PS_* flags on the process. */
|
||||
int32_t p_spare; /* INT: unused. */
|
||||
u_int32_t p_svuid; /* UID_T: saved user id */
|
||||
u_int32_t p_svgid; /* GID_T: saved group id */
|
||||
char p_emul[KI_EMULNAMELEN]; /* syscall emulation name */
|
||||
u_int64_t p_rlim_rss_cur; /* RLIM_T: soft limit for rss */
|
||||
u_int64_t p_cpuid; /* LONG: CPU id */
|
||||
u_int64_t p_vm_map_size; /* VSIZE_T: virtual size */
|
||||
int32_t p_tid; /* PID_T: Thread identifier. */
|
||||
u_int32_t p_rtableid; /* U_INT: Routing table identifier. */
|
||||
};
|
||||
|
||||
/*
|
||||
* VM address range entry, matching struct vm_map_entry. Useful for
|
||||
* debuggers to know process's addresses.
|
||||
*
|
||||
* To iterate entries, set the last kve_end as the base address into
|
||||
* kve_start.
|
||||
*/
|
||||
struct kinfo_vmentry {
|
||||
u_long kve_start; /* vaddr_t */
|
||||
u_long kve_end; /* vaddr_t */
|
||||
u_long kve_guard; /* vsize_t */
|
||||
u_long kve_fspace; /* vsize_t */
|
||||
u_long kve_fspace_augment; /* vsize_t */
|
||||
u_int64_t kve_offset; /* voff_t */
|
||||
int kve_wired_count;
|
||||
int kve_etype;
|
||||
int kve_protection;
|
||||
int kve_max_protection;
|
||||
int kve_advice;
|
||||
int kve_inheritance;
|
||||
u_int8_t kve_flags; /* u_int8_t */
|
||||
};
|
||||
|
||||
#define KVE_ET_OBJ 0x00000001
|
||||
#define KVE_ET_SUBMAP 0x00000002
|
||||
#define KVE_ET_COPYONWRITE 0x00000004
|
||||
#define KVE_ET_NEEDSCOPY 0x00000008
|
||||
#define KVE_ET_HOLE 0x00000010
|
||||
#define KVE_ET_NOFAULT 0x00000020
|
||||
#define KVE_ET_FREEMAPPED 0x00000080
|
||||
#define KVE_PROT_NONE 0x00000000
|
||||
#define KVE_PROT_READ 0x00000001
|
||||
#define KVE_PROT_WRITE 0x00000002
|
||||
#define KVE_PROT_EXEC 0x00000004
|
||||
#define KVE_ADV_NORMAL 0x00000000
|
||||
#define KVE_ADV_RANDOM 0x00000001
|
||||
#define KVE_ADV_SEQUENTIAL 0x00000002
|
||||
#define KVE_INH_SHARE 0x00000000
|
||||
#define KVE_INH_COPY 0x00000010
|
||||
#define KVE_INH_NONE 0x00000020
|
||||
#define KVE_INH_ZERO 0x00000030
|
||||
#define KVE_F_STATIC 0x01
|
||||
#define KVE_F_KMEM 0x02
|
||||
|
||||
/*
|
||||
* kern.file returns an array of these structures, which are designed
|
||||
* both to be immune to 32/64 bit emulation issues and to
|
||||
* provide backwards compatibility. The order differs slightly from
|
||||
* that of the real struct file, and some fields are taken from other
|
||||
* structures (struct vnode, struct proc) in order to make the file
|
||||
* information more useful.
|
||||
*/
|
||||
#define KERN_FILE_BYFILE 1
|
||||
#define KERN_FILE_BYPID 2
|
||||
#define KERN_FILE_BYUID 3
|
||||
#define KERN_FILESLOP 10
|
||||
|
||||
#define KERN_FILE_TEXT -1
|
||||
#define KERN_FILE_CDIR -2
|
||||
#define KERN_FILE_RDIR -3
|
||||
#define KERN_FILE_TRACE -4
|
||||
|
||||
#define KI_MNAMELEN 96 /* rounded up from 90 */
|
||||
#define KI_UNPPATHLEN 104
|
||||
|
||||
struct kinfo_file {
|
||||
uint64_t f_fileaddr; /* PTR: address of struct file */
|
||||
uint32_t f_flag; /* SHORT: flags (see fcntl.h) */
|
||||
uint32_t f_iflags; /* INT: internal flags */
|
||||
uint32_t f_type; /* INT: descriptor type */
|
||||
uint32_t f_count; /* UINT: reference count */
|
||||
uint32_t f_msgcount; /* UINT: references from msg queue */
|
||||
uint32_t f_usecount; /* INT: number active users */
|
||||
uint64_t f_ucred; /* PTR: creds for descriptor */
|
||||
uint32_t f_uid; /* UID_T: descriptor credentials */
|
||||
uint32_t f_gid; /* GID_T: descriptor credentials */
|
||||
uint64_t f_ops; /* PTR: address of fileops */
|
||||
uint64_t f_offset; /* OFF_T: offset */
|
||||
uint64_t f_data; /* PTR: descriptor data */
|
||||
uint64_t f_rxfer; /* UINT64: number of read xfers */
|
||||
uint64_t f_rwfer; /* UINT64: number of write xfers */
|
||||
uint64_t f_seek; /* UINT64: number of seek operations */
|
||||
uint64_t f_rbytes; /* UINT64: total bytes read */
|
||||
uint64_t f_wbytes; /* UINT64: total bytes written */
|
||||
|
||||
/* information about the vnode associated with this file */
|
||||
uint64_t v_un; /* PTR: socket, specinfo, etc */
|
||||
uint32_t v_type; /* ENUM: vnode type */
|
||||
uint32_t v_tag; /* ENUM: type of underlying data */
|
||||
uint32_t v_flag; /* UINT: vnode flags */
|
||||
uint32_t va_rdev; /* DEV_T: raw device */
|
||||
uint64_t v_data; /* PTR: private data for fs */
|
||||
uint64_t v_mount; /* PTR: mount info for fs */
|
||||
uint64_t va_fileid; /* LONG: file id */
|
||||
uint64_t va_size; /* UINT64_T: file size in bytes */
|
||||
uint32_t va_mode; /* MODE_T: file access mode and type */
|
||||
uint32_t va_fsid; /* DEV_T: filesystem device */
|
||||
char f_mntonname[KI_MNAMELEN];
|
||||
|
||||
/* socket information */
|
||||
uint32_t so_type; /* SHORT: socket type */
|
||||
uint32_t so_state; /* SHORT: socket state */
|
||||
uint64_t so_pcb; /* PTR: socket pcb */
|
||||
/* for non-root: -1 if not NULL */
|
||||
uint32_t so_protocol; /* SHORT: socket protocol type */
|
||||
uint32_t so_family; /* INT: socket domain family */
|
||||
uint64_t inp_ppcb; /* PTR: pointer to per-protocol pcb */
|
||||
uint32_t inp_lport; /* SHORT: local inet port */
|
||||
uint32_t inp_laddru[4]; /* STRUCT: local inet addr */
|
||||
uint32_t inp_fport; /* SHORT: foreign inet port */
|
||||
uint32_t inp_faddru[4]; /* STRUCT: foreign inet addr */
|
||||
uint64_t unp_conn; /* PTR: connected socket cntrl block */
|
||||
|
||||
/* pipe information */
|
||||
uint64_t pipe_peer; /* PTR: link with other direction */
|
||||
uint32_t pipe_state; /* UINT: pipe status info */
|
||||
|
||||
/* kqueue information */
|
||||
uint32_t kq_count; /* INT: number of pending events */
|
||||
uint32_t kq_state; /* INT: kqueue status information */
|
||||
|
||||
uint32_t __unused1; /* INT: unused */
|
||||
|
||||
/* process information when retrieved via KERN_FILE_BY[PU]ID */
|
||||
uint32_t p_pid; /* PID_T: process id */
|
||||
int32_t fd_fd; /* INT: descriptor number */
|
||||
uint32_t fd_ofileflags; /* CHAR: open file flags */
|
||||
uint32_t p_uid; /* UID_T: process credentials */
|
||||
uint32_t p_gid; /* GID_T: process credentials */
|
||||
uint32_t p_tid; /* PID_T: thread id */
|
||||
char p_comm[KI_MAXCOMLEN];
|
||||
|
||||
/* more socket information */
|
||||
uint32_t inp_rtableid; /* UINT: Routing table identifier. */
|
||||
uint64_t so_splice; /* PTR: f_data of spliced socket */
|
||||
int64_t so_splicelen; /* OFF_T: already spliced count or */
|
||||
/* -1 if this is target of splice */
|
||||
uint64_t so_rcv_cc; /* LONG: chars in receive buf */
|
||||
uint64_t so_snd_cc; /* LONG: chars in send buf */
|
||||
uint64_t unp_refs; /* PTR: connected sockets */
|
||||
uint64_t unp_nextref; /* PTR: link to next connected socket */
|
||||
uint64_t unp_addr; /* PTR: address of the socket address */
|
||||
char unp_path[KI_UNPPATHLEN];
|
||||
uint32_t inp_proto; /* CHAR: raw protocol id */
|
||||
uint32_t t_state; /* SHORT: tcp state */
|
||||
uint64_t t_rcv_wnd; /* ULONG: tcp receive window */
|
||||
uint64_t t_snd_wnd; /* ULONG: tcp send window */
|
||||
uint64_t t_snd_cwnd; /* ULONG: congestion-controlled win */
|
||||
|
||||
uint32_t va_nlink; /* NLINK_T: number of references to file */
|
||||
};
|
||||
|
||||
/*
|
||||
* CTL_FS identifiers
|
||||
*/
|
||||
#define FS_POSIX 1 /* POSIX flags */
|
||||
#define FS_MAXID 2
|
||||
|
||||
#define CTL_FS_NAMES { \
|
||||
{ 0, 0 }, \
|
||||
{ "posix", CTLTYPE_NODE }, \
|
||||
}
|
||||
|
||||
/*
|
||||
* CTL_FS identifiers
|
||||
*/
|
||||
#define FS_POSIX_SETUID 1 /* int: always clear SGID/SUID bit when owner change */
|
||||
#define FS_POSIX_MAXID 2
|
||||
|
||||
#define CTL_FS_POSIX_NAMES { \
|
||||
{ 0, 0 }, \
|
||||
{ "setuid", CTLTYPE_INT }, \
|
||||
}
|
||||
|
||||