commit
498fa50f29
|
@ -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.
|
|
@ -0,0 +1,750 @@
|
||||||
|
2006-12-27 00:41 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/debug.h: Include <stdarg.h>.
|
||||||
|
|
||||||
|
2006-12-27 00:31 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
|
||||||
|
2006-12-27 00:30 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
|
||||||
|
2006-12-26 10:45 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
|
||||||
|
2006-12-26 10:40 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile: Fix make changelog (again).
|
||||||
|
|
||||||
|
2006-12-26 10:39 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
|
||||||
|
2006-12-26 10:38 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
|
||||||
|
2006-12-26 10:36 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
|
||||||
|
2006-12-26 10:34 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* NEWS, nspluginwrapper.spec: 0.9.91.1
|
||||||
|
|
||||||
|
2006-12-26 10:33 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/debug.c, src/debug.h, src/utils.c, src/utils.h: Move logging
|
||||||
|
functions to debug.c.
|
||||||
|
|
||||||
|
2006-12-25 07:46 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/debug.c, src/utils.c, src/utils.h: NPW_LOG applies to all
|
||||||
|
outputs, not only the debug ones.
|
||||||
|
|
||||||
|
2006-12-25 00:00 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
|
||||||
|
2006-12-24 23:58 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
* NEWS, README: Updates for new release.
|
||||||
|
|
||||||
|
2006-12-24 23:51 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* tests/test-plugins.html: Add Tcl & Squeak plugins demos.
|
||||||
|
|
||||||
|
2006-12-24 23:11 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c, src/npw-wrapper.c: Actually, NPP_NewStream()
|
||||||
|
can alter the notifyData pointer.
|
||||||
|
|
||||||
|
2006-12-24 23:05 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npruntime.c: Missed migrations to npw_perror().
|
||||||
|
|
||||||
|
2006-12-24 18:53 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-rpc.c: Fix marshaling of NP_NOTIFY_DATA, don't use
|
||||||
|
id_create() from plugin-side as
|
||||||
|
this is a browser-side specific function. Simply pass the
|
||||||
|
notifyData pointer.
|
||||||
|
|
||||||
|
2006-12-24 15:59 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-rpc.c, src/npw-rpc.h, src/npw-viewer.c,
|
||||||
|
src/npw-wrapper.c: Handle notifyData as plugin-side opaque
|
||||||
|
pointers, i.e. browser-side doesn't
|
||||||
|
need to know what they represent so they can be single IDs
|
||||||
|
there. Shorten
|
||||||
|
NPP_NewStream() to have stype as output only (not for input,
|
||||||
|
it's initialized
|
||||||
|
in the plug-in side prior to calling the plugin NPP_NewStream()).
|
||||||
|
|
||||||
|
2006-12-24 12:37 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-wrapper.c: Split RPC / NPAPI level routines.
|
||||||
|
|
||||||
|
2006-12-24 11:47 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c, src/npw-wrapper.c: Always return a value for
|
||||||
|
NP{P,N}_GetValue().
|
||||||
|
|
||||||
|
2006-12-24 11:03 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/rpc.c: Fix buffered RPC transactions.
|
||||||
|
|
||||||
|
2006-12-24 10:14 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c, src/npw-wrapper.c: Propagate NPSavedData data
|
||||||
|
to the plugin, though Firefox doesn't handle this.
|
||||||
|
It may work with Mozilla or Konqueror though.
|
||||||
|
|
||||||
|
2006-12-24 08:17 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npruntime.c, src/npw-viewer.c, src/npw-wrapper.c, src/rpc.c,
|
||||||
|
src/rpc.h, src/utils.c, src/utils.h: Improve error messages.
|
||||||
|
|
||||||
|
2006-12-24 07:23 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npruntime.c, src/npw-viewer.c, src/npw-wrapper.c: Mark
|
||||||
|
g_rpc_connection as hidden until it is made PluginInstance
|
||||||
|
specific.
|
||||||
|
|
||||||
|
2006-12-24 00:09 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: Fix NPP_New() for null arguments.
|
||||||
|
|
||||||
|
2006-12-24 00:08 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/rpc.c: Fix marshaling of empty strings (not null).
|
||||||
|
|
||||||
|
2006-12-23 19:01 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* NEWS, src/npw-rpc.c, src/rpc.c: Fix marshaling of arrays of data
|
||||||
|
passed by value (NPIdentifiers for the VLC
|
||||||
|
plug-in). Adjust message descriptors to reflect proper array
|
||||||
|
base type.
|
||||||
|
|
||||||
|
2006-12-23 15:03 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: Fix NPN_GetStringIdentifiers().
|
||||||
|
|
||||||
|
2006-12-23 11:55 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* NEWS: Updates.
|
||||||
|
|
||||||
|
2006-12-23 08:38 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-wrapper.c: id_init() now returns a boolean value.
|
||||||
|
* src/npw-config.c: Fix mkdir -p as NetBSD can generate EISDIR if
|
||||||
|
a directory already exists.
|
||||||
|
|
||||||
|
2006-12-23 08:32 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-config.c: Avoid use of <alloca.h>, thus alloca(). Use
|
||||||
|
ISO C VLA instead.
|
||||||
|
|
||||||
|
2006-12-22 08:18 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
* src/npw-viewer.c: Delay execution of NPN_PostURL{,Notify}()
|
||||||
|
functions.
|
||||||
|
|
||||||
|
2006-12-22 07:56 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
* src/npw-wrapper.c: Fix regression in NPN_GetValue(), a NULL
|
||||||
|
instance is allowed.
|
||||||
|
|
||||||
|
2006-12-22 07:21 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* README: Updates.
|
||||||
|
|
||||||
|
2006-12-22 07:05 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl.
|
||||||
|
|
||||||
|
2006-12-22 07:02 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: Reject Flash Player 9 beta 1.
|
||||||
|
|
||||||
|
2006-12-22 06:48 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: Allow user to disable npruntime with the
|
||||||
|
NPW_DISABLE_NPRUNTIME env var.
|
||||||
|
|
||||||
|
2006-12-22 00:32 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile: Fix generation of devel/release svndate in tarball's
|
||||||
|
nspluginwrapper.spec.
|
||||||
|
|
||||||
|
2006-12-22 00:12 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* configure: Allow for a different installation root with
|
||||||
|
--pkglibdir=ROOT.
|
||||||
|
|
||||||
|
2006-12-22 00:00 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npruntime-impl.h, src/npruntime.c, src/npw-viewer.c,
|
||||||
|
src/npw-wrapper.c: Add dummy npruntime functions for browsers
|
||||||
|
that don't support that API.
|
||||||
|
Always return NPERR_MODULE_LOAD_FAILED_ERROR in NP_Initialize()
|
||||||
|
on error.
|
||||||
|
|
||||||
|
2006-12-21 18:47 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile: Simplify ChangeLog commit string.
|
||||||
|
|
||||||
|
2006-12-21 18:43 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl the 21_Dec
|
||||||
|
* NEWS, nspluginwrapper.spec: 0.9.91
|
||||||
|
|
||||||
|
2006-12-21 18:34 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, src/npruntime-impl.h, src/npruntime.c, src/npw-rpc.c,
|
||||||
|
src/npw-rpc.h, src/npw-viewer.c, src/npw-wrapper.c: Add
|
||||||
|
npruntime support.
|
||||||
|
|
||||||
|
2006-12-21 18:28 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/utils.c, src/utils.h: Add ID lookup by value.
|
||||||
|
|
||||||
|
2006-12-21 17:56 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c, src/npw-wrapper.c: Fix NPN_GetValue() to
|
||||||
|
return a value even on error.
|
||||||
|
|
||||||
|
2006-12-21 17:42 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/utils.c: Fix typo.
|
||||||
|
|
||||||
|
2006-12-20 23:36 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile: Fix ChangeLog generation (strip off-project path
|
||||||
|
components).
|
||||||
|
|
||||||
|
2006-12-20 23:35 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl the 21_Dec
|
||||||
|
|
||||||
|
2006-12-20 10:49 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* nspluginwrapper.spec: Update for new snapshot.
|
||||||
|
|
||||||
|
2006-12-20 10:40 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl the 20_déc
|
||||||
|
* Makefile: Add missing files for tarball generation.
|
||||||
|
|
||||||
|
2006-12-20 10:28 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure, nspluginwrapper.spec, src/npw-config.c:
|
||||||
|
Improve support for development snapshots.
|
||||||
|
|
||||||
|
2006-12-20 07:16 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* TODO: Add note about communication stream to be flushed on error.
|
||||||
|
* src/npw-rpc.h, src/npw-viewer.c, src/npw-wrapper.c: Implement
|
||||||
|
NPN_RequestRead().
|
||||||
|
|
||||||
|
2006-12-20 07:14 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-rpc.c, src/npw-rpc.h: Handle NPByteRange objects.
|
||||||
|
|
||||||
|
2006-12-20 07:12 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/rpc.h: Add RPC_ERROR_MESSAGE_ARGUMENT_INVALID.
|
||||||
|
|
||||||
|
2006-12-19 08:47 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/debug.c, src/npw-rpc.c, src/npw-viewer.c: Use the new
|
||||||
|
rpc_method_invoke_delayed() method.
|
||||||
|
|
||||||
|
2006-12-19 08:46 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* TODO, src/rpc.c, src/rpc.h: Add a means to delay calls until
|
||||||
|
incoming requests are processed.
|
||||||
|
|
||||||
|
2006-12-19 08:41 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/sysdeps.h: Fix NPW_COMPONENT_NAME definitions.
|
||||||
|
|
||||||
|
2006-12-18 10:33 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* npapi/nspr/prcpucfg.h: Fix ppc64 host support (32-bit types were
|
||||||
|
mis-defined).
|
||||||
|
|
||||||
|
2006-12-18 08:01 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure, src/cxxabi-compat.cpp, src/npw-viewer.c:
|
||||||
|
Merge more complete libg++ compat code from Mozilla
|
||||||
|
(__pure_virtual).
|
||||||
|
|
||||||
|
2006-12-17 21:56 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* configure, src/rpc.c, src/rpc.h: Add support for 64-bit integers
|
||||||
|
and double values.
|
||||||
|
|
||||||
|
2006-12-17 17:16 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c, src/npw-wrapper.c: Use new NPP and NPStream
|
||||||
|
marshalers. Use NPERR_OUT_OF_MEMORY_ERROR where
|
||||||
|
necessary instead of RPC_ERROR_NO_MEMORY. Use a single
|
||||||
|
instance_id for NPP
|
||||||
|
instances, but note their IDs are allocated in the browser-side
|
||||||
|
only.
|
||||||
|
|
||||||
|
2006-12-17 16:58 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/utils.c, src/utils.h: Re-work ID accessors to match
|
||||||
|
GHashTable ones better.
|
||||||
|
|
||||||
|
2006-12-17 16:54 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* TODO: Updates.
|
||||||
|
|
||||||
|
2006-12-17 16:38 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-rpc.c, src/npw-rpc.h: Marshal NPP instances & NPStream
|
||||||
|
objects, based on their generated ID.
|
||||||
|
|
||||||
|
2006-12-17 16:34 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, src/sysdeps.h: Define specific
|
||||||
|
BUILD_{XPCOM,WRAPPER,VIEWER} macros.
|
||||||
|
|
||||||
|
2006-12-15 16:54 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: Generated by svn2cl the 15_déc
|
||||||
|
|
||||||
|
2006-12-15 16:52 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-config.c: Create user Mozilla plugin dir if it doesn't
|
||||||
|
exist yet.
|
||||||
|
|
||||||
|
2006-12-15 10:41 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile: Fix bi-arch build on ppc64.
|
||||||
|
|
||||||
|
2006-12-15 10:23 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* configure: Fix ppc64 / ppc32 support.
|
||||||
|
|
||||||
|
2006-12-15 10:14 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-config.c: Force ELF_CLASS redefinition.
|
||||||
|
|
||||||
|
2006-12-13 09:52 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* tests/test-plugins.html: Add tests for mplayer plug-in.
|
||||||
|
|
||||||
|
2006-12-13 09:51 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, src/libxpcom.c: Add dummy XPCOM library.
|
||||||
|
|
||||||
|
2006-12-12 23:41 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-rpc.c, src/npw-rpc.h, src/npw-viewer.c,
|
||||||
|
src/npw-wrapper.c: Add XEMBED support.
|
||||||
|
|
||||||
|
2006-12-11 23:43 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* tests/test-plugins.html: Add VRML Samples page.
|
||||||
|
|
||||||
|
2006-11-30 00:05 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: Initial fix for focus problems.
|
||||||
|
|
||||||
|
2006-11-29 22:24 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-wrapper.c: Allocate a PlugInstance to hold private data
|
||||||
|
in the wrapper plugin too.
|
||||||
|
|
||||||
|
2006-11-27 22:40 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.sh: Expand PATH for RealPlayer package on NetBSD
|
||||||
|
(reaplay executable).
|
||||||
|
|
||||||
|
2006-11-27 22:39 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure, src/npw-config.c: NetBSD 3.1 host support.
|
||||||
|
Auto-detect Linux/i386 plugins installed there.
|
||||||
|
|
||||||
|
2006-11-27 10:00 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-config.c, src/sysdeps.h: Don't try to update old-style
|
||||||
|
npwrapper.so plugin.
|
||||||
|
|
||||||
|
2006-11-27 07:00 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-wrapper.c: Improve plugin description.
|
||||||
|
|
||||||
|
2006-11-27 06:54 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: Print help if plugin path is not specified.
|
||||||
|
|
||||||
|
2006-11-27 06:44 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-config.c: Only skip target ARCH that is not available,
|
||||||
|
don't pair it with target OS. Also
|
||||||
|
skip viewers that match host OS/ARCH pairs.
|
||||||
|
|
||||||
|
2006-11-27 00:11 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* nspluginwrapper.spec: Drop runtime subpackage. Update for 0.9.91
|
||||||
|
(ABI change).
|
||||||
|
|
||||||
|
2006-11-27 00:10 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure, src/npw-config.c: Lowercase OS defines.
|
||||||
|
|
||||||
|
2006-11-26 23:49 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure, src/npw-config.c, src/npw-viewer.sh,
|
||||||
|
src/npw-wrapper.c, src/sysdeps.h: Move files to
|
||||||
|
NPW_LIBDIR/ARCH/OS directory where appropriate. This is necessary
|
||||||
|
to differentiate the viewers per ARCH/OS as there is no reliable
|
||||||
|
way to detect
|
||||||
|
an ELF object is for a specific OS (is e_ident[EI_OSABI] is not
|
||||||
|
filled in).
|
||||||
|
i.e. is_compatible_plugin() will actually execute npviewer
|
||||||
|
--test. Also fix
|
||||||
|
wrapped plugin installation so that it doesn't generate empty
|
||||||
|
files on failure.
|
||||||
|
|
||||||
|
2006-11-26 17:26 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c, src/npw-wrapper.c: Improve arguments handling,
|
||||||
|
this should fix processing of GTK arguments.
|
||||||
|
|
||||||
|
2006-11-25 15:52 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, src/npw-config.c: Fix build on Linux.
|
||||||
|
|
||||||
|
2006-11-25 15:40 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* configure, src/npw-config.c: Auto-detect Linux plugins on
|
||||||
|
FreeBSD platforms.
|
||||||
|
|
||||||
|
2006-11-25 12:51 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure: Only build the viewer on Linux platforms.
|
||||||
|
|
||||||
|
2006-11-25 10:38 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/sysdeps.h: Define _XOPEN_SOURCE to 600 to use POSIX
|
||||||
|
1003.1-2001 (with C99 elements)
|
||||||
|
|
||||||
|
2006-11-25 10:31 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-config.c: Embed necessary ELF definitions.
|
||||||
|
|
||||||
|
2006-11-25 09:55 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure: Detect X11 base dir, -ldl is a Linux
|
||||||
|
specific library.
|
||||||
|
|
||||||
|
2006-11-25 09:51 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: strcasecmp() is in <strings.h>
|
||||||
|
|
||||||
|
2006-11-19 23:28 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-config.c: Re-add 64-bit plugin paths, they are necessary
|
||||||
|
to get correct upgrades.
|
||||||
|
FIXME: probably split into "host" and "target" plugin dirs?
|
||||||
|
|
||||||
|
2006-11-19 23:08 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* nspluginwrapper.spec: Fix biarch/no-biarch builds.
|
||||||
|
|
||||||
|
2006-11-19 23:04 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* configure, nspluginwrapper.spec: Default to biarch builds on
|
||||||
|
x86-64. Make sure to report prerelease versions
|
||||||
|
so that to have a different version tag for upgrades to work.
|
||||||
|
|
||||||
|
2006-11-19 22:58 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-wrapper.c: Update project URL.
|
||||||
|
|
||||||
|
2006-11-19 22:34 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure, lsb-build/stub_libs/libc_nonshared.c,
|
||||||
|
src/sysdeps.h: Add checks for
|
||||||
|
__attribute__((visibility("hidden"))) and .{init,fini}_array
|
||||||
|
support.
|
||||||
|
|
||||||
|
2006-11-19 22:32 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile: Make changelog. Clean lsb-build objdir. Cleanups.
|
||||||
|
|
||||||
|
2006-11-19 17:43 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* README: Document simplified build on x86-64 (LSB Desktop stubs).
|
||||||
|
|
||||||
|
2006-11-19 17:24 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* configure, src/npw-config.c: Update SUSE firefox paths. Add
|
||||||
|
Debian/Ubuntu and Gentoo plugins path. Remove
|
||||||
|
lib64 paths from mozilla since it's unlikely we need to wrap
|
||||||
|
64-bit plugins.
|
||||||
|
|
||||||
|
2006-11-19 15:17 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure, lsb-build, lsb-build/headers,
|
||||||
|
lsb-build/headers/atk-1.0, lsb-build/headers/atk-1.0/atk,
|
||||||
|
lsb-build/headers/atk-1.0/atk/atk-enum-types.h,
|
||||||
|
lsb-build/headers/atk-1.0/atk/atk.h,
|
||||||
|
lsb-build/headers/core_filelist,
|
||||||
|
lsb-build/headers/desktop_filelist, lsb-build/headers/dlfcn.h,
|
||||||
|
lsb-build/headers/errno.h, lsb-build/headers/fcntl.h,
|
||||||
|
lsb-build/headers/fontconfig,
|
||||||
|
lsb-build/headers/fontconfig/fcfreetype.h,
|
||||||
|
lsb-build/headers/fontconfig/fcprivate.h,
|
||||||
|
lsb-build/headers/fontconfig/fontconfig.h,
|
||||||
|
lsb-build/headers/glib-2.0, lsb-build/headers/glib-2.0/glib,
|
||||||
|
lsb-build/headers/glib-2.0/glib-object.h,
|
||||||
|
lsb-build/headers/glib-2.0/glib.h,
|
||||||
|
lsb-build/headers/glib-2.0/glib/gprintf.h,
|
||||||
|
lsb-build/headers/glib-2.0/glib/gstdio.h,
|
||||||
|
lsb-build/headers/glib-2.0/gmodule.h,
|
||||||
|
lsb-build/headers/glib-2.0/gobject,
|
||||||
|
lsb-build/headers/glib-2.0/gobject/gvaluecollector.h,
|
||||||
|
lsb-build/headers/gtk-2.0, lsb-build/headers/gtk-2.0/gdk,
|
||||||
|
lsb-build/headers/gtk-2.0/gdk-pixbuf,
|
||||||
|
lsb-build/headers/gtk-2.0/gdk-pixbuf-xlib,
|
||||||
|
lsb-build/headers/gtk-2.0/gdk-pixbuf-xlib/gdk-pixbuf-xlib.h,
|
||||||
|
lsb-build/headers/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h,
|
||||||
|
lsb-build/headers/gtk-2.0/gdk-pixbuf/gdk-pixdata.h,
|
||||||
|
lsb-build/headers/gtk-2.0/gdk/gdk.h,
|
||||||
|
lsb-build/headers/gtk-2.0/gdk/gdkkeysyms.h,
|
||||||
|
lsb-build/headers/gtk-2.0/gdk/gdkx.h,
|
||||||
|
lsb-build/headers/gtk-2.0/gtk,
|
||||||
|
lsb-build/headers/gtk-2.0/gtk/gtk.h, lsb-build/headers/limits.h,
|
||||||
|
lsb-build/headers/pango-1.0, lsb-build/headers/pango-1.0/pango,
|
||||||
|
lsb-build/headers/pango-1.0/pango/pango-utils.h,
|
||||||
|
lsb-build/headers/pango-1.0/pango/pango.h,
|
||||||
|
lsb-build/headers/pango-1.0/pango/pangofc-decoder.h,
|
||||||
|
lsb-build/headers/pango-1.0/pango/pangofc-fontmap.h,
|
||||||
|
lsb-build/headers/pango-1.0/pango/pangoft2.h,
|
||||||
|
lsb-build/headers/pango-1.0/pango/pangoxft.h,
|
||||||
|
lsb-build/headers/stddef.h, lsb-build/headers/stdio.h,
|
||||||
|
lsb-build/headers/stdlib.h, lsb-build/headers/string.h,
|
||||||
|
lsb-build/headers/sys, lsb-build/headers/sys/resource.h,
|
||||||
|
lsb-build/headers/sys/select.h, lsb-build/headers/sys/time.h,
|
||||||
|
lsb-build/headers/sys/types.h, lsb-build/headers/sys/wait.h,
|
||||||
|
lsb-build/headers/time.h, lsb-build/headers/unistd.h,
|
||||||
|
lsb-build/headers/wctype.h, lsb-build/stub_libs,
|
||||||
|
lsb-build/stub_libs/LibNameMap.txt,
|
||||||
|
lsb-build/stub_libs/core_filelist,
|
||||||
|
lsb-build/stub_libs/core_static_filelist,
|
||||||
|
lsb-build/stub_libs/desktop_filelist,
|
||||||
|
lsb-build/stub_libs/libX11.Version,
|
||||||
|
lsb-build/stub_libs/libX11.c,
|
||||||
|
lsb-build/stub_libs/libXext.Version,
|
||||||
|
lsb-build/stub_libs/libXext.c,
|
||||||
|
lsb-build/stub_libs/libXt.Version, lsb-build/stub_libs/libXt.c,
|
||||||
|
lsb-build/stub_libs/libc_main.Version,
|
||||||
|
lsb-build/stub_libs/libc_main.c,
|
||||||
|
lsb-build/stub_libs/libc_nonshared.c,
|
||||||
|
lsb-build/stub_libs/libdl.Version, lsb-build/stub_libs/libdl.c,
|
||||||
|
lsb-build/stub_libs/libgcc_s.Version,
|
||||||
|
lsb-build/stub_libs/libgcc_s.c,
|
||||||
|
lsb-build/stub_libs/libgdk-x11-2.0.Version,
|
||||||
|
lsb-build/stub_libs/libgdk-x11-2.0.c,
|
||||||
|
lsb-build/stub_libs/libglib-2.0.Version,
|
||||||
|
lsb-build/stub_libs/libglib-2.0.c,
|
||||||
|
lsb-build/stub_libs/libgobject-2.0.Version,
|
||||||
|
lsb-build/stub_libs/libgobject-2.0.c,
|
||||||
|
lsb-build/stub_libs/libgthread-2.0.Version,
|
||||||
|
lsb-build/stub_libs/libgthread-2.0.c,
|
||||||
|
lsb-build/stub_libs/libgtk-x11-2.0.Version,
|
||||||
|
lsb-build/stub_libs/libgtk-x11-2.0.c,
|
||||||
|
lsb-build/stub_libs/libpthread.Version,
|
||||||
|
lsb-build/stub_libs/libpthread.c, src/utils.c: Import (minimal)
|
||||||
|
LSB Desktop build environment so that to help non-multiarch
|
||||||
|
capable x86-64 distributions to build the 32-bit viewer.
|
||||||
|
|
||||||
|
2006-11-17 16:47 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* configure, src/npw-config.c, src/sysdeps.h: bswap_*() functions
|
||||||
|
were only used in npw-config.c
|
||||||
|
|
||||||
|
2006-11-17 15:41 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog: updates
|
||||||
|
|
||||||
|
2006-11-17 15:40 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* NEWS, nspluginwrapper.spec: 0.9.90.4
|
||||||
|
|
||||||
|
2006-11-17 15:38 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* README: Document --with-biarch, minor updates.
|
||||||
|
|
||||||
|
2006-11-17 09:58 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* nspluginwrapper.spec: update to use %_with_biarch directly
|
||||||
|
|
||||||
|
2006-11-17 08:01 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c, src/npw-wrapper.c, src/utils.c, src/utils.h:
|
||||||
|
Use optimized hash tables from GLib.
|
||||||
|
|
||||||
|
2006-11-16 06:07 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: Only print message with dimensions are still
|
||||||
|
null...
|
||||||
|
|
||||||
|
2006-11-15 12:52 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* ChangeLog, Makefile: Add missing files for tarball generation.
|
||||||
|
* NEWS, nspluginwrapper.spec: 0.9.90.4
|
||||||
|
|
||||||
|
2006-11-15 11:16 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: Fixup NPWindow size hints. Flash Player
|
||||||
|
doesn't like null dimensions and
|
||||||
|
Konqueror is actually passing that through
|
||||||
|
NPP_SetWindow()->NPWindow.
|
||||||
|
|
||||||
|
2006-11-15 11:13 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-wrapper.c: Add support for Konqueror (not GTK based
|
||||||
|
toolkit)
|
||||||
|
|
||||||
|
2006-11-15 10:35 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: Avoid an NPWindow->ws_info double free.
|
||||||
|
Comment implementation choices.
|
||||||
|
|
||||||
|
2006-11-15 10:31 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-rpc.h: Warning fixes (use uint8_t[] for NPPrintData
|
||||||
|
buffer)
|
||||||
|
|
||||||
|
2006-11-15 08:05 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-rpc.c, src/npw-rpc.h, src/npw-viewer.c,
|
||||||
|
src/npw-wrapper.c: Add printing support (implement NPP_Print)
|
||||||
|
|
||||||
|
2006-11-14 21:16 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-rpc.c, src/npw-rpc.h, src/npw-viewer.c,
|
||||||
|
src/npw-wrapper.c: Use dedicated marshaler for NPWindow & NPRect
|
||||||
|
structures. Rework NPP_SetWindow
|
||||||
|
to support NULL window arguments. Don't realize the top_widget,
|
||||||
|
only the form.
|
||||||
|
|
||||||
|
2006-11-13 22:07 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-wrapper.c: use g_source_add_poll
|
||||||
|
|
||||||
|
2006-11-13 08:10 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-wrapper.c: _Exit(255) after a failed fork()+execv()
|
||||||
|
(original patch by Darryl L. Miles)
|
||||||
|
|
||||||
|
2006-11-12 22:08 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, src/npw-viewer.c, src/npw-viewer.map: use a version
|
||||||
|
script for RP8 compatibility glue (export __pure_virtual)
|
||||||
|
|
||||||
|
2006-11-12 20:41 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: fix XEvent polling, don't use deprecated gtk
|
||||||
|
polling routine, use g_source
|
||||||
|
polling functions
|
||||||
|
|
||||||
|
2006-11-12 20:06 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile: use RP8 hack while building 32-bit viewer on x86_64
|
||||||
|
|
||||||
|
2006-11-11 17:03 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: Remove useless (and actually problematic)
|
||||||
|
XInitThreads() call
|
||||||
|
|
||||||
|
2006-11-11 16:40 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure, nspluginwrapper.spec: install
|
||||||
|
nspluginwrapper symlink
|
||||||
|
|
||||||
|
2006-11-11 15:21 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: headers cleanup
|
||||||
|
|
||||||
|
2006-11-11 15:18 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-viewer.c: use XtResizeWidget() to resize the plugin
|
||||||
|
window
|
||||||
|
|
||||||
|
2006-11-11 09:46 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* src/npw-rpc.h, src/npw-viewer.c, src/npw-wrapper.c: Implement
|
||||||
|
NPN_PostURL() and NPN_PostURLNotify()
|
||||||
|
|
||||||
|
2006-11-08 08:11 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile, configure, nspluginwrapper.spec: handle bi-arch builds
|
||||||
|
(original patch by Darryl L. Miles)
|
||||||
|
|
||||||
|
2006-11-08 06:38 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* nspluginwrapper.spec: don't override compile flags, the default
|
||||||
|
should be good enough and
|
||||||
|
distribution-specific packages are expected to be better
|
||||||
|
|
||||||
|
2006-11-08 06:37 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* configure: there is no C++ in nspluginwrapper
|
||||||
|
|
||||||
|
2006-10-27 04:36 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* Makefile: fix make uninstall target (reported by stranche)
|
||||||
|
|
||||||
|
2006-09-25 22:42 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* nspluginwrapper.spec: use plain make command not the %make macro
|
||||||
|
(Thibaut Cousin)
|
||||||
|
|
||||||
|
2006-09-24 16:11 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* NEWS, nspluginwrapper.spec, src/npw-viewer.c: fix acrobat reader
|
||||||
|
7 plugin
|
||||||
|
|
||||||
|
2006-09-24 16:07 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* nspluginwrapper.spec: add specfile %changelog missed in initial
|
||||||
|
tarball
|
||||||
|
|
||||||
|
2006-09-24 16:06 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* NEWS, nspluginwrapper.spec, src/debug.c, src/npw-viewer.c,
|
||||||
|
src/npw-wrapper.c, src/rpc.c, src/rpc.h: use a bidirectional
|
||||||
|
communication channel
|
||||||
|
|
||||||
|
2006-09-24 15:49 Gwenole Beauchesne <gb.public@free.fr>
|
||||||
|
|
||||||
|
* gwenole, gwenole/projects, gwenole/projects/nspluginwrapper,
|
||||||
|
gwenole/projects/nspluginwrapper/branches,
|
||||||
|
gwenole/projects/nspluginwrapper/tags, ., COPYING, Makefile,
|
||||||
|
NEWS, README, TODO, configure, npapi, npapi/jni.h,
|
||||||
|
npapi/jni_md.h, npapi/jri.h, npapi/jri_md.h, npapi/jritypes.h,
|
||||||
|
npapi/npapi.h, npapi/npruntime.h, npapi/nptypes.h,
|
||||||
|
npapi/npupp.h, npapi/nspr, npapi/nspr/obsolete,
|
||||||
|
npapi/nspr/obsolete/protypes.h, npapi/nspr/prcpucfg.h,
|
||||||
|
npapi/nspr/prtypes.h, nspluginwrapper.spec, src, src/debug.c,
|
||||||
|
src/debug.h, src/npw-config.c, src/npw-rpc.c, src/npw-rpc.h,
|
||||||
|
src/npw-viewer.c, src/npw-viewer.sh, src/npw-wrapper.c,
|
||||||
|
src/rpc.c, src/rpc.h, src/sysdeps.h, src/utils.c, src/utils.h,
|
||||||
|
tests, tests/test-plugins.html, utils, utils/getdeps.sh,
|
||||||
|
utils/mkruntime.sh, utils/npw-shadow.c, utils/repackage.sh,
|
||||||
|
utils/xtrace.c: initial import
|
||||||
|
|
|
@ -0,0 +1,322 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# nspluginwrapper Makefile (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
#
|
||||||
|
-include config.mak
|
||||||
|
|
||||||
|
CFLAGS += -Wall
|
||||||
|
|
||||||
|
ifeq ($(SRC_PATH),)
|
||||||
|
SRC_PATH = .
|
||||||
|
endif
|
||||||
|
|
||||||
|
PACKAGE = nspluginwrapper
|
||||||
|
ifeq ($(VERSION),)
|
||||||
|
VERSION := $(shell sed < $(SRC_PATH)/$(PACKAGE).spec -n '/^\%define version[ ]*/s///p')
|
||||||
|
endif
|
||||||
|
ifeq ($(RELEASE),)
|
||||||
|
RELEASE := $(shell sed < $(SRC_PATH)/$(PACKAGE).spec -n '/^\%define release[ ]*/s///p')
|
||||||
|
endif
|
||||||
|
ifeq ($(SVNDATE),)
|
||||||
|
SVNDATE := $(shell sed < $(SRC_PATH)/$(PACKAGE).spec -n '/^\%define svndate[ ]*/s///p')
|
||||||
|
endif
|
||||||
|
ifeq ($(SVNDATE),)
|
||||||
|
SVNDATE := $(shell date '+%Y%m%d')
|
||||||
|
endif
|
||||||
|
ifeq ($(SNAPSHOT),)
|
||||||
|
SNAPSHOT := $(shell echo "$(RELEASE)" | grep "^0")
|
||||||
|
ifeq ($(SNAPSHOT),$(RELEASE))
|
||||||
|
SNAPSHOT := 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifeq ($(SNAPSHOT),1)
|
||||||
|
VERSION_SUFFIX = -$(SVNDATE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(DONT_STRIP), yes)
|
||||||
|
STRIP_OPT = -s
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq (,$(findstring $(OS),linux))
|
||||||
|
libdl_LDFLAGS = -ldl
|
||||||
|
endif
|
||||||
|
|
||||||
|
X_CFLAGS = -I$(x11prefix)/include
|
||||||
|
X_LDFLAGS = -L$(x11prefix)/$(lib64) -lX11 -lXt
|
||||||
|
ifeq ($(OS),netbsd)
|
||||||
|
X_LDFLAGS += -Wl,--rpath,$(x11prefix)/$(lib64)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ARCH_32 = $(ARCH)
|
||||||
|
ifeq ($(biarch), yes)
|
||||||
|
ARCH_32 = $(TARGET_ARCH)
|
||||||
|
LSB_LIBS = $(LSB_OBJ_DIR)/libc.so $(LSB_OBJ_DIR)/libgcc_s_32.so
|
||||||
|
LSB_LIBS += $(LSB_CORE_STUBS:%=$(LSB_OBJ_DIR)/%.so)
|
||||||
|
LSB_LIBS += $(LSB_CORE_STATIC_STUBS:%=$(LSB_OBJ_DIR)/%.a)
|
||||||
|
LSB_LIBS += $(LSB_DESKTOP_STUBS:%=$(LSB_OBJ_DIR)/%.so)
|
||||||
|
endif
|
||||||
|
|
||||||
|
LSB_TOP_DIR = $(SRC_PATH)/lsb-build
|
||||||
|
LSB_INC_DIR = $(LSB_TOP_DIR)/headers
|
||||||
|
LSB_SRC_DIR = $(LSB_TOP_DIR)/stub_libs
|
||||||
|
LSB_OBJ_DIR = lsb-build-$(ARCH_32)
|
||||||
|
LSB_CORE_STUBS = $(shell cat $(LSB_SRC_DIR)/core_filelist)
|
||||||
|
LSB_CORE_STATIC_STUBS = $(shell cat $(LSB_SRC_DIR)/core_static_filelist)
|
||||||
|
LSB_DESKTOP_STUBS = $(shell cat $(LSB_SRC_DIR)/desktop_filelist)
|
||||||
|
|
||||||
|
ifeq (i386,$(TARGET_ARCH))
|
||||||
|
TARGET_ELF_ARCH = elf32-i386
|
||||||
|
endif
|
||||||
|
ifeq (ppc,$(TARGET_ARCH))
|
||||||
|
TARGET_ELF_ARCH = elf32-powerpc
|
||||||
|
endif
|
||||||
|
|
||||||
|
MOZILLA_CFLAGS = -I$(SRC_PATH)/npapi -I$(SRC_PATH)/npapi/nspr
|
||||||
|
|
||||||
|
npwrapper_LIBRARY = npwrapper.so
|
||||||
|
npwrapper_RAWSRCS = npw-wrapper.c npw-rpc.c rpc.c debug.c utils.c npruntime.c
|
||||||
|
npwrapper_SOURCES = $(npwrapper_RAWSRCS:%.c=$(SRC_PATH)/src/%.c)
|
||||||
|
npwrapper_OBJECTS = $(npwrapper_RAWSRCS:%.c=npwrapper-%.os)
|
||||||
|
npwrapper_CFLAGS = $(CFLAGS) $(X_CFLAGS) $(MOZILLA_CFLAGS) $(GLIB_CFLAGS)
|
||||||
|
npwrapper_LDFLAGS = $(X_LDFLAGS) -lpthread
|
||||||
|
npwrapper_LDFLAGS += $(GLIB_LDFLAGS)
|
||||||
|
|
||||||
|
npviewer_PROGRAM = npviewer.bin
|
||||||
|
npviewer_RAWSRCS = npw-viewer.c npw-rpc.c rpc.c debug.c utils.c npruntime.c
|
||||||
|
npviewer_SOURCES = $(npviewer_RAWSRCS:%.c=$(SRC_PATH)/src/%.c)
|
||||||
|
npviewer_OBJECTS = $(npviewer_RAWSRCS:%.c=npviewer-%.o)
|
||||||
|
ifeq ($(biarch),yes)
|
||||||
|
npviewer_CFLAGS = $(CFLAGS_32)
|
||||||
|
npviewer_CFLAGS += -I$(LSB_INC_DIR)
|
||||||
|
npviewer_CFLAGS += -I$(LSB_INC_DIR)/glib-2.0
|
||||||
|
npviewer_CFLAGS += -I$(LSB_INC_DIR)/gtk-2.0
|
||||||
|
npviewer_LDFLAGS = $(LDFLAGS_32) -L$(LSB_OBJ_DIR)
|
||||||
|
npviewer_LDFLAGS += -lgtk-x11-2.0 -lgdk-x11-2.0 -lgobject-2.0 -ldl -lglib-2.0 -lX11 -lXt
|
||||||
|
else
|
||||||
|
npviewer_CFLAGS += $(GTK_CFLAGS)
|
||||||
|
npviewer_LDFLAGS = $(GTK_LDFLAGS) $(X_LDFLAGS)
|
||||||
|
endif
|
||||||
|
npviewer_CFLAGS += $(MOZILLA_CFLAGS)
|
||||||
|
npviewer_LDFLAGS += $(libdl_LDFLAGS) -lpthread
|
||||||
|
ifeq ($(TARGET_ARCH),i386)
|
||||||
|
npviewer_MAPFILE = $(SRC_PATH)/src/npw-viewer.map
|
||||||
|
endif
|
||||||
|
ifneq ($(npviewer_MAPFILE),)
|
||||||
|
npviewer_LDFLAGS += -Wl,--export-dynamic
|
||||||
|
npviewer_LDFLAGS += -Wl,--version-script,$(npviewer_MAPFILE)
|
||||||
|
endif
|
||||||
|
ifeq ($(OS):$(TARGET_ARCH),linux:i386)
|
||||||
|
npviewer_SOURCES += $(SRC_PATH)/src/cxxabi-compat.cpp
|
||||||
|
npviewer_OBJECTS += npviewer-cxxabi-compat.o
|
||||||
|
npviewer_LDFLAGS += -lsupc++
|
||||||
|
endif
|
||||||
|
|
||||||
|
libxpcom_LIBRARY = libxpcom.so
|
||||||
|
libxpcom_RAWSRCS = libxpcom.c debug.c
|
||||||
|
libxpcom_SOURCES = $(libxpcom_RAWSRCS:%.c=$(SRC_PATH)/src/%.c)
|
||||||
|
libxpcom_OBJECTS = $(libxpcom_RAWSRCS:%.c=libxpcom-%.o)
|
||||||
|
libxpcom_CFLAGS = -fPIC
|
||||||
|
|
||||||
|
npconfig_PROGRAM = npconfig
|
||||||
|
npconfig_RAWSRCS = npw-config.c
|
||||||
|
npconfig_SOURCES = $(npconfig_RAWSRCS:%.c=$(SRC_PATH)/src/%.c)
|
||||||
|
npconfig_OBJECTS = $(npconfig_RAWSRCS:%.c=npconfig-%.o)
|
||||||
|
npconfig_LDFLAGS = $(libdl_LDFLAGS)
|
||||||
|
ifeq ($(OS),netbsd)
|
||||||
|
# We will try to dlopen() the native plugin library. If that lib is
|
||||||
|
# linked against libpthread, then so must our program too.
|
||||||
|
# XXX use the ELF decoder for native plugins too?
|
||||||
|
npconfig_LDFLAGS += -lpthread
|
||||||
|
endif
|
||||||
|
|
||||||
|
nploader_PROGRAM = npviewer
|
||||||
|
nploader_RAWSRCS = npw-viewer.sh
|
||||||
|
nploader_SOURCES = $(nploader_RAWSRCS:%.sh=$(SRC_PATH)/src/%.sh)
|
||||||
|
|
||||||
|
CPPFLAGS = -I. -I$(SRC_PATH)
|
||||||
|
TARGETS = $(npconfig_PROGRAM)
|
||||||
|
TARGETS += $(nploader_PROGRAM)
|
||||||
|
TARGETS += $(npwrapper_LIBRARY)
|
||||||
|
ifeq ($(build_viewer),yes)
|
||||||
|
TARGETS += $(npviewer_PROGRAM)
|
||||||
|
TARGETS += $(libxpcom_LIBRARY)
|
||||||
|
endif
|
||||||
|
|
||||||
|
archivedir = files/
|
||||||
|
SRCARCHIVE = $(PACKAGE)-$(VERSION)$(VERSION_SUFFIX).tar
|
||||||
|
FILES = configure Makefile nspluginwrapper.spec
|
||||||
|
FILES += README NEWS TODO COPYING ChangeLog
|
||||||
|
FILES += $(wildcard utils/*.sh)
|
||||||
|
FILES += $(wildcard utils/*.c)
|
||||||
|
FILES += $(wildcard src/*.c)
|
||||||
|
FILES += $(wildcard src/*.cpp)
|
||||||
|
FILES += $(wildcard src/*.h)
|
||||||
|
FILES += $(wildcard src/*.sh)
|
||||||
|
FILES += $(wildcard src/*.map)
|
||||||
|
FILES += $(wildcard tests/*.html)
|
||||||
|
FILES += $(wildcard npapi/*.h npapi/nspr/*.h npapi/nspr/obsolete/*.h)
|
||||||
|
FILES += $(LSB_TOP_DIR)/headers/core_filelist
|
||||||
|
FILES += $(addprefix $(LSB_TOP_DIR)/headers/,$(shell cat $(LSB_TOP_DIR)/headers/core_filelist))
|
||||||
|
FILES += $(LSB_TOP_DIR)/headers/desktop_filelist
|
||||||
|
FILES += $(addprefix $(LSB_TOP_DIR)/headers/,$(shell cat $(LSB_TOP_DIR)/headers/desktop_filelist))
|
||||||
|
FILES += $(LSB_SRC_DIR)/LibNameMap.txt
|
||||||
|
FILES += $(LSB_SRC_DIR)/core_filelist
|
||||||
|
FILES += $(LSB_SRC_DIR)/core_static_filelist
|
||||||
|
FILES += $(LSB_SRC_DIR)/desktop_filelist
|
||||||
|
FILES += $(patsubst %,$(LSB_SRC_DIR)/%.c,$(LSB_CORE_STUBS))
|
||||||
|
FILES += $(patsubst %,$(LSB_SRC_DIR)/%.Version,$(LSB_CORE_STUBS))
|
||||||
|
FILES += $(patsubst %,$(LSB_SRC_DIR)/%.c,$(LSB_CORE_STATIC_STUBS))
|
||||||
|
FILES += $(patsubst %,$(LSB_SRC_DIR)/%.c,$(LSB_DESKTOP_STUBS))
|
||||||
|
FILES += $(patsubst %,$(LSB_SRC_DIR)/%.Version,$(LSB_DESKTOP_STUBS))
|
||||||
|
|
||||||
|
all: $(TARGETS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(TARGETS) *.o *.os
|
||||||
|
rm -rf $(LSB_OBJ_DIR)
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
rm -f config-host.* config.*
|
||||||
|
|
||||||
|
uninstall: uninstall.wrapper uninstall.viewer uninstall.libxpcom uninstall.loader uninstall.config uninstall.mkruntime uninstall.dirs
|
||||||
|
uninstall.dirs:
|
||||||
|
rmdir $(DESTDIR)$(pkglibdir)/noarch
|
||||||
|
rmdir $(DESTDIR)$(pkglibdir)/$(ARCH)/$(OS)
|
||||||
|
rmdir $(DESTDIR)$(pkglibdir)/$(ARCH)
|
||||||
|
ifneq ($(ARCH),$(ARCH_32))
|
||||||
|
rmdir $(DESTDIR)$(pkglibdir)/$(ARCH_32)/$(TARGET_OS)
|
||||||
|
rmdir $(DESTDIR)$(pkglibdir)/$(ARCH_32)
|
||||||
|
endif
|
||||||
|
uninstall.wrapper:
|
||||||
|
rm -f $(DESTDIR)$(pkglibdir)/$(ARCH)/$(OS)/$(npwrapper_LIBRARY)
|
||||||
|
uninstall.viewer:
|
||||||
|
rm -f $(DESTDIR)$(pkglibdir)/$(ARCH_32)/$(TARGET_OS)/$(npviewer_PROGRAM)
|
||||||
|
rm -f $(DESTDIR)$(pkglibdir)/$(ARCH_32)/$(TARGET_OS)/$(npviewer_PROGRAM:%.bin=%)
|
||||||
|
uninstall.libxpcom:
|
||||||
|
rm -f $(DESTDIR)$(pkglibdir)/$(ARCH_32)/$(TARGET_OS)/$(libxpcom_LIBRARY)
|
||||||
|
uninstall.loader:
|
||||||
|
rm -f $(DESTDIR)$(pkglibdir)/noarch/$(nploader_PROGRAM)
|
||||||
|
uninstall.config:
|
||||||
|
rm -f $(DESTDIR)$(bindir)/nspluginwrapper
|
||||||
|
rm -f $(DESTDIR)$(pkglibdir)/$(ARCH)/$(OS)/$(npconfig_PROGRAM)
|
||||||
|
uninstall.mkruntime:
|
||||||
|
rm -f $(DESTDIR)$(pkglibdir)/noarch/mkruntime
|
||||||
|
|
||||||
|
install: install.dirs install.wrapper install.viewer install.libxpcom install.loader install.config install.mkruntime
|
||||||
|
install.dirs:
|
||||||
|
mkdir -p $(DESTDIR)$(pkglibdir)/noarch
|
||||||
|
mkdir -p $(DESTDIR)$(pkglibdir)/$(ARCH)
|
||||||
|
mkdir -p $(DESTDIR)$(pkglibdir)/$(ARCH)/$(OS)
|
||||||
|
ifneq ($(ARCH),$(ARCH_32))
|
||||||
|
mkdir -p $(DESTDIR)$(pkglibdir)/$(ARCH_32)
|
||||||
|
mkdir -p $(DESTDIR)$(pkglibdir)/$(ARCH_32)/$(TARGET_OS)
|
||||||
|
endif
|
||||||
|
install.wrapper: $(npwrapper_LIBRARY)
|
||||||
|
install -m 755 $(STRIP_OPT) $(npwrapper_LIBRARY) $(DESTDIR)$(pkglibdir)/$(ARCH)/$(OS)/$(npwrapper_LIBRARY)
|
||||||
|
ifeq ($(build_viewer),yes)
|
||||||
|
install.viewer: install.viewer.bin install.viewer.glue
|
||||||
|
install.libxpcom: do.install.libxpcom
|
||||||
|
else
|
||||||
|
install.viewer:
|
||||||
|
install.libxpcom:
|
||||||
|
endif
|
||||||
|
install.viewer.bin: $(npviewer_PROGRAM)
|
||||||
|
install -m 755 $(STRIP_OPT) $(npviewer_PROGRAM) $(DESTDIR)$(pkglibdir)/$(ARCH_32)/$(TARGET_OS)/$(npviewer_PROGRAM)
|
||||||
|
install.viewer.glue::
|
||||||
|
p=$(DESTDIR)$(pkglibdir)/$(ARCH_32)/$(TARGET_OS)/$(npviewer_PROGRAM:%.bin=%); \
|
||||||
|
echo "#!/bin/sh" > $$p; \
|
||||||
|
echo "TARGET_OS=$(TARGET_OS)" >> $$p; \
|
||||||
|
echo "TARGET_ARCH=$(TARGET_ARCH)" >> $$p; \
|
||||||
|
echo ". $(pkglibdir)/noarch/$(nploader_PROGRAM)" >> $$p; \
|
||||||
|
chmod 755 $$p
|
||||||
|
do.install.libxpcom: $(libxpcom_LIBRARY)
|
||||||
|
install -m 755 $(STRIP_OPT) $(libxpcom_LIBRARY) $(DESTDIR)$(pkglibdir)/$(ARCH_32)/$(TARGET_OS)/$(libxpcom_LIBRARY)
|
||||||
|
install.config: $(npconfig_PROGRAM)
|
||||||
|
install -m 755 $(STRIP_OPT) $(npconfig_PROGRAM) $(DESTDIR)$(pkglibdir)/$(ARCH)/$(OS)/$(npconfig_PROGRAM)
|
||||||
|
mkdir -p $(DESTDIR)$(bindir)
|
||||||
|
ln -s $(pkglibdir)/$(ARCH)/$(OS)/$(npconfig_PROGRAM) $(DESTDIR)$(bindir)/nspluginwrapper
|
||||||
|
install.loader: $(nploader_PROGRAM)
|
||||||
|
install -m 755 $(nploader_PROGRAM) $(DESTDIR)$(pkglibdir)/noarch/$(nploader_PROGRAM)
|
||||||
|
install.mkruntime: $(SRC_PATH)/utils/mkruntime.sh
|
||||||
|
install -m 755 $< $(DESTDIR)$(pkglibdir)/noarch/mkruntime
|
||||||
|
|
||||||
|
$(archivedir)::
|
||||||
|
[ -d $(archivedir) ] || mkdir $(archivedir) > /dev/null 2>&1
|
||||||
|
|
||||||
|
tarball:
|
||||||
|
$(MAKE) -C $(SRC_PATH) do_tarball
|
||||||
|
do_tarball: $(archivedir) $(archivedir)$(SRCARCHIVE).bz2
|
||||||
|
|
||||||
|
$(archivedir)$(SRCARCHIVE): $(archivedir) $(FILES)
|
||||||
|
BUILDDIR=`mktemp -d /tmp/buildXXXXXXXX` ; \
|
||||||
|
mkdir -p $$BUILDDIR/$(PACKAGE)-$(VERSION) ; \
|
||||||
|
(cd $(SRC_PATH) && tar c $(FILES)) | tar x -C $$BUILDDIR/$(PACKAGE)-$(VERSION) ; \
|
||||||
|
[ "$(SNAPSHOT)" = "1" ] && svndate_def="%" || svndate_def="#" ; \
|
||||||
|
sed -e "s/^[%#]define svndate.*/$${svndate_def}define svndate $(SVNDATE)/" \
|
||||||
|
< $(SRC_PATH)/nspluginwrapper.spec \
|
||||||
|
> $$BUILDDIR/$(PACKAGE)-$(VERSION)/nspluginwrapper.spec ; \
|
||||||
|
(cd $$BUILDDIR && tar cvf $(SRCARCHIVE) $(PACKAGE)-$(VERSION)) ; \
|
||||||
|
mv -f $$BUILDDIR/$(SRCARCHIVE) $(archivedir) ; \
|
||||||
|
rm -rf $$BUILDDIR
|
||||||
|
$(archivedir)$(SRCARCHIVE).bz2: $(archivedir)$(SRCARCHIVE)
|
||||||
|
bzip2 -9vf $(archivedir)$(SRCARCHIVE)
|
||||||
|
|
||||||
|
localrpm: $(archivedir)$(SRCARCHIVE).bz2
|
||||||
|
rpm -ta $<
|
||||||
|
|
||||||
|
changelog: ../common/authors.xml
|
||||||
|
svn_prefix=`svn info .|sed -n '/^URL *: .*\/svn\/\(.*\)$$/s//\1\//p'`; \
|
||||||
|
svn2cl --strip-prefix=$$svn_prefix --authors=../common/authors.xml || :
|
||||||
|
svn commit -m "Generated by svn2cl." ChangeLog
|
||||||
|
|
||||||
|
$(npwrapper_LIBRARY): $(npwrapper_OBJECTS)
|
||||||
|
$(CC) -o $@ -shared $(npwrapper_OBJECTS) $(npwrapper_LDFLAGS)
|
||||||
|
|
||||||
|
npwrapper-%.os: $(SRC_PATH)/src/%.c
|
||||||
|
$(CC) -o $@ -c $< -fPIC $(CPPFLAGS) $(npwrapper_CFLAGS) -DBUILD_WRAPPER
|
||||||
|
|
||||||
|
$(npviewer_PROGRAM): $(npviewer_OBJECTS) $(npviewer_MAPFILE) $(LSB_OBJ_DIR) $(LSB_LIBS)
|
||||||
|
$(CC) $(LDFLAGS_32) -o $@ $(npviewer_OBJECTS) $(npviewer_LDFLAGS)
|
||||||
|
|
||||||
|
npviewer-%.o: $(SRC_PATH)/src/%.c
|
||||||
|
$(CC) $(CFLAGS_32) -o $@ -c $< $(CPPFLAGS) $(npviewer_CFLAGS) -DBUILD_VIEWER
|
||||||
|
|
||||||
|
npviewer-%.o: $(SRC_PATH)/src/%.cpp
|
||||||
|
$(CXX) $(CFLAGS_32) -o $@ -c $< $(CPPFLAGS) $(npviewer_CFLAGS) -DBUILD_VIEWER
|
||||||
|
|
||||||
|
$(libxpcom_LIBRARY): $(libxpcom_OBJECTS) $(LSB_OBJ_DIR) $(LSB_LIBS)
|
||||||
|
$(CC) $(LDFLAGS_32) -shared -o $@ $(libxpcom_OBJECTS) $(libxpcom_LDFLAGS) -Wl,--soname,libxpcom.so
|
||||||
|
|
||||||
|
libxpcom-%.o: $(SRC_PATH)/src/%.c
|
||||||
|
$(CC) $(CFLAGS_32) -o $@ -c $< $(CPPFLAGS) $(libxpcom_CFLAGS) -DBUILD_XPCOM
|
||||||
|
|
||||||
|
$(npconfig_PROGRAM): $(npconfig_OBJECTS)
|
||||||
|
$(CC) -o $@ $(npconfig_OBJECTS) $(npconfig_LDFLAGS)
|
||||||
|
|
||||||
|
npconfig-%.o: $(SRC_PATH)/src/%.c
|
||||||
|
$(CC) -o $@ -c $< $(CPPFLAGS) $(CFLAGS)
|
||||||
|
|
||||||
|
$(nploader_PROGRAM): $(nploader_SOURCES)
|
||||||
|
sed -e "s|%NPW_LIBDIR%|$(pkglibdir)|" $< > $@
|
||||||
|
chmod 755 $@
|
||||||
|
|
||||||
|
$(LSB_OBJ_DIR)::
|
||||||
|
@[ -d $(LSB_OBJ_DIR) ] || mkdir $(LSB_OBJ_DIR) > /dev/null 2>&1
|
||||||
|
|
||||||
|
$(LSB_OBJ_DIR)/%.o: $(LSB_SRC_DIR)/%.c
|
||||||
|
$(CC) $(CFLAGS_32) -nostdinc -fno-builtin -I. -I$(LSB_INC_DIR) -c $< -o $@
|
||||||
|
|
||||||
|
$(LSB_OBJ_DIR)/%.a: $(LSB_OBJ_DIR)/%.o
|
||||||
|
$(AR) rc $@ $<
|
||||||
|
|
||||||
|
$(LSB_OBJ_DIR)/libc.so: $(LSB_OBJ_DIR)/libc_main.so $(LSB_OBJ_DIR)/libc_nonshared.a
|
||||||
|
@echo "OUTPUT_FORMAT($(TARGET_ELF_ARCH))" > $@
|
||||||
|
@echo "GROUP ( $(LSB_OBJ_DIR)/libc_main.so $(LSB_OBJ_DIR)/libc_nonshared.a )" >> $@
|
||||||
|
|
||||||
|
$(LSB_OBJ_DIR)/libgcc_s_32.so: $(LSB_OBJ_DIR)/libgcc_s.so
|
||||||
|
ln -s libgcc_s.so $@
|
||||||
|
|
||||||
|
$(LSB_OBJ_DIR)/%.so: $(LSB_OBJ_DIR)/%.o
|
||||||
|
$(CC) $(LDFLAGS_32) -nostdlib -shared $< -o $@ \
|
||||||
|
-Wl,--version-script,$(patsubst $(LSB_OBJ_DIR)/%.o,$(LSB_SRC_DIR)/%.Version,$<) \
|
||||||
|
-Wl,-soname,`grep "$(patsubst $(LSB_OBJ_DIR)/%.o,%,$<) " $(LSB_SRC_DIR)/LibNameMap.txt | cut -f2 -d' '`
|
|
@ -0,0 +1,38 @@
|
||||||
|
nspluginwrapper NEWS -- history of user-visible changes. 2006-12-26
|
||||||
|
Copyright (C) 2006 Gwenole Beauchesne
|
||||||
|
|
||||||
|
Version 0.9.91.1 (BETA) - 26.Dec.2006
|
||||||
|
* Fix NPRuntime bridge (VLC plugin)
|
||||||
|
* Fix Mozilla plugins dir creation on NetBSD and FreeBSD hosts
|
||||||
|
* Fix potential buffer overflow in RPC marshalers
|
||||||
|
* Handle empty args for plugin creation (flasharcade.com)
|
||||||
|
|
||||||
|
Version 0.9.91 (BETA) - 22.Dec.2006
|
||||||
|
* Add scripting support through the NPRuntime API
|
||||||
|
* Add XEMBED support for e.g. MPlayer plug-in
|
||||||
|
* Add support for NetBSD, FreeBSD and non-x86 Linux platforms
|
||||||
|
* Fix focus problems
|
||||||
|
* Fix some rare hangs
|
||||||
|
* Create Mozilla plugins dir if it does not exist yet
|
||||||
|
|
||||||
|
Version 0.9.90.4 (BETA) - 18.Nov.2006
|
||||||
|
* Robustify error condition (Darryl L. Miles)
|
||||||
|
* Reduce plugin load times
|
||||||
|
* Fix post data to a URL
|
||||||
|
* Add printing support
|
||||||
|
* Add Konqueror browser support
|
||||||
|
|
||||||
|
Version 0.9.90.3 (BETA) - 19.Sep.2006
|
||||||
|
* Fix acrobat reader 7 plugin
|
||||||
|
|
||||||
|
Version 0.9.90.2 (BETA) - 15.Sep.2006
|
||||||
|
* Use a bidirectional communication channel rather than two channels +
|
||||||
|
a "delayed" execution engine
|
||||||
|
|
||||||
|
Version 0.9.90.1 (BETA) - 05.Jun.2006
|
||||||
|
* Handle SuSE Linux Mozilla paths
|
||||||
|
* Don't use QEMU on IA-64 platforms
|
||||||
|
* Portability fixes to non-Linux platforms
|
||||||
|
|
||||||
|
Version 0.9.90 (BETA) - 25.Oct.2005
|
||||||
|
* First public beta that has decent Flash Player support
|
|
@ -0,0 +1,99 @@
|
||||||
|
|
||||||
|
nspluginwrapper
|
||||||
|
A cross-platform NPAPI plugin viewer
|
||||||
|
|
||||||
|
Copyright (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
nspluginwrapper is available under the terms of the GNU General Public License.
|
||||||
|
See the file "COPYING" that is included in the distribution for details.
|
||||||
|
|
||||||
|
|
||||||
|
Overview
|
||||||
|
--------
|
||||||
|
|
||||||
|
nspluginwrapper consists in a proxy plugin and a viewer for NPAPI
|
||||||
|
compatible plugins. It makes it possible to use 32-bit x86 plugins
|
||||||
|
like Adobe Flash Player on other platforms like Linux/x86_64, *BSD and
|
||||||
|
even Linux/ppc.
|
||||||
|
|
||||||
|
|
||||||
|
Quick build notes
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
To simplify the build of the 32-bit viewer, a minimal subset of LSB
|
||||||
|
Desktop 3.1 is included in this distribution. Hence, you only have
|
||||||
|
to proceed as follows:
|
||||||
|
|
||||||
|
$ ./configure
|
||||||
|
$ make
|
||||||
|
# make install
|
||||||
|
|
||||||
|
Or, if you prefer from a source package:
|
||||||
|
$ rpm --rebuild nspluginwrapper.src.rpm
|
||||||
|
|
||||||
|
|
||||||
|
Requirements and Installation
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
A Mozilla based browser built with GTK 2 support is currently required
|
||||||
|
for proper operation. An alternative is Konqueror but it does not yet
|
||||||
|
support the npruntime scripting API.
|
||||||
|
|
||||||
|
On package installation, 32-bit plugins are automatically recognized
|
||||||
|
provided they are available in the /usr/lib/mozilla/plugins directory.
|
||||||
|
|
||||||
|
You can manually install/remove/update plugins with "nspluginwrapper".
|
||||||
|
|
||||||
|
usage: nspluginwrapper [flags] [command [plugin(s)]]
|
||||||
|
|
||||||
|
-h --help print this message
|
||||||
|
-a --auto set automatic mode for plugins discovery
|
||||||
|
-l --list list plugins currently installed
|
||||||
|
-u --update update plugin(s) currently installed
|
||||||
|
-i --install [FILE(S)] install plugin(s)
|
||||||
|
-r --remove [FILE(S)] remove plugin(s)
|
||||||
|
|
||||||
|
[plugin(s)] are full paths to actual plugin binaries (e.g. nppdf.so
|
||||||
|
for Acrobat Reader, libflashplayer.so for Flash).
|
||||||
|
|
||||||
|
|
||||||
|
Compatibility List
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Please bear in mind this is *BETA* software.
|
||||||
|
|
||||||
|
The following plugins work reasonnably well:
|
||||||
|
- Acrobat Reader 5.0.9
|
||||||
|
- Acrobat Reader 7.0.1
|
||||||
|
- DejaVu Libre 3.5.14
|
||||||
|
- Flash Player 7.0
|
||||||
|
- Flash Player 9.0b2
|
||||||
|
- Linux J2K 0.0.2
|
||||||
|
- Mplayerplug-in 2.80
|
||||||
|
- Mplayerplug-in 3.25
|
||||||
|
- Real Player 8.0
|
||||||
|
- Real Player 10.0.5
|
||||||
|
- Tcl plugin 3.1
|
||||||
|
- Squeak VM plugin 3.7
|
||||||
|
|
||||||
|
Broken or partially working:
|
||||||
|
- Real Player 8.0
|
||||||
|
- Adobe SVG 3.01x88
|
||||||
|
|
||||||
|
|
||||||
|
History
|
||||||
|
-------
|
||||||
|
|
||||||
|
Please consult the file "NEWS" for the release history.
|
||||||
|
An auto-generated "ChangeLog" is also available in this distribution.
|
||||||
|
|
||||||
|
|
||||||
|
Author
|
||||||
|
------
|
||||||
|
|
||||||
|
Gwenole Beauchesne,
|
||||||
|
<gb.public@free.fr>
|
|
@ -0,0 +1,15 @@
|
||||||
|
- Clean-ups
|
||||||
|
* Re-indent -gnu -br -brs
|
||||||
|
* Better split for RPC / NAPI level routines
|
||||||
|
* Empty communication stream on RPC error so that next request can work
|
||||||
|
- Write the testsuite
|
||||||
|
* RPC tests, basic types
|
||||||
|
* RPC tests, NPAPI types (including NPVariant)
|
||||||
|
* NPAPI plugins (compliance checks, error recovery, async requests)
|
||||||
|
- XPCOM support
|
||||||
|
* Parse XPT files?
|
||||||
|
* Mix native / marshaled components?
|
||||||
|
- Windows plugins support
|
||||||
|
* Import minimal GLib functions (hashes, etc.)
|
||||||
|
* Split toolkit specific code (npviewer-{x11,gtk,win}.c)
|
||||||
|
* Use winelib + override win32 socket to support AF_UNIX (Linux "native")
|
|
@ -0,0 +1,602 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# nspluginwrapper configure script (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
# derived from qemu configure script, (C) 2003 Fabrice Bellard
|
||||||
|
#
|
||||||
|
PACKAGE=nspluginwrapper
|
||||||
|
|
||||||
|
# set temporary file name
|
||||||
|
if test ! -z "$TMPDIR" ; then
|
||||||
|
TMPDIR1="${TMPDIR}"
|
||||||
|
elif test ! -z "$TEMPDIR" ; then
|
||||||
|
TMPDIR1="${TEMPDIR}"
|
||||||
|
else
|
||||||
|
TMPDIR1="/tmp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMPC="${TMPDIR1}/npw-conf-${RANDOM}-$$-${RANDOM}.c"
|
||||||
|
TMPO="${TMPDIR1}/npw-conf-${RANDOM}-$$-${RANDOM}.o"
|
||||||
|
TMPE="${TMPDIR1}/npw-conf-${RANDOM}-$$-${RANDOM}"
|
||||||
|
TMPS="${TMPDIR1}/npw-conf-${RANDOM}-$$-${RANDOM}.S"
|
||||||
|
|
||||||
|
# default parameters
|
||||||
|
prefix="/usr"
|
||||||
|
lib32=""
|
||||||
|
lib64=""
|
||||||
|
biarch="guess"
|
||||||
|
build_viewer="guess"
|
||||||
|
cc="gcc -std=c99"
|
||||||
|
cxx="g++"
|
||||||
|
host_os=`uname -s | tr '[A-Z]' '[a-z]'`
|
||||||
|
host_cpu=`uname -m`
|
||||||
|
target_os="linux"
|
||||||
|
target_cpu="i386"
|
||||||
|
case "$host_cpu" in
|
||||||
|
i386|i486|i586|i686|i86pc|BePC)
|
||||||
|
host_cpu="i386"
|
||||||
|
;;
|
||||||
|
ia64)
|
||||||
|
host_cpu="ia64"
|
||||||
|
;;
|
||||||
|
"Power Macintosh"|ppc)
|
||||||
|
host_cpu="ppc"
|
||||||
|
;;
|
||||||
|
ppc64)
|
||||||
|
host_cpu="ppc64"
|
||||||
|
;;
|
||||||
|
sparc)
|
||||||
|
host_cpu="sparc"
|
||||||
|
;;
|
||||||
|
sparc64)
|
||||||
|
host_cpu="sparc64"
|
||||||
|
;;
|
||||||
|
x86_64|amd64)
|
||||||
|
host_cpu="x86_64"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
host_cpu="unknown"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
bigendian="no"
|
||||||
|
|
||||||
|
# find source path
|
||||||
|
# XXX: we assume an absolute path is given when launching configure,
|
||||||
|
# except in './configure' case.
|
||||||
|
source_path=${0%configure}
|
||||||
|
source_path=${source_path%/}
|
||||||
|
source_path_used="yes"
|
||||||
|
if test -z "$source_path" -o "$source_path" = "." ; then
|
||||||
|
source_path=`pwd`
|
||||||
|
source_path_used="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for opt do
|
||||||
|
case "$opt" in
|
||||||
|
--prefix=*)
|
||||||
|
prefix=`echo $opt | cut -d '=' -f 2`
|
||||||
|
;;
|
||||||
|
--pkglibdir=*)
|
||||||
|
pkglibdir=`echo $opt | cut -d '=' -f 2`
|
||||||
|
;;
|
||||||
|
--target-os=*)
|
||||||
|
target_os=`echo $opt | cut -d '=' -f 2 | tr '[A-Z]' '[a-z]'`
|
||||||
|
;;
|
||||||
|
--target-cpu=*)
|
||||||
|
target_cpu=`echo $opt | cut -d '=' -f 2 | sed -e 's/^i.86$/i386/'`
|
||||||
|
;;
|
||||||
|
--with-biarch)
|
||||||
|
biarch="yes"
|
||||||
|
;;
|
||||||
|
--without-biarch)
|
||||||
|
biarch="no"
|
||||||
|
;;
|
||||||
|
--with-viewer)
|
||||||
|
build_viewer="yes"
|
||||||
|
;;
|
||||||
|
--without-viewer)
|
||||||
|
build_viewer="no"
|
||||||
|
;;
|
||||||
|
--with-lib32=*)
|
||||||
|
lib32=`echo $opt | cut -d '=' -f 2`
|
||||||
|
;;
|
||||||
|
--with-lib64=*)
|
||||||
|
lib64=`echo $opt | cut -d '=' -f 2`
|
||||||
|
;;
|
||||||
|
--with-cc=*)
|
||||||
|
cc=`echo $opt | cut -d '=' -f 2`
|
||||||
|
;;
|
||||||
|
--with-cxx=*)
|
||||||
|
cxx=`echo $opt | cut -d '=' -f 2`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# check for biarch build
|
||||||
|
if test "$biarch" = "guess"; then
|
||||||
|
case $host_cpu:$target_cpu in
|
||||||
|
x86_64:i386 | ppc64:ppc)
|
||||||
|
biarch="yes"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
biarch="no"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for viewer builds
|
||||||
|
if test "$build_viewer" = "guess"; then
|
||||||
|
build_viewer="no"
|
||||||
|
case $host_os in
|
||||||
|
linux)
|
||||||
|
if test "$host_cpu" = "$target_cpu" -o "$biarch" = "yes"; then
|
||||||
|
build_viewer="yes"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for libdir name
|
||||||
|
if test -z "$lib64"; then
|
||||||
|
case $host_os in
|
||||||
|
linux)
|
||||||
|
# test if the compiler is 64bit
|
||||||
|
echo 'int i;' > $TMPC
|
||||||
|
nspluginwrapper_64bit_output=no
|
||||||
|
if $cc -o $TMPO -c $TMPC; then
|
||||||
|
case `/usr/bin/file $TMPO` in
|
||||||
|
*"ELF 64"*)
|
||||||
|
nspluginwrapper_64bit_output=yes
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
rm -f $TMPC $TMPO
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
case $host_cpu:$nspluginwrapper_64bit_output in
|
||||||
|
ppc64:yes | s390x:yes | sparc64:yes | x86_64:yes)
|
||||||
|
lib64="lib64"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
lib64="lib"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if test -z "$lib32"; then
|
||||||
|
lib32="lib"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for installation root
|
||||||
|
if test -z "$pkglibdir"; then
|
||||||
|
pkglibdir="$prefix/lib/$PACKAGE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for __attribute__((visibility())) support
|
||||||
|
cat > $TMPC << EOF
|
||||||
|
int foo __attribute__((visibility("hidden"))) = 1;
|
||||||
|
int bar __attribute__((visibility("protected"))) = 1;
|
||||||
|
EOF
|
||||||
|
has_visibility_attribute=no
|
||||||
|
if $cc -Werror -S $TMPC -o $TMPS >/dev/null 2>&1; then
|
||||||
|
if grep '\.hidden.*foo' $TMPS >/dev/null; then
|
||||||
|
if grep '\.protected.*bar' $TMPS >/dev/null; then
|
||||||
|
has_visibility_attribute=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f $TMPC $TMPS
|
||||||
|
|
||||||
|
# check for .init_array/.fini_array support
|
||||||
|
cat > $TMPC << EOF
|
||||||
|
static int x = -1;
|
||||||
|
int main(void) { return x; }
|
||||||
|
int foo(void) { x = 0; }
|
||||||
|
int (*fp)(void) __attribute__((section(".init_array"))) = foo;
|
||||||
|
EOF
|
||||||
|
has_initfini_array=no
|
||||||
|
if $cc -Werror $TMPC -o $TMPE >/dev/null 2>&1; then
|
||||||
|
if $TMPE; then
|
||||||
|
has_initfini_array=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f $TMPC $TMPE
|
||||||
|
|
||||||
|
# check for compiler flag
|
||||||
|
check_cc_option() {
|
||||||
|
echo "int i;" > $TMPC
|
||||||
|
if $cc $* -c $TMPC -o $TMPO > /dev/null 2>&1; then
|
||||||
|
rm -f $TMPC $TMPO
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
rm -f $TMPC
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# check for CFLAGS
|
||||||
|
if test -z "$CFLAGS"; then
|
||||||
|
CFLAGS="-O2 -g"
|
||||||
|
if check_cc_option -mtune=generic $CFLAGS; then
|
||||||
|
CFLAGS="$CFLAGS -mtune=generic"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "$biarch" = "yes" -a -z "$CFLAGS_32"; then
|
||||||
|
CFLAGS_32="-m32 -O2 -g"
|
||||||
|
if check_cc_option -mtune=generic $CFLAGS_32; then
|
||||||
|
CFLAGS_32="$CFLAGS_32 -mtune=generic"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for pkg-config
|
||||||
|
pkgconfig=`which pkg-config`
|
||||||
|
if test -z "$pkgconfig"; then
|
||||||
|
echo "pkg-config not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for Glib 2.0 compile CFLAGS
|
||||||
|
if $pkgconfig --exists glib-2.0; then
|
||||||
|
GLIB_CFLAGS=`$pkgconfig --cflags glib-2.0`
|
||||||
|
GLIB_LDFLAGS=`$pkgconfig --libs glib-2.0`
|
||||||
|
else
|
||||||
|
echo "GLIB 2.0 environment not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cat > $TMPC << EOF
|
||||||
|
#include <glib.h>
|
||||||
|
int main(void) {
|
||||||
|
(void) g_main_pending();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if ! $cc $CFLAGS $GLIB_CFLAGS $GLIB_LDFLAGS $TMPC -o $TMPE > /dev/null 2>&1; then
|
||||||
|
echo "GLIB 2.0 environment not usable"
|
||||||
|
rm -f $TMPC
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
rm -f $TMPC $TMPE
|
||||||
|
|
||||||
|
# check for GTK+ 2.0 compile CFLAGS
|
||||||
|
if $pkgconfig --exists gtk+-2.0; then
|
||||||
|
GTK_CFLAGS=`$pkgconfig --cflags gtk+-2.0`
|
||||||
|
GTK_LDFLAGS=`$pkgconfig --libs gtk+-2.0`
|
||||||
|
else
|
||||||
|
echo "GTK+ 2.0 environment not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cat > $TMPC << EOF
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
int main(void) {
|
||||||
|
gtk_main_quit();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
if ! $cc $CFLAGS $GTK_CFLAGS $GTK_LDFLAGS $TMPC -o $TMPE > /dev/null 2>&1; then
|
||||||
|
echo "GTK+ 2.0 environment not usable"
|
||||||
|
rm -f $TMPC
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
rm -f $TMPC $TMPE
|
||||||
|
|
||||||
|
# check for X11 base dir
|
||||||
|
x_base_dirs='
|
||||||
|
/usr
|
||||||
|
/usr/X11R6
|
||||||
|
/usr/local/X11R6'
|
||||||
|
for dir in $x_base_dirs; do
|
||||||
|
x_include_dir="$dir/include"
|
||||||
|
if test -f $x_include_dir/X11/Intrinsic.h; then
|
||||||
|
x_lib_dir="$dir/$lib64"
|
||||||
|
if test -f $x_lib_dir/libX11.so; then
|
||||||
|
x_base_dir=$dir
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test -z "$x_base_dir"; then
|
||||||
|
echo "X11 environment not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# big/little endian test
|
||||||
|
cat > $TMPC << EOF
|
||||||
|
#include <inttypes.h>
|
||||||
|
int main(int argc, char ** argv){
|
||||||
|
volatile uint32_t i=0x01234567;
|
||||||
|
return (*((uint8_t*)(&i))) == 0x67;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if $cc -o $TMPE $TMPC 2>/dev/null ; then
|
||||||
|
$TMPE && bigendian="yes"
|
||||||
|
else
|
||||||
|
echo "big/little test failed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f $TMPO $TMPC $TMPE $TMPS
|
||||||
|
|
||||||
|
# floating point endian test
|
||||||
|
cat > $TMPC << EOF
|
||||||
|
/* This will not work unless sizeof(double) == 8. */
|
||||||
|
extern char sizeof_double_must_be_8 [sizeof(double) == 8 ? 1 : -1];
|
||||||
|
|
||||||
|
/* This structure must have no internal padding. */
|
||||||
|
struct possibility {
|
||||||
|
char prefix[8];
|
||||||
|
double candidate;
|
||||||
|
char postfix[8];
|
||||||
|
};
|
||||||
|
|
||||||
|
#define C(cand) { "\nformat:", cand, ":tamrof\n" }
|
||||||
|
struct possibility table [] =
|
||||||
|
{
|
||||||
|
C( 3.25724264705901305206e+01), /* @@IEEEFP - IEEE 754 */
|
||||||
|
C( 3.53802595280598432000e+18), /* D__float - VAX */
|
||||||
|
C( 5.32201830133125317057e-19), /* D.PDP-10 - PDP-10 - the dot is 0x13a */
|
||||||
|
C( 1.77977764695171661377e+10), /* IBMHEXFP - s/390 format, ascii */
|
||||||
|
C(-5.22995989424860458374e+10) /* IBMHEXFP - s/390 format, EBCDIC */
|
||||||
|
};
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if $cc -o $TMPO -c $TMPC 2>/dev/null; then
|
||||||
|
od -c $TMPO |
|
||||||
|
sed 's/^[0-7]*[ ]*/ /
|
||||||
|
s/\*/./g
|
||||||
|
s/ \\n/*/g
|
||||||
|
s/ [0-9][0-9][0-9]/./g
|
||||||
|
s/ \\[^ ]/./g' |
|
||||||
|
tr -d '
|
||||||
|
' | tr -s '*' '
|
||||||
|
' | fold | sed '$a\
|
||||||
|
' > $TMPE
|
||||||
|
|
||||||
|
if grep 'format:.@IEEEF.:tamrof' $TMPE >/dev/null 2>&1; then
|
||||||
|
float_format='IEEE (big-endian)'
|
||||||
|
elif grep 'format:.I@@PFE.:tamrof' $TMPE >/dev/null 2>&1; then
|
||||||
|
float_format='IEEE (big-endian)'
|
||||||
|
elif grep 'format:.FEEEI@.:tamrof' $TMPE >/dev/null 2>&1; then
|
||||||
|
float_format='IEEE (little-endian)'
|
||||||
|
elif grep 'format:.EFP@@I.:tamrof' $TMPE >/dev/null 2>&1; then
|
||||||
|
float_format='IEEE (little-endian)'
|
||||||
|
elif grep 'format:.__floa.:tamrof' $TMPE >/dev/null 2>&1; then
|
||||||
|
float_format='VAX D-float'
|
||||||
|
elif grep 'format:..PDP-1.:tamrof' $TMPE >/dev/null 2>&1; then
|
||||||
|
float_format='PDP-10'
|
||||||
|
elif grep 'format:.BMHEXF.:tamrof' $TMPE >/dev/null 2>&1; then
|
||||||
|
float_format='IBM 370 hex'
|
||||||
|
else
|
||||||
|
echo "unknown floating point format"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
fbigendian=
|
||||||
|
case $float_format in
|
||||||
|
'IEEE (big-endian)')
|
||||||
|
if test "$bigendian" = "no"; then
|
||||||
|
fbigendian=1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
'IEEE (little-endian)')
|
||||||
|
if test "$bigendian" = "yes"; then
|
||||||
|
fbigendian=0
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "unsupported floating point format $float_format"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
echo "floating point endian test failed"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f $TMPO $TMPC $TMPE
|
||||||
|
|
||||||
|
# print configure help
|
||||||
|
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
|
||||||
|
cat << EOF
|
||||||
|
|
||||||
|
Usage: configure [options]
|
||||||
|
Options: [defaults in brackets after descriptions]
|
||||||
|
|
||||||
|
EOF
|
||||||
|
echo "Standard options:"
|
||||||
|
echo " --help print this message"
|
||||||
|
echo " --prefix=PREFIX install in PREFIX [$prefix]"
|
||||||
|
echo " --pkglibdir=ROOT install private files in ROOT [$pkglibdir]"
|
||||||
|
echo " --target-os=OS build plugin support for target OS [$target_os]"
|
||||||
|
echo " --target-cpu=CPU build plugin support for target CPU [$target_cpu]"
|
||||||
|
echo " --with-viewer build viewer [$build_viewer]"
|
||||||
|
echo ""
|
||||||
|
echo "Advanced options (experts only):"
|
||||||
|
echo " --source-path=PATH path of source code [$source_path]"
|
||||||
|
echo " --with-lib32=NAME use NAME as the 32-bit library dir name [$lib32]"
|
||||||
|
echo " --with-lib64=NAME use NAME as the 64-bit library dir name [$lib64]"
|
||||||
|
echo " --with-biarch build both 32-bit and 64-bit components at once"
|
||||||
|
echo " --with-cc=CC use C compiler CC [$cc]"
|
||||||
|
echo " --with-cxx=CXX use C++ compiler CXX [$cxx]"
|
||||||
|
echo ""
|
||||||
|
echo "NOTE: The object files are built at the place where configure is launched"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Install prefix $prefix"
|
||||||
|
echo "nspluginwrapper root dir $pkglibdir"
|
||||||
|
echo "Bi-arch build $biarch"
|
||||||
|
echo "Build viewer $build_viewer"
|
||||||
|
echo "32-bit library dir name $lib32"
|
||||||
|
echo "64-bit library dir name $lib64"
|
||||||
|
echo "Source path $source_path"
|
||||||
|
echo "C compiler $cc"
|
||||||
|
echo "C++ compiler $cxx"
|
||||||
|
echo "host OS $host_os"
|
||||||
|
echo "host CPU $host_cpu"
|
||||||
|
echo "host big endian $bigendian"
|
||||||
|
echo "target OS $target_os"
|
||||||
|
echo "target CPU $target_cpu"
|
||||||
|
|
||||||
|
config_mak="config-host.mak"
|
||||||
|
echo "# Automatically generated by configure - do not modify" > $config_mak
|
||||||
|
|
||||||
|
config_h="config-host.h"
|
||||||
|
echo "/* Automatically generated by configure - do not modify */" > $config_h
|
||||||
|
|
||||||
|
echo "CC=$cc" >> $config_mak
|
||||||
|
echo "CXX=$cxx" >> $config_mak
|
||||||
|
echo "CFLAGS=$CFLAGS" >> $config_mak
|
||||||
|
echo "GLIB_CFLAGS=$GLIB_CFLAGS" >> $config_mak
|
||||||
|
echo "GLIB_LDFLAGS=$GLIB_LDFLAGS" >> $config_mak
|
||||||
|
echo "GTK_CFLAGS=$GTK_CFLAGS" >> $config_mak
|
||||||
|
echo "GTK_LDFLAGS=$GTK_LDFLAGS" >> $config_mak
|
||||||
|
if test "$biarch" = "yes"; then
|
||||||
|
echo "LDFLAGS_32=-m32" >> $config_mak
|
||||||
|
echo "CFLAGS_32=$CFLAGS_32" >> $config_mak
|
||||||
|
else
|
||||||
|
echo 'CFLAGS_32=$(CFLAGS)' >> $config_mak
|
||||||
|
fi
|
||||||
|
if test "$host_os" = "linux"; then
|
||||||
|
echo "OS=linux" >> $config_mak
|
||||||
|
echo "#define HOST_LINUX 1" >> $config_h
|
||||||
|
echo "#define HOST_OS \"linux\"" >> $config_h
|
||||||
|
elif test "$host_os" = "freebsd"; then
|
||||||
|
echo "OS=freebsd" >> $config_mak
|
||||||
|
echo "#define HOST_FREEBSD 1" >> $config_h
|
||||||
|
echo "#define HOST_OS \"freebsd\"" >> $config_h
|
||||||
|
elif test "$host_os" = "netbsd"; then
|
||||||
|
echo "OS=netbsd" >> $config_mak
|
||||||
|
echo "#define HOST_NETBSD 1" >> $config_h
|
||||||
|
echo "#define HOST_OS \"netbsd\"" >> $config_h
|
||||||
|
else
|
||||||
|
echo "Unsupported OS"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if test "$host_cpu" = "i386" ; then
|
||||||
|
echo "ARCH=i386" >> $config_mak
|
||||||
|
echo "#define HOST_I386 1" >> $config_h
|
||||||
|
echo "#define HOST_ARCH \"i386\"" >> $config_h
|
||||||
|
elif test "$host_cpu" = "x86_64" ; then
|
||||||
|
echo "ARCH=x86_64" >> $config_mak
|
||||||
|
echo "#define HOST_X86_64 1" >> $config_h
|
||||||
|
echo "#define HOST_ARCH \"x86_64\"" >> $config_h
|
||||||
|
elif test "$host_cpu" = "ppc" ; then
|
||||||
|
echo "ARCH=ppc" >> $config_mak
|
||||||
|
echo "#define HOST_PPC 1" >> $config_h
|
||||||
|
echo "#define HOST_ARCH \"ppc\"" >> $config_h
|
||||||
|
elif test "$host_cpu" = "ppc64" ; then
|
||||||
|
echo "ARCH=ppc64" >> $config_mak
|
||||||
|
echo "#define HOST_PPC64 1" >> $config_h
|
||||||
|
echo "#define HOST_ARCH \"ppc64\"" >> $config_h
|
||||||
|
elif test "$host_cpu" = "sparc" ; then
|
||||||
|
echo "ARCH=sparc" >> $config_mak
|
||||||
|
echo "#define HOST_SPARC 1" >> $config_h
|
||||||
|
echo "#define HOST_ARCH \"sparc\"" >> $config_h
|
||||||
|
elif test "$host_cpu" = "sparc64" ; then
|
||||||
|
echo "ARCH=sparc64" >> $config_mak
|
||||||
|
echo "#define HOST_SPARC64 1" >> $config_h
|
||||||
|
echo "#define HOST_ARCH \"sparc64\"" >> $config_h
|
||||||
|
elif test "$host_cpu" = "ia64" ; then
|
||||||
|
echo "ARCH=ia64" >> $config_mak
|
||||||
|
echo "#define HOST_IA64 1" >> $config_h
|
||||||
|
echo "#define HOST_ARCH \"ia64\"" >> $config_h
|
||||||
|
else
|
||||||
|
echo "Unsupported CPU"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if test "$bigendian" = "yes" ; then
|
||||||
|
echo "WORDS_BIGENDIAN=yes" >> $config_mak
|
||||||
|
echo "#define WORDS_BIGENDIAN 1" >> $config_h
|
||||||
|
fi
|
||||||
|
if test -n "$fbigendian" ; then
|
||||||
|
echo "#define FLOAT_WORDS_BIGENDIAN $fbigendian" >> $config_h
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "SRC_PATH=$source_path" >> $config_mak
|
||||||
|
echo "build_viewer=$build_viewer" >> $config_mak
|
||||||
|
echo "biarch=$biarch" >> $config_mak
|
||||||
|
echo "lib32=$lib32" >> $config_mak
|
||||||
|
echo "lib64=$lib64" >> $config_mak
|
||||||
|
echo "prefix=$prefix" >> $config_mak
|
||||||
|
echo "bindir=$prefix/bin" >> $config_mak
|
||||||
|
libdir="$prefix/$lib64"
|
||||||
|
echo "libdir=$libdir" >> $config_mak
|
||||||
|
echo "#define LIB \"$lib64\"" >> $config_h
|
||||||
|
echo "#define LIBDIR \"$libdir\"" >> $config_h
|
||||||
|
echo "x11prefix=$x_base_dir" >> $config_mak
|
||||||
|
|
||||||
|
VERSION=`sed < $source_path/$PACKAGE.spec -n '/^\%define version[ ]*/s///p'`
|
||||||
|
RELEASE=`sed < $source_path/$PACKAGE.spec -n '/^\%define release[ ]*/s///p'`
|
||||||
|
SVNDATE=`sed < $source_path/$PACKAGE.spec -n '/^\%define svndate[ ]*/s///p'`
|
||||||
|
if test -z "$SVNDATE"; then
|
||||||
|
SVNDATE=`date '+%Y%m%d'`
|
||||||
|
fi
|
||||||
|
SNAPSHOT=0
|
||||||
|
if echo "$RELEASE" | grep -q ^0; then
|
||||||
|
SNAPSHOT=1
|
||||||
|
fi
|
||||||
|
echo "VERSION=$VERSION" >> $config_mak
|
||||||
|
echo "SVNDATE=$SVNDATE" >> $config_mak
|
||||||
|
echo "SNAPSHOT=$SNAPSHOT" >> $config_mak
|
||||||
|
echo "#define NPW_SNAPSHOT $SNAPSHOT" >> $config_h
|
||||||
|
if test "$SNAPSHOT" = "1"; then
|
||||||
|
echo "#define NPW_VERSION \"$VERSION-Pre ($SVNDATE)\"" >> $config_h
|
||||||
|
else
|
||||||
|
echo "#define NPW_VERSION \"$VERSION\"" >> $config_h
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "pkglibdir=$pkglibdir" >> $config_mak
|
||||||
|
echo "#define NPW_LIBDIR \"$pkglibdir\"" >> $config_h
|
||||||
|
|
||||||
|
if test "$has_visibility_attribute" = "yes"; then
|
||||||
|
echo "#define attribute_hidden __attribute__((visibility(\"hidden\")))" >> $config_h
|
||||||
|
echo "#define attribute_protected __attribute__((visibility(\"protected\")))" >> $config_h
|
||||||
|
else
|
||||||
|
echo "#define attribute_hidden" >> $config_h
|
||||||
|
echo "#define attribute_protected" >> $config_h
|
||||||
|
fi
|
||||||
|
if test "$has_initfini_array" = "yes"; then
|
||||||
|
echo "#define HAVE_INITFINI_ARRAY 1" >> $config_h
|
||||||
|
else
|
||||||
|
echo "#undef HAVE_INITFINI_ARRAY" >> $config_h
|
||||||
|
fi
|
||||||
|
|
||||||
|
config_mak="config.mak"
|
||||||
|
echo "# Automatically generated by configure - do not modify" > $config_mak
|
||||||
|
echo "include config-host.mak" >> $config_mak
|
||||||
|
|
||||||
|
config_h="config.h"
|
||||||
|
echo "/* Automatically generated by configure - do not modify */" > $config_h
|
||||||
|
echo "#include \"config-host.h\"" >> $config_h
|
||||||
|
|
||||||
|
if test "$target_os" = "linux"; then
|
||||||
|
echo "TARGET_OS=linux" >> $config_mak
|
||||||
|
echo "#define TARGET_OS \"linux\"" >> $config_h
|
||||||
|
echo "#define TARGET_LINUX 1" >> $config_h
|
||||||
|
elif test "$target_os" = "solaris"; then
|
||||||
|
echo "TARGET_OS=solaris" >> $config_mak
|
||||||
|
echo "#define TARGET_OS \"solaris\"" >> $config_h
|
||||||
|
echo "#define TARGET_SOLARIS 1" >> $config_h
|
||||||
|
else
|
||||||
|
echo "Unsupported target OS"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$target_cpu" = "i386" ; then
|
||||||
|
echo "TARGET_ARCH=i386" >> $config_mak
|
||||||
|
echo "#define TARGET_ARCH \"i386\"" >> $config_h
|
||||||
|
echo "#define TARGET_I386 1" >> $config_h
|
||||||
|
elif test "$target_cpu" = "ppc" ; then
|
||||||
|
echo "TARGET_ARCH=ppc" >> $config_mak
|
||||||
|
echo "#define TARGET_ARCH \"ppc\"" >> $config_h
|
||||||
|
echo "#define TARGET_PPC 1" >> $config_h
|
||||||
|
else
|
||||||
|
echo "Unsupported target CPU"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# build tree in object directory if source path is different from current one
|
||||||
|
if test "$source_path_used" = "yes" ; then
|
||||||
|
case $source_path in
|
||||||
|
..*)
|
||||||
|
sp1=..
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
ln -sf $source_path/Makefile Makefile
|
||||||
|
fi
|
|
@ -0,0 +1,39 @@
|
||||||
|
#ifndef _ATK_1_0_ATK_ATK_ENUM_TYPES_H_
|
||||||
|
#define _ATK_1_0_ATK_ATK_ENUM_TYPES_H_
|
||||||
|
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
#include <glib-2.0/glib-object.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define ATK_TYPE_HYPERLINK_STATE_FLAGS \
|
||||||
|
(atk_hyperlink_state_flags_get_type())
|
||||||
|
#define ATK_TYPE_COORD_TYPE (atk_coord_type_get_type())
|
||||||
|
#define ATK_TYPE_KEY_EVENT_TYPE (atk_key_event_type_get_type())
|
||||||
|
#define ATK_TYPE_LAYER (atk_layer_get_type())
|
||||||
|
#define ATK_TYPE_RELATION_TYPE (atk_relation_type_get_type())
|
||||||
|
#define ATK_TYPE_ROLE (atk_role_get_type())
|
||||||
|
#define ATK_TYPE_STATE_TYPE (atk_state_type_get_type())
|
||||||
|
#define ATK_TYPE_TEXT_ATTRIBUTE (atk_text_attribute_get_type())
|
||||||
|
#define ATK_TYPE_TEXT_BOUNDARY (atk_text_boundary_get_type())
|
||||||
|
#define ATK_TYPE_TEXT_CLIP_TYPE (atk_text_clip_type_get_type())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern GType atk_state_type_get_type(void);
|
||||||
|
extern GType atk_role_get_type(void);
|
||||||
|
extern GType atk_text_boundary_get_type(void);
|
||||||
|
extern GType atk_relation_type_get_type(void);
|
||||||
|
extern GType atk_layer_get_type(void);
|
||||||
|
extern GType atk_hyperlink_state_flags_get_type(void);
|
||||||
|
extern GType atk_text_clip_type_get_type(void);
|
||||||
|
extern GType atk_key_event_type_get_type(void);
|
||||||
|
extern GType atk_coord_type_get_type(void);
|
||||||
|
extern GType atk_text_attribute_get_type(void);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,16 @@
|
||||||
|
dlfcn.h
|
||||||
|
errno.h
|
||||||
|
fcntl.h
|
||||||
|
limits.h
|
||||||
|
stddef.h
|
||||||
|
stdio.h
|
||||||
|
stdlib.h
|
||||||
|
string.h
|
||||||
|
sys/resource.h
|
||||||
|
sys/select.h
|
||||||
|
sys/time.h
|
||||||
|
sys/types.h
|
||||||
|
sys/wait.h
|
||||||
|
time.h
|
||||||
|
unistd.h
|
||||||
|
wctype.h
|
|
@ -0,0 +1,24 @@
|
||||||
|
fontconfig/fontconfig.h
|
||||||
|
fontconfig/fcfreetype.h
|
||||||
|
fontconfig/fcprivate.h
|
||||||
|
glib-2.0/glib.h
|
||||||
|
glib-2.0/glib/gprintf.h
|
||||||
|
glib-2.0/glib/gstdio.h
|
||||||
|
glib-2.0/glib-object.h
|
||||||
|
glib-2.0/gobject/gvaluecollector.h
|
||||||
|
glib-2.0/gmodule.h
|
||||||
|
atk-1.0/atk/atk.h
|
||||||
|
atk-1.0/atk/atk-enum-types.h
|
||||||
|
pango-1.0/pango/pango.h
|
||||||
|
pango-1.0/pango/pango-utils.h
|
||||||
|
pango-1.0/pango/pangoxft.h
|
||||||
|
pango-1.0/pango/pangoft2.h
|
||||||
|
pango-1.0/pango/pangofc-decoder.h
|
||||||
|
pango-1.0/pango/pangofc-fontmap.h
|
||||||
|
gtk-2.0/gdk-pixbuf/gdk-pixbuf.h
|
||||||
|
gtk-2.0/gdk-pixbuf/gdk-pixdata.h
|
||||||
|
gtk-2.0/gdk-pixbuf-xlib/gdk-pixbuf-xlib.h
|
||||||
|
gtk-2.0/gdk/gdk.h
|
||||||
|
gtk-2.0/gdk/gdkkeysyms.h
|
||||||
|
gtk-2.0/gdk/gdkx.h
|
||||||
|
gtk-2.0/gtk/gtk.h
|
|
@ -0,0 +1,33 @@
|
||||||
|
#ifndef _DLFCN_H_
|
||||||
|
#define _DLFCN_H_
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define RTLD_NEXT ((void *) -1l)
|
||||||
|
#define RTLD_LOCAL 0
|
||||||
|
#define RTLD_LAZY 0x00001
|
||||||
|
#define RTLD_NOW 0x00002
|
||||||
|
#define RTLD_GLOBAL 0x00100
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
char *dli_fname;
|
||||||
|
void *dli_fbase;
|
||||||
|
char *dli_sname;
|
||||||
|
void *dli_saddr;
|
||||||
|
} Dl_info;
|
||||||
|
|
||||||
|
|
||||||
|
extern int dladdr(const void *, Dl_info *);
|
||||||
|
extern int dlclose(void *);
|
||||||
|
extern char *dlerror(void);
|
||||||
|
extern void *dlopen(const char *, int);
|
||||||
|
extern void *dlsym(void *, const char *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,163 @@
|
||||||
|
#ifndef _ERRNO_H_
|
||||||
|
#define _ERRNO_H_
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define errno (*__errno_location())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* errno values*/
|
||||||
|
#define EPERM 1
|
||||||
|
#define ECHILD 10
|
||||||
|
#define ENETDOWN 100
|
||||||
|
#define ENETUNREACH 101
|
||||||
|
#define ENETRESET 102
|
||||||
|
#define ECONNABORTED 103
|
||||||
|
#define ECONNRESET 104
|
||||||
|
#define ENOBUFS 105
|
||||||
|
#define EISCONN 106
|
||||||
|
#define ENOTCONN 107
|
||||||
|
#define ESHUTDOWN 108
|
||||||
|
#define ETOOMANYREFS 109
|
||||||
|
#define EAGAIN 11
|
||||||
|
#define ETIMEDOUT 110
|
||||||
|
#define ECONNREFUSED 111
|
||||||
|
#define EHOSTDOWN 112
|
||||||
|
#define EHOSTUNREACH 113
|
||||||
|
#define EALREADY 114
|
||||||
|
#define EINPROGRESS 115
|
||||||
|
#define ESTALE 116
|
||||||
|
#define EUCLEAN 117
|
||||||
|
#define ENOTNAM 118
|
||||||
|
#define ENAVAIL 119
|
||||||
|
#define ENOMEM 12
|
||||||
|
#define EISNAM 120
|
||||||
|
#define EREMOTEIO 121
|
||||||
|
#define EDQUOT 122
|
||||||
|
#define ENOMEDIUM 123
|
||||||
|
#define EMEDIUMTYPE 124
|
||||||
|
#define ECANCELED 125
|
||||||
|
#define EACCES 13
|
||||||
|
#define EFAULT 14
|
||||||
|
#define ENOTBLK 15
|
||||||
|
#define EBUSY 16
|
||||||
|
#define EEXIST 17
|
||||||
|
#define EXDEV 18
|
||||||
|
#define ENODEV 19
|
||||||
|
#define ENOENT 2
|
||||||
|
#define ENOTDIR 20
|
||||||
|
#define EISDIR 21
|
||||||
|
#define EINVAL 22
|
||||||
|
#define ENFILE 23
|
||||||
|
#define EMFILE 24
|
||||||
|
#define ENOTTY 25
|
||||||
|
#define ETXTBSY 26
|
||||||
|
#define EFBIG 27
|
||||||
|
#define ENOSPC 28
|
||||||
|
#define ESPIPE 29
|
||||||
|
#define ESRCH 3
|
||||||
|
#define EROFS 30
|
||||||
|
#define EMLINK 31
|
||||||
|
#define EPIPE 32
|
||||||
|
#define EDOM 33
|
||||||
|
#define ERANGE 34
|
||||||
|
#define EDEADLK 35
|
||||||
|
#if __s390x__
|
||||||
|
#define EDEADLOCK 35
|
||||||
|
#endif
|
||||||
|
#define ENAMETOOLONG 36
|
||||||
|
#define ENOLCK 37
|
||||||
|
#define ENOSYS 38
|
||||||
|
#define ENOTEMPTY 39
|
||||||
|
#define EINTR 4
|
||||||
|
#define ELOOP 40
|
||||||
|
#define ENOMSG 42
|
||||||
|
#define EIDRM 43
|
||||||
|
#define ECHRNG 44
|
||||||
|
#define EL2NSYNC 45
|
||||||
|
#define EL3HLT 46
|
||||||
|
#define EL3RST 47
|
||||||
|
#define ELNRNG 48
|
||||||
|
#define EUNATCH 49
|
||||||
|
#define EIO 5
|
||||||
|
#define ENOANO 55
|
||||||
|
#define EBADRQC 56
|
||||||
|
#define EBADSLT 57
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define EDEADLOCK 58
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define EDEADLOCK 58
|
||||||
|
#endif
|
||||||
|
#define EBFONT 59
|
||||||
|
#define ENXIO 6
|
||||||
|
#define ENOSTR 60
|
||||||
|
#define ENODATA 61
|
||||||
|
#define ETIME 62
|
||||||
|
#define ENOSR 63
|
||||||
|
#define ENONET 64
|
||||||
|
#define ENOPKG 65
|
||||||
|
#define EREMOTE 66
|
||||||
|
#define ENOLINK 67
|
||||||
|
#define EADV 68
|
||||||
|
#define ESRMNT 69
|
||||||
|
#define E2BIG 7
|
||||||
|
#define ECOMM 70
|
||||||
|
#define EPROTO 71
|
||||||
|
#define EMULTIHOP 72
|
||||||
|
#define EDOTDOT 73
|
||||||
|
#define EBADMSG 74
|
||||||
|
#define EOVERFLOW 75
|
||||||
|
#define ENOTUNIQ 76
|
||||||
|
#define EBADFD 77
|
||||||
|
#define EREMCHG 78
|
||||||
|
#define ELIBACC 79
|
||||||
|
#define ENOEXEC 8
|
||||||
|
#define ELIBBAD 80
|
||||||
|
#define ELIBSCN 81
|
||||||
|
#define ELIBMAX 82
|
||||||
|
#define ELIBEXEC 83
|
||||||
|
#define EILSEQ 84
|
||||||
|
#define ERESTART 85
|
||||||
|
#define ESTRPIPE 86
|
||||||
|
#define EUSERS 87
|
||||||
|
#define ENOTSOCK 88
|
||||||
|
#define EDESTADDRREQ 89
|
||||||
|
#define EBADF 9
|
||||||
|
#define EMSGSIZE 90
|
||||||
|
#define EPROTOTYPE 91
|
||||||
|
#define ENOPROTOOPT 92
|
||||||
|
#define EPROTONOSUPPORT 93
|
||||||
|
#define ESOCKTNOSUPPORT 94
|
||||||
|
#define EOPNOTSUPP 95
|
||||||
|
#define EPFNOSUPPORT 96
|
||||||
|
#define EAFNOSUPPORT 97
|
||||||
|
#define EADDRINUSE 98
|
||||||
|
#define EADDRNOTAVAIL 99
|
||||||
|
#define EWOULDBLOCK EAGAIN
|
||||||
|
#if __i386__
|
||||||
|
#define EDEADLOCK EDEADLK
|
||||||
|
#endif
|
||||||
|
#if __ia64__
|
||||||
|
#define EDEADLOCK EDEADLK
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define EDEADLOCK EDEADLK
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define EDEADLOCK EDEADLK
|
||||||
|
#endif
|
||||||
|
#define ENOTSUP EOPNOTSUPP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern int *__errno_location(void);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,138 @@
|
||||||
|
#ifndef _FCNTL_H_
|
||||||
|
#define _FCNTL_H_
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define O_RDONLY 00
|
||||||
|
#define O_ACCMODE 0003
|
||||||
|
#define O_WRONLY 01
|
||||||
|
#define O_CREAT 0100
|
||||||
|
#define O_TRUNC 01000
|
||||||
|
#define O_SYNC 010000
|
||||||
|
#define O_RDWR 02
|
||||||
|
#define O_EXCL 0200
|
||||||
|
#define O_APPEND 02000
|
||||||
|
#define O_ASYNC 020000
|
||||||
|
#define O_NOCTTY 0400
|
||||||
|
#define O_NDELAY 04000
|
||||||
|
#define O_NONBLOCK 04000
|
||||||
|
#define FD_CLOEXEC 1
|
||||||
|
|
||||||
|
|
||||||
|
struct flock {
|
||||||
|
short l_type;
|
||||||
|
short l_whence;
|
||||||
|
off_t l_start;
|
||||||
|
off_t l_len;
|
||||||
|
pid_t l_pid;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct flock64 {
|
||||||
|
short l_type;
|
||||||
|
short l_whence;
|
||||||
|
loff_t l_start;
|
||||||
|
loff_t l_len;
|
||||||
|
pid_t l_pid;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* flags for open(2)*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* flags for access(2)*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Constants used for fcntl(2)*/
|
||||||
|
#define F_DUPFD 0
|
||||||
|
#define F_RDLCK 0
|
||||||
|
#define F_GETFD 1
|
||||||
|
#define F_WRLCK 1
|
||||||
|
#if __i386__
|
||||||
|
#define F_GETLK64 12
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define F_GETLK64 12
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define F_GETLK64 12
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define F_GETLK64 12
|
||||||
|
#endif
|
||||||
|
#if __i386__
|
||||||
|
#define F_SETLK64 13
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define F_SETLK64 13
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define F_SETLK64 13
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define F_SETLK64 13
|
||||||
|
#endif
|
||||||
|
#if __i386__
|
||||||
|
#define F_SETLKW64 14
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define F_SETLKW64 14
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define F_SETLKW64 14
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define F_SETLKW64 14
|
||||||
|
#endif
|
||||||
|
#define F_SETFD 2
|
||||||
|
#define F_UNLCK 2
|
||||||
|
#define F_GETFL 3
|
||||||
|
#define F_SETFL 4
|
||||||
|
#define F_GETLK 5
|
||||||
|
#if __ia64__
|
||||||
|
#define F_GETLK64 5
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define F_GETLK64 5
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define F_GETLK64 5
|
||||||
|
#endif
|
||||||
|
#define F_SETLK 6
|
||||||
|
#if __ia64__
|
||||||
|
#define F_SETLK64 6
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define F_SETLK64 6
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define F_SETLK64 6
|
||||||
|
#endif
|
||||||
|
#define F_SETLKW 7
|
||||||
|
#if __ia64__
|
||||||
|
#define F_SETLKW64 7
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define F_SETLKW64 7
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define F_SETLKW64 7
|
||||||
|
#endif
|
||||||
|
#define F_SETOWN 8
|
||||||
|
#define F_GETOWN 9
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern int lockf64(int, int, off64_t);
|
||||||
|
extern int fcntl(int, int, ...);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,25 @@
|
||||||
|
#ifndef _FONTCONFIG_FCFREETYPE_H_
|
||||||
|
#define _FONTCONFIG_FCFREETYPE_H_
|
||||||
|
|
||||||
|
#include <fontconfig/fontconfig.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern FcResult FcPatternGetFTFace(const FcPattern *, const char *,
|
||||||
|
int, FT_Face *);
|
||||||
|
extern FcBool FcPatternAddFTFace(FcPattern *, const char *,
|
||||||
|
const FT_Face);
|
||||||
|
extern FT_UInt FcFreeTypeCharIndex(FT_Face, FcChar32);
|
||||||
|
extern FcCharSet *FcFreeTypeCharSet(FT_Face, FcBlanks *);
|
||||||
|
extern FcCharSet *FcFreeTypeCharSetAndSpacing(FT_Face, FcBlanks *,
|
||||||
|
int *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,42 @@
|
||||||
|
#ifndef _FONTCONFIG_FCPRIVATE_H_
|
||||||
|
#define _FONTCONFIG_FCPRIVATE_H_
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define FcObjectSetVapBuild(__ret__,__first__,__va__) \
|
||||||
|
{ FcObjectSet *__os__; const char *__ob__; __ret__ = 0; __os__ = \
|
||||||
|
FcObjectSetCreate (); if (!__os__) goto _FcObjectSetVapBuild_bail0; \
|
||||||
|
__ob__ = __first__; while (__ob__) { if (!FcObjectSetAdd (__os__, \
|
||||||
|
__ob__)) goto _FcObjectSetVapBuild_bail1; __ob__ = va_arg (__va__, \
|
||||||
|
const char *); } __ret__ = __os__; _FcObjectSetVapBuild_bail1: if \
|
||||||
|
(!__ret__ && __os__) FcObjectSetDestroy (__os__); \
|
||||||
|
_FcObjectSetVapBuild_bail0: ; }
|
||||||
|
#define FcPatternVapBuild(result,orig,va) \
|
||||||
|
{ FcPattern *__p__ = (orig); const char *__o__; FcValue __v__; if \
|
||||||
|
(!__p__) { __p__ = FcPatternCreate (); if (!__p__) goto \
|
||||||
|
_FcPatternVapBuild_bail0; } for (;;) { __o__ = va_arg (va, const char \
|
||||||
|
*); if (!__o__) break; __v__.type = va_arg (va, FcType); switch \
|
||||||
|
(__v__.type) { case FcTypeVoid: goto _FcPatternVapBuild_bail1; case \
|
||||||
|
FcTypeInteger: __v__.u.i = va_arg (va, int); break; case FcTypeDouble: \
|
||||||
|
__v__.u.d = va_arg (va, double); break; case FcTypeString: __v__.u.s = \
|
||||||
|
va_arg (va, FcChar8 *); break; case FcTypeBool: __v__.u.b = va_arg \
|
||||||
|
(va, FcBool); break; case FcTypeMatrix: __v__.u.m = va_arg (va, \
|
||||||
|
FcMatrix *); break; case FcTypeCharSet: __v__.u.c = va_arg (va, \
|
||||||
|
FcCharSet *); break; case FcTypeFTFace: __v__.u.f = va_arg (va, \
|
||||||
|
FT_Face); break; case FcTypeLangSet: __v__.u.l = va_arg (va, FcLangSet \
|
||||||
|
*); break; } if (!FcPatternAdd (__p__, __o__, __v__, FcTrue)) goto \
|
||||||
|
_FcPatternVapBuild_bail1; } result = __p__; goto \
|
||||||
|
_FcPatternVapBuild_return; _FcPatternVapBuild_bail1: if (!orig) \
|
||||||
|
FcPatternDestroy (__p__); _FcPatternVapBuild_bail0: result = (void*)0; \
|
||||||
|
_FcPatternVapBuild_return: ; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,463 @@
|
||||||
|
#ifndef _FONTCONFIG_FONTCONFIG_H_
|
||||||
|
#define _FONTCONFIG_FONTCONFIG_H_
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define _FCFUNCPROTOBEGIN
|
||||||
|
#define _FCFUNCPROTOEND
|
||||||
|
#define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION
|
||||||
|
#define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION
|
||||||
|
#define FcIsUpper(c) ((0101 <= (c) && (c) <= 0132))
|
||||||
|
#define FcIsLower(c) ((0141 <= (c) && (c) <= 0172))
|
||||||
|
#define FC_CHARSET_DONE ((FcChar32) -1)
|
||||||
|
#define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
|
||||||
|
#define FcMatrixInit(m) ((m)->xx = (m)->yy = 1, (m)->xy = (m)->yx = 0)
|
||||||
|
#define FC_CHARSET_MAP_SIZE (256/32)
|
||||||
|
#define FcToLower(c) (FcIsUpper(c) ? (c) - 0101 + 0141 : (c))
|
||||||
|
#define FC_HINT_NONE 0
|
||||||
|
#define FC_PROPORTIONAL 0
|
||||||
|
#define FC_RGBA_UNKNOWN 0
|
||||||
|
#define FC_SLANT_ROMAN 0
|
||||||
|
#define FC_WEIGHT_THIN 0
|
||||||
|
#define FcFalse 0
|
||||||
|
#define FC_CACHE_VERSION "1"
|
||||||
|
#define FC_HINT_SLIGHT 1
|
||||||
|
#define FC_RGBA_RGB 1
|
||||||
|
#define FcTrue 1
|
||||||
|
#define FC_MONO 100
|
||||||
|
#define FC_SLANT_ITALIC 100
|
||||||
|
#define FC_WEIGHT_MEDIUM 100
|
||||||
|
#define FC_WIDTH_NORMAL 100
|
||||||
|
#define FC_CHARCELL 110
|
||||||
|
#define FC_SLANT_OBLIQUE 110
|
||||||
|
#define FC_WIDTH_SEMIEXPANDED 113
|
||||||
|
#define FC_WIDTH_EXPANDED 125
|
||||||
|
#define FC_WIDTH_EXTRAEXPANDED 150
|
||||||
|
#define FC_WEIGHT_DEMIBOLD 180
|
||||||
|
#define FC_HINT_MEDIUM 2
|
||||||
|
#define FC_MAJOR 2
|
||||||
|
#define FC_REVISION 2
|
||||||
|
#define FC_RGBA_BGR 2
|
||||||
|
#define FC_WEIGHT_BOLD 200
|
||||||
|
#define FC_WIDTH_ULTRAEXPANDED 200
|
||||||
|
#define FC_WEIGHT_EXTRABOLD 205
|
||||||
|
#define FC_WEIGHT_BLACK 210
|
||||||
|
#define FC_HINT_FULL 3
|
||||||
|
#define FC_MINOR 3
|
||||||
|
#define FC_RGBA_VRGB 3
|
||||||
|
#define FC_RGBA_VBGR 4
|
||||||
|
#define FC_WEIGHT_EXTRALIGHT 40
|
||||||
|
#define FC_RGBA_NONE 5
|
||||||
|
#define FC_WEIGHT_LIGHT 50
|
||||||
|
#define FC_WIDTH_ULTRACONDENSED 50
|
||||||
|
#define FC_UTF8_MAX_LEN 6
|
||||||
|
#define FC_WIDTH_EXTRACONDENSED 63
|
||||||
|
#define FC_WEIGHT_BOOK 75
|
||||||
|
#define FC_WIDTH_CONDENSED 75
|
||||||
|
#define FC_WEIGHT_REGULAR 80
|
||||||
|
#define FC_WIDTH_SEMICONDENSED 87
|
||||||
|
#define FC_DUAL 90
|
||||||
|
#define FC_ANTIALIAS "antialias"
|
||||||
|
#define FC_ASPECT "aspect"
|
||||||
|
#define FC_AUTOHINT "autohint"
|
||||||
|
#define FC_CAPABILITY "capability"
|
||||||
|
#define FC_CHAR_HEIGHT "charheight"
|
||||||
|
#define FC_CHARSET "charset"
|
||||||
|
#define FC_CHAR_WIDTH "charwidth"
|
||||||
|
#define FC_DPI "dpi"
|
||||||
|
#define FC_EMBOLDEN "embolden"
|
||||||
|
#define FC_FAMILY "family"
|
||||||
|
#define FC_FAMILYLANG "familylang"
|
||||||
|
#define FC_WEIGHT_HEAVY FC_WEIGHT_BLACK
|
||||||
|
#define FC_WEIGHT_SEMIBOLD FC_WEIGHT_DEMIBOLD
|
||||||
|
#define FC_WEIGHT_ULTRABOLD FC_WEIGHT_EXTRABOLD
|
||||||
|
#define FC_WEIGHT_ULTRALIGHT FC_WEIGHT_EXTRALIGHT
|
||||||
|
#define FC_WEIGHT_NORMAL FC_WEIGHT_REGULAR
|
||||||
|
#define FC_FILE "file"
|
||||||
|
#define FC_FONTFORMAT "fontformat"
|
||||||
|
#define FC_FONTVERSION "fontversion"
|
||||||
|
#define FC_FOUNDRY "foundry"
|
||||||
|
#define FC_FT_FACE "ftface"
|
||||||
|
#define FC_FULLNAME "fullname"
|
||||||
|
#define FC_FULLNAMELANG "fullnamelang"
|
||||||
|
#define FC_GLOBAL_ADVANCE "globaladvance"
|
||||||
|
#define FC_HINTING "hinting"
|
||||||
|
#define FC_HINT_STYLE "hintstyle"
|
||||||
|
#define FC_INDEX "index"
|
||||||
|
#define FC_LANG "lang"
|
||||||
|
#define FC_MATRIX "matrix"
|
||||||
|
#define FC_MINSPACE "minspace"
|
||||||
|
#define FC_OUTLINE "outline"
|
||||||
|
#define FC_PIXEL_SIZE "pixelsize"
|
||||||
|
#define FC_RASTERIZER "rasterizer"
|
||||||
|
#define FC_RGBA "rgba"
|
||||||
|
#define FC_SCALABLE "scalable"
|
||||||
|
#define FC_SCALE "scale"
|
||||||
|
#define FC_SIZE "size"
|
||||||
|
#define FC_SLANT "slant"
|
||||||
|
#define FC_SOURCE "source"
|
||||||
|
#define FC_SPACING "spacing"
|
||||||
|
#define FC_STYLE "style"
|
||||||
|
#define FC_STYLELANG "stylelang"
|
||||||
|
#define FC_VERTICAL_LAYOUT "verticallayout"
|
||||||
|
#define FC_WEIGHT "weight"
|
||||||
|
#define FC_WIDTH "width"
|
||||||
|
|
||||||
|
|
||||||
|
typedef int FcBool;
|
||||||
|
|
||||||
|
typedef struct _FcPattern FcPattern;
|
||||||
|
|
||||||
|
typedef enum _FcType {
|
||||||
|
FcTypeVoid = 0,
|
||||||
|
FcTypeInteger = 1,
|
||||||
|
FcTypeDouble = 2,
|
||||||
|
FcTypeString = 3,
|
||||||
|
FcTypeBool = 4,
|
||||||
|
FcTypeMatrix = 5,
|
||||||
|
FcTypeCharSet = 6,
|
||||||
|
FcTypeFTFace = 7,
|
||||||
|
FcTypeLangSet = 8
|
||||||
|
} FcType;
|
||||||
|
|
||||||
|
typedef unsigned char FcChar8;
|
||||||
|
|
||||||
|
typedef struct _FcMatrix FcMatrix;
|
||||||
|
|
||||||
|
typedef struct _FcCharSet FcCharSet;
|
||||||
|
|
||||||
|
typedef struct _FcLangSet FcLangSet;
|
||||||
|
|
||||||
|
typedef struct _FcValue FcValue;
|
||||||
|
|
||||||
|
typedef struct _FcStrList FcStrList;
|
||||||
|
|
||||||
|
typedef struct _FcConfig FcConfig;
|
||||||
|
|
||||||
|
typedef struct _FcStrSet FcStrSet;
|
||||||
|
|
||||||
|
typedef unsigned int FcChar32;
|
||||||
|
|
||||||
|
typedef enum _FcMatchKind {
|
||||||
|
FcMatchPattern = 0,
|
||||||
|
FcMatchFont = 1
|
||||||
|
} FcMatchKind;
|
||||||
|
|
||||||
|
typedef struct _FcObjectSet FcObjectSet;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
FcEndianBig = 0,
|
||||||
|
FcEndianLittle = 1
|
||||||
|
} FcEndian;
|
||||||
|
|
||||||
|
typedef struct _FcAtomic FcAtomic;
|
||||||
|
|
||||||
|
typedef struct _FcConstant FcConstant;
|
||||||
|
|
||||||
|
typedef struct _FcFontSet FcFontSet;
|
||||||
|
|
||||||
|
typedef enum _FcSetName {
|
||||||
|
FcSetSystem = 0,
|
||||||
|
FcSetApplication = 1
|
||||||
|
} FcSetName;
|
||||||
|
|
||||||
|
typedef struct _FcBlanks FcBlanks;
|
||||||
|
|
||||||
|
typedef enum _FcResult {
|
||||||
|
FcResultMatch = 0,
|
||||||
|
FcResultNoMatch = 1,
|
||||||
|
FcResultTypeMismatch = 2,
|
||||||
|
FcResultNoId = 3,
|
||||||
|
FcResultOutOfMemory = 4
|
||||||
|
} FcResult;
|
||||||
|
|
||||||
|
typedef struct _FcObjectType FcObjectType;
|
||||||
|
|
||||||
|
typedef struct _FcGlobalCache FcGlobalCache;
|
||||||
|
|
||||||
|
typedef enum _FcLangResult {
|
||||||
|
FcLangEqual = 0,
|
||||||
|
FcLangDifferentCountry = 1,
|
||||||
|
FcLangDifferentLang = 2
|
||||||
|
} FcLangResult;
|
||||||
|
|
||||||
|
typedef short unsigned int FcChar16;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct _FcMatrix {
|
||||||
|
double xx;
|
||||||
|
double xy;
|
||||||
|
double yx;
|
||||||
|
double yy;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct _FcValue {
|
||||||
|
FcType type;
|
||||||
|
union {
|
||||||
|
const FcChar8 *s;
|
||||||
|
int i;
|
||||||
|
FcBool b;
|
||||||
|
double d;
|
||||||
|
const FcMatrix *m;
|
||||||
|
const FcCharSet *c;
|
||||||
|
void *f;
|
||||||
|
const FcPattern *p;
|
||||||
|
const FcLangSet *l;
|
||||||
|
} u;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct _FcObjectSet {
|
||||||
|
int nobject;
|
||||||
|
int sobject;
|
||||||
|
const char **objects;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct _FcConstant {
|
||||||
|
const FcChar8 *name;
|
||||||
|
const char *object;
|
||||||
|
int value;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct _FcFontSet {
|
||||||
|
int nfont;
|
||||||
|
int sfont;
|
||||||
|
FcPattern **fonts;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct _FcObjectType {
|
||||||
|
const char *object;
|
||||||
|
FcType type;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern FcBool FcPatternAdd(FcPattern *, const char *, FcValue, FcBool);
|
||||||
|
extern FcStrList *FcConfigGetConfigFiles(FcConfig *);
|
||||||
|
extern FcBool FcStrSetAdd(FcStrSet *, const FcChar8 *);
|
||||||
|
extern FcBool FcCharSetIsSubset(const FcCharSet *, const FcCharSet *);
|
||||||
|
extern void FcDefaultSubstitute(FcPattern *);
|
||||||
|
extern FcChar32 FcCharSetIntersectCount(const FcCharSet *,
|
||||||
|
const FcCharSet *);
|
||||||
|
extern FcBool FcConfigUptoDate(FcConfig *);
|
||||||
|
extern void FcPatternDestroy(FcPattern *);
|
||||||
|
extern FcLangSet *FcLangSetCopy(const FcLangSet *);
|
||||||
|
extern FcBool FcPatternAddCharSet(FcPattern *, const char *,
|
||||||
|
const FcCharSet *);
|
||||||
|
extern FcBool FcPatternAddLangSet(FcPattern *, const char *,
|
||||||
|
const FcLangSet *);
|
||||||
|
extern void FcConfigAppFontClear(FcConfig *);
|
||||||
|
extern int FcConfigGetRescanInverval(FcConfig *);
|
||||||
|
extern FcBool FcConfigSubstitute(FcConfig *, FcPattern *, FcMatchKind);
|
||||||
|
extern FcObjectSet *FcObjectSetBuild(const char *, ...);
|
||||||
|
extern FcBool FcObjectSetAdd(FcObjectSet *, const char *);
|
||||||
|
extern FcChar32 FcCharSetSubtractCount(const FcCharSet *,
|
||||||
|
const FcCharSet *);
|
||||||
|
extern FcBool FcUtf16Len(const FcChar8 *, FcEndian, int, int *, int *);
|
||||||
|
extern FcBool FcConfigBuildFonts(FcConfig *);
|
||||||
|
extern FcChar8 *FcAtomicOrigFile(FcAtomic *);
|
||||||
|
extern FcBool FcNameUnregisterConstants(const FcConstant *, int);
|
||||||
|
extern FcBool FcConfigSetRescanInverval(FcConfig *, int);
|
||||||
|
extern FcBool FcAtomicLock(FcAtomic *);
|
||||||
|
extern FcPattern *FcPatternBuild(FcPattern *, ...);
|
||||||
|
extern FcFontSet *FcConfigGetFonts(FcConfig *, FcSetName);
|
||||||
|
extern void FcStrListDone(FcStrList *);
|
||||||
|
extern FcBool FcLangSetEqual(const FcLangSet *, const FcLangSet *);
|
||||||
|
extern const FcConstant *FcNameGetConstant(FcChar8 *);
|
||||||
|
extern void FcMatrixShear(FcMatrix *, double, double);
|
||||||
|
extern FcMatrix *FcMatrixCopy(const FcMatrix *);
|
||||||
|
extern FcStrList *FcConfigGetConfigDirs(FcConfig *);
|
||||||
|
extern FcBool FcStrSetDel(FcStrSet *, const FcChar8 *);
|
||||||
|
extern FcBool FcConfigEnableHome(FcBool);
|
||||||
|
extern FcStrSet *FcStrSetCreate(void);
|
||||||
|
extern int FcStrCmpIgnoreCase(const FcChar8 *, const FcChar8 *);
|
||||||
|
extern FcCharSet *FcCharSetUnion(const FcCharSet *, const FcCharSet *);
|
||||||
|
extern FcObjectSet *FcObjectSetCreate(void);
|
||||||
|
extern FcBlanks *FcBlanksCreate(void);
|
||||||
|
extern void FcBlanksDestroy(FcBlanks *);
|
||||||
|
extern FcBool FcNameConstant(FcChar8 *, int *);
|
||||||
|
extern void FcMatrixRotate(FcMatrix *, double, double);
|
||||||
|
extern FcPattern *FcNameParse(const FcChar8 *);
|
||||||
|
extern void FcMatrixMultiply(FcMatrix *, const FcMatrix *,
|
||||||
|
const FcMatrix *);
|
||||||
|
extern FcResult FcPatternGetLangSet(const FcPattern *, const char *,
|
||||||
|
int, FcLangSet * *);
|
||||||
|
extern FcValue FcValueSave(FcValue);
|
||||||
|
extern void FcAtomicDestroy(FcAtomic *);
|
||||||
|
extern FcBool FcPatternEqual(const FcPattern *, const FcPattern *);
|
||||||
|
extern FcBool FcNameRegisterObjectTypes(const FcObjectType *, int);
|
||||||
|
extern FcChar32 FcCharSetNextPage(const FcCharSet *, FcChar32 *,
|
||||||
|
FcChar32 *);
|
||||||
|
extern FcBool FcConfigSetCurrent(FcConfig *);
|
||||||
|
extern FcPattern *FcFreeTypeQuery(const FcChar8 *, int, FcBlanks *,
|
||||||
|
int *);
|
||||||
|
extern FcChar8 *FcStrListNext(FcStrList *);
|
||||||
|
extern FcBool FcNameRegisterConstants(const FcConstant *, int);
|
||||||
|
extern void FcValueDestroy(FcValue);
|
||||||
|
extern FcBool FcFileScan(FcFontSet *, FcStrSet *, FcGlobalCache *,
|
||||||
|
FcBlanks *, const FcChar8 *, FcBool);
|
||||||
|
extern FcFontSet *FcFontSetSort(FcConfig *, FcFontSet * *, int,
|
||||||
|
FcPattern *, FcBool, FcCharSet * *,
|
||||||
|
FcResult *);
|
||||||
|
extern FcResult FcPatternGetString(const FcPattern *, const char *,
|
||||||
|
int, FcChar8 * *);
|
||||||
|
extern FcChar8 *FcStrCopy(const FcChar8 *);
|
||||||
|
extern FcBool FcPatternEqualSubset(const FcPattern *,
|
||||||
|
const FcPattern *,
|
||||||
|
const FcObjectSet *);
|
||||||
|
extern FcConfig *FcInitLoadConfig(void);
|
||||||
|
extern FcStrList *FcStrListCreate(FcStrSet *);
|
||||||
|
extern FcResult FcPatternGetCharSet(const FcPattern *, const char *,
|
||||||
|
int, FcCharSet * *);
|
||||||
|
extern FcPattern *FcPatternCreate(void);
|
||||||
|
extern FcChar32 FcPatternHash(const FcPattern *);
|
||||||
|
extern FcChar8 *FcConfigFilename(const FcChar8 *);
|
||||||
|
extern FcBool FcPatternDel(FcPattern *, const char *);
|
||||||
|
extern FcCharSet *FcCharSetCopy(FcCharSet *);
|
||||||
|
extern FcBool FcInitReinitialize(void);
|
||||||
|
extern FcFontSet *FcFontList(FcConfig *, FcPattern *, FcObjectSet *);
|
||||||
|
extern int FcUcs4ToUtf8(FcChar32, FcChar8 *);
|
||||||
|
extern FcBool FcAtomicReplaceOrig(FcAtomic *);
|
||||||
|
extern FcObjectSet *FcObjectSetVaBuild(const char *, va_list);
|
||||||
|
extern FcBool FcInitBringUptoDate(void);
|
||||||
|
extern FcResult FcPatternGetDouble(const FcPattern *, const char *,
|
||||||
|
int, double *);
|
||||||
|
extern int FcStrCmp(const FcChar8 *, const FcChar8 *);
|
||||||
|
extern FcChar8 *FcConfigGetCache(FcConfig *);
|
||||||
|
extern FcAtomic *FcAtomicCreate(const FcChar8 *);
|
||||||
|
extern FcPattern *FcPatternDuplicate(const FcPattern *);
|
||||||
|
extern FcChar8 *FcStrDirname(const FcChar8 *);
|
||||||
|
extern FcBool FcConfigSubstituteWithPat(FcConfig *, FcPattern *,
|
||||||
|
FcPattern *, FcMatchKind);
|
||||||
|
extern FcBool FcDirScan(FcFontSet *, FcStrSet *, FcGlobalCache *,
|
||||||
|
FcBlanks *, const FcChar8 *, FcBool);
|
||||||
|
extern FcChar8 *FcStrCopyFilename(const FcChar8 *);
|
||||||
|
extern FcBool FcLangSetAdd(FcLangSet *, const FcChar8 *);
|
||||||
|
extern FcResult FcPatternGetInteger(const FcPattern *, const char *,
|
||||||
|
int, int *);
|
||||||
|
extern FcBool FcConfigParseAndLoad(FcConfig *, const FcChar8 *,
|
||||||
|
FcBool);
|
||||||
|
extern FcBool FcStrSetEqual(FcStrSet *, FcStrSet *);
|
||||||
|
extern FcBool FcConfigAppFontAddFile(FcConfig *, const FcChar8 *);
|
||||||
|
extern FcPattern *FcFontSetMatch(FcConfig *, FcFontSet * *, int,
|
||||||
|
FcPattern *, FcResult *);
|
||||||
|
extern FcBool FcStrSetAddFilename(FcStrSet *, const FcChar8 *);
|
||||||
|
extern FcChar8 *FcNameUnparse(FcPattern *);
|
||||||
|
extern FcChar32 FcCharSetFirstPage(const FcCharSet *, FcChar32 *,
|
||||||
|
FcChar32 *);
|
||||||
|
extern void FcFontSetPrint(const FcFontSet *);
|
||||||
|
extern FcPattern *FcPatternVaBuild(FcPattern *, va_list);
|
||||||
|
extern FcChar8 *FcConfigHome(void);
|
||||||
|
extern FcBool FcBlanksAdd(FcBlanks *, FcChar32);
|
||||||
|
extern FcBool FcBlanksIsMember(FcBlanks *, FcChar32);
|
||||||
|
extern FcBool FcNameUnregisterObjectTypes(const FcObjectType *, int);
|
||||||
|
extern FcLangResult FcLangSetHasLang(const FcLangSet *,
|
||||||
|
const FcChar8 *);
|
||||||
|
extern FcChar8 *FcStrBasename(const FcChar8 *);
|
||||||
|
extern FcPattern *FcFontMatch(FcConfig *, FcPattern *, FcResult *);
|
||||||
|
extern void FcValuePrint(const FcValue);
|
||||||
|
extern FcLangSet *FcLangSetCreate(void);
|
||||||
|
extern FcStrList *FcConfigGetFontDirs(FcConfig *);
|
||||||
|
extern FcBool FcCharSetAddChar(FcCharSet *, FcChar32);
|
||||||
|
extern FcCharSet *FcCharSetIntersect(const FcCharSet *,
|
||||||
|
const FcCharSet *);
|
||||||
|
extern void FcMatrixScale(FcMatrix *, double, double);
|
||||||
|
extern void FcPatternReference(FcPattern *);
|
||||||
|
extern FcBool FcCharSetEqual(const FcCharSet *, const FcCharSet *);
|
||||||
|
extern FcBool FcFontSetAdd(FcFontSet *, FcPattern *);
|
||||||
|
extern FcChar8 *FcAtomicNewFile(FcAtomic *);
|
||||||
|
extern FcFontSet *FcFontSetList(FcConfig *, FcFontSet * *, int,
|
||||||
|
FcPattern *, FcObjectSet *);
|
||||||
|
extern void FcFontSetSortDestroy(FcFontSet *);
|
||||||
|
extern FcBool FcPatternAddMatrix(FcPattern *, const char *,
|
||||||
|
const FcMatrix *);
|
||||||
|
extern FcChar32 FcCharSetCount(const FcCharSet *);
|
||||||
|
extern FcBool FcPatternAddString(FcPattern *, const char *,
|
||||||
|
const FcChar8 *);
|
||||||
|
extern void FcStrSetDestroy(FcStrSet *);
|
||||||
|
extern FcConfig *FcConfigGetCurrent(void);
|
||||||
|
extern FcBool FcPatternAddInteger(FcPattern *, const char *, int);
|
||||||
|
extern FcResult FcPatternGetMatrix(const FcPattern *, const char *,
|
||||||
|
int, FcMatrix * *);
|
||||||
|
extern int FcGetVersion(void);
|
||||||
|
extern FcBool FcCharSetHasChar(const FcCharSet *, FcChar32);
|
||||||
|
extern FcBool FcPatternAddBool(FcPattern *, const char *, FcBool);
|
||||||
|
extern const FcObjectType *FcNameGetObjectType(const char *);
|
||||||
|
extern FcBool FcDirCacheValid(const FcChar8 *);
|
||||||
|
extern FcBool FcUtf8Len(const FcChar8 *, int, int *, int *);
|
||||||
|
extern FcConfig *FcInitLoadConfigAndFonts(void);
|
||||||
|
extern FcResult FcPatternGetBool(const FcPattern *, const char *, int,
|
||||||
|
FcBool *);
|
||||||
|
extern void FcFontSetDestroy(FcFontSet *);
|
||||||
|
extern FcBool FcConfigAppFontAddDir(FcConfig *, const FcChar8 *);
|
||||||
|
extern int FcUtf16ToUcs4(const FcChar8 *, FcEndian, FcChar32 *, int);
|
||||||
|
extern int FcUtf8ToUcs4(const FcChar8 *, FcChar32 *, int);
|
||||||
|
extern FcFontSet *FcFontSetCreate(void);
|
||||||
|
extern FcBool FcDirSave(FcFontSet *, FcStrSet *, const FcChar8 *);
|
||||||
|
extern void FcConfigDestroy(FcConfig *);
|
||||||
|
extern FcBool FcPatternAddDouble(FcPattern *, const char *, double);
|
||||||
|
extern FcFontSet *FcFontSort(FcConfig *, FcPattern *, FcBool,
|
||||||
|
FcCharSet * *, FcResult *);
|
||||||
|
extern FcPattern *FcFontRenderPrepare(FcConfig *, FcPattern *,
|
||||||
|
FcPattern *);
|
||||||
|
extern void FcLangSetDestroy(FcLangSet *);
|
||||||
|
extern void FcCharSetDestroy(FcCharSet *);
|
||||||
|
extern FcBool FcValueEqual(FcValue, FcValue);
|
||||||
|
extern FcBool FcPatternAddWeak(FcPattern *, const char *, FcValue,
|
||||||
|
FcBool);
|
||||||
|
extern FcBool FcLangSetContains(const FcLangSet *, const FcLangSet *);
|
||||||
|
extern void FcObjectSetDestroy(FcObjectSet *);
|
||||||
|
extern FcCharSet *FcCharSetCreate(void);
|
||||||
|
extern FcLangResult FcLangSetCompare(const FcLangSet *,
|
||||||
|
const FcLangSet *);
|
||||||
|
extern FcBool FcMatrixEqual(const FcMatrix *, const FcMatrix *);
|
||||||
|
extern void FcAtomicUnlock(FcAtomic *);
|
||||||
|
extern FcBool FcStrSetMember(FcStrSet *, const FcChar8 *);
|
||||||
|
extern FcChar32 FcLangSetHash(const FcLangSet *);
|
||||||
|
extern void FcAtomicDeleteNew(FcAtomic *);
|
||||||
|
extern FcCharSet *FcCharSetSubtract(const FcCharSet *,
|
||||||
|
const FcCharSet *);
|
||||||
|
extern FcBool FcInit(void);
|
||||||
|
extern FcResult FcPatternGet(const FcPattern *, const char *, int,
|
||||||
|
FcValue *);
|
||||||
|
extern void FcPatternPrint(const FcPattern *);
|
||||||
|
extern FcBlanks *FcConfigGetBlanks(FcConfig *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,28 @@
|
||||||
|
#ifndef _GLIB_2_0_GLIB_GPRINTF_H_
|
||||||
|
#define _GLIB_2_0_GLIB_GPRINTF_H_
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern gint g_sprintf(gchar *, const gchar *, ...);
|
||||||
|
extern gint g_fprintf(FILE *, const gchar *, ...);
|
||||||
|
extern gint g_vasprintf(gchar * *, const gchar *, va_list);
|
||||||
|
extern gint g_vprintf(const gchar *, va_list);
|
||||||
|
extern gint g_printf(const gchar *, ...);
|
||||||
|
extern gint g_vfprintf(FILE *, const gchar *, va_list);
|
||||||
|
extern gint g_vsnprintf(gchar *, gulong, const gchar *, va_list);
|
||||||
|
extern gint g_vsprintf(gchar *, const gchar *, va_list);
|
||||||
|
extern gint g_snprintf(gchar *, gulong, const gchar *, ...);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,26 @@
|
||||||
|
#ifndef _GLIB_2_0_GLIB_GSTDIO_H_
|
||||||
|
#define _GLIB_2_0_GLIB_GSTDIO_H_
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define g_fopen fopen
|
||||||
|
#define g_freopen freopen
|
||||||
|
#define g_lstat lstat
|
||||||
|
#define g_mkdir mkdir
|
||||||
|
#define g_open open
|
||||||
|
#define g_remove remove
|
||||||
|
#define g_rename rename
|
||||||
|
#define g_rmdir rmdir
|
||||||
|
#define g_stat stat
|
||||||
|
#define g_unlink unlink
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,42 @@
|
||||||
|
#ifndef _GLIB_2_0_GMODULE_H_
|
||||||
|
#define _GLIB_2_0_GMODULE_H_
|
||||||
|
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define G_MODULE_EXPORT
|
||||||
|
#define G_MODULE_IMPORT extern
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _GModule GModule;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
G_MODULE_BIND_LAZY = 1,
|
||||||
|
G_MODULE_BIND_LOCAL = 2,
|
||||||
|
G_MODULE_BIND_MASK = 3
|
||||||
|
} GModuleFlags;
|
||||||
|
|
||||||
|
typedef void (*GModuleUnload) (GModule *);
|
||||||
|
|
||||||
|
typedef const gchar *(*GModuleCheckInit) (GModule *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern void g_module_make_resident(GModule *);
|
||||||
|
extern gchar *g_module_build_path(const gchar *, const gchar *);
|
||||||
|
extern gboolean g_module_close(GModule *);
|
||||||
|
extern GModule *g_module_open(const gchar *, GModuleFlags);
|
||||||
|
extern gboolean g_module_symbol(GModule *, const gchar *, gpointer *);
|
||||||
|
extern const gchar *g_module_error(void);
|
||||||
|
extern const gchar *g_module_name(GModule *);
|
||||||
|
extern gboolean g_module_supported(void);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,61 @@
|
||||||
|
#ifndef _GLIB_2_0_GOBJECT_GVALUECOLLECTOR_H_
|
||||||
|
#define _GLIB_2_0_GOBJECT_GVALUECOLLECTOR_H_
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define G_VALUE_LCOPY(value,var_args,flags,__error) \
|
||||||
|
G_STMT_START { const GValue *_value = (value); guint _flags = \
|
||||||
|
(flags); GType _value_type = G_VALUE_TYPE (_value); GTypeValueTable \
|
||||||
|
*_vtable = g_type_value_table_peek (_value_type); gchar *_lcopy_format \
|
||||||
|
= _vtable->lcopy_format; GTypeCValue \
|
||||||
|
_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; guint \
|
||||||
|
_n_values = 0; while (*_lcopy_format) { GTypeCValue *_cvalue = \
|
||||||
|
_cvalues + _n_values++; switch (*_lcopy_format++) { case \
|
||||||
|
G_VALUE_COLLECT_INT: _cvalue->v_int = va_arg ((var_args), gint); \
|
||||||
|
break; case G_VALUE_COLLECT_LONG: _cvalue->v_long = va_arg \
|
||||||
|
((var_args), glong); break; case G_VALUE_COLLECT_INT64: \
|
||||||
|
_cvalue->v_int64 = va_arg ((var_args), gint64); break; case \
|
||||||
|
G_VALUE_COLLECT_DOUBLE: _cvalue->v_double = va_arg ((var_args), \
|
||||||
|
gdouble); break; case G_VALUE_COLLECT_POINTER: _cvalue->v_pointer = \
|
||||||
|
va_arg ((var_args), gpointer); break; default: g_assert_not_reached \
|
||||||
|
(); } } *(__error) = _vtable->lcopy_value (_value, _n_values, \
|
||||||
|
_cvalues, _flags); } G_STMT_END
|
||||||
|
#define G_VALUE_COLLECT(value,var_args,flags,__error) \
|
||||||
|
G_STMT_START { GValue *_value = (value); guint _flags = (flags); \
|
||||||
|
GType _value_type = G_VALUE_TYPE (_value); GTypeValueTable *_vtable = \
|
||||||
|
g_type_value_table_peek (_value_type); gchar *_collect_format = \
|
||||||
|
_vtable->collect_format; GTypeCValue \
|
||||||
|
_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; guint \
|
||||||
|
_n_values = 0; if (_vtable->value_free) _vtable->value_free (_value); \
|
||||||
|
_value->g_type = _value_type; memset (_value->data, 0, sizeof \
|
||||||
|
(_value->data)); while (*_collect_format) { GTypeCValue *_cvalue = \
|
||||||
|
_cvalues + _n_values++; switch (*_collect_format++) { case \
|
||||||
|
G_VALUE_COLLECT_INT: _cvalue->v_int = va_arg ((var_args), gint); \
|
||||||
|
break; case G_VALUE_COLLECT_LONG: _cvalue->v_long = va_arg \
|
||||||
|
((var_args), glong); break; case G_VALUE_COLLECT_INT64: \
|
||||||
|
_cvalue->v_int64 = va_arg ((var_args), gint64); break; case \
|
||||||
|
G_VALUE_COLLECT_DOUBLE: _cvalue->v_double = va_arg ((var_args), \
|
||||||
|
gdouble); break; case G_VALUE_COLLECT_POINTER: _cvalue->v_pointer = \
|
||||||
|
va_arg ((var_args), gpointer); break; default: g_assert_not_reached \
|
||||||
|
(); } } *(__error) = _vtable->collect_value (_value, _n_values, \
|
||||||
|
_cvalues, _flags); } G_STMT_END
|
||||||
|
#define G_VALUE_COLLECT_FORMAT_MAX_LENGTH (8)
|
||||||
|
|
||||||
|
|
||||||
|
enum {
|
||||||
|
G_VALUE_COLLECT_INT = 'i',
|
||||||
|
G_VALUE_COLLECT_LONG = 'l',
|
||||||
|
G_VALUE_COLLECT_INT64 = 'q',
|
||||||
|
G_VALUE_COLLECT_DOUBLE = 'd',
|
||||||
|
G_VALUE_COLLECT_POINTER = 'p'
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,91 @@
|
||||||
|
#ifndef _GTK_2_0_GDK_PIXBUF_XLIB_GDK_PIXBUF_XLIB_H_
|
||||||
|
#define _GTK_2_0_GDK_PIXBUF_XLIB_GDK_PIXBUF_XLIB_H_
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/X.h>
|
||||||
|
#include <X11/Xutil.h>
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
#include <gtk-2.0/gdk-pixbuf/gdk-pixbuf.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
XLIB_RGB_DITHER_NONE = 0,
|
||||||
|
XLIB_RGB_DITHER_NORMAL = 1,
|
||||||
|
XLIB_RGB_DITHER_MAX = 2
|
||||||
|
} XlibRgbDither;
|
||||||
|
|
||||||
|
typedef struct _XlibRgbCmap XlibRgbCmap;
|
||||||
|
|
||||||
|
|
||||||
|
struct _XlibRgbCmap {
|
||||||
|
unsigned int colors[256];
|
||||||
|
unsigned char lut[256];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
extern void gdk_pixbuf_xlib_init_with_depth(Display *, int, int);
|
||||||
|
extern Visual *xlib_rgb_get_visual(void);
|
||||||
|
extern void gdk_pixbuf_xlib_render_to_drawable(GdkPixbuf *, Drawable,
|
||||||
|
GC, int, int, int, int,
|
||||||
|
int, int, XlibRgbDither,
|
||||||
|
int, int);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_xlib_get_from_drawable(GdkPixbuf *,
|
||||||
|
Drawable, Colormap,
|
||||||
|
Visual *, int, int,
|
||||||
|
int, int, int,
|
||||||
|
int);
|
||||||
|
extern XVisualInfo *xlib_rgb_get_visual_info(void);
|
||||||
|
extern void xlib_rgb_set_install(int);
|
||||||
|
extern void xlib_rgb_cmap_free(XlibRgbCmap *);
|
||||||
|
extern int xlib_rgb_get_depth(void);
|
||||||
|
extern long unsigned int xlib_rgb_xpixel_from_rgb(guint32);
|
||||||
|
extern void xlib_rgb_gc_set_foreground(GC, guint32);
|
||||||
|
extern void xlib_rgb_set_verbose(int);
|
||||||
|
extern int xlib_rgb_ditherable(void);
|
||||||
|
extern void xlib_rgb_set_min_colors(int);
|
||||||
|
extern void gdk_pixbuf_xlib_render_threshold_alpha(GdkPixbuf *, Pixmap,
|
||||||
|
int, int, int, int,
|
||||||
|
int, int, int);
|
||||||
|
extern Display *xlib_rgb_get_display(void);
|
||||||
|
extern void xlib_rgb_init(Display *, Screen *);
|
||||||
|
extern void gdk_pixbuf_xlib_init(Display *, int);
|
||||||
|
extern Screen *xlib_rgb_get_screen(void);
|
||||||
|
extern Colormap xlib_rgb_get_cmap(void);
|
||||||
|
extern void xlib_draw_gray_image(Drawable, GC, int, int, int, int,
|
||||||
|
XlibRgbDither, unsigned char *, int);
|
||||||
|
extern void xlib_draw_indexed_image(Drawable, GC, int, int, int, int,
|
||||||
|
XlibRgbDither, unsigned char *,
|
||||||
|
int, XlibRgbCmap *);
|
||||||
|
extern XlibRgbCmap *xlib_rgb_cmap_new(guint32 *, int);
|
||||||
|
extern void xlib_draw_rgb_32_image(Drawable, GC, int, int, int, int,
|
||||||
|
XlibRgbDither, unsigned char *,
|
||||||
|
int);
|
||||||
|
extern void xlib_draw_rgb_image_dithalign(Drawable, GC, int, int, int,
|
||||||
|
int, XlibRgbDither,
|
||||||
|
unsigned char *, int, int,
|
||||||
|
int);
|
||||||
|
extern void xlib_rgb_gc_set_background(GC, guint32);
|
||||||
|
extern void gdk_pixbuf_xlib_render_pixmap_and_mask(GdkPixbuf *,
|
||||||
|
Pixmap *, Pixmap *,
|
||||||
|
int);
|
||||||
|
extern void gdk_pixbuf_xlib_render_to_drawable_alpha(GdkPixbuf *,
|
||||||
|
Drawable, int,
|
||||||
|
int, int, int,
|
||||||
|
int, int,
|
||||||
|
GdkPixbufAlphaMode,
|
||||||
|
int,
|
||||||
|
XlibRgbDither,
|
||||||
|
int, int);
|
||||||
|
extern void xlib_draw_rgb_image(Drawable, GC, int, int, int, int,
|
||||||
|
XlibRgbDither, unsigned char *, int);
|
||||||
|
extern void xlib_rgb_init_with_depth(Display *, Screen *, int);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,284 @@
|
||||||
|
#ifndef _GTK_2_0_GDK_PIXBUF_GDK_PIXBUF_H_
|
||||||
|
#define _GTK_2_0_GDK_PIXBUF_GDK_PIXBUF_H_
|
||||||
|
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
#include <glib-2.0/glib-object.h>
|
||||||
|
#include <pango-1.0/pango/pango.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define GDK_TYPE_PIXBUF_ANIMATION_ITER \
|
||||||
|
(gdk_pixbuf_animation_iter_get_type ())
|
||||||
|
#define GDK_PIXBUF_LOADER_CLASS(klass) \
|
||||||
|
(G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_LOADER, \
|
||||||
|
GdkPixbufLoaderClass))
|
||||||
|
#define GDK_IS_PIXBUF_LOADER_CLASS(klass) \
|
||||||
|
(G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_LOADER))
|
||||||
|
#define GDK_PIXBUF_LOADER(obj) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_PIXBUF_LOADER, \
|
||||||
|
GdkPixbufLoader))
|
||||||
|
#define GDK_PIXBUF(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF, GdkPixbuf))
|
||||||
|
#define GDK_PIXBUF_ANIMATION(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF_ANIMATION, \
|
||||||
|
GdkPixbufAnimation))
|
||||||
|
#define GDK_PIXBUF_ANIMATION_ITER(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((object), \
|
||||||
|
GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIter))
|
||||||
|
#define GDK_IS_PIXBUF_LOADER(obj) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_PIXBUF_LOADER))
|
||||||
|
#define GDK_IS_PIXBUF(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF))
|
||||||
|
#define GDK_IS_PIXBUF_ANIMATION(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF_ANIMATION))
|
||||||
|
#define GDK_IS_PIXBUF_ANIMATION_ITER(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((object), \
|
||||||
|
GDK_TYPE_PIXBUF_ANIMATION_ITER))
|
||||||
|
#define GDK_PIXBUF_LOADER_GET_CLASS(obj) \
|
||||||
|
(G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_LOADER, \
|
||||||
|
GdkPixbufLoaderClass))
|
||||||
|
#define GDK_PIXBUF_MICRO (10)
|
||||||
|
#define GDK_PIXBUF_MAJOR (2)
|
||||||
|
#define GDK_PIXBUF_MINOR (6)
|
||||||
|
#define GDK_TYPE_COLORSPACE (gdk_colorspace_get_type())
|
||||||
|
#define GDK_TYPE_INTERP_TYPE (gdk_interp_type_get_type())
|
||||||
|
#define GDK_TYPE_PIXBUF_ALPHA_MODE (gdk_pixbuf_alpha_mode_get_type())
|
||||||
|
#define GDK_TYPE_PIXBUF_ANIMATION (gdk_pixbuf_animation_get_type ())
|
||||||
|
#define GDK_TYPE_PIXBUF_ERROR (gdk_pixbuf_error_get_type())
|
||||||
|
#define GDK_TYPE_PIXBUF (gdk_pixbuf_get_type ())
|
||||||
|
#define GDK_TYPE_PIXBUF_LOADER (gdk_pixbuf_loader_get_type ())
|
||||||
|
#define GDK_TYPE_PIXBUF_ROTATION (gdk_pixbuf_rotation_get_type())
|
||||||
|
#define GDK_PIXBUF_VERSION "2.6.10"
|
||||||
|
#define GDK_PIXBUF_VAR extern
|
||||||
|
#define GDK_PIXBUF_ERROR gdk_pixbuf_error_quark ()
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _GdkPixbuf GdkPixbuf;
|
||||||
|
|
||||||
|
typedef gboolean(*GdkPixbufSaveFunc) (const gchar *, gsize, GError * *,
|
||||||
|
gpointer);
|
||||||
|
|
||||||
|
typedef struct _GdkPixbufLoader GdkPixbufLoader;
|
||||||
|
|
||||||
|
typedef struct _GdkPixbufFormat GdkPixbufFormat;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GDK_INTERP_NEAREST = 0,
|
||||||
|
GDK_INTERP_TILES = 1,
|
||||||
|
GDK_INTERP_BILINEAR = 2,
|
||||||
|
GDK_INTERP_HYPER = 3
|
||||||
|
} GdkInterpType;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GDK_COLORSPACE_RGB = 0
|
||||||
|
} GdkColorspace;
|
||||||
|
|
||||||
|
typedef void (*GdkPixbufDestroyNotify) (guchar *, gpointer);
|
||||||
|
|
||||||
|
typedef struct _GdkPixbufAnimationIter GdkPixbufAnimationIter;
|
||||||
|
|
||||||
|
typedef struct _GdkPixbufAnimation GdkPixbufAnimation;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GDK_PIXBUF_ROTATE_NONE = 0,
|
||||||
|
GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE = 90,
|
||||||
|
GDK_PIXBUF_ROTATE_UPSIDEDOWN = 180,
|
||||||
|
GDK_PIXBUF_ROTATE_CLOCKWISE = 270
|
||||||
|
} GdkPixbufRotation;
|
||||||
|
|
||||||
|
typedef struct _GdkPixbufLoaderClass GdkPixbufLoaderClass;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
|
||||||
|
GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY,
|
||||||
|
GDK_PIXBUF_ERROR_BAD_OPTION,
|
||||||
|
GDK_PIXBUF_ERROR_UNKNOWN_TYPE,
|
||||||
|
GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION,
|
||||||
|
GDK_PIXBUF_ERROR_FAILED
|
||||||
|
} GdkPixbufError;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GDK_PIXBUF_ALPHA_BILEVEL,
|
||||||
|
GDK_PIXBUF_ALPHA_FULL
|
||||||
|
} GdkPixbufAlphaMode;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct _GdkPixbufLoader {
|
||||||
|
GObject parent_instance;
|
||||||
|
gpointer priv;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct _GdkPixbufLoaderClass {
|
||||||
|
GObjectClass parent_class;
|
||||||
|
void (*size_prepared) (GdkPixbufLoader *, int, int);
|
||||||
|
void (*area_prepared) (GdkPixbufLoader *);
|
||||||
|
void (*area_updated) (GdkPixbufLoader *, int, int, int, int);
|
||||||
|
void (*closed) (GdkPixbufLoader *);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
extern gboolean gdk_pixbuf_save_to_callbackv(GdkPixbuf *,
|
||||||
|
GdkPixbufSaveFunc,
|
||||||
|
gpointer, const char *,
|
||||||
|
char **, char **,
|
||||||
|
GError * *);
|
||||||
|
extern gboolean gdk_pixbuf_save_to_bufferv(GdkPixbuf *, gchar * *,
|
||||||
|
gsize *, const char *,
|
||||||
|
char **, char **,
|
||||||
|
GError * *);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_new_from_file_at_scale(const char *, int,
|
||||||
|
int, gboolean,
|
||||||
|
GError * *);
|
||||||
|
extern GdkPixbufLoader *gdk_pixbuf_loader_new_with_type(const char *,
|
||||||
|
GError * *);
|
||||||
|
extern GSList *gdk_pixbuf_get_formats(void);
|
||||||
|
extern guchar *gdk_pixbuf_get_pixels(const GdkPixbuf *);
|
||||||
|
extern const guint gdk_pixbuf_minor_version;
|
||||||
|
extern void gdk_pixbuf_format_set_disabled(GdkPixbufFormat *,
|
||||||
|
gboolean);
|
||||||
|
extern gboolean gdk_pixbuf_format_is_scalable(GdkPixbufFormat *);
|
||||||
|
extern int gdk_pixbuf_get_n_channels(const GdkPixbuf *);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_scale_simple(const GdkPixbuf *, int, int,
|
||||||
|
GdkInterpType);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_new_from_data(const guchar *,
|
||||||
|
GdkColorspace, gboolean,
|
||||||
|
int, int, int, int,
|
||||||
|
GdkPixbufDestroyNotify,
|
||||||
|
gpointer);
|
||||||
|
extern gboolean gdk_pixbuf_loader_close(GdkPixbufLoader *, GError * *);
|
||||||
|
extern GType gdk_pixbuf_animation_get_type(void);
|
||||||
|
extern gboolean gdk_pixbuf_save_to_buffer(GdkPixbuf *, gchar * *,
|
||||||
|
gsize *, const char *,
|
||||||
|
GError * *, ...);
|
||||||
|
extern GType gdk_interp_type_get_type(void);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_new_from_file_at_size(const char *, int,
|
||||||
|
int, GError * *);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_new_from_xpm_data(const char **);
|
||||||
|
extern GdkPixbufLoader *gdk_pixbuf_loader_new(void);
|
||||||
|
extern gboolean gdk_pixbuf_save_to_callback(GdkPixbuf *,
|
||||||
|
GdkPixbufSaveFunc,
|
||||||
|
gpointer, const char *,
|
||||||
|
GError * *, ...);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_add_alpha(const GdkPixbuf *, gboolean,
|
||||||
|
guchar, guchar, guchar);
|
||||||
|
extern gboolean
|
||||||
|
gdk_pixbuf_animation_iter_advance(GdkPixbufAnimationIter *,
|
||||||
|
const GTimeVal *);
|
||||||
|
extern void gdk_pixbuf_saturate_and_pixelate(const GdkPixbuf *,
|
||||||
|
GdkPixbuf *, gfloat,
|
||||||
|
gboolean);
|
||||||
|
extern GType gdk_pixbuf_animation_iter_get_type(void);
|
||||||
|
extern int gdk_pixbuf_get_bits_per_sample(const GdkPixbuf *);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_new_from_inline(gint, const guint8 *,
|
||||||
|
gboolean, GError * *);
|
||||||
|
extern const guint gdk_pixbuf_major_version;
|
||||||
|
extern GdkPixbuf
|
||||||
|
*gdk_pixbuf_animation_get_static_image(GdkPixbufAnimation *);
|
||||||
|
extern const guint gdk_pixbuf_micro_version;
|
||||||
|
extern int gdk_pixbuf_get_height(const GdkPixbuf *);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_flip(const GdkPixbuf *, gboolean);
|
||||||
|
extern GdkPixbufAnimationIter
|
||||||
|
*gdk_pixbuf_animation_get_iter(GdkPixbufAnimation *,
|
||||||
|
const GTimeVal *);
|
||||||
|
extern gboolean
|
||||||
|
gdk_pixbuf_animation_iter_on_currently_loading_frame
|
||||||
|
(GdkPixbufAnimationIter *);
|
||||||
|
extern GdkPixbufAnimation
|
||||||
|
*gdk_pixbuf_loader_get_animation(GdkPixbufLoader *);
|
||||||
|
extern int gdk_pixbuf_get_rowstride(const GdkPixbuf *);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_new_from_file(const char *, GError * *);
|
||||||
|
extern void gdk_pixbuf_loader_set_size(GdkPixbufLoader *, gint, gint);
|
||||||
|
extern GType gdk_pixbuf_loader_get_type(void);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_composite_color_simple(const GdkPixbuf *,
|
||||||
|
int, int,
|
||||||
|
GdkInterpType, int,
|
||||||
|
int, guint32,
|
||||||
|
guint32);
|
||||||
|
extern gboolean gdk_pixbuf_save(GdkPixbuf *, const char *,
|
||||||
|
const char *, GError * *, ...);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_new_subpixbuf(GdkPixbuf *, int, int, int,
|
||||||
|
int);
|
||||||
|
extern gchar *gdk_pixbuf_format_get_license(GdkPixbufFormat *);
|
||||||
|
extern GdkPixbufAnimation *gdk_pixbuf_animation_new_from_file(const
|
||||||
|
char *,
|
||||||
|
GError *
|
||||||
|
*);
|
||||||
|
extern void gdk_pixbuf_fill(GdkPixbuf *, guint32);
|
||||||
|
extern void gdk_pixbuf_composite_color(const GdkPixbuf *, GdkPixbuf *,
|
||||||
|
int, int, int, int, double,
|
||||||
|
double, double, double,
|
||||||
|
GdkInterpType, int, int, int,
|
||||||
|
int, guint32, guint32);
|
||||||
|
extern void gdk_pixbuf_composite(const GdkPixbuf *, GdkPixbuf *, int,
|
||||||
|
int, int, int, double, double, double,
|
||||||
|
double, GdkInterpType, int);
|
||||||
|
extern int gdk_pixbuf_animation_get_width(GdkPixbufAnimation *);
|
||||||
|
extern gboolean gdk_pixbuf_animation_is_static_image(GdkPixbufAnimation
|
||||||
|
*);
|
||||||
|
extern void gdk_pixbuf_scale(const GdkPixbuf *, GdkPixbuf *, int, int,
|
||||||
|
int, int, double, double, double, double,
|
||||||
|
GdkInterpType);
|
||||||
|
extern GdkPixbuf
|
||||||
|
*gdk_pixbuf_animation_iter_get_pixbuf(GdkPixbufAnimationIter *);
|
||||||
|
extern const char *gdk_pixbuf_version;
|
||||||
|
extern gchar *gdk_pixbuf_format_get_name(GdkPixbufFormat *);
|
||||||
|
extern gchar **gdk_pixbuf_format_get_mime_types(GdkPixbufFormat *);
|
||||||
|
extern GType gdk_pixbuf_rotation_get_type(void);
|
||||||
|
extern GType gdk_colorspace_get_type(void);
|
||||||
|
extern GdkPixbufFormat *gdk_pixbuf_loader_get_format(GdkPixbufLoader
|
||||||
|
*);
|
||||||
|
extern GType gdk_pixbuf_alpha_mode_get_type(void);
|
||||||
|
extern gboolean gdk_pixbuf_format_is_disabled(GdkPixbufFormat *);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_rotate_simple(const GdkPixbuf *,
|
||||||
|
GdkPixbufRotation);
|
||||||
|
extern void gdk_pixbuf_copy_area(const GdkPixbuf *, int, int, int, int,
|
||||||
|
GdkPixbuf *, int, int);
|
||||||
|
extern GQuark gdk_pixbuf_error_quark(void);
|
||||||
|
extern gboolean gdk_pixbuf_format_is_writable(GdkPixbufFormat *);
|
||||||
|
extern GType gdk_pixbuf_get_type(void);
|
||||||
|
extern GdkPixbufFormat *gdk_pixbuf_get_file_info(const gchar *, gint *,
|
||||||
|
gint *);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_copy(const GdkPixbuf *);
|
||||||
|
extern gboolean gdk_pixbuf_savev(GdkPixbuf *, const char *,
|
||||||
|
const char *, char **, char **,
|
||||||
|
GError * *);
|
||||||
|
extern gchar *gdk_pixbuf_format_get_description(GdkPixbufFormat *);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_loader_get_pixbuf(GdkPixbufLoader *);
|
||||||
|
extern gboolean gdk_pixbuf_loader_write(GdkPixbufLoader *,
|
||||||
|
const guchar *, gsize,
|
||||||
|
GError * *);
|
||||||
|
extern int gdk_pixbuf_animation_get_height(GdkPixbufAnimation *);
|
||||||
|
extern int gdk_pixbuf_get_width(const GdkPixbuf *);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_new(GdkColorspace, gboolean, int, int,
|
||||||
|
int);
|
||||||
|
extern gchar **gdk_pixbuf_format_get_extensions(GdkPixbufFormat *);
|
||||||
|
extern GdkColorspace gdk_pixbuf_get_colorspace(const GdkPixbuf *);
|
||||||
|
extern GdkPixbufLoader *gdk_pixbuf_loader_new_with_mime_type(const char
|
||||||
|
*,
|
||||||
|
GError *
|
||||||
|
*);
|
||||||
|
extern GType gdk_pixbuf_error_get_type(void);
|
||||||
|
extern gboolean gdk_pixbuf_get_has_alpha(const GdkPixbuf *);
|
||||||
|
extern const gchar *gdk_pixbuf_get_option(GdkPixbuf *, const gchar *);
|
||||||
|
extern int
|
||||||
|
gdk_pixbuf_animation_iter_get_delay_time(GdkPixbufAnimationIter *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,65 @@
|
||||||
|
#ifndef _GTK_2_0_GDK_PIXBUF_GDK_PIXDATA_H_
|
||||||
|
#define _GTK_2_0_GDK_PIXBUF_GDK_PIXDATA_H_
|
||||||
|
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
#include <glib-2.0/glib-object.h>
|
||||||
|
#include <gtk-2.0/gdk-pixbuf/gdk-pixbuf.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define GDK_PIXBUF_MAGIC_NUMBER (0x47646b50)
|
||||||
|
#define GDK_PIXDATA_HEADER_LENGTH (4 + 4 + 4 + 4 + 4 + 4)
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _GdkPixdata GdkPixdata;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GDK_PIXDATA_DUMP_PIXDATA_STREAM = 0,
|
||||||
|
GDK_PIXDATA_DUMP_PIXDATA_STRUCT = 1,
|
||||||
|
GDK_PIXDATA_DUMP_MACROS = 2,
|
||||||
|
GDK_PIXDATA_DUMP_GTYPES = 0,
|
||||||
|
GDK_PIXDATA_DUMP_CTYPES = 256,
|
||||||
|
GDK_PIXDATA_DUMP_STATIC = 512,
|
||||||
|
GDK_PIXDATA_DUMP_CONST = 1024,
|
||||||
|
GDK_PIXDATA_DUMP_RLE_DECODER = 65536
|
||||||
|
} GdkPixdataDumpType;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GDK_PIXDATA_COLOR_TYPE_RGB = 0x01,
|
||||||
|
GDK_PIXDATA_COLOR_TYPE_RGBA = 0x02,
|
||||||
|
GDK_PIXDATA_COLOR_TYPE_MASK = 0xff,
|
||||||
|
GDK_PIXDATA_SAMPLE_WIDTH_8 = 0x01 << 16,
|
||||||
|
GDK_PIXDATA_SAMPLE_WIDTH_MASK = 0x0f << 16,
|
||||||
|
GDK_PIXDATA_ENCODING_RAW = 0x01 << 24,
|
||||||
|
GDK_PIXDATA_ENCODING_RLE = 0x02 << 24,
|
||||||
|
GDK_PIXDATA_ENCODING_MASK = 0x0f << 24
|
||||||
|
} GdkPixdataType;
|
||||||
|
|
||||||
|
|
||||||
|
struct _GdkPixdata {
|
||||||
|
guint32 magic;
|
||||||
|
gint32 length;
|
||||||
|
guint32 pixdata_type;
|
||||||
|
guint32 rowstride;
|
||||||
|
guint32 width;
|
||||||
|
guint32 height;
|
||||||
|
guint8 *pixel_data;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
extern gboolean gdk_pixdata_deserialize(GdkPixdata *, guint,
|
||||||
|
const guint8 *, GError * *);
|
||||||
|
extern gpointer gdk_pixdata_from_pixbuf(GdkPixdata *,
|
||||||
|
const GdkPixbuf *, gboolean);
|
||||||
|
extern guint8 *gdk_pixdata_serialize(const GdkPixdata *, guint *);
|
||||||
|
extern GString *gdk_pixdata_to_csource(GdkPixdata *, const gchar *,
|
||||||
|
GdkPixdataDumpType);
|
||||||
|
extern GdkPixbuf *gdk_pixbuf_from_pixdata(const GdkPixdata *, gboolean,
|
||||||
|
GError * *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,105 @@
|
||||||
|
#ifndef _GTK_2_0_GDK_GDKX_H_
|
||||||
|
#define _GTK_2_0_GDK_GDKX_H_
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/X.h>
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
#include <glib-2.0/glib-object.h>
|
||||||
|
#include <gtk-2.0/gdk/gdk.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define GDK_WINDOW_DESTROYED(d) \
|
||||||
|
(((GdkWindowObject*)(GDK_WINDOW (d)))->destroyed)
|
||||||
|
#define GDK_WINDOW_TYPE(d) \
|
||||||
|
(((GdkWindowObject*)(GDK_WINDOW (d)))->window_type)
|
||||||
|
#define GDK_COLORMAP_XCOLORMAP(cmap) \
|
||||||
|
(gdk_x11_colormap_get_xcolormap (cmap))
|
||||||
|
#define GDK_DISPLAY_XDISPLAY(display) \
|
||||||
|
(gdk_x11_display_get_xdisplay (display))
|
||||||
|
#define GDK_SCREEN_XDISPLAY(screen) \
|
||||||
|
(gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen)))
|
||||||
|
#define GDK_PIXMAP_XDISPLAY(win) \
|
||||||
|
(gdk_x11_drawable_get_xdisplay (((GdkPixmapObject *)win)->impl))
|
||||||
|
#define GDK_WINDOW_XDISPLAY(win) \
|
||||||
|
(gdk_x11_drawable_get_xdisplay (((GdkWindowObject *)win)->impl))
|
||||||
|
#define GDK_SCREEN_XNUMBER(screen) \
|
||||||
|
(gdk_x11_screen_get_screen_number (screen))
|
||||||
|
#define GDK_PARENT_RELATIVE_BG ((GdkPixmap *)1L)
|
||||||
|
#define GDK_NO_BG ((GdkPixmap *)2L)
|
||||||
|
#define GDK_COLORMAP_XDISPLAY(cmap) (gdk_x11_colormap_get_xdisplay (cmap))
|
||||||
|
#define GDK_CURSOR_XCURSOR(cursor) (gdk_x11_cursor_get_xcursor (cursor))
|
||||||
|
#define GDK_CURSOR_XDISPLAY(cursor) (gdk_x11_cursor_get_xdisplay (cursor))
|
||||||
|
#define GDK_DRAWABLE_XDISPLAY(win) (gdk_x11_drawable_get_xdisplay (win))
|
||||||
|
#define GDK_DRAWABLE_XID(win) (gdk_x11_drawable_get_xid (win))
|
||||||
|
#define GDK_PIXMAP_XID(win) (gdk_x11_drawable_get_xid (win))
|
||||||
|
#define GDK_WINDOW_XID(win) (gdk_x11_drawable_get_xid (win))
|
||||||
|
#define GDK_WINDOW_XWINDOW(win) (gdk_x11_drawable_get_xid (win))
|
||||||
|
#define GDK_GC_XDISPLAY(gc) (gdk_x11_gc_get_xdisplay (gc))
|
||||||
|
#define GDK_GC_XGC(gc) (gdk_x11_gc_get_xgc (gc))
|
||||||
|
#define GDK_ROOT_WINDOW() (gdk_x11_get_default_root_xwindow ())
|
||||||
|
#define GDK_IMAGE_XDISPLAY(image) (gdk_x11_image_get_xdisplay (image))
|
||||||
|
#define GDK_IMAGE_XIMAGE(image) (gdk_x11_image_get_ximage (image))
|
||||||
|
#define GDK_SCREEN_XSCREEN(screen) (gdk_x11_screen_get_xscreen (screen))
|
||||||
|
#define GDK_VISUAL_XVISUAL(visual) (gdk_x11_visual_get_xvisual (visual))
|
||||||
|
#define GDK_DISPLAY() gdk_display
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern guint32 gdk_x11_get_server_time(GdkWindow *);
|
||||||
|
extern gpointer gdk_xid_table_lookup_for_display(GdkDisplay *, XID);
|
||||||
|
extern GdkVisual *gdk_x11_screen_lookup_visual(GdkScreen *, VisualID);
|
||||||
|
extern Window gdk_x11_get_default_root_xwindow(void);
|
||||||
|
extern Visual *gdk_x11_visual_get_xvisual(GdkVisual *);
|
||||||
|
extern void gdk_x11_display_ungrab(GdkDisplay *);
|
||||||
|
extern void gdk_x11_register_standard_event_type(GdkDisplay *, gint,
|
||||||
|
gint);
|
||||||
|
extern void gdk_window_destroy_notify(GdkWindow *);
|
||||||
|
extern const gchar *gdk_x11_get_xatom_name(Atom);
|
||||||
|
extern Atom gdk_x11_get_xatom_by_name_for_display(GdkDisplay *,
|
||||||
|
const gchar *);
|
||||||
|
extern GdkColormap *gdk_x11_colormap_foreign_new(GdkVisual *,
|
||||||
|
Colormap);
|
||||||
|
extern gboolean gdk_net_wm_supports(GdkAtom);
|
||||||
|
extern const gchar *gdk_x11_get_xatom_name_for_display(GdkDisplay *,
|
||||||
|
Atom);
|
||||||
|
extern GdkVisual *gdkx_visual_get(VisualID);
|
||||||
|
extern Atom gdk_x11_get_xatom_by_name(const gchar *);
|
||||||
|
extern gpointer gdk_xid_table_lookup(XID);
|
||||||
|
extern XID gdk_x11_drawable_get_xid(GdkDrawable *);
|
||||||
|
extern Display *gdk_x11_gc_get_xdisplay(GdkGC *);
|
||||||
|
extern Colormap gdk_x11_colormap_get_xcolormap(GdkColormap *);
|
||||||
|
extern GdkDisplay *gdk_x11_lookup_xdisplay(Display *);
|
||||||
|
extern GC gdk_x11_gc_get_xgc(GdkGC *);
|
||||||
|
extern void gdk_x11_grab_server(void);
|
||||||
|
extern int gdk_x11_screen_get_screen_number(GdkScreen *);
|
||||||
|
extern const char *gdk_x11_screen_get_window_manager_name(GdkScreen *);
|
||||||
|
extern GdkAtom gdk_x11_xatom_to_atom_for_display(GdkDisplay *, Atom);
|
||||||
|
extern Screen *gdk_x11_screen_get_xscreen(GdkScreen *);
|
||||||
|
extern void gdk_x11_ungrab_server(void);
|
||||||
|
extern gint gdk_x11_get_default_screen(void);
|
||||||
|
extern Display *gdk_x11_drawable_get_xdisplay(GdkDrawable *);
|
||||||
|
extern GdkAtom gdk_x11_xatom_to_atom(Atom);
|
||||||
|
extern Display *gdk_x11_colormap_get_xdisplay(GdkColormap *);
|
||||||
|
extern void gdk_x11_window_set_user_time(GdkWindow *, guint32);
|
||||||
|
extern Atom gdk_x11_atom_to_xatom(GdkAtom);
|
||||||
|
extern XImage *gdk_x11_image_get_ximage(GdkImage *);
|
||||||
|
extern Display *gdk_x11_cursor_get_xdisplay(GdkCursor *);
|
||||||
|
extern void gdk_x11_display_grab(GdkDisplay *);
|
||||||
|
extern Display *gdk_display;
|
||||||
|
extern Display *gdk_x11_image_get_xdisplay(GdkImage *);
|
||||||
|
extern Display *gdk_x11_get_default_xdisplay(void);
|
||||||
|
extern gboolean gdk_x11_screen_supports_net_wm_hint(GdkScreen *,
|
||||||
|
GdkAtom);
|
||||||
|
extern void gdk_synthesize_window_state(GdkWindow *, GdkWindowState,
|
||||||
|
GdkWindowState);
|
||||||
|
extern Display *gdk_x11_display_get_xdisplay(GdkDisplay *);
|
||||||
|
extern Atom gdk_x11_atom_to_xatom_for_display(GdkDisplay *, GdkAtom);
|
||||||
|
extern Cursor gdk_x11_cursor_get_xcursor(GdkCursor *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,168 @@
|
||||||
|
#ifndef _LIMITS_H_
|
||||||
|
#define _LIMITS_H_
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define LLONG_MIN (-LLONG_MAX-1LL)
|
||||||
|
#if __ia64__
|
||||||
|
#define LONG_MAX 0x7FFFFFFFFFFFFFFFL
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define LONG_MAX 0x7FFFFFFFFFFFFFFFL
|
||||||
|
#endif
|
||||||
|
#if __i386__
|
||||||
|
#define LONG_MAX 0x7FFFFFFFL
|
||||||
|
#endif
|
||||||
|
#if __ia64__
|
||||||
|
#define ULONG_MAX 0xFFFFFFFFFFFFFFFFUL
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define ULONG_MAX 0xFFFFFFFFFFFFFFFFUL
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define ULONG_MAX 0xFFFFFFFFFFFFFFFFUL
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define ULONG_MAX 0xFFFFFFFFFFFFFFFFUL
|
||||||
|
#endif
|
||||||
|
#if __i386__
|
||||||
|
#define ULONG_MAX 0xFFFFFFFFUL
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define ULONG_MAX 0xFFFFFFFFUL
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define ULONG_MAX 0xFFFFFFFFUL
|
||||||
|
#endif
|
||||||
|
#define ULLONG_MAX 18446744073709551615ULL
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define LONG_MAX 2147483647
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define LONG_MAX 2147483647L
|
||||||
|
#endif
|
||||||
|
#define OPEN_MAX 256
|
||||||
|
#define NGROUPS_MAX 32
|
||||||
|
#define PATH_MAX 4096
|
||||||
|
#if __powerpc64__
|
||||||
|
#define LONG_MAX 9223372036854775807L
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define LONG_MAX 9223372036854775807L
|
||||||
|
#endif
|
||||||
|
#define LLONG_MAX 9223372036854775807LL
|
||||||
|
#define SSIZE_MAX LONG_MAX
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Maximum length of any multibyte character in any locale.*/
|
||||||
|
#define MB_LEN_MAX 16
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Number of bits in a `char'.*/
|
||||||
|
#define SCHAR_MIN (-128)
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define CHAR_MIN 0
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define CHAR_MIN 0
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define CHAR_MIN 0
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define CHAR_MIN 0
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define CHAR_MAX 127
|
||||||
|
#endif
|
||||||
|
#define SCHAR_MAX 127
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define CHAR_MAX 255
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define CHAR_MAX 255
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define CHAR_MAX 255
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define CHAR_MAX 255
|
||||||
|
#endif
|
||||||
|
#define UCHAR_MAX 255
|
||||||
|
#define CHAR_BIT 8
|
||||||
|
#if __i386__
|
||||||
|
#define CHAR_MAX SCHAR_MAX
|
||||||
|
#endif
|
||||||
|
#if __ia64__
|
||||||
|
#define CHAR_MAX SCHAR_MAX
|
||||||
|
#endif
|
||||||
|
#if __i386__
|
||||||
|
#define CHAR_MIN SCHAR_MIN
|
||||||
|
#endif
|
||||||
|
#if __ia64__
|
||||||
|
#define CHAR_MIN SCHAR_MIN
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define CHAR_MIN SCHAR_MIN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Minimum and maximum values a `signed short int' can hold.*/
|
||||||
|
#define SHRT_MIN (-32768)
|
||||||
|
#define SHRT_MAX 32767
|
||||||
|
#define USHRT_MAX 65535
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Minimum and maximum values a `int' can hold.*/
|
||||||
|
#define INT_MIN (-INT_MAX-1)
|
||||||
|
#define INT_MAX 2147483647
|
||||||
|
#define __INT_MAX__ 2147483647
|
||||||
|
#define UINT_MAX 4294967295U
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Minimum and maximum values a `long int' can hold.*/
|
||||||
|
#define LONG_MIN (-LONG_MAX-1L)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* POSIX Threads values*/
|
||||||
|
#define PTHREAD_KEYS_MAX 1024
|
||||||
|
#if __i386__
|
||||||
|
#define PTHREAD_STACK_MIN 16384
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define PTHREAD_STACK_MIN 16384
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define PTHREAD_STACK_MIN 16384
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define PTHREAD_STACK_MIN 16384
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define PTHREAD_STACK_MIN 16384
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define PTHREAD_STACK_MIN 16384
|
||||||
|
#endif
|
||||||
|
#define PTHREAD_THREADS_MAX 16384
|
||||||
|
#if __ia64__
|
||||||
|
#define PTHREAD_STACK_MIN 196608
|
||||||
|
#endif
|
||||||
|
#define PTHREAD_DESTRUCTOR_ITERATIONS 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,38 @@
|
||||||
|
#ifndef _PANGO_1_0_PANGO_PANGO_UTILS_H_
|
||||||
|
#define _PANGO_1_0_PANGO_PANGO_UTILS_H_
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
#include <pango-1.0/pango/pango.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern char *pango_trim_string(const char *);
|
||||||
|
extern gboolean pango_scan_word(const char **, GString *);
|
||||||
|
extern gboolean pango_skip_space(const char **);
|
||||||
|
extern gboolean pango_parse_stretch(const char *, PangoStretch *,
|
||||||
|
gboolean);
|
||||||
|
extern gboolean pango_scan_int(const char **, int *);
|
||||||
|
extern gboolean pango_parse_weight(const char *, PangoWeight *,
|
||||||
|
gboolean);
|
||||||
|
extern gint pango_read_line(FILE *, GString *);
|
||||||
|
extern gboolean pango_log2vis_get_embedding_levels(gunichar *, gint,
|
||||||
|
PangoDirection *,
|
||||||
|
guint8 *);
|
||||||
|
extern const char *pango_language_get_sample_string(PangoLanguage *);
|
||||||
|
extern gboolean pango_parse_style(const char *, PangoStyle *,
|
||||||
|
gboolean);
|
||||||
|
extern gboolean pango_scan_string(const char **, GString *);
|
||||||
|
extern gboolean pango_parse_variant(const char *, PangoVariant *,
|
||||||
|
gboolean);
|
||||||
|
extern char **pango_split_file_list(const char *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,61 @@
|
||||||
|
#ifndef _PANGO_1_0_PANGO_PANGOFC_DECODER_H_
|
||||||
|
#define _PANGO_1_0_PANGO_PANGOFC_DECODER_H_
|
||||||
|
|
||||||
|
#include <fontconfig/fontconfig.h>
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
#include <glib-2.0/glib-object.h>
|
||||||
|
#include <pango-1.0/pango/pango.h>
|
||||||
|
#include <pango-1.0/pango/pangoxft.h>
|
||||||
|
#include <pango-1.0/pango/pangoft2.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define PANGO_FC_DECODER_CLASS(klass) \
|
||||||
|
(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FC_DECODER, \
|
||||||
|
PangoFcDecoderClass))
|
||||||
|
#define PANGO_IS_FC_DECODER_CLASS(klass) \
|
||||||
|
(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FC_DECODER))
|
||||||
|
#define PANGO_FC_DECODER(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_DECODER, \
|
||||||
|
PangoFcDecoder))
|
||||||
|
#define PANGO_IS_FC_DECODER(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_DECODER))
|
||||||
|
#define PANGO_FC_DECODER_GET_CLASS(obj) \
|
||||||
|
(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FC_DECODER, \
|
||||||
|
PangoFcDecoderClass))
|
||||||
|
#define PANGO_TYPE_FC_DECODER (pango_fc_decoder_get_type())
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _PangoFcDecoder PangoFcDecoder;
|
||||||
|
|
||||||
|
typedef struct _PangoFcDecoderClass PangoFcDecoderClass;
|
||||||
|
|
||||||
|
|
||||||
|
struct _PangoFcDecoder {
|
||||||
|
GObject parent_instance;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct _PangoFcDecoderClass {
|
||||||
|
GObjectClass parent_class;
|
||||||
|
FcCharSet *(*get_charset) (PangoFcDecoder *, PangoFcFont *);
|
||||||
|
PangoGlyph(*get_glyph) (PangoFcDecoder *, PangoFcFont *, guint32);
|
||||||
|
void (*_pango_reserved1) (void);
|
||||||
|
void (*_pango_reserved2) (void);
|
||||||
|
void (*_pango_reserved3) (void);
|
||||||
|
void (*_pango_reserved4) (void);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
extern FcCharSet *pango_fc_decoder_get_charset(PangoFcDecoder *,
|
||||||
|
PangoFcFont *);
|
||||||
|
extern PangoGlyph pango_fc_decoder_get_glyph(PangoFcDecoder *,
|
||||||
|
PangoFcFont *, guint32);
|
||||||
|
extern GType pango_fc_decoder_get_type(void);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,47 @@
|
||||||
|
#ifndef _PANGO_1_0_PANGO_PANGOFC_FONTMAP_H_
|
||||||
|
#define _PANGO_1_0_PANGO_PANGOFC_FONTMAP_H_
|
||||||
|
|
||||||
|
#include <fontconfig/fontconfig.h>
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
#include <glib-2.0/glib-object.h>
|
||||||
|
#include <pango-1.0/pango/pango.h>
|
||||||
|
#include <pango-1.0/pango/pangofc-decoder.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define PANGO_FC_FONT_MAP(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_FONT_MAP, \
|
||||||
|
PangoFcFontMap))
|
||||||
|
#define PANGO_IS_FC_FONT_MAP(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_FONT_MAP))
|
||||||
|
#define PANGO_TYPE_FC_FONT_MAP (pango_fc_font_map_get_type ())
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _PangoFcFontMap PangoFcFontMap;
|
||||||
|
|
||||||
|
typedef PangoFcDecoder *(*PangoFcDecoderFindFunc) (FcPattern *,
|
||||||
|
gpointer);
|
||||||
|
|
||||||
|
typedef struct _PangoFcFontMapClass PangoFcFontMapClass;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern void pango_fc_font_map_add_decoder_find_func(PangoFcFontMap *,
|
||||||
|
PangoFcDecoderFindFunc,
|
||||||
|
gpointer,
|
||||||
|
GDestroyNotify);
|
||||||
|
extern PangoFontDescription
|
||||||
|
*pango_fc_font_description_from_pattern(FcPattern *, gboolean);
|
||||||
|
extern GType pango_fc_font_map_get_type(void);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,71 @@
|
||||||
|
#ifndef _PANGO_1_0_PANGO_PANGOFT2_H_
|
||||||
|
#define _PANGO_1_0_PANGO_PANGOFT2_H_
|
||||||
|
|
||||||
|
#include <fontconfig/fontconfig.h>
|
||||||
|
#include <fontconfig/fcfreetype.h>
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
#include <glib-2.0/glib-object.h>
|
||||||
|
#include <pango-1.0/pango/pango.h>
|
||||||
|
#include <pango-1.0/pango/pangoxft.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define PANGO_FC_FONT(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_FONT, \
|
||||||
|
PangoFcFont))
|
||||||
|
#define PANGO_FT2_FONT_MAP(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FT2_FONT_MAP, \
|
||||||
|
PangoFT2FontMap))
|
||||||
|
#define PANGO_IS_FC_FONT(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_FONT))
|
||||||
|
#define PANGO_FT2_IS_FONT_MAP(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FT2_FONT_MAP))
|
||||||
|
#define PANGO_TYPE_FC_FONT (pango_fc_font_get_type ())
|
||||||
|
#define PANGO_TYPE_FT2_FONT_MAP (pango_ft2_font_map_get_type ())
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _PangoFT2FontMap PangoFT2FontMap;
|
||||||
|
|
||||||
|
typedef void (*PangoFT2SubstituteFunc) (FcPattern *, gpointer);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern void pango_ft2_font_map_set_default_substitute(PangoFT2FontMap
|
||||||
|
*,
|
||||||
|
PangoFT2SubstituteFunc,
|
||||||
|
gpointer,
|
||||||
|
GDestroyNotify);
|
||||||
|
extern void pango_fc_font_unlock_face(PangoFcFont *);
|
||||||
|
extern GType pango_ft2_font_map_get_type(void);
|
||||||
|
extern void pango_ft2_render_transformed(FT_Bitmap *,
|
||||||
|
const PangoMatrix *,
|
||||||
|
PangoFont *,
|
||||||
|
PangoGlyphString *, int, int);
|
||||||
|
extern PangoContext *pango_ft2_font_map_create_context(PangoFT2FontMap
|
||||||
|
*);
|
||||||
|
extern void pango_ft2_render_layout_subpixel(FT_Bitmap *,
|
||||||
|
PangoLayout *, int, int);
|
||||||
|
extern void pango_ft2_render_layout(FT_Bitmap *, PangoLayout *, int,
|
||||||
|
int);
|
||||||
|
extern void pango_ft2_font_map_set_resolution(PangoFT2FontMap *,
|
||||||
|
double, double);
|
||||||
|
extern void pango_ft2_render(FT_Bitmap *, PangoFont *,
|
||||||
|
PangoGlyphString *, int, int);
|
||||||
|
extern void pango_ft2_font_map_substitute_changed(PangoFT2FontMap *);
|
||||||
|
extern void pango_ft2_render_layout_line(FT_Bitmap *,
|
||||||
|
PangoLayoutLine *, int, int);
|
||||||
|
extern GType pango_fc_font_get_type(void);
|
||||||
|
extern void pango_ft2_render_layout_line_subpixel(FT_Bitmap *,
|
||||||
|
PangoLayoutLine *,
|
||||||
|
int, int);
|
||||||
|
extern FT_Face pango_fc_font_lock_face(PangoFcFont *);
|
||||||
|
extern PangoFontMap *pango_ft2_font_map_new(void);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,117 @@
|
||||||
|
#ifndef _PANGO_1_0_PANGO_PANGOXFT_H_
|
||||||
|
#define _PANGO_1_0_PANGO_PANGOXFT_H_
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <fontconfig/fontconfig.h>
|
||||||
|
#include <glib-2.0/glib.h>
|
||||||
|
#include <glib-2.0/glib-object.h>
|
||||||
|
#include <pango-1.0/pango/pango.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define PANGO_XFT_RENDERER_CLASS(klass) \
|
||||||
|
(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_XFT_RENDERER, \
|
||||||
|
PangoXftRendererClass))
|
||||||
|
#define PANGO_IS_XFT_RENDERER_CLASS(klass) \
|
||||||
|
(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_XFT_RENDERER))
|
||||||
|
#define PANGO_XFT_FONT(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_FONT, \
|
||||||
|
PangoXftFont))
|
||||||
|
#define PANGO_XFT_FONT_MAP(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_FONT_MAP, \
|
||||||
|
PangoXftFontMap))
|
||||||
|
#define PANGO_XFT_RENDERER(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_RENDERER, \
|
||||||
|
PangoXftRenderer))
|
||||||
|
#define PANGO_XFT_IS_FONT(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_FONT))
|
||||||
|
#define PANGO_XFT_IS_FONT_MAP(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_FONT_MAP))
|
||||||
|
#define PANGO_IS_XFT_RENDERER(object) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_RENDERER))
|
||||||
|
#define PANGO_XFT_RENDERER_GET_CLASS(obj) \
|
||||||
|
(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_XFT_RENDERER, \
|
||||||
|
PangoXftRendererClass))
|
||||||
|
#define PANGO_TYPE_XFT_FONT (pango_xft_font_get_type ())
|
||||||
|
#define PANGO_TYPE_XFT_FONT_MAP (pango_xft_font_map_get_type ())
|
||||||
|
#define PANGO_TYPE_XFT_RENDERER (pango_xft_renderer_get_type())
|
||||||
|
#define PANGO_RENDER_TYPE_XFT "PangoRenderXft"
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _PangoXftRenderer PangoXftRenderer;
|
||||||
|
|
||||||
|
typedef void (*PangoXftSubstituteFunc) (FcPattern *, gpointer);
|
||||||
|
|
||||||
|
typedef struct _PangoXftFontMap PangoXftFontMap;
|
||||||
|
|
||||||
|
typedef struct _PangoXftRendererClass PangoXftRendererClass;
|
||||||
|
|
||||||
|
typedef struct _PangoFcFontClass PangoFcFontClass;
|
||||||
|
|
||||||
|
typedef struct _PangoFcFont PangoFcFont;
|
||||||
|
|
||||||
|
typedef struct _PangoXftFont PangoXftFont;
|
||||||
|
|
||||||
|
typedef struct _PangoXftRendererPrivate PangoXftRendererPrivate;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct _PangoXftRendererClass {
|
||||||
|
PangoRendererClass parent_class;
|
||||||
|
void (*composite_trapezoids) (PangoXftRenderer *, PangoRenderPart,
|
||||||
|
XTrapezoid *, int);
|
||||||
|
void (*composite_glyphs) (PangoXftRenderer *, XftFont *,
|
||||||
|
XftGlyphSpec *, int);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern void pango_xft_substitute_changed(Display *, int);
|
||||||
|
extern void pango_xft_render(XftDraw *, XftColor *, PangoFont *,
|
||||||
|
PangoGlyphString *, gint, gint);
|
||||||
|
extern PangoRenderer *pango_xft_renderer_new(Display *, int);
|
||||||
|
extern GType pango_xft_renderer_get_type(void);
|
||||||
|
extern void pango_xft_renderer_set_default_color(PangoXftRenderer *,
|
||||||
|
PangoColor *);
|
||||||
|
extern GType pango_xft_font_get_type(void);
|
||||||
|
extern void pango_xft_picture_render(Display *, Picture, Picture,
|
||||||
|
PangoFont *, PangoGlyphString *,
|
||||||
|
gint, gint);
|
||||||
|
extern void pango_xft_render_layout(XftDraw *, XftColor *,
|
||||||
|
PangoLayout *, int, int);
|
||||||
|
extern void pango_xft_render_transformed(XftDraw *, XftColor *,
|
||||||
|
PangoMatrix *, PangoFont *,
|
||||||
|
PangoGlyphString *, int, int);
|
||||||
|
extern void pango_xft_renderer_set_draw(PangoXftRenderer *, XftDraw *);
|
||||||
|
extern void pango_xft_render_layout_line(XftDraw *, XftColor *,
|
||||||
|
PangoLayoutLine *, int, int);
|
||||||
|
extern void pango_xft_shutdown_display(Display *, int);
|
||||||
|
extern PangoFontMap *pango_xft_get_font_map(Display *, int);
|
||||||
|
extern PangoContext *pango_xft_get_context(Display *, int);
|
||||||
|
extern GType pango_xft_font_map_get_type(void);
|
||||||
|
extern void pango_xft_set_default_substitute(Display *, int,
|
||||||
|
PangoXftSubstituteFunc,
|
||||||
|
gpointer, GDestroyNotify);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,92 @@
|
||||||
|
#ifndef _STDDEF_H_
|
||||||
|
#define _STDDEF_H_
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define offsetof(TYPE,MEMBER) ((size_t)&((TYPE*)0)->MEMBER)
|
||||||
|
#define NULL (0L)
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(__cplusplus)
|
||||||
|
typedef int wchar_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __ia64__
|
||||||
|
/* IA64 */
|
||||||
|
typedef long int ptrdiff_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __i386__
|
||||||
|
/* IA32 */
|
||||||
|
typedef unsigned int size_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __ia64__
|
||||||
|
/* IA64 */
|
||||||
|
typedef unsigned long int size_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
/* PPC32 */
|
||||||
|
typedef unsigned int size_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
/* PPC64 */
|
||||||
|
typedef unsigned long int size_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
/* S390 */
|
||||||
|
typedef unsigned long int size_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __i386__
|
||||||
|
/* IA32 */
|
||||||
|
typedef int ptrdiff_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
/* PPC32 */
|
||||||
|
typedef int ptrdiff_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
/* S390 */
|
||||||
|
typedef int ptrdiff_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
/* PPC64 */
|
||||||
|
typedef long int ptrdiff_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
/* S390X */
|
||||||
|
typedef unsigned long int size_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
/* x86-64 */
|
||||||
|
typedef long int ptrdiff_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
/* x86-64 */
|
||||||
|
typedef unsigned long int size_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
/* S390X */
|
||||||
|
typedef long int ptrdiff_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,166 @@
|
||||||
|
#ifndef _STDIO_H_
|
||||||
|
#define _STDIO_H_
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <wctype.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define EOF (-1)
|
||||||
|
#define P_tmpdir "/tmp"
|
||||||
|
#if __i386__
|
||||||
|
#define __IO_FILE_SIZE 148
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define __IO_FILE_SIZE 152
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define __IO_FILE_SIZE 152
|
||||||
|
#endif
|
||||||
|
#define FOPEN_MAX 16
|
||||||
|
#define L_tmpnam 20
|
||||||
|
#if __ia64__
|
||||||
|
#define __IO_FILE_SIZE 216
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define __IO_FILE_SIZE 216
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define __IO_FILE_SIZE 216
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define __IO_FILE_SIZE 216
|
||||||
|
#endif
|
||||||
|
#define FILENAME_MAX 4096
|
||||||
|
#define BUFSIZ 8192
|
||||||
|
#define L_ctermid 9
|
||||||
|
#define L_cuserid 9
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
off_t __pos;
|
||||||
|
mbstate_t __state;
|
||||||
|
} fpos_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
off64_t __pos;
|
||||||
|
mbstate_t __state;
|
||||||
|
} fpos64_t;
|
||||||
|
|
||||||
|
struct _IO_FILE {
|
||||||
|
char dummy[__IO_FILE_SIZE];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* The opaque type of streams.*/
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _IO_FILE FILE;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* The possibilities for the third argument to `setvbuf'.*/
|
||||||
|
#define _IOFBF 0
|
||||||
|
#define _IOLBF 1
|
||||||
|
#define _IONBF 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* The possibilities for the third argument to `fseek'.*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* End of file character.*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern char *const _sys_errlist[128];
|
||||||
|
extern void clearerr(FILE *);
|
||||||
|
extern int fclose(FILE *);
|
||||||
|
extern FILE *fdopen(int, const char *);
|
||||||
|
extern int fflush_unlocked(FILE *);
|
||||||
|
extern int fileno(FILE *);
|
||||||
|
extern FILE *fopen(const char *, const char *);
|
||||||
|
extern int fprintf(FILE *, const char *, ...);
|
||||||
|
extern int fputc(int, FILE *);
|
||||||
|
extern FILE *freopen(const char *, const char *, FILE *);
|
||||||
|
extern FILE *freopen64(const char *, const char *, FILE *);
|
||||||
|
extern int fscanf(FILE *, const char *, ...);
|
||||||
|
extern int fseek(FILE *, long int, int);
|
||||||
|
extern int fseeko(FILE *, off_t, int);
|
||||||
|
extern int fseeko64(FILE *, loff_t, int);
|
||||||
|
extern off_t ftello(FILE *);
|
||||||
|
extern loff_t ftello64(FILE *);
|
||||||
|
extern int getchar(void);
|
||||||
|
extern int getchar_unlocked(void);
|
||||||
|
extern int getw(FILE *);
|
||||||
|
extern int pclose(FILE *);
|
||||||
|
extern void perror(const char *);
|
||||||
|
extern FILE *popen(const char *, const char *);
|
||||||
|
extern int printf(const char *, ...);
|
||||||
|
extern int putc_unlocked(int, FILE *);
|
||||||
|
extern int putchar(int);
|
||||||
|
extern int putchar_unlocked(int);
|
||||||
|
extern int putw(int, FILE *);
|
||||||
|
extern int remove(const char *);
|
||||||
|
extern void rewind(FILE *);
|
||||||
|
extern int scanf(const char *, ...);
|
||||||
|
extern void setbuf(FILE *, char *);
|
||||||
|
extern int sprintf(char *, const char *, ...);
|
||||||
|
extern int sscanf(const char *, const char *, ...);
|
||||||
|
extern FILE *stderr;
|
||||||
|
extern FILE *stdin;
|
||||||
|
extern FILE *stdout;
|
||||||
|
extern char *tempnam(const char *, const char *);
|
||||||
|
extern FILE *tmpfile64(void);
|
||||||
|
extern FILE *tmpfile(void);
|
||||||
|
extern char *tmpnam(char *);
|
||||||
|
extern int vfprintf(FILE *, const char *, va_list);
|
||||||
|
extern int vprintf(const char *, va_list);
|
||||||
|
extern int feof(FILE *);
|
||||||
|
extern int ferror(FILE *);
|
||||||
|
extern int fflush(FILE *);
|
||||||
|
extern int fgetc(FILE *);
|
||||||
|
extern int fgetpos(FILE *, fpos_t *);
|
||||||
|
extern char *fgets(char *, int, FILE *);
|
||||||
|
extern int fputs(const char *, FILE *);
|
||||||
|
extern size_t fread(void *, size_t, size_t, FILE *);
|
||||||
|
extern int fsetpos(FILE *, const fpos_t *);
|
||||||
|
extern long int ftell(FILE *);
|
||||||
|
extern size_t fwrite(const void *, size_t, size_t, FILE *);
|
||||||
|
extern int getc(FILE *);
|
||||||
|
extern char *gets(char *);
|
||||||
|
extern int putc(int, FILE *);
|
||||||
|
extern int puts(const char *);
|
||||||
|
extern int setvbuf(FILE *, char *, int, size_t);
|
||||||
|
extern int snprintf(char *, size_t, const char *, ...);
|
||||||
|
extern int ungetc(int, FILE *);
|
||||||
|
extern int vsnprintf(char *, size_t, const char *, va_list);
|
||||||
|
extern int vsprintf(char *, const char *, va_list);
|
||||||
|
extern void flockfile(FILE *);
|
||||||
|
extern int asprintf(char **, const char *, ...);
|
||||||
|
extern int fgetpos64(FILE *, fpos64_t *);
|
||||||
|
extern FILE *fopen64(const char *, const char *);
|
||||||
|
extern int fsetpos64(FILE *, const fpos64_t *);
|
||||||
|
extern int ftrylockfile(FILE *);
|
||||||
|
extern void funlockfile(FILE *);
|
||||||
|
extern int getc_unlocked(FILE *);
|
||||||
|
extern void setbuffer(FILE *, char *, size_t);
|
||||||
|
extern int vasprintf(char **, const char *, va_list);
|
||||||
|
extern int vdprintf(int, const char *, va_list);
|
||||||
|
extern int vfscanf(FILE *, const char *, va_list);
|
||||||
|
extern int vscanf(const char *, va_list);
|
||||||
|
extern int vsscanf(const char *, const char *, va_list);
|
||||||
|
extern size_t __fpending(FILE *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,145 @@
|
||||||
|
#ifndef _STDLIB_H_
|
||||||
|
#define _STDLIB_H_
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define MB_CUR_MAX (__ctype_get_mb_cur_max())
|
||||||
|
#define EXIT_SUCCESS 0
|
||||||
|
#define EXIT_FAILURE 1
|
||||||
|
#define RAND_MAX 2147483647
|
||||||
|
|
||||||
|
|
||||||
|
typedef int (*__compar_fn_t) (const void *, const void *);
|
||||||
|
|
||||||
|
struct random_data {
|
||||||
|
int32_t *fptr; /* Front pointer. */
|
||||||
|
int32_t *rptr; /* Rear pointer. */
|
||||||
|
int32_t *state; /* Array of state values. */
|
||||||
|
int rand_type; /* Type of random number generator. */
|
||||||
|
int rand_deg; /* Degree of random number generator. */
|
||||||
|
int rand_sep; /* Distance between front and rear. */
|
||||||
|
int32_t *end_ptr; /* Pointer behind state table. */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* Returned by `div'.*/
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int quot;
|
||||||
|
int rem;
|
||||||
|
} div_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Returned by `ldiv'.*/
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
long int quot;
|
||||||
|
long int rem;
|
||||||
|
} ldiv_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Returned by `lldiv'.*/
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
long long int quot;
|
||||||
|
long long int rem;
|
||||||
|
} lldiv_t;
|
||||||
|
|
||||||
|
|
||||||
|
extern double __strtod_internal(const char *, char **, int);
|
||||||
|
extern float __strtof_internal(const char *, char **, int);
|
||||||
|
extern long int __strtol_internal(const char *, char **, int, int);
|
||||||
|
extern long double __strtold_internal(const char *, char **, int);
|
||||||
|
extern long long int __strtoll_internal(const char *, char **, int,
|
||||||
|
int);
|
||||||
|
extern unsigned long int __strtoul_internal(const char *, char **, int,
|
||||||
|
int);
|
||||||
|
extern unsigned long long int __strtoull_internal(const char *,
|
||||||
|
char **, int, int);
|
||||||
|
extern long int a64l(const char *);
|
||||||
|
extern void abort(void);
|
||||||
|
extern int abs(int);
|
||||||
|
extern int atexit(void (*)(void)
|
||||||
|
);
|
||||||
|
extern double atof(const char *);
|
||||||
|
extern int atoi(const char *);
|
||||||
|
extern long int atol(const char *);
|
||||||
|
extern long long int atoll(const char *);
|
||||||
|
extern void *bsearch(const void *, const void *, size_t, size_t,
|
||||||
|
__compar_fn_t);
|
||||||
|
extern div_t div(int, int);
|
||||||
|
extern double drand48(void);
|
||||||
|
extern char *ecvt(double, int, int *, int *);
|
||||||
|
extern double erand48(unsigned short[3]);
|
||||||
|
extern void exit(int);
|
||||||
|
extern char *fcvt(double, int, int *, int *);
|
||||||
|
extern char *gcvt(double, int, char *);
|
||||||
|
extern char *getenv(const char *);
|
||||||
|
extern int getsubopt(char **, char *const *, char **);
|
||||||
|
extern int grantpt(int);
|
||||||
|
extern long int jrand48(unsigned short[3]);
|
||||||
|
extern char *l64a(long int);
|
||||||
|
extern long int labs(long int);
|
||||||
|
extern void lcong48(unsigned short[7]);
|
||||||
|
extern ldiv_t ldiv(long int, long int);
|
||||||
|
extern long long int llabs(long long int);
|
||||||
|
extern lldiv_t lldiv(long long int, long long int);
|
||||||
|
extern long int lrand48(void);
|
||||||
|
extern int mblen(const char *, size_t);
|
||||||
|
extern size_t mbstowcs(wchar_t *, const char *, size_t);
|
||||||
|
extern int mbtowc(wchar_t *, const char *, size_t);
|
||||||
|
extern char *mktemp(char *);
|
||||||
|
extern long int mrand48(void);
|
||||||
|
extern long int nrand48(unsigned short[3]);
|
||||||
|
extern char *ptsname(int);
|
||||||
|
extern int putenv(char *);
|
||||||
|
extern void qsort(void *, size_t, size_t, const __compar_fn_t);
|
||||||
|
extern int rand(void);
|
||||||
|
extern int rand_r(unsigned int *);
|
||||||
|
extern unsigned short *seed48(unsigned short[]);
|
||||||
|
extern void srand48(long int);
|
||||||
|
extern int unlockpt(int);
|
||||||
|
extern size_t wcstombs(char *, const wchar_t *, size_t);
|
||||||
|
extern int wctomb(char *, wchar_t);
|
||||||
|
extern int system(const char *);
|
||||||
|
extern void *calloc(size_t, size_t);
|
||||||
|
extern void free(void *);
|
||||||
|
extern char *initstate(unsigned int, char *, size_t);
|
||||||
|
extern void *malloc(size_t);
|
||||||
|
extern long int random(void);
|
||||||
|
extern void *realloc(void *, size_t);
|
||||||
|
extern char *setstate(char *);
|
||||||
|
extern void srand(unsigned int);
|
||||||
|
extern void srandom(unsigned int);
|
||||||
|
extern double strtod(const char *, char **);
|
||||||
|
extern float strtof(const char *, char **);
|
||||||
|
extern long int strtol(const char *, char **, int);
|
||||||
|
extern long double strtold(const char *, char **);
|
||||||
|
extern long long int strtoll(const char *, char **, int);
|
||||||
|
extern long long int strtoq(const char *, char **, int);
|
||||||
|
extern unsigned long int strtoul(const char *, char **, int);
|
||||||
|
extern unsigned long long int strtoull(const char *, char **, int);
|
||||||
|
extern unsigned long long int strtouq(const char *, char **, int);
|
||||||
|
extern void _Exit(int);
|
||||||
|
extern size_t __ctype_get_mb_cur_max(void);
|
||||||
|
extern char **environ;
|
||||||
|
extern char *realpath(const char *, char *);
|
||||||
|
extern int setenv(const char *, const char *, int);
|
||||||
|
extern int unsetenv(const char *);
|
||||||
|
extern int getloadavg(double[], int);
|
||||||
|
extern int mkstemp64(char *);
|
||||||
|
extern int posix_memalign(void **, size_t, size_t);
|
||||||
|
extern int posix_openpt(int);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,63 @@
|
||||||
|
#ifndef _STRING_H_
|
||||||
|
#define _STRING_H_
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern void *__mempcpy(void *, const void *, size_t);
|
||||||
|
extern char *__stpcpy(char *, const char *);
|
||||||
|
extern char *__strtok_r(char *, const char *, char **);
|
||||||
|
extern void bcopy(const void *, void *, size_t);
|
||||||
|
extern void *memchr(const void *, int, size_t);
|
||||||
|
extern int memcmp(const void *, const void *, size_t);
|
||||||
|
extern void *memcpy(void *, const void *, size_t);
|
||||||
|
extern void *memmem(const void *, size_t, const void *, size_t);
|
||||||
|
extern void *memmove(void *, const void *, size_t);
|
||||||
|
extern void *memset(void *, int, size_t);
|
||||||
|
extern char *strcat(char *, const char *);
|
||||||
|
extern char *strchr(const char *, int);
|
||||||
|
extern int strcmp(const char *, const char *);
|
||||||
|
extern int strcoll(const char *, const char *);
|
||||||
|
extern char *strcpy(char *, const char *);
|
||||||
|
extern size_t strcspn(const char *, const char *);
|
||||||
|
extern char *strerror(int);
|
||||||
|
extern size_t strlen(const char *);
|
||||||
|
extern char *strncat(char *, const char *, size_t);
|
||||||
|
extern int strncmp(const char *, const char *, size_t);
|
||||||
|
extern char *strncpy(char *, const char *, size_t);
|
||||||
|
extern char *strpbrk(const char *, const char *);
|
||||||
|
extern char *strrchr(const char *, int);
|
||||||
|
extern char *strsignal(int);
|
||||||
|
extern size_t strspn(const char *, const char *);
|
||||||
|
extern char *strstr(const char *, const char *);
|
||||||
|
extern char *strtok(char *, const char *);
|
||||||
|
extern size_t strxfrm(char *, const char *, size_t);
|
||||||
|
extern int bcmp(const void *, const void *, size_t);
|
||||||
|
extern void bzero(void *, size_t);
|
||||||
|
extern int ffs(int);
|
||||||
|
extern char *index(const char *, int);
|
||||||
|
extern void *memccpy(void *, const void *, int, size_t);
|
||||||
|
extern char *rindex(const char *, int);
|
||||||
|
extern int strcasecmp(const char *, const char *);
|
||||||
|
extern char *strdup(const char *);
|
||||||
|
extern int strncasecmp(const char *, const char *, size_t);
|
||||||
|
extern char *strndup(const char *, size_t);
|
||||||
|
extern size_t strnlen(const char *, size_t);
|
||||||
|
extern char *strsep(char **, const char *);
|
||||||
|
extern char *strerror_r(int, char *, size_t);
|
||||||
|
extern char *strtok_r(char *, const char *, char **);
|
||||||
|
extern char *strcasestr(const char *, const char *);
|
||||||
|
extern char *stpcpy(char *, const char *);
|
||||||
|
extern char *stpncpy(char *, const char *, size_t);
|
||||||
|
extern void *memrchr(const void *, int, size_t);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,110 @@
|
||||||
|
#ifndef _SYS_RESOURCE_H_
|
||||||
|
#define _SYS_RESOURCE_H_
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define RUSAGE_CHILDREN (-1)
|
||||||
|
#define RUSAGE_BOTH (-2)
|
||||||
|
#define RLIM_INFINITY (~0UL)
|
||||||
|
#define RLIM_SAVED_CUR -1
|
||||||
|
#define RLIM_SAVED_MAX -1
|
||||||
|
#define RLIMIT_CPU 0
|
||||||
|
#define RUSAGE_SELF 0
|
||||||
|
#define RLIMIT_FSIZE 1
|
||||||
|
#define RLIMIT_LOCKS 10
|
||||||
|
#define RLIM_NLIMITS 11
|
||||||
|
#define RLIMIT_DATA 2
|
||||||
|
#define RLIMIT_STACK 3
|
||||||
|
#define RLIMIT_CORE 4
|
||||||
|
#define RLIMIT_RSS 5
|
||||||
|
#define RLIMIT_NPROC 6
|
||||||
|
#define RLIMIT_NOFILE 7
|
||||||
|
#define RLIMIT_MEMLOCK 8
|
||||||
|
#define RLIMIT_AS 9
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned long int rlim_t;
|
||||||
|
|
||||||
|
typedef unsigned long long int rlim64_t;
|
||||||
|
|
||||||
|
typedef int __rlimit_resource_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct rlimit {
|
||||||
|
rlim_t rlim_cur; /* The current (soft) limit. */
|
||||||
|
rlim_t rlim_max; /* The hard limit. */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct rlimit64 {
|
||||||
|
rlim64_t rlim_cur; /* The current (soft) limit. */
|
||||||
|
rlim64_t rlim_max; /* The hard limit. */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct rusage {
|
||||||
|
struct timeval ru_utime; /* Total amount of user time used. */
|
||||||
|
struct timeval ru_stime; /* Total amount of system time used. */
|
||||||
|
long int ru_maxrss; /* Maximum resident set size (in kilobytes). */
|
||||||
|
long int ru_ixrss; /* Amount of sharing of text segment memory with other p */
|
||||||
|
long int ru_idrss; /* Amount of data segment memory used (kilobyte-seconds). */
|
||||||
|
long int ru_isrss; /* Amount of stack memory used (kilobyte-seconds). */
|
||||||
|
long int ru_minflt; /* Number of soft page faults (i.e. those serviced by reclaimin */
|
||||||
|
long int ru_majflt; /* Number of hard page faults (i.e. those that required I/O). */
|
||||||
|
long int ru_nswap; /* Number of times a process was swapped out of physical memory */
|
||||||
|
long int ru_inblock; /* Number of input operations via the file system. Note: This */
|
||||||
|
long int ru_oublock; /* Number of output operations via the file system. */
|
||||||
|
long int ru_msgsnd; /* Number of IPC messages sent. */
|
||||||
|
long int ru_msgrcv; /* Number of IPC messages received. */
|
||||||
|
long int ru_nsignals; /* Number of signals delivered. */
|
||||||
|
long int ru_nvcsw; /* Number of voluntary context switches, i.e. because the proce */
|
||||||
|
long int ru_nivcsw; /* Number of involuntary context switches, i.e. a higher priori */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* Priority limits.*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* The type of the WHICH argument to `getpriority' and `setpriority',
|
||||||
|
indicating what flavor of entity the WHO argument specifies.*/
|
||||||
|
|
||||||
|
|
||||||
|
enum __priority_which {
|
||||||
|
PRIO_PROCESS = 0, /* WHO is a process ID. */
|
||||||
|
PRIO_PGRP = 1, /* WHO is a process group ID. */
|
||||||
|
PRIO_USER = 2 /* WHO is a user ID. */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#define PRIO_PGRP PRIO_PGRP
|
||||||
|
#define PRIO_PROCESS PRIO_PROCESS
|
||||||
|
#define PRIO_USER PRIO_USER
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum __priority_which __priority_which_t;
|
||||||
|
|
||||||
|
|
||||||
|
extern int getpriority(__priority_which_t, id_t);
|
||||||
|
extern int getrlimit64(id_t, struct rlimit64 *);
|
||||||
|
extern int setpriority(__priority_which_t, id_t, int);
|
||||||
|
extern int setrlimit(__rlimit_resource_t, const struct rlimit *);
|
||||||
|
extern int setrlimit64(__rlimit_resource_t, const struct rlimit64 *);
|
||||||
|
extern int getrlimit(__rlimit_resource_t, struct rlimit *);
|
||||||
|
extern int getrusage(int, struct rusage *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,17 @@
|
||||||
|
#ifndef _SYS_SELECT_H_
|
||||||
|
#define _SYS_SELECT_H_
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define NFDBITS (8 * sizeof (long))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,69 @@
|
||||||
|
#ifndef _SYS_TIME_H_
|
||||||
|
#define _SYS_TIME_H_
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define ITIMER_REAL 0
|
||||||
|
#define ITIMER_VIRTUAL 1
|
||||||
|
#define ITIMER_PROF 2
|
||||||
|
|
||||||
|
|
||||||
|
struct timezone {
|
||||||
|
int tz_minuteswest;
|
||||||
|
int tz_dsttime;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Values for the first argument to `getitimer' and `setitimer'.*/
|
||||||
|
|
||||||
|
|
||||||
|
typedef int __itimer_which_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct timespec {
|
||||||
|
time_t tv_sec;
|
||||||
|
long int tv_nsec;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct timeval {
|
||||||
|
time_t tv_sec;
|
||||||
|
suseconds_t tv_usec;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* Type of the second argument to `getitimer' and
|
||||||
|
the second and third arguments `setitimer'.*/
|
||||||
|
|
||||||
|
|
||||||
|
struct itimerval {
|
||||||
|
struct timeval it_interval;
|
||||||
|
struct timeval it_value;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
extern int getitimer(__itimer_which_t, struct itimerval *);
|
||||||
|
extern int setitimer(__itimer_which_t, const struct itimerval *,
|
||||||
|
struct itimerval *);
|
||||||
|
extern int adjtime(const struct timeval *, struct timeval *);
|
||||||
|
extern int gettimeofday(struct timeval *, struct timezone *);
|
||||||
|
extern int utimes(const char *, const struct timeval *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,249 @@
|
||||||
|
#ifndef _SYS_TYPES_H_
|
||||||
|
#define _SYS_TYPES_H_
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define FALSE 0
|
||||||
|
#define TRUE 1
|
||||||
|
#define FD_SETSIZE 1024
|
||||||
|
#define FD_ZERO(fdsetp) bzero(fdsetp, sizeof(*(fdsetp)))
|
||||||
|
#define FD_ISSET(d,set) \
|
||||||
|
((set)->fds_bits[((d)/(8*sizeof(long)))]&(1<<((d)%(8*sizeof(long)))))
|
||||||
|
#define FD_CLR(d,set) \
|
||||||
|
((set)->fds_bits[((d)/(8*sizeof(long)))]&=~(1<<((d)%(8*sizeof(long)))))
|
||||||
|
#define FD_SET(d,set) \
|
||||||
|
((set)->fds_bits[((d)/(8*sizeof(long)))]|=(1<<((d)%(8*sizeof(long)))))
|
||||||
|
|
||||||
|
|
||||||
|
typedef signed char int8_t;
|
||||||
|
|
||||||
|
typedef short int16_t;
|
||||||
|
|
||||||
|
typedef int int32_t;
|
||||||
|
|
||||||
|
#if __i386__
|
||||||
|
/* IA32 */
|
||||||
|
typedef long long int int64_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
typedef unsigned char u_int8_t;
|
||||||
|
|
||||||
|
typedef unsigned short u_int16_t;
|
||||||
|
|
||||||
|
typedef unsigned int u_int32_t;
|
||||||
|
|
||||||
|
typedef unsigned int uid_t;
|
||||||
|
|
||||||
|
typedef int pid_t;
|
||||||
|
|
||||||
|
typedef long int off_t;
|
||||||
|
|
||||||
|
typedef int key_t;
|
||||||
|
|
||||||
|
typedef long int suseconds_t;
|
||||||
|
|
||||||
|
typedef unsigned int u_int;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int __val[2];
|
||||||
|
} fsid_t;
|
||||||
|
|
||||||
|
typedef unsigned int useconds_t;
|
||||||
|
|
||||||
|
typedef unsigned long int blksize_t;
|
||||||
|
|
||||||
|
typedef long int fd_mask;
|
||||||
|
|
||||||
|
typedef int timer_t;
|
||||||
|
|
||||||
|
typedef int clockid_t;
|
||||||
|
|
||||||
|
#if __ia64__
|
||||||
|
/* IA64 */
|
||||||
|
typedef long int int64_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
/* PPC64 */
|
||||||
|
typedef long int int64_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
/* x86-64 */
|
||||||
|
typedef long int int64_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
/* S390X */
|
||||||
|
typedef long int int64_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
/* PPC32 */
|
||||||
|
typedef long long int int64_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
/* S390 */
|
||||||
|
typedef long long int int64_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* These types are derived from the ones above*/
|
||||||
|
|
||||||
|
|
||||||
|
#if __i386__
|
||||||
|
/* IA32 */
|
||||||
|
typedef int32_t ssize_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
typedef unsigned int id_t;
|
||||||
|
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
/* PPC32 */
|
||||||
|
typedef int32_t ssize_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __ia64__
|
||||||
|
/* IA64 */
|
||||||
|
typedef int64_t ssize_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
/* S390 */
|
||||||
|
typedef int32_t ssize_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
/* PPC64 */
|
||||||
|
typedef int64_t ssize_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
/* x86-64 */
|
||||||
|
typedef int64_t ssize_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
/* S390X */
|
||||||
|
typedef int64_t ssize_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Stuff that really in bits/types.h*/
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned long long int ino64_t;
|
||||||
|
|
||||||
|
typedef long long int loff_t;
|
||||||
|
|
||||||
|
typedef unsigned long int blkcnt_t;
|
||||||
|
|
||||||
|
typedef unsigned long int fsblkcnt_t;
|
||||||
|
|
||||||
|
typedef unsigned long int fsfilcnt_t;
|
||||||
|
|
||||||
|
typedef unsigned long long int blkcnt64_t;
|
||||||
|
|
||||||
|
typedef unsigned long long int fsblkcnt64_t;
|
||||||
|
|
||||||
|
typedef unsigned long long int fsfilcnt64_t;
|
||||||
|
|
||||||
|
typedef unsigned char u_char;
|
||||||
|
|
||||||
|
typedef unsigned short u_short;
|
||||||
|
|
||||||
|
typedef unsigned long int u_long;
|
||||||
|
|
||||||
|
|
||||||
|
/* Stuff really in linux/types.h*/
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned long int ino_t;
|
||||||
|
|
||||||
|
typedef unsigned int gid_t;
|
||||||
|
|
||||||
|
typedef unsigned long long int dev_t;
|
||||||
|
|
||||||
|
typedef unsigned int mode_t;
|
||||||
|
|
||||||
|
typedef unsigned long int nlink_t;
|
||||||
|
|
||||||
|
typedef char *caddr_t;
|
||||||
|
|
||||||
|
|
||||||
|
#if __ia64__
|
||||||
|
#define __FDSET_LONGS 16
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define __FDSET_LONGS 16
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define __FDSET_LONGS 16
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define __FDSET_LONGS 16
|
||||||
|
#endif
|
||||||
|
#if __i386__
|
||||||
|
#define __FDSET_LONGS 32
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define __FDSET_LONGS 32
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define __FDSET_LONGS 32
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned long int fds_bits[__FDSET_LONGS];
|
||||||
|
} fd_set;
|
||||||
|
|
||||||
|
|
||||||
|
/* Time related types*/
|
||||||
|
|
||||||
|
|
||||||
|
typedef long int clock_t;
|
||||||
|
|
||||||
|
typedef long int time_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Setup some values*/
|
||||||
|
#define __LITTLE_ENDIAN 1234
|
||||||
|
#define __BIG_ENDIAN 4321
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Per Architecture settings*/
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
#define __BYTE_ORDER __BIG_ENDIAN
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
#define __BYTE_ORDER __BIG_ENDIAN
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
#define __BYTE_ORDER __BIG_ENDIAN
|
||||||
|
#endif
|
||||||
|
#if __s390x__
|
||||||
|
#define __BYTE_ORDER __BIG_ENDIAN
|
||||||
|
#endif
|
||||||
|
#if __i386__
|
||||||
|
#define __BYTE_ORDER __LITTLE_ENDIAN
|
||||||
|
#endif
|
||||||
|
#if __ia64__
|
||||||
|
#define __BYTE_ORDER __LITTLE_ENDIAN
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
#define __BYTE_ORDER __LITTLE_ENDIAN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,38 @@
|
||||||
|
#ifndef _SYS_WAIT_H_
|
||||||
|
#define _SYS_WAIT_H_
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status))
|
||||||
|
#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
|
||||||
|
#define WEXITSTATUS(status) (((status) & 0xff00) >> 8)
|
||||||
|
#define WTERMSIG(status) ((status) & 0x7f)
|
||||||
|
#define WCOREDUMP(status) ((status) & 0x80)
|
||||||
|
#define WIFEXITED(status) (WTERMSIG(status) == 0)
|
||||||
|
#define WNOHANG 0x00000001
|
||||||
|
#define WUNTRACED 0x00000002
|
||||||
|
#define WCOREFLAG 0x80
|
||||||
|
#define WSTOPSIG(status) WEXITSTATUS(status)
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
P_ALL,
|
||||||
|
P_PID,
|
||||||
|
P_PGID
|
||||||
|
} idtype_t;
|
||||||
|
|
||||||
|
|
||||||
|
extern pid_t wait(int *);
|
||||||
|
extern pid_t waitpid(pid_t, int *, int);
|
||||||
|
extern pid_t wait4(pid_t, int *, int, struct rusage *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,100 @@
|
||||||
|
#ifndef _TIME_H_
|
||||||
|
#define _TIME_H_
|
||||||
|
|
||||||
|
#include <signal.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define CLK_TCK ((clock_t)__sysconf(2))
|
||||||
|
#define CLOCK_REALTIME 0
|
||||||
|
#define TIMER_ABSTIME 1
|
||||||
|
#define CLOCKS_PER_SEC 1000000l
|
||||||
|
|
||||||
|
|
||||||
|
struct tm {
|
||||||
|
int tm_sec;
|
||||||
|
int tm_min;
|
||||||
|
int tm_hour;
|
||||||
|
int tm_mday;
|
||||||
|
int tm_mon;
|
||||||
|
int tm_year;
|
||||||
|
int tm_wday;
|
||||||
|
int tm_yday;
|
||||||
|
int tm_isdst;
|
||||||
|
long int tm_gmtoff;
|
||||||
|
char *tm_zone;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct itimerspec {
|
||||||
|
struct timespec it_interval;
|
||||||
|
struct timespec it_value;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Returned by clock()*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Returned by `time'*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* POSIX.1b structure for a time value.*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Used by other time functions.*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern int __daylight;
|
||||||
|
extern long int __timezone;
|
||||||
|
extern char *__tzname[2];
|
||||||
|
extern char *asctime(const struct tm *);
|
||||||
|
extern clock_t clock(void);
|
||||||
|
extern char *ctime(const time_t *);
|
||||||
|
extern char *ctime_r(const time_t *, char *);
|
||||||
|
extern double difftime(time_t, time_t);
|
||||||
|
extern struct tm *getdate(const char *);
|
||||||
|
extern int getdate_err;
|
||||||
|
extern struct tm *gmtime(const time_t *);
|
||||||
|
extern struct tm *localtime(const time_t *);
|
||||||
|
extern time_t mktime(struct tm *);
|
||||||
|
extern int stime(const time_t *);
|
||||||
|
extern size_t strftime(char *, size_t, const char *,
|
||||||
|
const struct tm *);
|
||||||
|
extern char *strptime(const char *, const char *, struct tm *);
|
||||||
|
extern time_t time(time_t *);
|
||||||
|
extern int nanosleep(const struct timespec *, struct timespec *);
|
||||||
|
extern int daylight;
|
||||||
|
extern long int timezone;
|
||||||
|
extern char *tzname[2];
|
||||||
|
extern void tzset(void);
|
||||||
|
extern char *asctime_r(const struct tm *, char *);
|
||||||
|
extern struct tm *gmtime_r(const time_t *, struct tm *);
|
||||||
|
extern struct tm *localtime_r(const time_t *, struct tm *);
|
||||||
|
extern int clock_getcpuclockid(pid_t, clockid_t *);
|
||||||
|
extern int clock_getres(clockid_t, struct timespec *);
|
||||||
|
extern int clock_gettime(clockid_t, struct timespec *);
|
||||||
|
extern int clock_nanosleep(clockid_t, int, const struct timespec *,
|
||||||
|
struct timespec *);
|
||||||
|
extern int clock_settime(clockid_t, const struct timespec *);
|
||||||
|
extern int timer_create(clockid_t, struct sigevent *, timer_t *);
|
||||||
|
extern int timer_delete(timer_t);
|
||||||
|
extern int timer_getoverrun(timer_t);
|
||||||
|
extern int timer_gettime(timer_t, struct itimerspec *);
|
||||||
|
extern int timer_settime(timer_t, int, const struct itimerspec *,
|
||||||
|
struct itimerspec *);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,372 @@
|
||||||
|
#ifndef _UNISTD_H_
|
||||||
|
#define _UNISTD_H_
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define SEEK_SET 0
|
||||||
|
#define STDIN_FILENO 0
|
||||||
|
#define SEEK_CUR 1
|
||||||
|
#define STDOUT_FILENO 1
|
||||||
|
#define SEEK_END 2
|
||||||
|
#define STDERR_FILENO 2
|
||||||
|
|
||||||
|
|
||||||
|
typedef long long int off64_t;
|
||||||
|
|
||||||
|
#if __i386__
|
||||||
|
/* IA32 */
|
||||||
|
typedef int intptr_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __ia64__
|
||||||
|
/* IA64 */
|
||||||
|
typedef long int intptr_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __powerpc64__
|
||||||
|
/* PPC64 */
|
||||||
|
typedef long int intptr_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __powerpc__ && !__powerpc64__
|
||||||
|
/* PPC32 */
|
||||||
|
typedef int intptr_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __s390__ && !__s390x__
|
||||||
|
/* S390 */
|
||||||
|
typedef int intptr_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#if __x86_64__
|
||||||
|
/* x86-64 */
|
||||||
|
typedef long int intptr_t;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Values for the second argument to access.*/
|
||||||
|
#define F_OK 0
|
||||||
|
#define X_OK 1
|
||||||
|
#define W_OK 2
|
||||||
|
#define R_OK 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define _POSIX_VDISABLE '\0'
|
||||||
|
#define _POSIX_CHOWN_RESTRICTED 1
|
||||||
|
#define _POSIX_JOB_CONTROL 1
|
||||||
|
#define _POSIX_NO_TRUNC 1
|
||||||
|
#define _POSIX_SHELL 1
|
||||||
|
#define _POSIX_FSYNC 200112
|
||||||
|
#define _POSIX_MAPPED_FILES 200112
|
||||||
|
#define _POSIX_MEMLOCK 200112
|
||||||
|
#define _POSIX_MEMLOCK_RANGE 200112
|
||||||
|
#define _POSIX_MEMORY_PROTECTION 200112
|
||||||
|
#define _POSIX_SEMAPHORES 200112
|
||||||
|
#define _POSIX_SHARED_MEMORY_OBJECTS 200112
|
||||||
|
#define _POSIX_TIMERS 200112
|
||||||
|
#define _POSIX2_C_BIND 200112L
|
||||||
|
#define _POSIX2_VERSION 200112L
|
||||||
|
#define _POSIX_THREADS 200112L
|
||||||
|
#define _POSIX_VERSION 200112L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* `pathconf' NAME values.*/
|
||||||
|
#define _PC_LINK_MAX 0
|
||||||
|
#define _PC_MAX_CANON 1
|
||||||
|
#define _PC_ASYNC_IO 10
|
||||||
|
#define _PC_PRIO_IO 11
|
||||||
|
#define _PC_FILESIZEBITS 13
|
||||||
|
#define _PC_REC_INCR_XFER_SIZE 14
|
||||||
|
#define _PC_REC_MIN_XFER_SIZE 16
|
||||||
|
#define _PC_REC_XFER_ALIGN 17
|
||||||
|
#define _PC_ALLOC_SIZE_MIN 18
|
||||||
|
#define _PC_MAX_INPUT 2
|
||||||
|
#define _PC_2_SYMLINKS 20
|
||||||
|
#define _PC_NAME_MAX 3
|
||||||
|
#define _PC_PATH_MAX 4
|
||||||
|
#define _PC_PIPE_BUF 5
|
||||||
|
#define _PC_CHOWN_RESTRICTED 6
|
||||||
|
#define _PC_NO_TRUNC 7
|
||||||
|
#define _PC_VDISABLE 8
|
||||||
|
#define _PC_SYNC_IO 9
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* `sysconf' NAME values.*/
|
||||||
|
#define _SC_ARG_MAX 0
|
||||||
|
#define _SC_CHILD_MAX 1
|
||||||
|
#define _SC_PRIORITY_SCHEDULING 10
|
||||||
|
#define _SC_TIMERS 11
|
||||||
|
#define _SC_ASYNCHRONOUS_IO 12
|
||||||
|
#define _SC_XBS5_ILP32_OFF32 125
|
||||||
|
#define _SC_XBS5_ILP32_OFFBIG 126
|
||||||
|
#define _SC_XBS5_LP64_OFF64 127
|
||||||
|
#define _SC_XBS5_LPBIG_OFFBIG 128
|
||||||
|
#define _SC_XOPEN_LEGACY 129
|
||||||
|
#define _SC_PRIORITIZED_IO 13
|
||||||
|
#define _SC_XOPEN_REALTIME 130
|
||||||
|
#define _SC_XOPEN_REALTIME_THREADS 131
|
||||||
|
#define _SC_ADVISORY_INFO 132
|
||||||
|
#define _SC_BARRIERS 133
|
||||||
|
#define _SC_CLOCK_SELECTION 137
|
||||||
|
#define _SC_CPUTIME 138
|
||||||
|
#define _SC_THREAD_CPUTIME 139
|
||||||
|
#define _SC_SYNCHRONIZED_IO 14
|
||||||
|
#define _SC_MONOTONIC_CLOCK 149
|
||||||
|
#define _SC_FSYNC 15
|
||||||
|
#define _SC_READER_WRITER_LOCKS 153
|
||||||
|
#define _SC_SPIN_LOCKS 154
|
||||||
|
#define _SC_REGEXP 155
|
||||||
|
#define _SC_SHELL 157
|
||||||
|
#define _SC_SPAWN 159
|
||||||
|
#define _SC_MAPPED_FILES 16
|
||||||
|
#define _SC_SPORADIC_SERVER 160
|
||||||
|
#define _SC_THREAD_SPORADIC_SERVER 161
|
||||||
|
#define _SC_TIMEOUTS 164
|
||||||
|
#define _SC_TYPED_MEMORY_OBJECTS 165
|
||||||
|
#define _SC_2_PBS_ACCOUNTING 169
|
||||||
|
#define _SC_MEMLOCK 17
|
||||||
|
#define _SC_2_PBS_LOCATE 170
|
||||||
|
#define _SC_2_PBS_MESSAGE 171
|
||||||
|
#define _SC_2_PBS_TRACK 172
|
||||||
|
#define _SC_SYMLOOP_MAX 173
|
||||||
|
#define _SC_2_PBS_CHECKPOINT 175
|
||||||
|
#define _SC_V6_ILP32_OFF32 176
|
||||||
|
#define _SC_V6_ILP32_OFFBIG 177
|
||||||
|
#define _SC_V6_LP64_OFF64 178
|
||||||
|
#define _SC_V6_LPBIG_OFFBIG 179
|
||||||
|
#define _SC_MEMLOCK_RANGE 18
|
||||||
|
#define _SC_HOST_NAME_MAX 180
|
||||||
|
#define _SC_TRACE 181
|
||||||
|
#define _SC_TRACE_EVENT_FILTER 182
|
||||||
|
#define _SC_TRACE_INHERIT 183
|
||||||
|
#define _SC_TRACE_LOG 184
|
||||||
|
#define _SC_MEMORY_PROTECTION 19
|
||||||
|
#define _SC_CLK_TCK 2
|
||||||
|
#define _SC_MESSAGE_PASSING 20
|
||||||
|
#define _SC_SEMAPHORES 21
|
||||||
|
#define _SC_SHARED_MEMORY_OBJECTS 22
|
||||||
|
#define _SC_AIO_LISTIO_MAX 23
|
||||||
|
#define _SC_AIO_MAX 24
|
||||||
|
#define _SC_AIO_PRIO_DELTA_MAX 25
|
||||||
|
#define _SC_DELAYTIMER_MAX 26
|
||||||
|
#define _SC_MQ_OPEN_MAX 27
|
||||||
|
#define _SC_MQ_PRIO_MAX 28
|
||||||
|
#define _SC_VERSION 29
|
||||||
|
#define _SC_NGROUPS_MAX 3
|
||||||
|
#define _SC_PAGESIZE 30
|
||||||
|
#define _SC_PAGE_SIZE 30
|
||||||
|
#define _SC_RTSIG_MAX 31
|
||||||
|
#define _SC_SEM_NSEMS_MAX 32
|
||||||
|
#define _SC_SEM_VALUE_MAX 33
|
||||||
|
#define _SC_SIGQUEUE_MAX 34
|
||||||
|
#define _SC_TIMER_MAX 35
|
||||||
|
#define _SC_BC_BASE_MAX 36
|
||||||
|
#define _SC_BC_DIM_MAX 37
|
||||||
|
#define _SC_BC_SCALE_MAX 38
|
||||||
|
#define _SC_BC_STRING_MAX 39
|
||||||
|
#define _SC_OPEN_MAX 4
|
||||||
|
#define _SC_COLL_WEIGHTS_MAX 40
|
||||||
|
#define _SC_EXPR_NEST_MAX 42
|
||||||
|
#define _SC_LINE_MAX 43
|
||||||
|
#define _SC_RE_DUP_MAX 44
|
||||||
|
#define _SC_2_VERSION 46
|
||||||
|
#define _SC_2_C_BIND 47
|
||||||
|
#define _SC_2_C_DEV 48
|
||||||
|
#define _SC_2_FORT_DEV 49
|
||||||
|
#define _SC_STREAM_MAX 5
|
||||||
|
#define _SC_2_FORT_RUN 50
|
||||||
|
#define _SC_2_SW_DEV 51
|
||||||
|
#define _SC_2_LOCALEDEF 52
|
||||||
|
#define _SC_TZNAME_MAX 6
|
||||||
|
#define _SC_IOV_MAX 60
|
||||||
|
#define _SC_THREADS 67
|
||||||
|
#define _SC_THREAD_SAFE_FUNCTIONS 68
|
||||||
|
#define _SC_GETGR_R_SIZE_MAX 69
|
||||||
|
#define _SC_JOB_CONTROL 7
|
||||||
|
#define _SC_GETPW_R_SIZE_MAX 70
|
||||||
|
#define _SC_LOGIN_NAME_MAX 71
|
||||||
|
#define _SC_TTY_NAME_MAX 72
|
||||||
|
#define _SC_THREAD_DESTRUCTOR_ITERATIONS 73
|
||||||
|
#define _SC_THREAD_KEYS_MAX 74
|
||||||
|
#define _SC_THREAD_STACK_MIN 75
|
||||||
|
#define _SC_THREAD_THREADS_MAX 76
|
||||||
|
#define _SC_THREAD_ATTR_STACKADDR 77
|
||||||
|
#define _SC_THREAD_ATTR_STACKSIZE 78
|
||||||
|
#define _SC_THREAD_PRIORITY_SCHEDULING 79
|
||||||
|
#define _SC_SAVED_IDS 8
|
||||||
|
#define _SC_THREAD_PRIO_INHERIT 80
|
||||||
|
#define _SC_THREAD_PRIO_PROTECT 81
|
||||||
|
#define _SC_THREAD_PROCESS_SHARED 82
|
||||||
|
#define _SC_ATEXIT_MAX 87
|
||||||
|
#define _SC_PASS_MAX 88
|
||||||
|
#define _SC_XOPEN_VERSION 89
|
||||||
|
#define _SC_REALTIME_SIGNALS 9
|
||||||
|
#define _SC_XOPEN_UNIX 91
|
||||||
|
#define _SC_XOPEN_CRYPT 92
|
||||||
|
#define _SC_XOPEN_ENH_I18N 93
|
||||||
|
#define _SC_XOPEN_SHM 94
|
||||||
|
#define _SC_2_CHAR_TERM 95
|
||||||
|
#define _SC_2_C_VERSION 96
|
||||||
|
#define _SC_2_UPE 97
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* `confstr' NAME values.*/
|
||||||
|
#define _CS_PATH 0
|
||||||
|
#define _POSIX_REGEXP 1
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_CFLAGS 1100
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_LDFLAGS 1101
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_LIBS 1102
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_LINTFLAGS 1103
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_CFLAGS 1104
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS 1105
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_LIBS 1106
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS 1107
|
||||||
|
#define _CS_XBS5_LP64_OFF64_CFLAGS 1108
|
||||||
|
#define _CS_XBS5_LP64_OFF64_LDFLAGS 1109
|
||||||
|
#define _CS_XBS5_LP64_OFF64_LIBS 1110
|
||||||
|
#define _CS_XBS5_LP64_OFF64_LINTFLAGS 1111
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS 1112
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS 1113
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_LIBS 1114
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 1115
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define _XOPEN_XPG4 1
|
||||||
|
#define _XOPEN_VERSION 500
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Flags for lockf()*/
|
||||||
|
#define F_ULOCK 0
|
||||||
|
#define F_LOCK 1
|
||||||
|
#define F_TLOCK 2
|
||||||
|
#define F_TEST 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern char **__environ;
|
||||||
|
extern pid_t __getpgid(pid_t);
|
||||||
|
extern void _exit(int);
|
||||||
|
extern int acct(const char *);
|
||||||
|
extern unsigned int alarm(unsigned int);
|
||||||
|
extern int chown(const char *, uid_t, gid_t);
|
||||||
|
extern int chroot(const char *);
|
||||||
|
extern size_t confstr(int, char *, size_t);
|
||||||
|
extern int creat(const char *, mode_t);
|
||||||
|
extern int creat64(const char *, mode_t);
|
||||||
|
extern char *ctermid(char *);
|
||||||
|
extern char *cuserid(char *);
|
||||||
|
extern int daemon(int, int);
|
||||||
|
extern int execl(const char *, const char *, ...);
|
||||||
|
extern int execle(const char *, const char *, ...);
|
||||||
|
extern int execlp(const char *, const char *, ...);
|
||||||
|
extern int execv(const char *, char *const[]);
|
||||||
|
extern int execvp(const char *, char *const[]);
|
||||||
|
extern int fdatasync(int);
|
||||||
|
extern int ftruncate64(int, off64_t);
|
||||||
|
extern long int gethostid(void);
|
||||||
|
extern char *getlogin(void);
|
||||||
|
extern int getlogin_r(char *, size_t);
|
||||||
|
extern int getopt(int, char *const[], const char *);
|
||||||
|
extern pid_t getpgrp(void);
|
||||||
|
extern pid_t getsid(pid_t);
|
||||||
|
extern char *getwd(char *);
|
||||||
|
extern int lockf(int, int, off_t);
|
||||||
|
extern int mkstemp(char *);
|
||||||
|
extern int nice(int);
|
||||||
|
extern char *optarg;
|
||||||
|
extern int opterr;
|
||||||
|
extern int optind;
|
||||||
|
extern int optopt;
|
||||||
|
extern int rename(const char *, const char *);
|
||||||
|
extern int setegid(gid_t);
|
||||||
|
extern int seteuid(uid_t);
|
||||||
|
extern int sethostname(const char *, size_t);
|
||||||
|
extern int setpgrp(void);
|
||||||
|
extern void swab(const void *, void *, ssize_t);
|
||||||
|
extern void sync(void);
|
||||||
|
extern pid_t tcgetpgrp(int);
|
||||||
|
extern int tcsetpgrp(int, pid_t);
|
||||||
|
extern int truncate(const char *, off_t);
|
||||||
|
extern int truncate64(const char *, off64_t);
|
||||||
|
extern char *ttyname(int);
|
||||||
|
extern unsigned int ualarm(useconds_t, useconds_t);
|
||||||
|
extern int usleep(useconds_t);
|
||||||
|
extern int close(int);
|
||||||
|
extern int fsync(int);
|
||||||
|
extern off_t lseek(int, off_t, int);
|
||||||
|
extern int open(const char *, int, ...);
|
||||||
|
extern int pause(void);
|
||||||
|
extern ssize_t read(int, void *, size_t);
|
||||||
|
extern ssize_t write(int, const void *, size_t);
|
||||||
|
extern char *crypt(const char *, const char *);
|
||||||
|
extern void encrypt(char *, int);
|
||||||
|
extern void setkey(const char *);
|
||||||
|
extern int access(const char *, int);
|
||||||
|
extern int brk(void *);
|
||||||
|
extern int chdir(const char *);
|
||||||
|
extern int dup(int);
|
||||||
|
extern int dup2(int, int);
|
||||||
|
extern int execve(const char *, char *const[], char *const[]);
|
||||||
|
extern int fchdir(int);
|
||||||
|
extern int fchown(int, uid_t, gid_t);
|
||||||
|
extern pid_t fork(void);
|
||||||
|
extern gid_t getegid(void);
|
||||||
|
extern uid_t geteuid(void);
|
||||||
|
extern gid_t getgid(void);
|
||||||
|
extern int getgroups(int, gid_t[]);
|
||||||
|
extern int gethostname(char *, size_t);
|
||||||
|
extern pid_t getpgid(pid_t);
|
||||||
|
extern pid_t getpid(void);
|
||||||
|
extern uid_t getuid(void);
|
||||||
|
extern int lchown(const char *, uid_t, gid_t);
|
||||||
|
extern int link(const char *, const char *);
|
||||||
|
extern int mkdir(const char *, mode_t);
|
||||||
|
extern long int pathconf(const char *, int);
|
||||||
|
extern int pipe(int[2]);
|
||||||
|
extern int readlink(const char *, char *, size_t);
|
||||||
|
extern int rmdir(const char *);
|
||||||
|
extern void *sbrk(ptrdiff_t);
|
||||||
|
extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
|
||||||
|
extern int setgid(gid_t);
|
||||||
|
extern int setpgid(pid_t, pid_t);
|
||||||
|
extern int setregid(gid_t, gid_t);
|
||||||
|
extern int setreuid(uid_t, uid_t);
|
||||||
|
extern pid_t setsid(void);
|
||||||
|
extern int setuid(uid_t);
|
||||||
|
extern unsigned int sleep(unsigned int);
|
||||||
|
extern int symlink(const char *, const char *);
|
||||||
|
extern long int sysconf(int);
|
||||||
|
extern int unlink(const char *);
|
||||||
|
extern pid_t vfork(void);
|
||||||
|
extern ssize_t pread(int, void *, size_t, off_t);
|
||||||
|
extern ssize_t pwrite(int, const void *, size_t, off_t);
|
||||||
|
extern char **_environ;
|
||||||
|
extern long int fpathconf(int, int);
|
||||||
|
extern int ftruncate(int, off_t);
|
||||||
|
extern char *getcwd(char *, size_t);
|
||||||
|
extern int getpagesize(void);
|
||||||
|
extern pid_t getppid(void);
|
||||||
|
extern int isatty(int);
|
||||||
|
extern loff_t lseek64(int, loff_t, int);
|
||||||
|
extern int open64(const char *, int, ...);
|
||||||
|
extern ssize_t pread64(int, void *, size_t, off64_t);
|
||||||
|
extern ssize_t pwrite64(int, const void *, size_t, off64_t);
|
||||||
|
extern int ttyname_r(int, char *, size_t);
|
||||||
|
extern int mknod(const char *, mode_t, dev_t);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,52 @@
|
||||||
|
#ifndef _WCTYPE_H_
|
||||||
|
#define _WCTYPE_H_
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef unsigned long int wctype_t;
|
||||||
|
|
||||||
|
typedef unsigned int wint_t;
|
||||||
|
|
||||||
|
typedef const int32_t *wctrans_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int count;
|
||||||
|
wint_t value;
|
||||||
|
} __mbstate_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* This really belongs in wchar.h, but it's presense creates a circular dependency with stdio.h, so put it here to break the circle.*/
|
||||||
|
|
||||||
|
|
||||||
|
typedef __mbstate_t mbstate_t;
|
||||||
|
|
||||||
|
|
||||||
|
extern int iswblank(wint_t);
|
||||||
|
extern wint_t towlower(wint_t);
|
||||||
|
extern wint_t towupper(wint_t);
|
||||||
|
extern wctrans_t wctrans(const char *);
|
||||||
|
extern int iswalnum(wint_t);
|
||||||
|
extern int iswalpha(wint_t);
|
||||||
|
extern int iswcntrl(wint_t);
|
||||||
|
extern int iswctype(wint_t, wctype_t);
|
||||||
|
extern int iswdigit(wint_t);
|
||||||
|
extern int iswgraph(wint_t);
|
||||||
|
extern int iswlower(wint_t);
|
||||||
|
extern int iswprint(wint_t);
|
||||||
|
extern int iswpunct(wint_t);
|
||||||
|
extern int iswspace(wint_t);
|
||||||
|
extern int iswupper(wint_t);
|
||||||
|
extern int iswxdigit(wint_t);
|
||||||
|
extern wctype_t wctype(const char *);
|
||||||
|
extern wint_t towctrans(wint_t, wctrans_t);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -0,0 +1,44 @@
|
||||||
|
libGL libGL.so.1
|
||||||
|
libICE libICE.so.6
|
||||||
|
libQtCore libQtCore.so.4
|
||||||
|
libQtGui libQtGui.so.4
|
||||||
|
libQtNetwork libQtNetwork.so.4
|
||||||
|
libQtOpenGL libQtOpenGL.so.4
|
||||||
|
libQtSql libQtSql.so.4
|
||||||
|
libQtSvg libQtSvg.so.4
|
||||||
|
libQtXml libQtXml.so.4
|
||||||
|
libSM libSM.so.6
|
||||||
|
libX11 libX11.so.6
|
||||||
|
libXext libXext.so.6
|
||||||
|
libXi libXi.so.6
|
||||||
|
libXt libXt.so.6
|
||||||
|
libatk-1.0 libatk-1.0.so.0
|
||||||
|
libc_main libc.so.6
|
||||||
|
libcrypt libcrypt.so.1
|
||||||
|
libdl libdl.so.2
|
||||||
|
libfontconfig libfontconfig.so.1
|
||||||
|
libgcc_s libgcc_s.so.1
|
||||||
|
libgdk-x11-2.0 libgdk-x11-2.0.so.0
|
||||||
|
libgdk_pixbuf-2.0 libgdk_pixbuf-2.0.so.0
|
||||||
|
libgdk_pixbuf_xlib-2.0 libgdk_pixbuf_xlib-2.0.so.0
|
||||||
|
libglib-2.0 libglib-2.0.so.0
|
||||||
|
libgmodule-2.0 libgmodule-2.0.so.0
|
||||||
|
libgobject-2.0 libgobject-2.0.so.0
|
||||||
|
libgthread-2.0 libgthread-2.0.so.0
|
||||||
|
libgtk-x11-2.0 libgtk-x11-2.0.so.0
|
||||||
|
libjpeg libjpeg.so.62
|
||||||
|
libm libm.so.6
|
||||||
|
libncurses libncurses.so.5
|
||||||
|
libpam libpam.so.0
|
||||||
|
libpango-1.0 libpango-1.0.so.0
|
||||||
|
libpangoft2-1.0 libpangoft2-1.0.so.0
|
||||||
|
libpangoxft-1.0 libpangoxft-1.0.so.0
|
||||||
|
libpng12 libpng12.so.0
|
||||||
|
libpthread libpthread.so.0
|
||||||
|
libqt-mt libqt-mt.so.3
|
||||||
|
librt librt.so.1
|
||||||
|
libstdcxx libstdc++.so.6
|
||||||
|
libutil libutil.so.1
|
||||||
|
libxml2 libxml2.so.2
|
||||||
|
libz libz.so.1
|
||||||
|
proginterp /lib/ld-lsb.so.3
|
|
@ -0,0 +1,7 @@
|
||||||
|
libdl
|
||||||
|
libc_main
|
||||||
|
libpthread
|
||||||
|
libgcc_s
|
||||||
|
libX11
|
||||||
|
libXt
|
||||||
|
libXext
|
|
@ -0,0 +1 @@
|
||||||
|
libc_nonshared
|
|
@ -0,0 +1,5 @@
|
||||||
|
libglib-2.0
|
||||||
|
libgobject-2.0
|
||||||
|
libgthread-2.0
|
||||||
|
libgdk-x11-2.0
|
||||||
|
libgtk-x11-2.0
|
|
@ -0,0 +1 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
|
@ -0,0 +1,716 @@
|
||||||
|
void XActivateScreenSaver() {} ;
|
||||||
|
void XAddConnectionWatch() {} ;
|
||||||
|
void XAddExtension() {} ;
|
||||||
|
void XAddHost() {} ;
|
||||||
|
void XAddHosts() {} ;
|
||||||
|
void XAddPixel() {} ;
|
||||||
|
void XAddToExtensionList() {} ;
|
||||||
|
void XAddToSaveSet() {} ;
|
||||||
|
void XAllPlanes() {} ;
|
||||||
|
void XAllocClassHint() {} ;
|
||||||
|
void XAllocColor() {} ;
|
||||||
|
void XAllocColorCells() {} ;
|
||||||
|
void XAllocColorPlanes() {} ;
|
||||||
|
void XAllocIconSize() {} ;
|
||||||
|
void XAllocNamedColor() {} ;
|
||||||
|
void XAllocSizeHints() {} ;
|
||||||
|
void XAllocStandardColormap() {} ;
|
||||||
|
void XAllocWMHints() {} ;
|
||||||
|
void XAllowEvents() {} ;
|
||||||
|
void XAutoRepeatOff() {} ;
|
||||||
|
void XAutoRepeatOn() {} ;
|
||||||
|
void XBaseFontNameListOfFontSet() {} ;
|
||||||
|
void XBell() {} ;
|
||||||
|
void XBitmapBitOrder() {} ;
|
||||||
|
void XBitmapPad() {} ;
|
||||||
|
void XBitmapUnit() {} ;
|
||||||
|
void XBlackPixel() {} ;
|
||||||
|
void XBlackPixelOfScreen() {} ;
|
||||||
|
void XCellsOfScreen() {} ;
|
||||||
|
void XChangeActivePointerGrab() {} ;
|
||||||
|
void XChangeGC() {} ;
|
||||||
|
void XChangeKeyboardControl() {} ;
|
||||||
|
void XChangeKeyboardMapping() {} ;
|
||||||
|
void XChangePointerControl() {} ;
|
||||||
|
void XChangeProperty() {} ;
|
||||||
|
void XChangeSaveSet() {} ;
|
||||||
|
void XChangeWindowAttributes() {} ;
|
||||||
|
void XCheckIfEvent() {} ;
|
||||||
|
void XCheckMaskEvent() {} ;
|
||||||
|
void XCheckTypedEvent() {} ;
|
||||||
|
void XCheckTypedWindowEvent() {} ;
|
||||||
|
void XCheckWindowEvent() {} ;
|
||||||
|
void XCirculateSubwindows() {} ;
|
||||||
|
void XCirculateSubwindowsDown() {} ;
|
||||||
|
void XCirculateSubwindowsUp() {} ;
|
||||||
|
void XClearArea() {} ;
|
||||||
|
void XClearWindow() {} ;
|
||||||
|
void XClipBox() {} ;
|
||||||
|
void XCloseDisplay() {} ;
|
||||||
|
void XCloseIM() {} ;
|
||||||
|
void XCloseOM() {} ;
|
||||||
|
void XConfigureWindow() {} ;
|
||||||
|
void XConnectionNumber() {} ;
|
||||||
|
void XContextDependentDrawing() {} ;
|
||||||
|
void XContextualDrawing() {} ;
|
||||||
|
void XConvertCase() {} ;
|
||||||
|
void XConvertSelection() {} ;
|
||||||
|
void XCopyArea() {} ;
|
||||||
|
void XCopyColormapAndFree() {} ;
|
||||||
|
void XCopyGC() {} ;
|
||||||
|
void XCopyPlane() {} ;
|
||||||
|
void XCreateBitmapFromData() {} ;
|
||||||
|
void XCreateColormap() {} ;
|
||||||
|
void XCreateFontCursor() {} ;
|
||||||
|
void XCreateFontSet() {} ;
|
||||||
|
void XCreateGC() {} ;
|
||||||
|
void XCreateGlyphCursor() {} ;
|
||||||
|
void XCreateIC() {} ;
|
||||||
|
void XCreateImage() {} ;
|
||||||
|
void XCreateOC() {} ;
|
||||||
|
void XCreatePixmap() {} ;
|
||||||
|
void XCreatePixmapCursor() {} ;
|
||||||
|
void XCreatePixmapFromBitmapData() {} ;
|
||||||
|
void XCreateRegion() {} ;
|
||||||
|
void XCreateSimpleWindow() {} ;
|
||||||
|
void XCreateWindow() {} ;
|
||||||
|
void XDefaultColormap() {} ;
|
||||||
|
void XDefaultColormapOfScreen() {} ;
|
||||||
|
void XDefaultDepth() {} ;
|
||||||
|
void XDefaultDepthOfScreen() {} ;
|
||||||
|
void XDefaultGC() {} ;
|
||||||
|
void XDefaultGCOfScreen() {} ;
|
||||||
|
void XDefaultRootWindow() {} ;
|
||||||
|
void XDefaultScreen() {} ;
|
||||||
|
void XDefaultScreenOfDisplay() {} ;
|
||||||
|
void XDefaultString() {} ;
|
||||||
|
void XDefaultVisual() {} ;
|
||||||
|
void XDefaultVisualOfScreen() {} ;
|
||||||
|
void XDefineCursor() {} ;
|
||||||
|
void XDeleteContext() {} ;
|
||||||
|
void XDeleteModifiermapEntry() {} ;
|
||||||
|
void XDeleteProperty() {} ;
|
||||||
|
void XDestroyIC() {} ;
|
||||||
|
void XDestroyImage() {} ;
|
||||||
|
void XDestroyOC() {} ;
|
||||||
|
void XDestroyRegion() {} ;
|
||||||
|
void XDestroySubwindows() {} ;
|
||||||
|
void XDestroyWindow() {} ;
|
||||||
|
void XDirectionalDependentDrawing() {} ;
|
||||||
|
void XDisableAccessControl() {} ;
|
||||||
|
void XDisplayCells() {} ;
|
||||||
|
void XDisplayHeight() {} ;
|
||||||
|
void XDisplayHeightMM() {} ;
|
||||||
|
void XDisplayKeycodes() {} ;
|
||||||
|
void XDisplayMotionBufferSize() {} ;
|
||||||
|
void XDisplayName() {} ;
|
||||||
|
void XDisplayOfIM() {} ;
|
||||||
|
void XDisplayOfOM() {} ;
|
||||||
|
void XDisplayOfScreen() {} ;
|
||||||
|
void XDisplayPlanes() {} ;
|
||||||
|
void XDisplayString() {} ;
|
||||||
|
void XDisplayWidth() {} ;
|
||||||
|
void XDisplayWidthMM() {} ;
|
||||||
|
void XDoesBackingStore() {} ;
|
||||||
|
void XDoesSaveUnders() {} ;
|
||||||
|
void XDrawArc() {} ;
|
||||||
|
void XDrawArcs() {} ;
|
||||||
|
void XDrawImageString() {} ;
|
||||||
|
void XDrawImageString16() {} ;
|
||||||
|
void XDrawLine() {} ;
|
||||||
|
void XDrawLines() {} ;
|
||||||
|
void XDrawPoint() {} ;
|
||||||
|
void XDrawPoints() {} ;
|
||||||
|
void XDrawRectangle() {} ;
|
||||||
|
void XDrawRectangles() {} ;
|
||||||
|
void XDrawSegments() {} ;
|
||||||
|
void XDrawString() {} ;
|
||||||
|
void XDrawString16() {} ;
|
||||||
|
void XDrawText() {} ;
|
||||||
|
void XDrawText16() {} ;
|
||||||
|
void XEHeadOfExtensionList() {} ;
|
||||||
|
void XESetBeforeFlush() {} ;
|
||||||
|
void XESetCloseDisplay() {} ;
|
||||||
|
void XESetCopyGC() {} ;
|
||||||
|
void XESetCreateFont() {} ;
|
||||||
|
void XESetCreateGC() {} ;
|
||||||
|
void XESetError() {} ;
|
||||||
|
void XESetErrorString() {} ;
|
||||||
|
void XESetEventToWire() {} ;
|
||||||
|
void XESetFlushGC() {} ;
|
||||||
|
void XESetFreeFont() {} ;
|
||||||
|
void XESetFreeGC() {} ;
|
||||||
|
void XESetPrintErrorValues() {} ;
|
||||||
|
void XESetWireToError() {} ;
|
||||||
|
void XESetWireToEvent() {} ;
|
||||||
|
void XEmptyRegion() {} ;
|
||||||
|
void XEnableAccessControl() {} ;
|
||||||
|
void XEqualRegion() {} ;
|
||||||
|
void XEventMaskOfScreen() {} ;
|
||||||
|
void XEventsQueued() {} ;
|
||||||
|
void XExtendedMaxRequestSize() {} ;
|
||||||
|
void XExtentsOfFontSet() {} ;
|
||||||
|
void XFetchBuffer() {} ;
|
||||||
|
void XFetchBytes() {} ;
|
||||||
|
void XFetchName() {} ;
|
||||||
|
void XFillArc() {} ;
|
||||||
|
void XFillArcs() {} ;
|
||||||
|
void XFillPolygon() {} ;
|
||||||
|
void XFillRectangle() {} ;
|
||||||
|
void XFillRectangles() {} ;
|
||||||
|
void XFilterEvent() {} ;
|
||||||
|
void XFindContext() {} ;
|
||||||
|
void XFindOnExtensionList() {} ;
|
||||||
|
void XFlush() {} ;
|
||||||
|
void XFlushGC() {} ;
|
||||||
|
void XFontsOfFontSet() {} ;
|
||||||
|
void XForceScreenSaver() {} ;
|
||||||
|
void XFree() {} ;
|
||||||
|
void XFreeColormap() {} ;
|
||||||
|
void XFreeColors() {} ;
|
||||||
|
void XFreeCursor() {} ;
|
||||||
|
void XFreeExtensionList() {} ;
|
||||||
|
void XFreeFont() {} ;
|
||||||
|
void XFreeFontInfo() {} ;
|
||||||
|
void XFreeFontNames() {} ;
|
||||||
|
void XFreeFontPath() {} ;
|
||||||
|
void XFreeFontSet() {} ;
|
||||||
|
void XFreeGC() {} ;
|
||||||
|
void XFreeModifiermap() {} ;
|
||||||
|
void XFreePixmap() {} ;
|
||||||
|
void XFreeStringList() {} ;
|
||||||
|
void XGContextFromGC() {} ;
|
||||||
|
void XGeometry() {} ;
|
||||||
|
void XGetAtomName() {} ;
|
||||||
|
void XGetAtomNames() {} ;
|
||||||
|
void XGetClassHint() {} ;
|
||||||
|
void XGetCommand() {} ;
|
||||||
|
void XGetDefault() {} ;
|
||||||
|
void XGetErrorDatabaseText() {} ;
|
||||||
|
void XGetErrorText() {} ;
|
||||||
|
void XGetFontPath() {} ;
|
||||||
|
void XGetFontProperty() {} ;
|
||||||
|
void XGetGCValues() {} ;
|
||||||
|
void XGetGeometry() {} ;
|
||||||
|
void XGetICValues() {} ;
|
||||||
|
void XGetIMValues() {} ;
|
||||||
|
void XGetIconName() {} ;
|
||||||
|
void XGetIconSizes() {} ;
|
||||||
|
void XGetImage() {} ;
|
||||||
|
void XGetInputFocus() {} ;
|
||||||
|
void XGetKeyboardControl() {} ;
|
||||||
|
void XGetKeyboardMapping() {} ;
|
||||||
|
void XGetModifierMapping() {} ;
|
||||||
|
void XGetMotionEvents() {} ;
|
||||||
|
void XGetNormalHints() {} ;
|
||||||
|
void XGetOCValues() {} ;
|
||||||
|
void XGetOMValues() {} ;
|
||||||
|
void XGetPixel() {} ;
|
||||||
|
void XGetPointerControl() {} ;
|
||||||
|
void XGetPointerMapping() {} ;
|
||||||
|
void XGetRGBColormaps() {} ;
|
||||||
|
void XGetScreenSaver() {} ;
|
||||||
|
void XGetSelectionOwner() {} ;
|
||||||
|
void XGetSizeHints() {} ;
|
||||||
|
void XGetStandardColormap() {} ;
|
||||||
|
void XGetSubImage() {} ;
|
||||||
|
void XGetTextProperty() {} ;
|
||||||
|
void XGetTransientForHint() {} ;
|
||||||
|
void XGetVisualInfo() {} ;
|
||||||
|
void XGetWMClientMachine() {} ;
|
||||||
|
void XGetWMColormapWindows() {} ;
|
||||||
|
void XGetWMHints() {} ;
|
||||||
|
void XGetWMIconName() {} ;
|
||||||
|
void XGetWMName() {} ;
|
||||||
|
void XGetWMNormalHints() {} ;
|
||||||
|
void XGetWMProtocols() {} ;
|
||||||
|
void XGetWMSizeHints() {} ;
|
||||||
|
void XGetWindowAttributes() {} ;
|
||||||
|
void XGetWindowProperty() {} ;
|
||||||
|
void XGetZoomHints() {} ;
|
||||||
|
void XGrabButton() {} ;
|
||||||
|
void XGrabKey() {} ;
|
||||||
|
void XGrabKeyboard() {} ;
|
||||||
|
void XGrabPointer() {} ;
|
||||||
|
void XGrabServer() {} ;
|
||||||
|
void XHeightMMOfScreen() {} ;
|
||||||
|
void XHeightOfScreen() {} ;
|
||||||
|
void XIMOfIC() {} ;
|
||||||
|
void XIconifyWindow() {} ;
|
||||||
|
void XIfEvent() {} ;
|
||||||
|
void XImageByteOrder() {} ;
|
||||||
|
void XInitExtension() {} ;
|
||||||
|
void XInitImage() {} ;
|
||||||
|
void XInitThreads() {} ;
|
||||||
|
void XInsertModifiermapEntry() {} ;
|
||||||
|
void XInstallColormap() {} ;
|
||||||
|
void XInternAtom() {} ;
|
||||||
|
void XInternAtoms() {} ;
|
||||||
|
void XInternalConnectionNumbers() {} ;
|
||||||
|
void XIntersectRegion() {} ;
|
||||||
|
void XKeycodeToKeysym() {} ;
|
||||||
|
void XKeysymToKeycode() {} ;
|
||||||
|
void XKeysymToString() {} ;
|
||||||
|
void XKillClient() {} ;
|
||||||
|
void XLastKnownRequestProcessed() {} ;
|
||||||
|
void XListDepths() {} ;
|
||||||
|
void XListExtensions() {} ;
|
||||||
|
void XListFonts() {} ;
|
||||||
|
void XListFontsWithInfo() {} ;
|
||||||
|
void XListHosts() {} ;
|
||||||
|
void XListInstalledColormaps() {} ;
|
||||||
|
void XListPixmapFormats() {} ;
|
||||||
|
void XListProperties() {} ;
|
||||||
|
void XLoadFont() {} ;
|
||||||
|
void XLoadQueryFont() {} ;
|
||||||
|
void XLocaleOfFontSet() {} ;
|
||||||
|
void XLocaleOfIM() {} ;
|
||||||
|
void XLocaleOfOM() {} ;
|
||||||
|
void XLockDisplay() {} ;
|
||||||
|
void XLookupColor() {} ;
|
||||||
|
void XLookupKeysym() {} ;
|
||||||
|
void XLookupString() {} ;
|
||||||
|
void XLowerWindow() {} ;
|
||||||
|
void XMapRaised() {} ;
|
||||||
|
void XMapSubwindows() {} ;
|
||||||
|
void XMapWindow() {} ;
|
||||||
|
void XMaskEvent() {} ;
|
||||||
|
void XMatchVisualInfo() {} ;
|
||||||
|
void XMaxCmapsOfScreen() {} ;
|
||||||
|
void XMaxRequestSize() {} ;
|
||||||
|
void XMinCmapsOfScreen() {} ;
|
||||||
|
void XMoveResizeWindow() {} ;
|
||||||
|
void XMoveWindow() {} ;
|
||||||
|
void XNewModifiermap() {} ;
|
||||||
|
void XNextEvent() {} ;
|
||||||
|
void XNextRequest() {} ;
|
||||||
|
void XNoOp() {} ;
|
||||||
|
void XOMOfOC() {} ;
|
||||||
|
void XOffsetRegion() {} ;
|
||||||
|
void XOpenDisplay() {} ;
|
||||||
|
void XOpenIM() {} ;
|
||||||
|
void XOpenOM() {} ;
|
||||||
|
void XParseColor() {} ;
|
||||||
|
void XParseGeometry() {} ;
|
||||||
|
void XPeekEvent() {} ;
|
||||||
|
void XPeekIfEvent() {} ;
|
||||||
|
void XPending() {} ;
|
||||||
|
void XPlanesOfScreen() {} ;
|
||||||
|
void XPointInRegion() {} ;
|
||||||
|
void XPolygonRegion() {} ;
|
||||||
|
void XProcessInternalConnection() {} ;
|
||||||
|
void XProtocolRevision() {} ;
|
||||||
|
void XProtocolVersion() {} ;
|
||||||
|
void XPutBackEvent() {} ;
|
||||||
|
void XPutImage() {} ;
|
||||||
|
void XPutPixel() {} ;
|
||||||
|
void XQLength() {} ;
|
||||||
|
void XQueryBestCursor() {} ;
|
||||||
|
void XQueryBestSize() {} ;
|
||||||
|
void XQueryBestStipple() {} ;
|
||||||
|
void XQueryBestTile() {} ;
|
||||||
|
void XQueryColor() {} ;
|
||||||
|
void XQueryColors() {} ;
|
||||||
|
void XQueryExtension() {} ;
|
||||||
|
void XQueryFont() {} ;
|
||||||
|
void XQueryKeymap() {} ;
|
||||||
|
void XQueryPointer() {} ;
|
||||||
|
void XQueryTextExtents() {} ;
|
||||||
|
void XQueryTextExtents16() {} ;
|
||||||
|
void XQueryTree() {} ;
|
||||||
|
void XRaiseWindow() {} ;
|
||||||
|
void XReadBitmapFile() {} ;
|
||||||
|
void XReadBitmapFileData() {} ;
|
||||||
|
void XRebindKeysym() {} ;
|
||||||
|
void XRecolorCursor() {} ;
|
||||||
|
void XReconfigureWMWindow() {} ;
|
||||||
|
void XRectInRegion() {} ;
|
||||||
|
void XRefreshKeyboardMapping() {} ;
|
||||||
|
void XRegisterIMInstantiateCallback() {} ;
|
||||||
|
void XRemoveConnectionWatch() {} ;
|
||||||
|
void XRemoveFromSaveSet() {} ;
|
||||||
|
void XRemoveHost() {} ;
|
||||||
|
void XRemoveHosts() {} ;
|
||||||
|
void XReparentWindow() {} ;
|
||||||
|
void XResetScreenSaver() {} ;
|
||||||
|
void XResizeWindow() {} ;
|
||||||
|
void XResourceManagerString() {} ;
|
||||||
|
void XRestackWindows() {} ;
|
||||||
|
void XRootWindow() {} ;
|
||||||
|
void XRootWindowOfScreen() {} ;
|
||||||
|
void XRotateBuffers() {} ;
|
||||||
|
void XRotateWindowProperties() {} ;
|
||||||
|
void XSaveContext() {} ;
|
||||||
|
void XScreenCount() {} ;
|
||||||
|
void XScreenNumberOfScreen() {} ;
|
||||||
|
void XScreenOfDisplay() {} ;
|
||||||
|
void XScreenResourceString() {} ;
|
||||||
|
void XSelectInput() {} ;
|
||||||
|
void XSendEvent() {} ;
|
||||||
|
void XServerVendor() {} ;
|
||||||
|
void XSetAccessControl() {} ;
|
||||||
|
void XSetArcMode() {} ;
|
||||||
|
void XSetAuthorization() {} ;
|
||||||
|
void XSetBackground() {} ;
|
||||||
|
void XSetClassHint() {} ;
|
||||||
|
void XSetClipMask() {} ;
|
||||||
|
void XSetClipOrigin() {} ;
|
||||||
|
void XSetClipRectangles() {} ;
|
||||||
|
void XSetCloseDownMode() {} ;
|
||||||
|
void XSetCommand() {} ;
|
||||||
|
void XSetDashes() {} ;
|
||||||
|
void XSetErrorHandler() {} ;
|
||||||
|
void XSetFillRule() {} ;
|
||||||
|
void XSetFillStyle() {} ;
|
||||||
|
void XSetFont() {} ;
|
||||||
|
void XSetFontPath() {} ;
|
||||||
|
void XSetForeground() {} ;
|
||||||
|
void XSetFunction() {} ;
|
||||||
|
void XSetGraphicsExposures() {} ;
|
||||||
|
void XSetICFocus() {} ;
|
||||||
|
void XSetICValues() {} ;
|
||||||
|
void XSetIMValues() {} ;
|
||||||
|
void XSetIOErrorHandler() {} ;
|
||||||
|
void XSetIconName() {} ;
|
||||||
|
void XSetIconSizes() {} ;
|
||||||
|
void XSetInputFocus() {} ;
|
||||||
|
void XSetLineAttributes() {} ;
|
||||||
|
void XSetLocaleModifiers() {} ;
|
||||||
|
void XSetModifierMapping() {} ;
|
||||||
|
void XSetNormalHints() {} ;
|
||||||
|
void XSetOCValues() {} ;
|
||||||
|
void XSetOMValues() {} ;
|
||||||
|
void XSetPlaneMask() {} ;
|
||||||
|
void XSetPointerMapping() {} ;
|
||||||
|
void XSetRGBColormaps() {} ;
|
||||||
|
void XSetRegion() {} ;
|
||||||
|
void XSetScreenSaver() {} ;
|
||||||
|
void XSetSelectionOwner() {} ;
|
||||||
|
void XSetSizeHints() {} ;
|
||||||
|
void XSetStandardColormap() {} ;
|
||||||
|
void XSetStandardProperties() {} ;
|
||||||
|
void XSetState() {} ;
|
||||||
|
void XSetStipple() {} ;
|
||||||
|
void XSetSubwindowMode() {} ;
|
||||||
|
void XSetTSOrigin() {} ;
|
||||||
|
void XSetTextProperty() {} ;
|
||||||
|
void XSetTile() {} ;
|
||||||
|
void XSetTransientForHint() {} ;
|
||||||
|
void XSetWMClientMachine() {} ;
|
||||||
|
void XSetWMColormapWindows() {} ;
|
||||||
|
void XSetWMHints() {} ;
|
||||||
|
void XSetWMIconName() {} ;
|
||||||
|
void XSetWMName() {} ;
|
||||||
|
void XSetWMNormalHints() {} ;
|
||||||
|
void XSetWMProperties() {} ;
|
||||||
|
void XSetWMProtocols() {} ;
|
||||||
|
void XSetWMSizeHints() {} ;
|
||||||
|
void XSetWindowBackground() {} ;
|
||||||
|
void XSetWindowBackgroundPixmap() {} ;
|
||||||
|
void XSetWindowBorder() {} ;
|
||||||
|
void XSetWindowBorderPixmap() {} ;
|
||||||
|
void XSetWindowBorderWidth() {} ;
|
||||||
|
void XSetWindowColormap() {} ;
|
||||||
|
void XSetZoomHints() {} ;
|
||||||
|
void XShrinkRegion() {} ;
|
||||||
|
void XStoreBuffer() {} ;
|
||||||
|
void XStoreBytes() {} ;
|
||||||
|
void XStoreColor() {} ;
|
||||||
|
void XStoreColors() {} ;
|
||||||
|
void XStoreName() {} ;
|
||||||
|
void XStoreNamedColor() {} ;
|
||||||
|
void XStringListToTextProperty() {} ;
|
||||||
|
void XStringToKeysym() {} ;
|
||||||
|
void XSubImage() {} ;
|
||||||
|
void XSubtractRegion() {} ;
|
||||||
|
void XSupportsLocale() {} ;
|
||||||
|
void XSync() {} ;
|
||||||
|
void XTextExtents() {} ;
|
||||||
|
void XTextExtents16() {} ;
|
||||||
|
void XTextPropertyToStringList() {} ;
|
||||||
|
void XTextWidth() {} ;
|
||||||
|
void XTextWidth16() {} ;
|
||||||
|
void XTranslateCoordinates() {} ;
|
||||||
|
void XUndefineCursor() {} ;
|
||||||
|
void XUngrabButton() {} ;
|
||||||
|
void XUngrabKey() {} ;
|
||||||
|
void XUngrabKeyboard() {} ;
|
||||||
|
void XUngrabPointer() {} ;
|
||||||
|
void XUngrabServer() {} ;
|
||||||
|
void XUninstallColormap() {} ;
|
||||||
|
void XUnionRectWithRegion() {} ;
|
||||||
|
void XUnionRegion() {} ;
|
||||||
|
void XUnloadFont() {} ;
|
||||||
|
void XUnlockDisplay() {} ;
|
||||||
|
void XUnmapSubwindows() {} ;
|
||||||
|
void XUnmapWindow() {} ;
|
||||||
|
void XUnregisterIMInstantiateCallback() {} ;
|
||||||
|
void XUnsetICFocus() {} ;
|
||||||
|
void XVaCreateNestedList() {} ;
|
||||||
|
void XVendorRelease() {} ;
|
||||||
|
void XVisualIDFromVisual() {} ;
|
||||||
|
void XWMGeometry() {} ;
|
||||||
|
void XWarpPointer() {} ;
|
||||||
|
void XWhitePixel() {} ;
|
||||||
|
void XWhitePixelOfScreen() {} ;
|
||||||
|
void XWidthMMOfScreen() {} ;
|
||||||
|
void XWidthOfScreen() {} ;
|
||||||
|
void XWindowEvent() {} ;
|
||||||
|
void XWithdrawWindow() {} ;
|
||||||
|
void XWriteBitmapFile() {} ;
|
||||||
|
void XXorRegion() {} ;
|
||||||
|
void XauDisposeAuth() {} ;
|
||||||
|
void XauFileName() {} ;
|
||||||
|
void XauGetBestAuthByAddr() {} ;
|
||||||
|
void XauReadAuth() {} ;
|
||||||
|
void XcmsAddColorSpace() {} ;
|
||||||
|
void XcmsAddFunctionSet() {} ;
|
||||||
|
void XcmsAllocColor() {} ;
|
||||||
|
void XcmsAllocNamedColor() {} ;
|
||||||
|
void XcmsCCCOfColormap() {} ;
|
||||||
|
void XcmsCIELabClipL() {} ;
|
||||||
|
void XcmsCIELabClipLab() {} ;
|
||||||
|
void XcmsCIELabClipab() {} ;
|
||||||
|
void XcmsCIELabQueryMaxC() {} ;
|
||||||
|
void XcmsCIELabQueryMaxL() {} ;
|
||||||
|
void XcmsCIELabQueryMaxLC() {} ;
|
||||||
|
void XcmsCIELabQueryMinL() {} ;
|
||||||
|
void XcmsCIELabToCIEXYZ() {} ;
|
||||||
|
void XcmsCIELabWhiteShiftColors() {} ;
|
||||||
|
void XcmsCIELuvClipL() {} ;
|
||||||
|
void XcmsCIELuvClipLuv() {} ;
|
||||||
|
void XcmsCIELuvClipuv() {} ;
|
||||||
|
void XcmsCIELuvQueryMaxC() {} ;
|
||||||
|
void XcmsCIELuvQueryMaxL() {} ;
|
||||||
|
void XcmsCIELuvQueryMaxLC() {} ;
|
||||||
|
void XcmsCIELuvQueryMinL() {} ;
|
||||||
|
void XcmsCIELuvToCIEuvY() {} ;
|
||||||
|
void XcmsCIELuvWhiteShiftColors() {} ;
|
||||||
|
void XcmsCIEXYZToCIELab() {} ;
|
||||||
|
void XcmsCIEXYZToCIEuvY() {} ;
|
||||||
|
void XcmsCIEXYZToCIExyY() {} ;
|
||||||
|
void XcmsCIEXYZToRGBi() {} ;
|
||||||
|
void XcmsCIEuvYToCIELuv() {} ;
|
||||||
|
void XcmsCIEuvYToCIEXYZ() {} ;
|
||||||
|
void XcmsCIEuvYToTekHVC() {} ;
|
||||||
|
void XcmsCIExyYToCIEXYZ() {} ;
|
||||||
|
void XcmsClientWhitePointOfCCC() {} ;
|
||||||
|
void XcmsConvertColors() {} ;
|
||||||
|
void XcmsCreateCCC() {} ;
|
||||||
|
void XcmsDefaultCCC() {} ;
|
||||||
|
void XcmsDisplayOfCCC() {} ;
|
||||||
|
void XcmsFormatOfPrefix() {} ;
|
||||||
|
void XcmsFreeCCC() {} ;
|
||||||
|
void XcmsLookupColor() {} ;
|
||||||
|
void XcmsPrefixOfFormat() {} ;
|
||||||
|
void XcmsQueryBlack() {} ;
|
||||||
|
void XcmsQueryBlue() {} ;
|
||||||
|
void XcmsQueryColor() {} ;
|
||||||
|
void XcmsQueryColors() {} ;
|
||||||
|
void XcmsQueryGreen() {} ;
|
||||||
|
void XcmsQueryRed() {} ;
|
||||||
|
void XcmsQueryWhite() {} ;
|
||||||
|
void XcmsRGBToRGBi() {} ;
|
||||||
|
void XcmsRGBiToCIEXYZ() {} ;
|
||||||
|
void XcmsRGBiToRGB() {} ;
|
||||||
|
void XcmsScreenNumberOfCCC() {} ;
|
||||||
|
void XcmsScreenWhitePointOfCCC() {} ;
|
||||||
|
void XcmsSetCCCOfColormap() {} ;
|
||||||
|
void XcmsSetCompressionProc() {} ;
|
||||||
|
void XcmsSetWhiteAdjustProc() {} ;
|
||||||
|
void XcmsSetWhitePoint() {} ;
|
||||||
|
void XcmsStoreColor() {} ;
|
||||||
|
void XcmsStoreColors() {} ;
|
||||||
|
void XcmsTekHVCClipC() {} ;
|
||||||
|
void XcmsTekHVCClipV() {} ;
|
||||||
|
void XcmsTekHVCClipVC() {} ;
|
||||||
|
void XcmsTekHVCQueryMaxC() {} ;
|
||||||
|
void XcmsTekHVCQueryMaxV() {} ;
|
||||||
|
void XcmsTekHVCQueryMaxVC() {} ;
|
||||||
|
void XcmsTekHVCQueryMaxVSamples() {} ;
|
||||||
|
void XcmsTekHVCQueryMinV() {} ;
|
||||||
|
void XcmsTekHVCToCIEuvY() {} ;
|
||||||
|
void XcmsTekHVCWhiteShiftColors() {} ;
|
||||||
|
void XcmsVisualOfCCC() {} ;
|
||||||
|
void XkbAllocClientMap() {} ;
|
||||||
|
void XkbAllocCompatMap() {} ;
|
||||||
|
void XkbAllocControls() {} ;
|
||||||
|
void XkbAllocGeomColors() {} ;
|
||||||
|
void XkbAllocGeomDoodads() {} ;
|
||||||
|
void XkbAllocGeomKeyAliases() {} ;
|
||||||
|
void XkbAllocGeomKeys() {} ;
|
||||||
|
void XkbAllocGeomOutlines() {} ;
|
||||||
|
void XkbAllocGeomOverlayKeys() {} ;
|
||||||
|
void XkbAllocGeomOverlayRows() {} ;
|
||||||
|
void XkbAllocGeomOverlays() {} ;
|
||||||
|
void XkbAllocGeomPoints() {} ;
|
||||||
|
void XkbAllocGeomProps() {} ;
|
||||||
|
void XkbAllocGeomRows() {} ;
|
||||||
|
void XkbAllocGeomSectionDoodads() {} ;
|
||||||
|
void XkbAllocGeomSections() {} ;
|
||||||
|
void XkbAllocGeomShapes() {} ;
|
||||||
|
void XkbAllocGeometry() {} ;
|
||||||
|
void XkbAllocIndicatorMaps() {} ;
|
||||||
|
void XkbAllocKeyboard() {} ;
|
||||||
|
void XkbAllocNames() {} ;
|
||||||
|
void XkbAllocServerMap() {} ;
|
||||||
|
void XkbApplyCompatMapToKey() {} ;
|
||||||
|
void XkbBell() {} ;
|
||||||
|
void XkbBellEvent() {} ;
|
||||||
|
void XkbChangeEnabledControls() {} ;
|
||||||
|
void XkbChangeMap() {} ;
|
||||||
|
void XkbChangeNames() {} ;
|
||||||
|
void XkbChangeTypesOfKey() {} ;
|
||||||
|
void XkbComputeEffectiveMap() {} ;
|
||||||
|
void XkbComputeRowBounds() {} ;
|
||||||
|
void XkbComputeSectionBounds() {} ;
|
||||||
|
void XkbComputeShapeBounds() {} ;
|
||||||
|
void XkbComputeShapeTop() {} ;
|
||||||
|
void XkbCopyKeyType() {} ;
|
||||||
|
void XkbCopyKeyTypes() {} ;
|
||||||
|
void XkbFindOverlayForKey() {} ;
|
||||||
|
void XkbForceBell() {} ;
|
||||||
|
void XkbFreeClientMap() {} ;
|
||||||
|
void XkbFreeCompatMap() {} ;
|
||||||
|
void XkbFreeComponentList() {} ;
|
||||||
|
void XkbFreeControls() {} ;
|
||||||
|
void XkbFreeGeomColors() {} ;
|
||||||
|
void XkbFreeGeomDoodads() {} ;
|
||||||
|
void XkbFreeGeomKeyAliases() {} ;
|
||||||
|
void XkbFreeGeomKeys() {} ;
|
||||||
|
void XkbFreeGeomOutlines() {} ;
|
||||||
|
void XkbFreeGeomOverlayKeys() {} ;
|
||||||
|
void XkbFreeGeomOverlayRows() {} ;
|
||||||
|
void XkbFreeGeomOverlays() {} ;
|
||||||
|
void XkbFreeGeomPoints() {} ;
|
||||||
|
void XkbFreeGeomProperties() {} ;
|
||||||
|
void XkbFreeGeomRows() {} ;
|
||||||
|
void XkbFreeGeomSections() {} ;
|
||||||
|
void XkbFreeGeomShapes() {} ;
|
||||||
|
void XkbFreeGeometry() {} ;
|
||||||
|
void XkbFreeIndicatorMaps() {} ;
|
||||||
|
void XkbFreeKeyboard() {} ;
|
||||||
|
void XkbFreeNames() {} ;
|
||||||
|
void XkbFreeServerMap() {} ;
|
||||||
|
void XkbGetAutoRepeatRate() {} ;
|
||||||
|
void XkbGetCompatMap() {} ;
|
||||||
|
void XkbGetControls() {} ;
|
||||||
|
void XkbGetGeometry() {} ;
|
||||||
|
void XkbGetIndicatorMap() {} ;
|
||||||
|
void XkbGetIndicatorState() {} ;
|
||||||
|
void XkbGetKeyActions() {} ;
|
||||||
|
void XkbGetKeyBehaviors() {} ;
|
||||||
|
void XkbGetKeyExplicitComponents() {} ;
|
||||||
|
void XkbGetKeyModifierMap() {} ;
|
||||||
|
void XkbGetKeySyms() {} ;
|
||||||
|
void XkbGetKeyTypes() {} ;
|
||||||
|
void XkbGetKeyboard() {} ;
|
||||||
|
void XkbGetKeyboardByName() {} ;
|
||||||
|
void XkbGetMap() {} ;
|
||||||
|
void XkbGetMapChanges() {} ;
|
||||||
|
void XkbGetNamedGeometry() {} ;
|
||||||
|
void XkbGetNamedIndicator() {} ;
|
||||||
|
void XkbGetNames() {} ;
|
||||||
|
void XkbGetState() {} ;
|
||||||
|
void XkbGetUpdatedMap() {} ;
|
||||||
|
void XkbGetVirtualMods() {} ;
|
||||||
|
void XkbGetXlibControls() {} ;
|
||||||
|
void XkbIgnoreExtension() {} ;
|
||||||
|
void XkbInitCanonicalKeyTypes() {} ;
|
||||||
|
void XkbKeyTypesForCoreSymbols() {} ;
|
||||||
|
void XkbKeycodeToKeysym() {} ;
|
||||||
|
void XkbKeysymToModifiers() {} ;
|
||||||
|
void XkbLatchGroup() {} ;
|
||||||
|
void XkbLatchModifiers() {} ;
|
||||||
|
void XkbLibraryVersion() {} ;
|
||||||
|
void XkbListComponents() {} ;
|
||||||
|
void XkbLockGroup() {} ;
|
||||||
|
void XkbLockModifiers() {} ;
|
||||||
|
void XkbLookupKeyBinding() {} ;
|
||||||
|
void XkbLookupKeySym() {} ;
|
||||||
|
void XkbNoteControlsChanges() {} ;
|
||||||
|
void XkbNoteMapChanges() {} ;
|
||||||
|
void XkbNoteNameChanges() {} ;
|
||||||
|
void XkbOpenDisplay() {} ;
|
||||||
|
void XkbQueryExtension() {} ;
|
||||||
|
void XkbRefreshKeyboardMapping() {} ;
|
||||||
|
void XkbResizeKeyActions() {} ;
|
||||||
|
void XkbResizeKeySyms() {} ;
|
||||||
|
void XkbResizeKeyType() {} ;
|
||||||
|
void XkbSelectEventDetails() {} ;
|
||||||
|
void XkbSelectEvents() {} ;
|
||||||
|
void XkbSetAtomFuncs() {} ;
|
||||||
|
void XkbSetAutoRepeatRate() {} ;
|
||||||
|
void XkbSetAutoResetControls() {} ;
|
||||||
|
void XkbSetCompatMap() {} ;
|
||||||
|
void XkbSetControls() {} ;
|
||||||
|
void XkbSetDebuggingFlags() {} ;
|
||||||
|
void XkbSetDetectableAutoRepeat() {} ;
|
||||||
|
void XkbSetGeometry() {} ;
|
||||||
|
void XkbSetIgnoreLockMods() {} ;
|
||||||
|
void XkbSetIndicatorMap() {} ;
|
||||||
|
void XkbSetMap() {} ;
|
||||||
|
void XkbSetNamedIndicator() {} ;
|
||||||
|
void XkbSetNames() {} ;
|
||||||
|
void XkbSetServerInternalMods() {} ;
|
||||||
|
void XkbSetXlibControls() {} ;
|
||||||
|
void XkbToControl() {} ;
|
||||||
|
void XkbTranslateKeyCode() {} ;
|
||||||
|
void XkbTranslateKeySym() {} ;
|
||||||
|
void XkbUpdateMapFromCore() {} ;
|
||||||
|
void XkbUseExtension() {} ;
|
||||||
|
void XkbVirtualModsToReal() {} ;
|
||||||
|
void XmbDrawImageString() {} ;
|
||||||
|
void XmbDrawString() {} ;
|
||||||
|
void XmbDrawText() {} ;
|
||||||
|
void XmbLookupString() {} ;
|
||||||
|
void XmbResetIC() {} ;
|
||||||
|
void XmbSetWMProperties() {} ;
|
||||||
|
void XmbTextEscapement() {} ;
|
||||||
|
void XmbTextExtents() {} ;
|
||||||
|
void XmbTextListToTextProperty() {} ;
|
||||||
|
void XmbTextPerCharExtents() {} ;
|
||||||
|
void XmbTextPropertyToTextList() {} ;
|
||||||
|
void XrmCombineDatabase() {} ;
|
||||||
|
void XrmCombineFileDatabase() {} ;
|
||||||
|
void XrmDestroyDatabase() {} ;
|
||||||
|
void XrmEnumerateDatabase() {} ;
|
||||||
|
void XrmGetDatabase() {} ;
|
||||||
|
void XrmGetFileDatabase() {} ;
|
||||||
|
void XrmGetResource() {} ;
|
||||||
|
void XrmGetStringDatabase() {} ;
|
||||||
|
void XrmInitialize() {} ;
|
||||||
|
void XrmLocaleOfDatabase() {} ;
|
||||||
|
void XrmMergeDatabases() {} ;
|
||||||
|
void XrmParseCommand() {} ;
|
||||||
|
void XrmPermStringToQuark() {} ;
|
||||||
|
void XrmPutFileDatabase() {} ;
|
||||||
|
void XrmPutLineResource() {} ;
|
||||||
|
void XrmPutResource() {} ;
|
||||||
|
void XrmPutStringResource() {} ;
|
||||||
|
void XrmQGetResource() {} ;
|
||||||
|
void XrmQGetSearchList() {} ;
|
||||||
|
void XrmQGetSearchResource() {} ;
|
||||||
|
void XrmQPutResource() {} ;
|
||||||
|
void XrmQPutStringResource() {} ;
|
||||||
|
void XrmQuarkToString() {} ;
|
||||||
|
void XrmSetDatabase() {} ;
|
||||||
|
void XrmStringToBindingQuarkList() {} ;
|
||||||
|
void XrmStringToQuark() {} ;
|
||||||
|
void XrmStringToQuarkList() {} ;
|
||||||
|
void XrmUniqueQuark() {} ;
|
||||||
|
void Xutf8TextListToTextProperty() {} ;
|
||||||
|
void Xutf8TextPropertyToTextList() {} ;
|
||||||
|
void XwcDrawImageString() {} ;
|
||||||
|
void XwcDrawString() {} ;
|
||||||
|
void XwcDrawText() {} ;
|
||||||
|
void XwcFreeStringList() {} ;
|
||||||
|
void XwcLookupString() {} ;
|
||||||
|
void XwcResetIC() {} ;
|
||||||
|
void XwcTextEscapement() {} ;
|
||||||
|
void XwcTextExtents() {} ;
|
||||||
|
void XwcTextListToTextProperty() {} ;
|
||||||
|
void XwcTextPerCharExtents() {} ;
|
||||||
|
void XwcTextPropertyToTextList() {} ;
|
||||||
|
__asm__(".globl XSetAfterFunction; .pushsection .data; .type XSetAfterFunction,@object; .size XSetAfterFunction, 0; XSetAfterFunction: .long 0; .popsection");
|
||||||
|
__asm__(".globl XSynchronize; .pushsection .data; .type XSynchronize,@object; .size XSynchronize, 0; XSynchronize: .long 0; .popsection");
|
|
@ -0,0 +1 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
|
@ -0,0 +1,79 @@
|
||||||
|
void DPMSCapable() {} ;
|
||||||
|
void DPMSDisable() {} ;
|
||||||
|
void DPMSEnable() {} ;
|
||||||
|
void DPMSForceLevel() {} ;
|
||||||
|
void DPMSGetTimeouts() {} ;
|
||||||
|
void DPMSGetVersion() {} ;
|
||||||
|
void DPMSInfo() {} ;
|
||||||
|
void DPMSQueryExtension() {} ;
|
||||||
|
void DPMSSetTimeouts() {} ;
|
||||||
|
void XSecurityAllocXauth() {} ;
|
||||||
|
void XSecurityFreeXauth() {} ;
|
||||||
|
void XSecurityGenerateAuthorization() {} ;
|
||||||
|
void XSecurityQueryExtension() {} ;
|
||||||
|
void XSecurityRevokeAuthorization() {} ;
|
||||||
|
void XShapeCombineMask() {} ;
|
||||||
|
void XShapeCombineRectangles() {} ;
|
||||||
|
void XShapeCombineRegion() {} ;
|
||||||
|
void XShapeCombineShape() {} ;
|
||||||
|
void XShapeGetRectangles() {} ;
|
||||||
|
void XShapeInputSelected() {} ;
|
||||||
|
void XShapeOffsetShape() {} ;
|
||||||
|
void XShapeQueryExtension() {} ;
|
||||||
|
void XShapeQueryExtents() {} ;
|
||||||
|
void XShapeQueryVersion() {} ;
|
||||||
|
void XShapeSelectInput() {} ;
|
||||||
|
void XShmAttach() {} ;
|
||||||
|
void XShmCreateImage() {} ;
|
||||||
|
void XShmCreatePixmap() {} ;
|
||||||
|
void XShmDetach() {} ;
|
||||||
|
void XShmGetEventBase() {} ;
|
||||||
|
void XShmGetImage() {} ;
|
||||||
|
void XShmPixmapFormat() {} ;
|
||||||
|
void XShmPutImage() {} ;
|
||||||
|
void XShmQueryExtension() {} ;
|
||||||
|
void XShmQueryVersion() {} ;
|
||||||
|
void XSyncAwait() {} ;
|
||||||
|
void XSyncChangeAlarm() {} ;
|
||||||
|
void XSyncChangeCounter() {} ;
|
||||||
|
void XSyncCreateAlarm() {} ;
|
||||||
|
void XSyncCreateCounter() {} ;
|
||||||
|
void XSyncDestroyAlarm() {} ;
|
||||||
|
void XSyncDestroyCounter() {} ;
|
||||||
|
void XSyncFreeSystemCounterList() {} ;
|
||||||
|
void XSyncGetPriority() {} ;
|
||||||
|
void XSyncInitialize() {} ;
|
||||||
|
void XSyncIntToValue() {} ;
|
||||||
|
void XSyncIntsToValue() {} ;
|
||||||
|
void XSyncListSystemCounters() {} ;
|
||||||
|
void XSyncMaxValue() {} ;
|
||||||
|
void XSyncMinValue() {} ;
|
||||||
|
void XSyncQueryAlarm() {} ;
|
||||||
|
void XSyncQueryCounter() {} ;
|
||||||
|
void XSyncQueryExtension() {} ;
|
||||||
|
void XSyncSetCounter() {} ;
|
||||||
|
void XSyncSetPriority() {} ;
|
||||||
|
void XSyncValueAdd() {} ;
|
||||||
|
void XSyncValueEqual() {} ;
|
||||||
|
void XSyncValueGreaterOrEqual() {} ;
|
||||||
|
void XSyncValueGreaterThan() {} ;
|
||||||
|
void XSyncValueHigh32() {} ;
|
||||||
|
void XSyncValueIsNegative() {} ;
|
||||||
|
void XSyncValueIsPositive() {} ;
|
||||||
|
void XSyncValueIsZero() {} ;
|
||||||
|
void XSyncValueLessOrEqual() {} ;
|
||||||
|
void XSyncValueLessThan() {} ;
|
||||||
|
void XSyncValueLow32() {} ;
|
||||||
|
void XSyncValueSubtract() {} ;
|
||||||
|
void XdbeAllocateBackBufferName() {} ;
|
||||||
|
void XdbeBeginIdiom() {} ;
|
||||||
|
void XdbeDeallocateBackBufferName() {} ;
|
||||||
|
void XdbeEndIdiom() {} ;
|
||||||
|
void XdbeFreeVisualInfo() {} ;
|
||||||
|
void XdbeGetBackBufferAttributes() {} ;
|
||||||
|
void XdbeGetVisualInfo() {} ;
|
||||||
|
void XdbeQueryExtension() {} ;
|
||||||
|
void XdbeSwapBuffers() {} ;
|
||||||
|
void XeviGetVisualInfo() {} ;
|
||||||
|
void XeviQueryExtension() {} ;
|
||||||
|
void XeviQueryVersion() {} ;
|
|
@ -0,0 +1 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
|
@ -0,0 +1,331 @@
|
||||||
|
void XtAddActions() {} ;
|
||||||
|
void XtAddCallback() {} ;
|
||||||
|
void XtAddCallbacks() {} ;
|
||||||
|
void XtAddConverter() {} ;
|
||||||
|
void XtAddEventHandler() {} ;
|
||||||
|
void XtAddExposureToRegion() {} ;
|
||||||
|
void XtAddGrab() {} ;
|
||||||
|
void XtAddInput() {} ;
|
||||||
|
void XtAddRawEventHandler() {} ;
|
||||||
|
void XtAddSignal() {} ;
|
||||||
|
void XtAddTimeOut() {} ;
|
||||||
|
void XtAddWorkProc() {} ;
|
||||||
|
void XtAllocateGC() {} ;
|
||||||
|
void XtAppAddActionHook() {} ;
|
||||||
|
void XtAppAddActions() {} ;
|
||||||
|
void XtAppAddBlockHook() {} ;
|
||||||
|
void XtAppAddConverter() {} ;
|
||||||
|
void XtAppAddInput() {} ;
|
||||||
|
void XtAppAddSignal() {} ;
|
||||||
|
void XtAppAddTimeOut() {} ;
|
||||||
|
void XtAppAddWorkProc() {} ;
|
||||||
|
void XtAppCreateShell() {} ;
|
||||||
|
void XtAppError() {} ;
|
||||||
|
void XtAppErrorMsg() {} ;
|
||||||
|
void XtAppGetErrorDatabase() {} ;
|
||||||
|
void XtAppGetErrorDatabaseText() {} ;
|
||||||
|
void XtAppGetExitFlag() {} ;
|
||||||
|
void XtAppGetSelectionTimeout() {} ;
|
||||||
|
void XtAppInitialize() {} ;
|
||||||
|
void XtAppLock() {} ;
|
||||||
|
void XtAppMainLoop() {} ;
|
||||||
|
void XtAppNextEvent() {} ;
|
||||||
|
void XtAppPeekEvent() {} ;
|
||||||
|
void XtAppPending() {} ;
|
||||||
|
void XtAppProcessEvent() {} ;
|
||||||
|
void XtAppReleaseCacheRefs() {} ;
|
||||||
|
void XtAppSetErrorHandler() {} ;
|
||||||
|
void XtAppSetErrorMsgHandler() {} ;
|
||||||
|
void XtAppSetExitFlag() {} ;
|
||||||
|
void XtAppSetFallbackResources() {} ;
|
||||||
|
void XtAppSetSelectionTimeout() {} ;
|
||||||
|
void XtAppSetTypeConverter() {} ;
|
||||||
|
void XtAppSetWarningHandler() {} ;
|
||||||
|
void XtAppSetWarningMsgHandler() {} ;
|
||||||
|
void XtAppUnlock() {} ;
|
||||||
|
void XtAppWarning() {} ;
|
||||||
|
void XtAppWarningMsg() {} ;
|
||||||
|
void XtAugmentTranslations() {} ;
|
||||||
|
void XtBuildEventMask() {} ;
|
||||||
|
void XtCallAcceptFocus() {} ;
|
||||||
|
void XtCallActionProc() {} ;
|
||||||
|
void XtCallCallbackList() {} ;
|
||||||
|
void XtCallCallbacks() {} ;
|
||||||
|
void XtCallConverter() {} ;
|
||||||
|
void XtCallbackExclusive() {} ;
|
||||||
|
void XtCallbackNone() {} ;
|
||||||
|
void XtCallbackNonexclusive() {} ;
|
||||||
|
void XtCallbackPopdown() {} ;
|
||||||
|
void XtCallbackReleaseCacheRef() {} ;
|
||||||
|
void XtCallbackReleaseCacheRefList() {} ;
|
||||||
|
void XtCalloc() {} ;
|
||||||
|
void XtCancelSelectionRequest() {} ;
|
||||||
|
void XtChangeManagedSet() {} ;
|
||||||
|
void XtClass() {} ;
|
||||||
|
void XtCloseDisplay() {} ;
|
||||||
|
void XtConfigureWidget() {} ;
|
||||||
|
void XtConvert() {} ;
|
||||||
|
void XtConvertAndStore() {} ;
|
||||||
|
void XtConvertCase() {} ;
|
||||||
|
void XtCreateApplicationContext() {} ;
|
||||||
|
void XtCreateApplicationShell() {} ;
|
||||||
|
void XtCreateManagedWidget() {} ;
|
||||||
|
void XtCreatePopupShell() {} ;
|
||||||
|
void XtCreateSelectionRequest() {} ;
|
||||||
|
void XtCreateWidget() {} ;
|
||||||
|
void XtCreateWindow() {} ;
|
||||||
|
void XtCvtColorToPixel() {} ;
|
||||||
|
void XtCvtIntToBool() {} ;
|
||||||
|
void XtCvtIntToBoolean() {} ;
|
||||||
|
void XtCvtIntToColor() {} ;
|
||||||
|
void XtCvtIntToFloat() {} ;
|
||||||
|
void XtCvtIntToFont() {} ;
|
||||||
|
void XtCvtIntToPixel() {} ;
|
||||||
|
void XtCvtIntToPixmap() {} ;
|
||||||
|
void XtCvtIntToShort() {} ;
|
||||||
|
void XtCvtIntToUnsignedChar() {} ;
|
||||||
|
void XtCvtStringToAcceleratorTable() {} ;
|
||||||
|
void XtCvtStringToAtom() {} ;
|
||||||
|
void XtCvtStringToBool() {} ;
|
||||||
|
void XtCvtStringToBoolean() {} ;
|
||||||
|
void XtCvtStringToCommandArgArray() {} ;
|
||||||
|
void XtCvtStringToCursor() {} ;
|
||||||
|
void XtCvtStringToDimension() {} ;
|
||||||
|
void XtCvtStringToDirectoryString() {} ;
|
||||||
|
void XtCvtStringToDisplay() {} ;
|
||||||
|
void XtCvtStringToFile() {} ;
|
||||||
|
void XtCvtStringToFloat() {} ;
|
||||||
|
void XtCvtStringToFont() {} ;
|
||||||
|
void XtCvtStringToFontSet() {} ;
|
||||||
|
void XtCvtStringToFontStruct() {} ;
|
||||||
|
void XtCvtStringToGravity() {} ;
|
||||||
|
void XtCvtStringToInitialState() {} ;
|
||||||
|
void XtCvtStringToInt() {} ;
|
||||||
|
void XtCvtStringToPixel() {} ;
|
||||||
|
void XtCvtStringToRestartStyle() {} ;
|
||||||
|
void XtCvtStringToShort() {} ;
|
||||||
|
void XtCvtStringToTranslationTable() {} ;
|
||||||
|
void XtCvtStringToUnsignedChar() {} ;
|
||||||
|
void XtCvtStringToVisual() {} ;
|
||||||
|
void XtDatabase() {} ;
|
||||||
|
void XtDestroyApplicationContext() {} ;
|
||||||
|
void XtDestroyGC() {} ;
|
||||||
|
void XtDestroyWidget() {} ;
|
||||||
|
void XtDirectConvert() {} ;
|
||||||
|
void XtDisownSelection() {} ;
|
||||||
|
void XtDispatchEvent() {} ;
|
||||||
|
void XtDispatchEventToWidget() {} ;
|
||||||
|
void XtDisplay() {} ;
|
||||||
|
void XtDisplayInitialize() {} ;
|
||||||
|
void XtDisplayOfObject() {} ;
|
||||||
|
void XtDisplayStringConversionWarning() {} ;
|
||||||
|
void XtDisplayToApplicationContext() {} ;
|
||||||
|
void XtError() {} ;
|
||||||
|
void XtErrorMsg() {} ;
|
||||||
|
void XtFindFile() {} ;
|
||||||
|
void XtFree() {} ;
|
||||||
|
void XtGetActionKeysym() {} ;
|
||||||
|
void XtGetActionList() {} ;
|
||||||
|
void XtGetApplicationNameAndClass() {} ;
|
||||||
|
void XtGetApplicationResources() {} ;
|
||||||
|
void XtGetClassExtension() {} ;
|
||||||
|
void XtGetConstraintResourceList() {} ;
|
||||||
|
void XtGetDisplays() {} ;
|
||||||
|
void XtGetErrorDatabase() {} ;
|
||||||
|
void XtGetErrorDatabaseText() {} ;
|
||||||
|
void XtGetGC() {} ;
|
||||||
|
void XtGetKeyboardFocusWidget() {} ;
|
||||||
|
void XtGetKeysymTable() {} ;
|
||||||
|
void XtGetMultiClickTime() {} ;
|
||||||
|
void XtGetResourceList() {} ;
|
||||||
|
void XtGetSelectionParameters() {} ;
|
||||||
|
void XtGetSelectionRequest() {} ;
|
||||||
|
void XtGetSelectionTimeout() {} ;
|
||||||
|
void XtGetSelectionValue() {} ;
|
||||||
|
void XtGetSelectionValueIncremental() {} ;
|
||||||
|
void XtGetSelectionValues() {} ;
|
||||||
|
void XtGetSelectionValuesIncremental() {} ;
|
||||||
|
void XtGetSubresources() {} ;
|
||||||
|
void XtGetSubvalues() {} ;
|
||||||
|
void XtGetValues() {} ;
|
||||||
|
void XtGrabButton() {} ;
|
||||||
|
void XtGrabKey() {} ;
|
||||||
|
void XtGrabKeyboard() {} ;
|
||||||
|
void XtGrabPointer() {} ;
|
||||||
|
void XtHasCallbacks() {} ;
|
||||||
|
void XtHooksOfDisplay() {} ;
|
||||||
|
void XtInitialize() {} ;
|
||||||
|
void XtInitializeWidgetClass() {} ;
|
||||||
|
void XtInsertEventHandler() {} ;
|
||||||
|
void XtInsertEventTypeHandler() {} ;
|
||||||
|
void XtInsertRawEventHandler() {} ;
|
||||||
|
void XtInstallAccelerators() {} ;
|
||||||
|
void XtInstallAllAccelerators() {} ;
|
||||||
|
void XtIsApplicationShell() {} ;
|
||||||
|
void XtIsComposite() {} ;
|
||||||
|
void XtIsConstraint() {} ;
|
||||||
|
void XtIsManaged() {} ;
|
||||||
|
void XtIsObject() {} ;
|
||||||
|
void XtIsOverrideShell() {} ;
|
||||||
|
void XtIsRealized() {} ;
|
||||||
|
void XtIsRectObj() {} ;
|
||||||
|
void XtIsSensitive() {} ;
|
||||||
|
void XtIsSessionShell() {} ;
|
||||||
|
void XtIsShell() {} ;
|
||||||
|
void XtIsSubclass() {} ;
|
||||||
|
void XtIsTopLevelShell() {} ;
|
||||||
|
void XtIsTransientShell() {} ;
|
||||||
|
void XtIsVendorShell() {} ;
|
||||||
|
void XtIsWMShell() {} ;
|
||||||
|
void XtIsWidget() {} ;
|
||||||
|
void XtKeysymToKeycodeList() {} ;
|
||||||
|
void XtLastEventProcessed() {} ;
|
||||||
|
void XtLastTimestampProcessed() {} ;
|
||||||
|
void XtMainLoop() {} ;
|
||||||
|
void XtMakeGeometryRequest() {} ;
|
||||||
|
void XtMakeResizeRequest() {} ;
|
||||||
|
void XtMalloc() {} ;
|
||||||
|
void XtManageChild() {} ;
|
||||||
|
void XtManageChildren() {} ;
|
||||||
|
void XtMapWidget() {} ;
|
||||||
|
void XtMenuPopupAction() {} ;
|
||||||
|
void XtMergeArgLists() {} ;
|
||||||
|
void XtMoveWidget() {} ;
|
||||||
|
void XtName() {} ;
|
||||||
|
void XtNameToWidget() {} ;
|
||||||
|
void XtNewString() {} ;
|
||||||
|
void XtNextEvent() {} ;
|
||||||
|
void XtNoticeSignal() {} ;
|
||||||
|
void XtOpenApplication() {} ;
|
||||||
|
void XtOpenDisplay() {} ;
|
||||||
|
void XtOverrideTranslations() {} ;
|
||||||
|
void XtOwnSelection() {} ;
|
||||||
|
void XtOwnSelectionIncremental() {} ;
|
||||||
|
void XtParent() {} ;
|
||||||
|
void XtParseAcceleratorTable() {} ;
|
||||||
|
void XtParseTranslationTable() {} ;
|
||||||
|
void XtPeekEvent() {} ;
|
||||||
|
void XtPending() {} ;
|
||||||
|
void XtPopdown() {} ;
|
||||||
|
void XtPopup() {} ;
|
||||||
|
void XtPopupSpringLoaded() {} ;
|
||||||
|
void XtProcessEvent() {} ;
|
||||||
|
void XtProcessLock() {} ;
|
||||||
|
void XtProcessUnlock() {} ;
|
||||||
|
void XtQueryGeometry() {} ;
|
||||||
|
void XtRealizeWidget() {} ;
|
||||||
|
void XtRealloc() {} ;
|
||||||
|
void XtRegisterCaseConverter() {} ;
|
||||||
|
void XtRegisterDrawable() {} ;
|
||||||
|
void XtRegisterExtensionSelector() {} ;
|
||||||
|
void XtRegisterGrabAction() {} ;
|
||||||
|
void XtReleaseGC() {} ;
|
||||||
|
void XtReleasePropertyAtom() {} ;
|
||||||
|
void XtRemoveActionHook() {} ;
|
||||||
|
void XtRemoveAllCallbacks() {} ;
|
||||||
|
void XtRemoveBlockHook() {} ;
|
||||||
|
void XtRemoveCallback() {} ;
|
||||||
|
void XtRemoveCallbacks() {} ;
|
||||||
|
void XtRemoveEventHandler() {} ;
|
||||||
|
void XtRemoveEventTypeHandler() {} ;
|
||||||
|
void XtRemoveGrab() {} ;
|
||||||
|
void XtRemoveInput() {} ;
|
||||||
|
void XtRemoveRawEventHandler() {} ;
|
||||||
|
void XtRemoveSignal() {} ;
|
||||||
|
void XtRemoveTimeOut() {} ;
|
||||||
|
void XtRemoveWorkProc() {} ;
|
||||||
|
void XtReservePropertyAtom() {} ;
|
||||||
|
void XtResizeWidget() {} ;
|
||||||
|
void XtResizeWindow() {} ;
|
||||||
|
void XtResolvePathname() {} ;
|
||||||
|
void XtScreen() {} ;
|
||||||
|
void XtScreenDatabase() {} ;
|
||||||
|
void XtScreenOfObject() {} ;
|
||||||
|
void XtSendSelectionRequest() {} ;
|
||||||
|
void XtSessionGetToken() {} ;
|
||||||
|
void XtSessionReturnToken() {} ;
|
||||||
|
void XtSetErrorHandler() {} ;
|
||||||
|
void XtSetErrorMsgHandler() {} ;
|
||||||
|
void XtSetEventDispatcher() {} ;
|
||||||
|
void XtSetKeyTranslator() {} ;
|
||||||
|
void XtSetKeyboardFocus() {} ;
|
||||||
|
void XtSetLanguageProc() {} ;
|
||||||
|
void XtSetMappedWhenManaged() {} ;
|
||||||
|
void XtSetMultiClickTime() {} ;
|
||||||
|
void XtSetSelectionParameters() {} ;
|
||||||
|
void XtSetSelectionTimeout() {} ;
|
||||||
|
void XtSetSensitive() {} ;
|
||||||
|
void XtSetSubvalues() {} ;
|
||||||
|
void XtSetTypeConverter() {} ;
|
||||||
|
void XtSetValues() {} ;
|
||||||
|
void XtSetWMColormapWindows() {} ;
|
||||||
|
void XtSetWarningHandler() {} ;
|
||||||
|
void XtSetWarningMsgHandler() {} ;
|
||||||
|
void XtStringConversionWarning() {} ;
|
||||||
|
void XtSuperclass() {} ;
|
||||||
|
void XtToolkitInitialize() {} ;
|
||||||
|
void XtToolkitThreadInitialize() {} ;
|
||||||
|
void XtTranslateCoords() {} ;
|
||||||
|
void XtTranslateKey() {} ;
|
||||||
|
void XtTranslateKeycode() {} ;
|
||||||
|
void XtUngrabButton() {} ;
|
||||||
|
void XtUngrabKey() {} ;
|
||||||
|
void XtUngrabKeyboard() {} ;
|
||||||
|
void XtUngrabPointer() {} ;
|
||||||
|
void XtUninstallTranslations() {} ;
|
||||||
|
void XtUnmanageChild() {} ;
|
||||||
|
void XtUnmanageChildren() {} ;
|
||||||
|
void XtUnmapWidget() {} ;
|
||||||
|
void XtUnrealizeWidget() {} ;
|
||||||
|
void XtUnregisterDrawable() {} ;
|
||||||
|
void XtVaAppCreateShell() {} ;
|
||||||
|
void XtVaAppInitialize() {} ;
|
||||||
|
void XtVaCreateArgsList() {} ;
|
||||||
|
void XtVaCreateManagedWidget() {} ;
|
||||||
|
void XtVaCreatePopupShell() {} ;
|
||||||
|
void XtVaCreateWidget() {} ;
|
||||||
|
void XtVaGetApplicationResources() {} ;
|
||||||
|
void XtVaGetSubresources() {} ;
|
||||||
|
void XtVaGetSubvalues() {} ;
|
||||||
|
void XtVaGetValues() {} ;
|
||||||
|
void XtVaOpenApplication() {} ;
|
||||||
|
void XtVaSetSubvalues() {} ;
|
||||||
|
void XtVaSetValues() {} ;
|
||||||
|
void XtWarning() {} ;
|
||||||
|
void XtWarningMsg() {} ;
|
||||||
|
void XtWidgetToApplicationContext() {} ;
|
||||||
|
void XtWindow() {} ;
|
||||||
|
void XtWindowOfObject() {} ;
|
||||||
|
void XtWindowToWidget() {} ;
|
||||||
|
void _XtCheckSubclassFlag() {} ;
|
||||||
|
void _XtCopyFromArg() {} ;
|
||||||
|
void _XtInherit() {} ;
|
||||||
|
void _XtIsSubclassOf() {} ;
|
||||||
|
__asm__(".globl XtCXtToolkitError; .pushsection .data; .type XtCXtToolkitError,@object; .size XtCXtToolkitError, 4; XtCXtToolkitError: .long 0; .popsection");
|
||||||
|
__asm__(".globl XtShellStrings; .pushsection .data; .type XtShellStrings,@object; .size XtShellStrings, 1289; XtShellStrings: .long 0; .popsection");
|
||||||
|
__asm__(".globl XtStrings; .pushsection .data; .type XtStrings,@object; .size XtStrings, 2649; XtStrings: .long 0; .popsection");
|
||||||
|
__asm__(".globl _XtInheritTranslations; .pushsection .data; .type _XtInheritTranslations,@object; .size _XtInheritTranslations, 4; _XtInheritTranslations: .long 0; .popsection");
|
||||||
|
__asm__(".globl applicationShellWidgetClass; .pushsection .data; .type applicationShellWidgetClass,@object; .size applicationShellWidgetClass, 4; applicationShellWidgetClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl compositeClassRec; .pushsection .data; .type compositeClassRec,@object; .size compositeClassRec, 136; compositeClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl compositeWidgetClass; .pushsection .data; .type compositeWidgetClass,@object; .size compositeWidgetClass, 4; compositeWidgetClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl constraintClassRec; .pushsection .data; .type constraintClassRec,@object; .size constraintClassRec, 164; constraintClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl constraintWidgetClass; .pushsection .data; .type constraintWidgetClass,@object; .size constraintWidgetClass, 4; constraintWidgetClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl coreWidgetClass; .pushsection .data; .type coreWidgetClass,@object; .size coreWidgetClass, 4; coreWidgetClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl objectClass; .pushsection .data; .type objectClass,@object; .size objectClass, 4; objectClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl objectClassRec; .pushsection .data; .type objectClassRec,@object; .size objectClassRec, 116; objectClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl overrideShellClassRec; .pushsection .data; .type overrideShellClassRec,@object; .size overrideShellClassRec, 144; overrideShellClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl overrideShellWidgetClass; .pushsection .data; .type overrideShellWidgetClass,@object; .size overrideShellWidgetClass, 4; overrideShellWidgetClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl rectObjClass; .pushsection .data; .type rectObjClass,@object; .size rectObjClass, 4; rectObjClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl rectObjClassRec; .pushsection .data; .type rectObjClassRec,@object; .size rectObjClassRec, 116; rectObjClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl sessionShellClassRec; .pushsection .data; .type sessionShellClassRec,@object; .size sessionShellClassRec, 160; sessionShellClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl sessionShellWidgetClass; .pushsection .data; .type sessionShellWidgetClass,@object; .size sessionShellWidgetClass, 4; sessionShellWidgetClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl shellClassRec; .pushsection .data; .type shellClassRec,@object; .size shellClassRec, 140; shellClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl shellWidgetClass; .pushsection .data; .type shellWidgetClass,@object; .size shellWidgetClass, 4; shellWidgetClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl topLevelShellClassRec; .pushsection .data; .type topLevelShellClassRec,@object; .size topLevelShellClassRec, 152; topLevelShellClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl topLevelShellWidgetClass; .pushsection .data; .type topLevelShellWidgetClass,@object; .size topLevelShellWidgetClass, 4; topLevelShellWidgetClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl transientShellClassRec; .pushsection .data; .type transientShellClassRec,@object; .size transientShellClassRec, 152; transientShellClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl transientShellWidgetClass; .pushsection .data; .type transientShellWidgetClass,@object; .size transientShellWidgetClass, 4; transientShellWidgetClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl widgetClass; .pushsection .data; .type widgetClass,@object; .size widgetClass, 4; widgetClass: .long 0; .popsection");
|
||||||
|
__asm__(".globl widgetClassRec; .pushsection .data; .type widgetClassRec,@object; .size widgetClassRec, 116; widgetClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl wmShellClassRec; .pushsection .data; .type wmShellClassRec,@object; .size wmShellClassRec, 144; wmShellClassRec: .long 0; .popsection");
|
||||||
|
__asm__(".globl wmShellWidgetClass; .pushsection .data; .type wmShellWidgetClass,@object; .size wmShellWidgetClass, 4; wmShellWidgetClass: .long 0; .popsection");
|
|
@ -0,0 +1,829 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
||||||
|
GLIBC_2.0 {
|
||||||
|
_IO_feof;
|
||||||
|
_IO_getc;
|
||||||
|
_IO_putc;
|
||||||
|
_IO_puts;
|
||||||
|
__assert_fail;
|
||||||
|
__ctype_get_mb_cur_max;
|
||||||
|
__errno_location;
|
||||||
|
__fxstat;
|
||||||
|
__getpagesize;
|
||||||
|
__getpgid;
|
||||||
|
__h_errno_location;
|
||||||
|
__isinf;
|
||||||
|
__isinff;
|
||||||
|
__isinfl;
|
||||||
|
__isnan;
|
||||||
|
__isnanf;
|
||||||
|
__isnanl;
|
||||||
|
__libc_start_main;
|
||||||
|
__lxstat;
|
||||||
|
__mempcpy;
|
||||||
|
__sigsetjmp;
|
||||||
|
__stpcpy;
|
||||||
|
__strdup;
|
||||||
|
__strtod_internal;
|
||||||
|
__strtof_internal;
|
||||||
|
__strtok_r;
|
||||||
|
__strtol_internal;
|
||||||
|
__strtold_internal;
|
||||||
|
__strtoll_internal;
|
||||||
|
__strtoul_internal;
|
||||||
|
__strtoull_internal;
|
||||||
|
__sysv_signal;
|
||||||
|
__wcstod_internal;
|
||||||
|
__wcstof_internal;
|
||||||
|
__wcstol_internal;
|
||||||
|
__wcstold_internal;
|
||||||
|
__wcstoul_internal;
|
||||||
|
__xmknod;
|
||||||
|
__xstat;
|
||||||
|
_exit;
|
||||||
|
_longjmp;
|
||||||
|
_setjmp;
|
||||||
|
_tolower;
|
||||||
|
_toupper;
|
||||||
|
a64l;
|
||||||
|
abort;
|
||||||
|
abs;
|
||||||
|
accept;
|
||||||
|
access;
|
||||||
|
acct;
|
||||||
|
adjtime;
|
||||||
|
alarm;
|
||||||
|
asctime;
|
||||||
|
asctime_r;
|
||||||
|
asprintf;
|
||||||
|
atof;
|
||||||
|
atoi;
|
||||||
|
atol;
|
||||||
|
atoll;
|
||||||
|
authnone_create;
|
||||||
|
basename;
|
||||||
|
bcmp;
|
||||||
|
bcopy;
|
||||||
|
bind;
|
||||||
|
bindresvport;
|
||||||
|
bindtextdomain;
|
||||||
|
brk;
|
||||||
|
bsd_signal;
|
||||||
|
bsearch;
|
||||||
|
btowc;
|
||||||
|
bzero;
|
||||||
|
calloc;
|
||||||
|
catclose;
|
||||||
|
catgets;
|
||||||
|
catopen;
|
||||||
|
cfgetispeed;
|
||||||
|
cfgetospeed;
|
||||||
|
cfmakeraw;
|
||||||
|
cfsetispeed;
|
||||||
|
cfsetospeed;
|
||||||
|
cfsetspeed;
|
||||||
|
chdir;
|
||||||
|
chmod;
|
||||||
|
chroot;
|
||||||
|
clearerr;
|
||||||
|
clnt_create;
|
||||||
|
clnt_pcreateerror;
|
||||||
|
clnt_perrno;
|
||||||
|
clnt_perror;
|
||||||
|
clnt_spcreateerror;
|
||||||
|
clnt_sperrno;
|
||||||
|
clnt_sperror;
|
||||||
|
clock;
|
||||||
|
close;
|
||||||
|
closedir;
|
||||||
|
closelog;
|
||||||
|
confstr;
|
||||||
|
connect;
|
||||||
|
creat;
|
||||||
|
ctermid;
|
||||||
|
ctime;
|
||||||
|
ctime_r;
|
||||||
|
cuserid;
|
||||||
|
daemon;
|
||||||
|
dcgettext;
|
||||||
|
dgettext;
|
||||||
|
difftime;
|
||||||
|
dirname;
|
||||||
|
div;
|
||||||
|
drand48;
|
||||||
|
dup;
|
||||||
|
dup2;
|
||||||
|
ecvt;
|
||||||
|
endgrent;
|
||||||
|
endprotoent;
|
||||||
|
endpwent;
|
||||||
|
endservent;
|
||||||
|
endutent;
|
||||||
|
erand48;
|
||||||
|
err;
|
||||||
|
error;
|
||||||
|
errx;
|
||||||
|
execl;
|
||||||
|
execle;
|
||||||
|
execlp;
|
||||||
|
execv;
|
||||||
|
execve;
|
||||||
|
execvp;
|
||||||
|
exit;
|
||||||
|
fchdir;
|
||||||
|
fchmod;
|
||||||
|
fchown;
|
||||||
|
fcntl;
|
||||||
|
fcvt;
|
||||||
|
fdatasync;
|
||||||
|
feof;
|
||||||
|
ferror;
|
||||||
|
fflush;
|
||||||
|
fflush_unlocked;
|
||||||
|
ffs;
|
||||||
|
fgetc;
|
||||||
|
fgets;
|
||||||
|
fileno;
|
||||||
|
flock;
|
||||||
|
flockfile;
|
||||||
|
fork;
|
||||||
|
fpathconf;
|
||||||
|
fprintf;
|
||||||
|
fputc;
|
||||||
|
fputs;
|
||||||
|
fread;
|
||||||
|
free;
|
||||||
|
freeaddrinfo;
|
||||||
|
freopen;
|
||||||
|
fscanf;
|
||||||
|
fseek;
|
||||||
|
fsync;
|
||||||
|
ftell;
|
||||||
|
ftime;
|
||||||
|
ftok;
|
||||||
|
ftruncate;
|
||||||
|
ftrylockfile;
|
||||||
|
ftw;
|
||||||
|
funlockfile;
|
||||||
|
fwrite;
|
||||||
|
gcvt;
|
||||||
|
getaddrinfo;
|
||||||
|
getc;
|
||||||
|
getc_unlocked;
|
||||||
|
getchar;
|
||||||
|
getchar_unlocked;
|
||||||
|
getcwd;
|
||||||
|
getegid;
|
||||||
|
getenv;
|
||||||
|
geteuid;
|
||||||
|
getgid;
|
||||||
|
getgrent;
|
||||||
|
getgrgid;
|
||||||
|
getgrnam;
|
||||||
|
getgroups;
|
||||||
|
gethostbyaddr;
|
||||||
|
gethostbyname;
|
||||||
|
gethostid;
|
||||||
|
gethostname;
|
||||||
|
getitimer;
|
||||||
|
getlogin;
|
||||||
|
getlogin_r;
|
||||||
|
getopt;
|
||||||
|
getopt_long;
|
||||||
|
getopt_long_only;
|
||||||
|
getpagesize;
|
||||||
|
getpeername;
|
||||||
|
getpgid;
|
||||||
|
getpgrp;
|
||||||
|
getpid;
|
||||||
|
getppid;
|
||||||
|
getpriority;
|
||||||
|
getprotobyname;
|
||||||
|
getprotobynumber;
|
||||||
|
getprotoent;
|
||||||
|
getpwent;
|
||||||
|
getpwnam;
|
||||||
|
getpwuid;
|
||||||
|
getrusage;
|
||||||
|
getservbyname;
|
||||||
|
getservbyport;
|
||||||
|
getservent;
|
||||||
|
getsid;
|
||||||
|
getsockname;
|
||||||
|
getsockopt;
|
||||||
|
getsubopt;
|
||||||
|
gettext;
|
||||||
|
gettimeofday;
|
||||||
|
getuid;
|
||||||
|
getutent;
|
||||||
|
getutent_r;
|
||||||
|
getw;
|
||||||
|
getwd;
|
||||||
|
glob;
|
||||||
|
globfree;
|
||||||
|
gmtime;
|
||||||
|
gmtime_r;
|
||||||
|
hcreate;
|
||||||
|
hdestroy;
|
||||||
|
hsearch;
|
||||||
|
htonl;
|
||||||
|
htons;
|
||||||
|
index;
|
||||||
|
inet_addr;
|
||||||
|
inet_ntoa;
|
||||||
|
inet_ntop;
|
||||||
|
inet_pton;
|
||||||
|
initgroups;
|
||||||
|
initstate;
|
||||||
|
insque;
|
||||||
|
ioctl;
|
||||||
|
isalnum;
|
||||||
|
isalpha;
|
||||||
|
isascii;
|
||||||
|
isatty;
|
||||||
|
isblank;
|
||||||
|
iscntrl;
|
||||||
|
isdigit;
|
||||||
|
isgraph;
|
||||||
|
islower;
|
||||||
|
isprint;
|
||||||
|
ispunct;
|
||||||
|
isspace;
|
||||||
|
isupper;
|
||||||
|
iswalnum;
|
||||||
|
iswalpha;
|
||||||
|
iswcntrl;
|
||||||
|
iswctype;
|
||||||
|
iswdigit;
|
||||||
|
iswgraph;
|
||||||
|
iswlower;
|
||||||
|
iswprint;
|
||||||
|
iswpunct;
|
||||||
|
iswspace;
|
||||||
|
iswupper;
|
||||||
|
iswxdigit;
|
||||||
|
isxdigit;
|
||||||
|
jrand48;
|
||||||
|
kill;
|
||||||
|
killpg;
|
||||||
|
l64a;
|
||||||
|
labs;
|
||||||
|
lchown;
|
||||||
|
lcong48;
|
||||||
|
ldiv;
|
||||||
|
lfind;
|
||||||
|
link;
|
||||||
|
listen;
|
||||||
|
llabs;
|
||||||
|
lldiv;
|
||||||
|
localtime;
|
||||||
|
localtime_r;
|
||||||
|
lockf;
|
||||||
|
longjmp;
|
||||||
|
lrand48;
|
||||||
|
lsearch;
|
||||||
|
lseek;
|
||||||
|
malloc;
|
||||||
|
mblen;
|
||||||
|
mbrlen;
|
||||||
|
mbrtowc;
|
||||||
|
mbsinit;
|
||||||
|
mbsnrtowcs;
|
||||||
|
mbsrtowcs;
|
||||||
|
mbstowcs;
|
||||||
|
mbtowc;
|
||||||
|
memccpy;
|
||||||
|
memchr;
|
||||||
|
memcmp;
|
||||||
|
memcpy;
|
||||||
|
memmem;
|
||||||
|
memmove;
|
||||||
|
memset;
|
||||||
|
mkdir;
|
||||||
|
mkfifo;
|
||||||
|
mkstemp;
|
||||||
|
mktemp;
|
||||||
|
mktime;
|
||||||
|
mlock;
|
||||||
|
mlockall;
|
||||||
|
mmap;
|
||||||
|
mprotect;
|
||||||
|
mrand48;
|
||||||
|
msgget;
|
||||||
|
msgrcv;
|
||||||
|
msgsnd;
|
||||||
|
msync;
|
||||||
|
munlock;
|
||||||
|
munlockall;
|
||||||
|
munmap;
|
||||||
|
nanosleep;
|
||||||
|
nice;
|
||||||
|
nl_langinfo;
|
||||||
|
nrand48;
|
||||||
|
ntohl;
|
||||||
|
ntohs;
|
||||||
|
open;
|
||||||
|
opendir;
|
||||||
|
openlog;
|
||||||
|
pathconf;
|
||||||
|
pause;
|
||||||
|
perror;
|
||||||
|
pipe;
|
||||||
|
pmap_getport;
|
||||||
|
pmap_set;
|
||||||
|
pmap_unset;
|
||||||
|
poll;
|
||||||
|
printf;
|
||||||
|
psignal;
|
||||||
|
putc;
|
||||||
|
putc_unlocked;
|
||||||
|
putchar;
|
||||||
|
putchar_unlocked;
|
||||||
|
putenv;
|
||||||
|
puts;
|
||||||
|
putw;
|
||||||
|
qsort;
|
||||||
|
raise;
|
||||||
|
rand;
|
||||||
|
rand_r;
|
||||||
|
random;
|
||||||
|
read;
|
||||||
|
readdir;
|
||||||
|
readdir_r;
|
||||||
|
readlink;
|
||||||
|
readv;
|
||||||
|
realloc;
|
||||||
|
recv;
|
||||||
|
recvfrom;
|
||||||
|
recvmsg;
|
||||||
|
regcomp;
|
||||||
|
regerror;
|
||||||
|
regfree;
|
||||||
|
remove;
|
||||||
|
remque;
|
||||||
|
rename;
|
||||||
|
rewind;
|
||||||
|
rewinddir;
|
||||||
|
rindex;
|
||||||
|
rmdir;
|
||||||
|
sbrk;
|
||||||
|
scanf;
|
||||||
|
sched_get_priority_max;
|
||||||
|
sched_get_priority_min;
|
||||||
|
sched_getparam;
|
||||||
|
sched_getscheduler;
|
||||||
|
sched_rr_get_interval;
|
||||||
|
sched_setparam;
|
||||||
|
sched_setscheduler;
|
||||||
|
sched_yield;
|
||||||
|
seed48;
|
||||||
|
seekdir;
|
||||||
|
select;
|
||||||
|
semget;
|
||||||
|
semop;
|
||||||
|
send;
|
||||||
|
sendmsg;
|
||||||
|
sendto;
|
||||||
|
setbuf;
|
||||||
|
setbuffer;
|
||||||
|
setcontext;
|
||||||
|
setegid;
|
||||||
|
setenv;
|
||||||
|
seteuid;
|
||||||
|
setgid;
|
||||||
|
setgrent;
|
||||||
|
setgroups;
|
||||||
|
sethostname;
|
||||||
|
setitimer;
|
||||||
|
setlocale;
|
||||||
|
setlogmask;
|
||||||
|
setpgid;
|
||||||
|
setpgrp;
|
||||||
|
setpriority;
|
||||||
|
setprotoent;
|
||||||
|
setpwent;
|
||||||
|
setregid;
|
||||||
|
setreuid;
|
||||||
|
setservent;
|
||||||
|
setsid;
|
||||||
|
setsockopt;
|
||||||
|
setstate;
|
||||||
|
setuid;
|
||||||
|
setutent;
|
||||||
|
setvbuf;
|
||||||
|
shmat;
|
||||||
|
shmdt;
|
||||||
|
shmget;
|
||||||
|
shutdown;
|
||||||
|
sigaction;
|
||||||
|
sigaddset;
|
||||||
|
sigaltstack;
|
||||||
|
sigandset;
|
||||||
|
sigdelset;
|
||||||
|
sigemptyset;
|
||||||
|
sigfillset;
|
||||||
|
siginterrupt;
|
||||||
|
sigisemptyset;
|
||||||
|
sigismember;
|
||||||
|
siglongjmp;
|
||||||
|
signal;
|
||||||
|
sigorset;
|
||||||
|
sigpause;
|
||||||
|
sigpending;
|
||||||
|
sigprocmask;
|
||||||
|
sigreturn;
|
||||||
|
sigsuspend;
|
||||||
|
sigwait;
|
||||||
|
sleep;
|
||||||
|
snprintf;
|
||||||
|
socket;
|
||||||
|
socketpair;
|
||||||
|
sprintf;
|
||||||
|
srand;
|
||||||
|
srand48;
|
||||||
|
srandom;
|
||||||
|
sscanf;
|
||||||
|
stime;
|
||||||
|
stpcpy;
|
||||||
|
stpncpy;
|
||||||
|
strcasecmp;
|
||||||
|
strcat;
|
||||||
|
strchr;
|
||||||
|
strcmp;
|
||||||
|
strcoll;
|
||||||
|
strcpy;
|
||||||
|
strcspn;
|
||||||
|
strdup;
|
||||||
|
strerror;
|
||||||
|
strerror_r;
|
||||||
|
strfmon;
|
||||||
|
strftime;
|
||||||
|
strlen;
|
||||||
|
strncasecmp;
|
||||||
|
strncat;
|
||||||
|
strncmp;
|
||||||
|
strncpy;
|
||||||
|
strndup;
|
||||||
|
strnlen;
|
||||||
|
strpbrk;
|
||||||
|
strptime;
|
||||||
|
strrchr;
|
||||||
|
strsep;
|
||||||
|
strsignal;
|
||||||
|
strspn;
|
||||||
|
strstr;
|
||||||
|
strtod;
|
||||||
|
strtof;
|
||||||
|
strtok;
|
||||||
|
strtok_r;
|
||||||
|
strtol;
|
||||||
|
strtold;
|
||||||
|
strtoll;
|
||||||
|
strtoq;
|
||||||
|
strtoul;
|
||||||
|
strtoull;
|
||||||
|
strtouq;
|
||||||
|
strxfrm;
|
||||||
|
svc_getreqset;
|
||||||
|
svc_register;
|
||||||
|
svc_run;
|
||||||
|
svc_sendreply;
|
||||||
|
svcerr_auth;
|
||||||
|
svcerr_decode;
|
||||||
|
svcerr_noproc;
|
||||||
|
svcerr_noprog;
|
||||||
|
svcerr_progvers;
|
||||||
|
svcerr_systemerr;
|
||||||
|
svcerr_weakauth;
|
||||||
|
svctcp_create;
|
||||||
|
svcudp_create;
|
||||||
|
swab;
|
||||||
|
symlink;
|
||||||
|
sync;
|
||||||
|
sysconf;
|
||||||
|
syslog;
|
||||||
|
system;
|
||||||
|
tcdrain;
|
||||||
|
tcflow;
|
||||||
|
tcflush;
|
||||||
|
tcgetattr;
|
||||||
|
tcgetpgrp;
|
||||||
|
tcsendbreak;
|
||||||
|
tcsetattr;
|
||||||
|
tcsetpgrp;
|
||||||
|
tdelete;
|
||||||
|
telldir;
|
||||||
|
tempnam;
|
||||||
|
textdomain;
|
||||||
|
tfind;
|
||||||
|
time;
|
||||||
|
times;
|
||||||
|
tmpnam;
|
||||||
|
toascii;
|
||||||
|
tolower;
|
||||||
|
toupper;
|
||||||
|
towctrans;
|
||||||
|
towlower;
|
||||||
|
towupper;
|
||||||
|
truncate;
|
||||||
|
tsearch;
|
||||||
|
ttyname;
|
||||||
|
ttyname_r;
|
||||||
|
twalk;
|
||||||
|
tzset;
|
||||||
|
ualarm;
|
||||||
|
ulimit;
|
||||||
|
umask;
|
||||||
|
uname;
|
||||||
|
ungetc;
|
||||||
|
unlink;
|
||||||
|
unsetenv;
|
||||||
|
usleep;
|
||||||
|
utime;
|
||||||
|
utimes;
|
||||||
|
utmpname;
|
||||||
|
vasprintf;
|
||||||
|
vdprintf;
|
||||||
|
verrx;
|
||||||
|
vfork;
|
||||||
|
vfprintf;
|
||||||
|
vfscanf;
|
||||||
|
vprintf;
|
||||||
|
vscanf;
|
||||||
|
vsnprintf;
|
||||||
|
vsprintf;
|
||||||
|
vsscanf;
|
||||||
|
vsyslog;
|
||||||
|
wait;
|
||||||
|
wait4;
|
||||||
|
waitpid;
|
||||||
|
warn;
|
||||||
|
warnx;
|
||||||
|
wcpcpy;
|
||||||
|
wcpncpy;
|
||||||
|
wcrtomb;
|
||||||
|
wcscat;
|
||||||
|
wcschr;
|
||||||
|
wcscmp;
|
||||||
|
wcscoll;
|
||||||
|
wcscpy;
|
||||||
|
wcscspn;
|
||||||
|
wcsdup;
|
||||||
|
wcslen;
|
||||||
|
wcsncat;
|
||||||
|
wcsncmp;
|
||||||
|
wcsncpy;
|
||||||
|
wcsnrtombs;
|
||||||
|
wcspbrk;
|
||||||
|
wcsrchr;
|
||||||
|
wcsrtombs;
|
||||||
|
wcsspn;
|
||||||
|
wcsstr;
|
||||||
|
wcstod;
|
||||||
|
wcstof;
|
||||||
|
wcstok;
|
||||||
|
wcstol;
|
||||||
|
wcstold;
|
||||||
|
wcstombs;
|
||||||
|
wcstoq;
|
||||||
|
wcstoul;
|
||||||
|
wcstouq;
|
||||||
|
wcswidth;
|
||||||
|
wcsxfrm;
|
||||||
|
wctob;
|
||||||
|
wctomb;
|
||||||
|
wctrans;
|
||||||
|
wctype;
|
||||||
|
wcwidth;
|
||||||
|
wmemchr;
|
||||||
|
wmemcmp;
|
||||||
|
wmemcpy;
|
||||||
|
wmemmove;
|
||||||
|
wmemset;
|
||||||
|
write;
|
||||||
|
writev;
|
||||||
|
xdr_accepted_reply;
|
||||||
|
xdr_array;
|
||||||
|
xdr_bool;
|
||||||
|
xdr_bytes;
|
||||||
|
xdr_callhdr;
|
||||||
|
xdr_callmsg;
|
||||||
|
xdr_char;
|
||||||
|
xdr_double;
|
||||||
|
xdr_enum;
|
||||||
|
xdr_float;
|
||||||
|
xdr_free;
|
||||||
|
xdr_int;
|
||||||
|
xdr_long;
|
||||||
|
xdr_opaque;
|
||||||
|
xdr_opaque_auth;
|
||||||
|
xdr_pointer;
|
||||||
|
xdr_reference;
|
||||||
|
xdr_rejected_reply;
|
||||||
|
xdr_replymsg;
|
||||||
|
xdr_short;
|
||||||
|
xdr_string;
|
||||||
|
xdr_u_char;
|
||||||
|
xdr_u_int;
|
||||||
|
xdr_u_long;
|
||||||
|
xdr_u_short;
|
||||||
|
xdr_union;
|
||||||
|
xdr_vector;
|
||||||
|
xdr_void;
|
||||||
|
xdr_wrapstring;
|
||||||
|
xdrmem_create;
|
||||||
|
xdrrec_create;
|
||||||
|
xdrrec_eof;
|
||||||
|
__daylight;
|
||||||
|
__environ;
|
||||||
|
__timezone;
|
||||||
|
__tzname;
|
||||||
|
_environ;
|
||||||
|
_nl_msg_cat_cntr;
|
||||||
|
daylight;
|
||||||
|
environ;
|
||||||
|
optarg;
|
||||||
|
opterr;
|
||||||
|
optind;
|
||||||
|
optopt;
|
||||||
|
stderr;
|
||||||
|
stdin;
|
||||||
|
stdout;
|
||||||
|
timezone;
|
||||||
|
tzname;
|
||||||
|
};
|
||||||
|
GLIBC_2.1 {
|
||||||
|
__libc_current_sigrtmax;
|
||||||
|
__libc_current_sigrtmin;
|
||||||
|
__rawmemchr;
|
||||||
|
chown;
|
||||||
|
creat64;
|
||||||
|
endutxent;
|
||||||
|
fclose;
|
||||||
|
fdopen;
|
||||||
|
fmtmsg;
|
||||||
|
fopen;
|
||||||
|
fopen64;
|
||||||
|
freopen64;
|
||||||
|
fseeko;
|
||||||
|
fseeko64;
|
||||||
|
fstatvfs;
|
||||||
|
fstatvfs64;
|
||||||
|
ftello;
|
||||||
|
ftello64;
|
||||||
|
ftruncate64;
|
||||||
|
ftw64;
|
||||||
|
gai_strerror;
|
||||||
|
getcontext;
|
||||||
|
getdate;
|
||||||
|
getnameinfo;
|
||||||
|
getutxent;
|
||||||
|
getutxid;
|
||||||
|
getutxline;
|
||||||
|
globfree64;
|
||||||
|
grantpt;
|
||||||
|
iconv;
|
||||||
|
iconv_close;
|
||||||
|
iconv_open;
|
||||||
|
if_freenameindex;
|
||||||
|
if_indextoname;
|
||||||
|
if_nameindex;
|
||||||
|
if_nametoindex;
|
||||||
|
iswblank;
|
||||||
|
key_decryptsession;
|
||||||
|
lockf64;
|
||||||
|
makecontext;
|
||||||
|
mmap64;
|
||||||
|
pclose;
|
||||||
|
popen;
|
||||||
|
ptsname;
|
||||||
|
pututxline;
|
||||||
|
setrlimit64;
|
||||||
|
setutxent;
|
||||||
|
sighold;
|
||||||
|
sigignore;
|
||||||
|
sigqueue;
|
||||||
|
sigrelse;
|
||||||
|
sigset;
|
||||||
|
sigtimedwait;
|
||||||
|
sigwaitinfo;
|
||||||
|
statvfs;
|
||||||
|
statvfs64;
|
||||||
|
strcasestr;
|
||||||
|
strtoimax;
|
||||||
|
strtoumax;
|
||||||
|
swapcontext;
|
||||||
|
tcgetsid;
|
||||||
|
tmpfile;
|
||||||
|
tmpfile64;
|
||||||
|
truncate64;
|
||||||
|
unlockpt;
|
||||||
|
wcscasecmp;
|
||||||
|
wcsncasecmp;
|
||||||
|
wcsnlen;
|
||||||
|
wcstoimax;
|
||||||
|
wcstoll;
|
||||||
|
wcstoull;
|
||||||
|
wcstoumax;
|
||||||
|
wcswcs;
|
||||||
|
wordexp;
|
||||||
|
wordfree;
|
||||||
|
getdate_err;
|
||||||
|
};
|
||||||
|
GLIBC_2.1.1 {
|
||||||
|
_Exit;
|
||||||
|
imaxabs;
|
||||||
|
imaxdiv;
|
||||||
|
};
|
||||||
|
GLIBC_2.1.2 {
|
||||||
|
getgrgid_r;
|
||||||
|
getgrnam_r;
|
||||||
|
getpwnam_r;
|
||||||
|
getpwuid_r;
|
||||||
|
};
|
||||||
|
GLIBC_2.1.3 {
|
||||||
|
__cxa_atexit;
|
||||||
|
};
|
||||||
|
GLIBC_2.2 {
|
||||||
|
__fpending;
|
||||||
|
__fxstat64;
|
||||||
|
__lxstat64;
|
||||||
|
__sysconf;
|
||||||
|
__xstat64;
|
||||||
|
bind_textdomain_codeset;
|
||||||
|
dcngettext;
|
||||||
|
dngettext;
|
||||||
|
fgetpos;
|
||||||
|
fgetpos64;
|
||||||
|
fgetwc;
|
||||||
|
fgetwc_unlocked;
|
||||||
|
fgetws;
|
||||||
|
fputwc;
|
||||||
|
fputws;
|
||||||
|
fsetpos;
|
||||||
|
fsetpos64;
|
||||||
|
fwide;
|
||||||
|
fwprintf;
|
||||||
|
fwscanf;
|
||||||
|
getloadavg;
|
||||||
|
getrlimit;
|
||||||
|
getrlimit64;
|
||||||
|
getwc;
|
||||||
|
getwchar;
|
||||||
|
glob64;
|
||||||
|
localeconv;
|
||||||
|
memrchr;
|
||||||
|
mkstemp64;
|
||||||
|
msgctl;
|
||||||
|
ngettext;
|
||||||
|
posix_memalign;
|
||||||
|
putwc;
|
||||||
|
putwchar;
|
||||||
|
readdir64;
|
||||||
|
semctl;
|
||||||
|
setrlimit;
|
||||||
|
shmctl;
|
||||||
|
swprintf;
|
||||||
|
swscanf;
|
||||||
|
ungetwc;
|
||||||
|
vfwprintf;
|
||||||
|
vfwscanf;
|
||||||
|
vswprintf;
|
||||||
|
vswscanf;
|
||||||
|
vwprintf;
|
||||||
|
vwscanf;
|
||||||
|
wcsftime;
|
||||||
|
wprintf;
|
||||||
|
wscanf;
|
||||||
|
};
|
||||||
|
GLIBC_2.2.1 {
|
||||||
|
posix_openpt;
|
||||||
|
};
|
||||||
|
GLIBC_2.2.3 {
|
||||||
|
fnmatch;
|
||||||
|
};
|
||||||
|
GLIBC_2.2.4 {
|
||||||
|
getgrouplist;
|
||||||
|
sockatmark;
|
||||||
|
};
|
||||||
|
GLIBC_2.3 {
|
||||||
|
__ctype_b_loc;
|
||||||
|
__ctype_tolower_loc;
|
||||||
|
__ctype_toupper_loc;
|
||||||
|
duplocale;
|
||||||
|
freelocale;
|
||||||
|
newlocale;
|
||||||
|
realpath;
|
||||||
|
uselocale;
|
||||||
|
_sys_errlist;
|
||||||
|
};
|
||||||
|
GLIBC_2.3.2 {
|
||||||
|
__register_atfork;
|
||||||
|
};
|
||||||
|
GLIBC_2.3.3 {
|
||||||
|
nftw;
|
||||||
|
nftw64;
|
||||||
|
_sys_siglist;
|
||||||
|
};
|
||||||
|
GLIBC_2.3.4 {
|
||||||
|
regexec;
|
||||||
|
};
|
|
@ -0,0 +1,804 @@
|
||||||
|
void _Exit() {} ;
|
||||||
|
void _IO_feof() {} ;
|
||||||
|
void _IO_getc() {} ;
|
||||||
|
void _IO_putc() {} ;
|
||||||
|
void _IO_puts() {} ;
|
||||||
|
void __assert_fail() {} ;
|
||||||
|
void __ctype_b_loc() {} ;
|
||||||
|
void __ctype_get_mb_cur_max() {} ;
|
||||||
|
void __ctype_tolower_loc() {} ;
|
||||||
|
void __ctype_toupper_loc() {} ;
|
||||||
|
void __cxa_atexit() {} ;
|
||||||
|
void __errno_location() {} ;
|
||||||
|
void __fpending() {} ;
|
||||||
|
void __fxstat() {} ;
|
||||||
|
void __fxstat64() {} ;
|
||||||
|
void __getpagesize() {} ;
|
||||||
|
void __getpgid() {} ;
|
||||||
|
void __h_errno_location() {} ;
|
||||||
|
void __isinf() {} ;
|
||||||
|
void __isinff() {} ;
|
||||||
|
void __isinfl() {} ;
|
||||||
|
void __isnan() {} ;
|
||||||
|
void __isnanf() {} ;
|
||||||
|
void __isnanl() {} ;
|
||||||
|
void __libc_current_sigrtmax() {} ;
|
||||||
|
void __libc_current_sigrtmin() {} ;
|
||||||
|
void __libc_start_main() {} ;
|
||||||
|
void __lxstat() {} ;
|
||||||
|
void __lxstat64() {} ;
|
||||||
|
void __mempcpy() {} ;
|
||||||
|
void __rawmemchr() {} ;
|
||||||
|
void __register_atfork() {} ;
|
||||||
|
void __sigsetjmp() {} ;
|
||||||
|
void __stpcpy() {} ;
|
||||||
|
void __strdup() {} ;
|
||||||
|
void __strtod_internal() {} ;
|
||||||
|
void __strtof_internal() {} ;
|
||||||
|
void __strtok_r() {} ;
|
||||||
|
void __strtol_internal() {} ;
|
||||||
|
void __strtold_internal() {} ;
|
||||||
|
void __strtoll_internal() {} ;
|
||||||
|
void __strtoul_internal() {} ;
|
||||||
|
void __strtoull_internal() {} ;
|
||||||
|
void __sysconf() {} ;
|
||||||
|
void __sysv_signal() {} ;
|
||||||
|
void __wcstod_internal() {} ;
|
||||||
|
void __wcstof_internal() {} ;
|
||||||
|
void __wcstol_internal() {} ;
|
||||||
|
void __wcstold_internal() {} ;
|
||||||
|
void __wcstoul_internal() {} ;
|
||||||
|
void __xmknod() {} ;
|
||||||
|
void __xstat() {} ;
|
||||||
|
void __xstat64() {} ;
|
||||||
|
void _exit() {} ;
|
||||||
|
void _longjmp() {} ;
|
||||||
|
void _setjmp() {} ;
|
||||||
|
void _tolower() {} ;
|
||||||
|
void _toupper() {} ;
|
||||||
|
void a64l() {} ;
|
||||||
|
void abort() {} ;
|
||||||
|
void abs() {} ;
|
||||||
|
void accept() {} ;
|
||||||
|
void access() {} ;
|
||||||
|
void acct() {} ;
|
||||||
|
void adjtime() {} ;
|
||||||
|
void alarm() {} ;
|
||||||
|
void asctime() {} ;
|
||||||
|
void asctime_r() {} ;
|
||||||
|
void asprintf() {} ;
|
||||||
|
void atof() {} ;
|
||||||
|
void atoi() {} ;
|
||||||
|
void atol() {} ;
|
||||||
|
void atoll() {} ;
|
||||||
|
void authnone_create() {} ;
|
||||||
|
void basename() {} ;
|
||||||
|
void bcmp() {} ;
|
||||||
|
void bcopy() {} ;
|
||||||
|
void bind() {} ;
|
||||||
|
void bind_textdomain_codeset() {} ;
|
||||||
|
void bindresvport() {} ;
|
||||||
|
void bindtextdomain() {} ;
|
||||||
|
void brk() {} ;
|
||||||
|
void bsd_signal() {} ;
|
||||||
|
void bsearch() {} ;
|
||||||
|
void btowc() {} ;
|
||||||
|
void bzero() {} ;
|
||||||
|
void calloc() {} ;
|
||||||
|
void catclose() {} ;
|
||||||
|
void catgets() {} ;
|
||||||
|
void catopen() {} ;
|
||||||
|
void cfgetispeed() {} ;
|
||||||
|
void cfgetospeed() {} ;
|
||||||
|
void cfmakeraw() {} ;
|
||||||
|
void cfsetispeed() {} ;
|
||||||
|
void cfsetospeed() {} ;
|
||||||
|
void cfsetspeed() {} ;
|
||||||
|
void chdir() {} ;
|
||||||
|
void chmod() {} ;
|
||||||
|
void chown() {} ;
|
||||||
|
void chroot() {} ;
|
||||||
|
void clearerr() {} ;
|
||||||
|
void clnt_create() {} ;
|
||||||
|
void clnt_pcreateerror() {} ;
|
||||||
|
void clnt_perrno() {} ;
|
||||||
|
void clnt_perror() {} ;
|
||||||
|
void clnt_spcreateerror() {} ;
|
||||||
|
void clnt_sperrno() {} ;
|
||||||
|
void clnt_sperror() {} ;
|
||||||
|
void clock() {} ;
|
||||||
|
void close() {} ;
|
||||||
|
void closedir() {} ;
|
||||||
|
void closelog() {} ;
|
||||||
|
void confstr() {} ;
|
||||||
|
void connect() {} ;
|
||||||
|
void creat() {} ;
|
||||||
|
void creat64() {} ;
|
||||||
|
void ctermid() {} ;
|
||||||
|
void ctime() {} ;
|
||||||
|
void ctime_r() {} ;
|
||||||
|
void cuserid() {} ;
|
||||||
|
void daemon() {} ;
|
||||||
|
void dcgettext() {} ;
|
||||||
|
void dcngettext() {} ;
|
||||||
|
void dgettext() {} ;
|
||||||
|
void difftime() {} ;
|
||||||
|
void dirname() {} ;
|
||||||
|
void div() {} ;
|
||||||
|
void dngettext() {} ;
|
||||||
|
void drand48() {} ;
|
||||||
|
void dup() {} ;
|
||||||
|
void dup2() {} ;
|
||||||
|
void duplocale() {} ;
|
||||||
|
void ecvt() {} ;
|
||||||
|
void endgrent() {} ;
|
||||||
|
void endprotoent() {} ;
|
||||||
|
void endpwent() {} ;
|
||||||
|
void endservent() {} ;
|
||||||
|
void endutent() {} ;
|
||||||
|
void endutxent() {} ;
|
||||||
|
void erand48() {} ;
|
||||||
|
void err() {} ;
|
||||||
|
void error() {} ;
|
||||||
|
void errx() {} ;
|
||||||
|
void execl() {} ;
|
||||||
|
void execle() {} ;
|
||||||
|
void execlp() {} ;
|
||||||
|
void execv() {} ;
|
||||||
|
void execve() {} ;
|
||||||
|
void execvp() {} ;
|
||||||
|
void exit() {} ;
|
||||||
|
void fchdir() {} ;
|
||||||
|
void fchmod() {} ;
|
||||||
|
void fchown() {} ;
|
||||||
|
void fclose() {} ;
|
||||||
|
void fcntl() {} ;
|
||||||
|
void fcvt() {} ;
|
||||||
|
void fdatasync() {} ;
|
||||||
|
void fdopen() {} ;
|
||||||
|
void feof() {} ;
|
||||||
|
void ferror() {} ;
|
||||||
|
void fflush() {} ;
|
||||||
|
void fflush_unlocked() {} ;
|
||||||
|
void ffs() {} ;
|
||||||
|
void fgetc() {} ;
|
||||||
|
void fgetpos() {} ;
|
||||||
|
void fgetpos64() {} ;
|
||||||
|
void fgets() {} ;
|
||||||
|
void fgetwc() {} ;
|
||||||
|
void fgetwc_unlocked() {} ;
|
||||||
|
void fgetws() {} ;
|
||||||
|
void fileno() {} ;
|
||||||
|
void flock() {} ;
|
||||||
|
void flockfile() {} ;
|
||||||
|
void fmtmsg() {} ;
|
||||||
|
void fnmatch() {} ;
|
||||||
|
void fopen() {} ;
|
||||||
|
void fopen64() {} ;
|
||||||
|
void fork() {} ;
|
||||||
|
void fpathconf() {} ;
|
||||||
|
void fprintf() {} ;
|
||||||
|
void fputc() {} ;
|
||||||
|
void fputs() {} ;
|
||||||
|
void fputwc() {} ;
|
||||||
|
void fputws() {} ;
|
||||||
|
void fread() {} ;
|
||||||
|
void free() {} ;
|
||||||
|
void freeaddrinfo() {} ;
|
||||||
|
void freelocale() {} ;
|
||||||
|
void freopen() {} ;
|
||||||
|
void freopen64() {} ;
|
||||||
|
void fscanf() {} ;
|
||||||
|
void fseek() {} ;
|
||||||
|
void fseeko() {} ;
|
||||||
|
void fseeko64() {} ;
|
||||||
|
void fsetpos() {} ;
|
||||||
|
void fsetpos64() {} ;
|
||||||
|
void fstatvfs() {} ;
|
||||||
|
void fstatvfs64() {} ;
|
||||||
|
void fsync() {} ;
|
||||||
|
void ftell() {} ;
|
||||||
|
void ftello() {} ;
|
||||||
|
void ftello64() {} ;
|
||||||
|
void ftime() {} ;
|
||||||
|
void ftok() {} ;
|
||||||
|
void ftruncate() {} ;
|
||||||
|
void ftruncate64() {} ;
|
||||||
|
void ftrylockfile() {} ;
|
||||||
|
void ftw() {} ;
|
||||||
|
void ftw64() {} ;
|
||||||
|
void funlockfile() {} ;
|
||||||
|
void fwide() {} ;
|
||||||
|
void fwprintf() {} ;
|
||||||
|
void fwrite() {} ;
|
||||||
|
void fwscanf() {} ;
|
||||||
|
void gai_strerror() {} ;
|
||||||
|
void gcvt() {} ;
|
||||||
|
void getaddrinfo() {} ;
|
||||||
|
void getc() {} ;
|
||||||
|
void getc_unlocked() {} ;
|
||||||
|
void getchar() {} ;
|
||||||
|
void getchar_unlocked() {} ;
|
||||||
|
void getcontext() {} ;
|
||||||
|
void getcwd() {} ;
|
||||||
|
void getdate() {} ;
|
||||||
|
void getegid() {} ;
|
||||||
|
void getenv() {} ;
|
||||||
|
void geteuid() {} ;
|
||||||
|
void getgid() {} ;
|
||||||
|
void getgrent() {} ;
|
||||||
|
void getgrgid() {} ;
|
||||||
|
void getgrgid_r() {} ;
|
||||||
|
void getgrnam() {} ;
|
||||||
|
void getgrnam_r() {} ;
|
||||||
|
void getgrouplist() {} ;
|
||||||
|
void getgroups() {} ;
|
||||||
|
void gethostbyaddr() {} ;
|
||||||
|
void gethostbyname() {} ;
|
||||||
|
void gethostid() {} ;
|
||||||
|
void gethostname() {} ;
|
||||||
|
void getitimer() {} ;
|
||||||
|
void getloadavg() {} ;
|
||||||
|
void getlogin() {} ;
|
||||||
|
void getlogin_r() {} ;
|
||||||
|
void getnameinfo() {} ;
|
||||||
|
void getopt() {} ;
|
||||||
|
void getopt_long() {} ;
|
||||||
|
void getopt_long_only() {} ;
|
||||||
|
void getpagesize() {} ;
|
||||||
|
void getpeername() {} ;
|
||||||
|
void getpgid() {} ;
|
||||||
|
void getpgrp() {} ;
|
||||||
|
void getpid() {} ;
|
||||||
|
void getppid() {} ;
|
||||||
|
void getpriority() {} ;
|
||||||
|
void getprotobyname() {} ;
|
||||||
|
void getprotobynumber() {} ;
|
||||||
|
void getprotoent() {} ;
|
||||||
|
void getpwent() {} ;
|
||||||
|
void getpwnam() {} ;
|
||||||
|
void getpwnam_r() {} ;
|
||||||
|
void getpwuid() {} ;
|
||||||
|
void getpwuid_r() {} ;
|
||||||
|
void getrlimit() {} ;
|
||||||
|
void getrlimit64() {} ;
|
||||||
|
void getrusage() {} ;
|
||||||
|
void getservbyname() {} ;
|
||||||
|
void getservbyport() {} ;
|
||||||
|
void getservent() {} ;
|
||||||
|
void getsid() {} ;
|
||||||
|
void getsockname() {} ;
|
||||||
|
void getsockopt() {} ;
|
||||||
|
void getsubopt() {} ;
|
||||||
|
void gettext() {} ;
|
||||||
|
void gettimeofday() {} ;
|
||||||
|
void getuid() {} ;
|
||||||
|
void getutent() {} ;
|
||||||
|
void getutent_r() {} ;
|
||||||
|
void getutxent() {} ;
|
||||||
|
void getutxid() {} ;
|
||||||
|
void getutxline() {} ;
|
||||||
|
void getw() {} ;
|
||||||
|
void getwc() {} ;
|
||||||
|
void getwchar() {} ;
|
||||||
|
void getwd() {} ;
|
||||||
|
void glob() {} ;
|
||||||
|
void glob64() {} ;
|
||||||
|
void globfree() {} ;
|
||||||
|
void globfree64() {} ;
|
||||||
|
void gmtime() {} ;
|
||||||
|
void gmtime_r() {} ;
|
||||||
|
void grantpt() {} ;
|
||||||
|
void hcreate() {} ;
|
||||||
|
void hdestroy() {} ;
|
||||||
|
void hsearch() {} ;
|
||||||
|
void htonl() {} ;
|
||||||
|
void htons() {} ;
|
||||||
|
void iconv() {} ;
|
||||||
|
void iconv_close() {} ;
|
||||||
|
void iconv_open() {} ;
|
||||||
|
void if_freenameindex() {} ;
|
||||||
|
void if_indextoname() {} ;
|
||||||
|
void if_nameindex() {} ;
|
||||||
|
void if_nametoindex() {} ;
|
||||||
|
void imaxabs() {} ;
|
||||||
|
void imaxdiv() {} ;
|
||||||
|
void index() {} ;
|
||||||
|
void inet_addr() {} ;
|
||||||
|
void inet_ntoa() {} ;
|
||||||
|
void inet_ntop() {} ;
|
||||||
|
void inet_pton() {} ;
|
||||||
|
void initgroups() {} ;
|
||||||
|
void initstate() {} ;
|
||||||
|
void insque() {} ;
|
||||||
|
void ioctl() {} ;
|
||||||
|
void isalnum() {} ;
|
||||||
|
void isalpha() {} ;
|
||||||
|
void isascii() {} ;
|
||||||
|
void isatty() {} ;
|
||||||
|
void isblank() {} ;
|
||||||
|
void iscntrl() {} ;
|
||||||
|
void isdigit() {} ;
|
||||||
|
void isgraph() {} ;
|
||||||
|
void islower() {} ;
|
||||||
|
void isprint() {} ;
|
||||||
|
void ispunct() {} ;
|
||||||
|
void isspace() {} ;
|
||||||
|
void isupper() {} ;
|
||||||
|
void iswalnum() {} ;
|
||||||
|
void iswalpha() {} ;
|
||||||
|
void iswblank() {} ;
|
||||||
|
void iswcntrl() {} ;
|
||||||
|
void iswctype() {} ;
|
||||||
|
void iswdigit() {} ;
|
||||||
|
void iswgraph() {} ;
|
||||||
|
void iswlower() {} ;
|
||||||
|
void iswprint() {} ;
|
||||||
|
void iswpunct() {} ;
|
||||||
|
void iswspace() {} ;
|
||||||
|
void iswupper() {} ;
|
||||||
|
void iswxdigit() {} ;
|
||||||
|
void isxdigit() {} ;
|
||||||
|
void jrand48() {} ;
|
||||||
|
void key_decryptsession() {} ;
|
||||||
|
void kill() {} ;
|
||||||
|
void killpg() {} ;
|
||||||
|
void l64a() {} ;
|
||||||
|
void labs() {} ;
|
||||||
|
void lchown() {} ;
|
||||||
|
void lcong48() {} ;
|
||||||
|
void ldiv() {} ;
|
||||||
|
void lfind() {} ;
|
||||||
|
void link() {} ;
|
||||||
|
void listen() {} ;
|
||||||
|
void llabs() {} ;
|
||||||
|
void lldiv() {} ;
|
||||||
|
void localeconv() {} ;
|
||||||
|
void localtime() {} ;
|
||||||
|
void localtime_r() {} ;
|
||||||
|
void lockf() {} ;
|
||||||
|
void lockf64() {} ;
|
||||||
|
void longjmp() {} ;
|
||||||
|
void lrand48() {} ;
|
||||||
|
void lsearch() {} ;
|
||||||
|
void lseek() {} ;
|
||||||
|
void makecontext() {} ;
|
||||||
|
void malloc() {} ;
|
||||||
|
void mblen() {} ;
|
||||||
|
void mbrlen() {} ;
|
||||||
|
void mbrtowc() {} ;
|
||||||
|
void mbsinit() {} ;
|
||||||
|
void mbsnrtowcs() {} ;
|
||||||
|
void mbsrtowcs() {} ;
|
||||||
|
void mbstowcs() {} ;
|
||||||
|
void mbtowc() {} ;
|
||||||
|
void memccpy() {} ;
|
||||||
|
void memchr() {} ;
|
||||||
|
void memcmp() {} ;
|
||||||
|
void memcpy() {} ;
|
||||||
|
void memmem() {} ;
|
||||||
|
void memmove() {} ;
|
||||||
|
void memrchr() {} ;
|
||||||
|
void memset() {} ;
|
||||||
|
void mkdir() {} ;
|
||||||
|
void mkfifo() {} ;
|
||||||
|
void mkstemp() {} ;
|
||||||
|
void mkstemp64() {} ;
|
||||||
|
void mktemp() {} ;
|
||||||
|
void mktime() {} ;
|
||||||
|
void mlock() {} ;
|
||||||
|
void mlockall() {} ;
|
||||||
|
void mmap() {} ;
|
||||||
|
void mmap64() {} ;
|
||||||
|
void mprotect() {} ;
|
||||||
|
void mrand48() {} ;
|
||||||
|
void msgctl() {} ;
|
||||||
|
void msgget() {} ;
|
||||||
|
void msgrcv() {} ;
|
||||||
|
void msgsnd() {} ;
|
||||||
|
void msync() {} ;
|
||||||
|
void munlock() {} ;
|
||||||
|
void munlockall() {} ;
|
||||||
|
void munmap() {} ;
|
||||||
|
void nanosleep() {} ;
|
||||||
|
void newlocale() {} ;
|
||||||
|
void nftw() {} ;
|
||||||
|
void nftw64() {} ;
|
||||||
|
void ngettext() {} ;
|
||||||
|
void nice() {} ;
|
||||||
|
void nl_langinfo() {} ;
|
||||||
|
void nrand48() {} ;
|
||||||
|
void ntohl() {} ;
|
||||||
|
void ntohs() {} ;
|
||||||
|
void open() {} ;
|
||||||
|
void opendir() {} ;
|
||||||
|
void openlog() {} ;
|
||||||
|
void pathconf() {} ;
|
||||||
|
void pause() {} ;
|
||||||
|
void pclose() {} ;
|
||||||
|
void perror() {} ;
|
||||||
|
void pipe() {} ;
|
||||||
|
void pmap_getport() {} ;
|
||||||
|
void pmap_set() {} ;
|
||||||
|
void pmap_unset() {} ;
|
||||||
|
void poll() {} ;
|
||||||
|
void popen() {} ;
|
||||||
|
void posix_memalign() {} ;
|
||||||
|
void posix_openpt() {} ;
|
||||||
|
void printf() {} ;
|
||||||
|
void psignal() {} ;
|
||||||
|
void ptsname() {} ;
|
||||||
|
void putc() {} ;
|
||||||
|
void putc_unlocked() {} ;
|
||||||
|
void putchar() {} ;
|
||||||
|
void putchar_unlocked() {} ;
|
||||||
|
void putenv() {} ;
|
||||||
|
void puts() {} ;
|
||||||
|
void pututxline() {} ;
|
||||||
|
void putw() {} ;
|
||||||
|
void putwc() {} ;
|
||||||
|
void putwchar() {} ;
|
||||||
|
void qsort() {} ;
|
||||||
|
void raise() {} ;
|
||||||
|
void rand() {} ;
|
||||||
|
void rand_r() {} ;
|
||||||
|
void random() {} ;
|
||||||
|
void read() {} ;
|
||||||
|
void readdir() {} ;
|
||||||
|
void readdir64() {} ;
|
||||||
|
void readdir_r() {} ;
|
||||||
|
void readlink() {} ;
|
||||||
|
void readv() {} ;
|
||||||
|
void realloc() {} ;
|
||||||
|
void realpath() {} ;
|
||||||
|
void recv() {} ;
|
||||||
|
void recvfrom() {} ;
|
||||||
|
void recvmsg() {} ;
|
||||||
|
void regcomp() {} ;
|
||||||
|
void regerror() {} ;
|
||||||
|
void regexec() {} ;
|
||||||
|
void regfree() {} ;
|
||||||
|
void remove() {} ;
|
||||||
|
void remque() {} ;
|
||||||
|
void rename() {} ;
|
||||||
|
void rewind() {} ;
|
||||||
|
void rewinddir() {} ;
|
||||||
|
void rindex() {} ;
|
||||||
|
void rmdir() {} ;
|
||||||
|
void sbrk() {} ;
|
||||||
|
void scanf() {} ;
|
||||||
|
void sched_get_priority_max() {} ;
|
||||||
|
void sched_get_priority_min() {} ;
|
||||||
|
void sched_getparam() {} ;
|
||||||
|
void sched_getscheduler() {} ;
|
||||||
|
void sched_rr_get_interval() {} ;
|
||||||
|
void sched_setparam() {} ;
|
||||||
|
void sched_setscheduler() {} ;
|
||||||
|
void sched_yield() {} ;
|
||||||
|
void seed48() {} ;
|
||||||
|
void seekdir() {} ;
|
||||||
|
void select() {} ;
|
||||||
|
void semctl() {} ;
|
||||||
|
void semget() {} ;
|
||||||
|
void semop() {} ;
|
||||||
|
void send() {} ;
|
||||||
|
void sendmsg() {} ;
|
||||||
|
void sendto() {} ;
|
||||||
|
void setbuf() {} ;
|
||||||
|
void setbuffer() {} ;
|
||||||
|
void setcontext() {} ;
|
||||||
|
void setegid() {} ;
|
||||||
|
void setenv() {} ;
|
||||||
|
void seteuid() {} ;
|
||||||
|
void setgid() {} ;
|
||||||
|
void setgrent() {} ;
|
||||||
|
void setgroups() {} ;
|
||||||
|
void sethostname() {} ;
|
||||||
|
void setitimer() {} ;
|
||||||
|
void setlocale() {} ;
|
||||||
|
void setlogmask() {} ;
|
||||||
|
void setpgid() {} ;
|
||||||
|
void setpgrp() {} ;
|
||||||
|
void setpriority() {} ;
|
||||||
|
void setprotoent() {} ;
|
||||||
|
void setpwent() {} ;
|
||||||
|
void setregid() {} ;
|
||||||
|
void setreuid() {} ;
|
||||||
|
void setrlimit() {} ;
|
||||||
|
void setrlimit64() {} ;
|
||||||
|
void setservent() {} ;
|
||||||
|
void setsid() {} ;
|
||||||
|
void setsockopt() {} ;
|
||||||
|
void setstate() {} ;
|
||||||
|
void setuid() {} ;
|
||||||
|
void setutent() {} ;
|
||||||
|
void setutxent() {} ;
|
||||||
|
void setvbuf() {} ;
|
||||||
|
void shmat() {} ;
|
||||||
|
void shmctl() {} ;
|
||||||
|
void shmdt() {} ;
|
||||||
|
void shmget() {} ;
|
||||||
|
void shutdown() {} ;
|
||||||
|
void sigaction() {} ;
|
||||||
|
void sigaddset() {} ;
|
||||||
|
void sigaltstack() {} ;
|
||||||
|
void sigandset() {} ;
|
||||||
|
void sigdelset() {} ;
|
||||||
|
void sigemptyset() {} ;
|
||||||
|
void sigfillset() {} ;
|
||||||
|
void sighold() {} ;
|
||||||
|
void sigignore() {} ;
|
||||||
|
void siginterrupt() {} ;
|
||||||
|
void sigisemptyset() {} ;
|
||||||
|
void sigismember() {} ;
|
||||||
|
void siglongjmp() {} ;
|
||||||
|
void signal() {} ;
|
||||||
|
void sigorset() {} ;
|
||||||
|
void sigpause() {} ;
|
||||||
|
void sigpending() {} ;
|
||||||
|
void sigprocmask() {} ;
|
||||||
|
void sigqueue() {} ;
|
||||||
|
void sigrelse() {} ;
|
||||||
|
void sigreturn() {} ;
|
||||||
|
void sigset() {} ;
|
||||||
|
void sigsuspend() {} ;
|
||||||
|
void sigtimedwait() {} ;
|
||||||
|
void sigwait() {} ;
|
||||||
|
void sigwaitinfo() {} ;
|
||||||
|
void sleep() {} ;
|
||||||
|
void snprintf() {} ;
|
||||||
|
void sockatmark() {} ;
|
||||||
|
void socket() {} ;
|
||||||
|
void socketpair() {} ;
|
||||||
|
void sprintf() {} ;
|
||||||
|
void srand() {} ;
|
||||||
|
void srand48() {} ;
|
||||||
|
void srandom() {} ;
|
||||||
|
void sscanf() {} ;
|
||||||
|
void statvfs() {} ;
|
||||||
|
void statvfs64() {} ;
|
||||||
|
void stime() {} ;
|
||||||
|
void stpcpy() {} ;
|
||||||
|
void stpncpy() {} ;
|
||||||
|
void strcasecmp() {} ;
|
||||||
|
void strcasestr() {} ;
|
||||||
|
void strcat() {} ;
|
||||||
|
void strchr() {} ;
|
||||||
|
void strcmp() {} ;
|
||||||
|
void strcoll() {} ;
|
||||||
|
void strcpy() {} ;
|
||||||
|
void strcspn() {} ;
|
||||||
|
void strdup() {} ;
|
||||||
|
void strerror() {} ;
|
||||||
|
void strerror_r() {} ;
|
||||||
|
void strfmon() {} ;
|
||||||
|
void strftime() {} ;
|
||||||
|
void strlen() {} ;
|
||||||
|
void strncasecmp() {} ;
|
||||||
|
void strncat() {} ;
|
||||||
|
void strncmp() {} ;
|
||||||
|
void strncpy() {} ;
|
||||||
|
void strndup() {} ;
|
||||||
|
void strnlen() {} ;
|
||||||
|
void strpbrk() {} ;
|
||||||
|
void strptime() {} ;
|
||||||
|
void strrchr() {} ;
|
||||||
|
void strsep() {} ;
|
||||||
|
void strsignal() {} ;
|
||||||
|
void strspn() {} ;
|
||||||
|
void strstr() {} ;
|
||||||
|
void strtod() {} ;
|
||||||
|
void strtof() {} ;
|
||||||
|
void strtoimax() {} ;
|
||||||
|
void strtok() {} ;
|
||||||
|
void strtok_r() {} ;
|
||||||
|
void strtol() {} ;
|
||||||
|
void strtold() {} ;
|
||||||
|
void strtoll() {} ;
|
||||||
|
void strtoq() {} ;
|
||||||
|
void strtoul() {} ;
|
||||||
|
void strtoull() {} ;
|
||||||
|
void strtoumax() {} ;
|
||||||
|
void strtouq() {} ;
|
||||||
|
void strxfrm() {} ;
|
||||||
|
void svc_getreqset() {} ;
|
||||||
|
void svc_register() {} ;
|
||||||
|
void svc_run() {} ;
|
||||||
|
void svc_sendreply() {} ;
|
||||||
|
void svcerr_auth() {} ;
|
||||||
|
void svcerr_decode() {} ;
|
||||||
|
void svcerr_noproc() {} ;
|
||||||
|
void svcerr_noprog() {} ;
|
||||||
|
void svcerr_progvers() {} ;
|
||||||
|
void svcerr_systemerr() {} ;
|
||||||
|
void svcerr_weakauth() {} ;
|
||||||
|
void svctcp_create() {} ;
|
||||||
|
void svcudp_create() {} ;
|
||||||
|
void swab() {} ;
|
||||||
|
void swapcontext() {} ;
|
||||||
|
void swprintf() {} ;
|
||||||
|
void swscanf() {} ;
|
||||||
|
void symlink() {} ;
|
||||||
|
void sync() {} ;
|
||||||
|
void sysconf() {} ;
|
||||||
|
void syslog() {} ;
|
||||||
|
void system() {} ;
|
||||||
|
void tcdrain() {} ;
|
||||||
|
void tcflow() {} ;
|
||||||
|
void tcflush() {} ;
|
||||||
|
void tcgetattr() {} ;
|
||||||
|
void tcgetpgrp() {} ;
|
||||||
|
void tcgetsid() {} ;
|
||||||
|
void tcsendbreak() {} ;
|
||||||
|
void tcsetattr() {} ;
|
||||||
|
void tcsetpgrp() {} ;
|
||||||
|
void tdelete() {} ;
|
||||||
|
void telldir() {} ;
|
||||||
|
void tempnam() {} ;
|
||||||
|
void textdomain() {} ;
|
||||||
|
void tfind() {} ;
|
||||||
|
void time() {} ;
|
||||||
|
void times() {} ;
|
||||||
|
void tmpfile() {} ;
|
||||||
|
void tmpfile64() {} ;
|
||||||
|
void tmpnam() {} ;
|
||||||
|
void toascii() {} ;
|
||||||
|
void tolower() {} ;
|
||||||
|
void toupper() {} ;
|
||||||
|
void towctrans() {} ;
|
||||||
|
void towlower() {} ;
|
||||||
|
void towupper() {} ;
|
||||||
|
void truncate() {} ;
|
||||||
|
void truncate64() {} ;
|
||||||
|
void tsearch() {} ;
|
||||||
|
void ttyname() {} ;
|
||||||
|
void ttyname_r() {} ;
|
||||||
|
void twalk() {} ;
|
||||||
|
void tzset() {} ;
|
||||||
|
void ualarm() {} ;
|
||||||
|
void ulimit() {} ;
|
||||||
|
void umask() {} ;
|
||||||
|
void uname() {} ;
|
||||||
|
void ungetc() {} ;
|
||||||
|
void ungetwc() {} ;
|
||||||
|
void unlink() {} ;
|
||||||
|
void unlockpt() {} ;
|
||||||
|
void unsetenv() {} ;
|
||||||
|
void uselocale() {} ;
|
||||||
|
void usleep() {} ;
|
||||||
|
void utime() {} ;
|
||||||
|
void utimes() {} ;
|
||||||
|
void utmpname() {} ;
|
||||||
|
void vasprintf() {} ;
|
||||||
|
void vdprintf() {} ;
|
||||||
|
void verrx() {} ;
|
||||||
|
void vfork() {} ;
|
||||||
|
void vfprintf() {} ;
|
||||||
|
void vfscanf() {} ;
|
||||||
|
void vfwprintf() {} ;
|
||||||
|
void vfwscanf() {} ;
|
||||||
|
void vprintf() {} ;
|
||||||
|
void vscanf() {} ;
|
||||||
|
void vsnprintf() {} ;
|
||||||
|
void vsprintf() {} ;
|
||||||
|
void vsscanf() {} ;
|
||||||
|
void vswprintf() {} ;
|
||||||
|
void vswscanf() {} ;
|
||||||
|
void vsyslog() {} ;
|
||||||
|
void vwprintf() {} ;
|
||||||
|
void vwscanf() {} ;
|
||||||
|
void wait() {} ;
|
||||||
|
void wait4() {} ;
|
||||||
|
void waitpid() {} ;
|
||||||
|
void warn() {} ;
|
||||||
|
void warnx() {} ;
|
||||||
|
void wcpcpy() {} ;
|
||||||
|
void wcpncpy() {} ;
|
||||||
|
void wcrtomb() {} ;
|
||||||
|
void wcscasecmp() {} ;
|
||||||
|
void wcscat() {} ;
|
||||||
|
void wcschr() {} ;
|
||||||
|
void wcscmp() {} ;
|
||||||
|
void wcscoll() {} ;
|
||||||
|
void wcscpy() {} ;
|
||||||
|
void wcscspn() {} ;
|
||||||
|
void wcsdup() {} ;
|
||||||
|
void wcsftime() {} ;
|
||||||
|
void wcslen() {} ;
|
||||||
|
void wcsncasecmp() {} ;
|
||||||
|
void wcsncat() {} ;
|
||||||
|
void wcsncmp() {} ;
|
||||||
|
void wcsncpy() {} ;
|
||||||
|
void wcsnlen() {} ;
|
||||||
|
void wcsnrtombs() {} ;
|
||||||
|
void wcspbrk() {} ;
|
||||||
|
void wcsrchr() {} ;
|
||||||
|
void wcsrtombs() {} ;
|
||||||
|
void wcsspn() {} ;
|
||||||
|
void wcsstr() {} ;
|
||||||
|
void wcstod() {} ;
|
||||||
|
void wcstof() {} ;
|
||||||
|
void wcstoimax() {} ;
|
||||||
|
void wcstok() {} ;
|
||||||
|
void wcstol() {} ;
|
||||||
|
void wcstold() {} ;
|
||||||
|
void wcstoll() {} ;
|
||||||
|
void wcstombs() {} ;
|
||||||
|
void wcstoq() {} ;
|
||||||
|
void wcstoul() {} ;
|
||||||
|
void wcstoull() {} ;
|
||||||
|
void wcstoumax() {} ;
|
||||||
|
void wcstouq() {} ;
|
||||||
|
void wcswcs() {} ;
|
||||||
|
void wcswidth() {} ;
|
||||||
|
void wcsxfrm() {} ;
|
||||||
|
void wctob() {} ;
|
||||||
|
void wctomb() {} ;
|
||||||
|
void wctrans() {} ;
|
||||||
|
void wctype() {} ;
|
||||||
|
void wcwidth() {} ;
|
||||||
|
void wmemchr() {} ;
|
||||||
|
void wmemcmp() {} ;
|
||||||
|
void wmemcpy() {} ;
|
||||||
|
void wmemmove() {} ;
|
||||||
|
void wmemset() {} ;
|
||||||
|
void wordexp() {} ;
|
||||||
|
void wordfree() {} ;
|
||||||
|
void wprintf() {} ;
|
||||||
|
void write() {} ;
|
||||||
|
void writev() {} ;
|
||||||
|
void wscanf() {} ;
|
||||||
|
void xdr_accepted_reply() {} ;
|
||||||
|
void xdr_array() {} ;
|
||||||
|
void xdr_bool() {} ;
|
||||||
|
void xdr_bytes() {} ;
|
||||||
|
void xdr_callhdr() {} ;
|
||||||
|
void xdr_callmsg() {} ;
|
||||||
|
void xdr_char() {} ;
|
||||||
|
void xdr_double() {} ;
|
||||||
|
void xdr_enum() {} ;
|
||||||
|
void xdr_float() {} ;
|
||||||
|
void xdr_free() {} ;
|
||||||
|
void xdr_int() {} ;
|
||||||
|
void xdr_long() {} ;
|
||||||
|
void xdr_opaque() {} ;
|
||||||
|
void xdr_opaque_auth() {} ;
|
||||||
|
void xdr_pointer() {} ;
|
||||||
|
void xdr_reference() {} ;
|
||||||
|
void xdr_rejected_reply() {} ;
|
||||||
|
void xdr_replymsg() {} ;
|
||||||
|
void xdr_short() {} ;
|
||||||
|
void xdr_string() {} ;
|
||||||
|
void xdr_u_char() {} ;
|
||||||
|
void xdr_u_int() {} ;
|
||||||
|
void xdr_u_long() {} ;
|
||||||
|
void xdr_u_short() {} ;
|
||||||
|
void xdr_union() {} ;
|
||||||
|
void xdr_vector() {} ;
|
||||||
|
void xdr_void() {} ;
|
||||||
|
void xdr_wrapstring() {} ;
|
||||||
|
void xdrmem_create() {} ;
|
||||||
|
void xdrrec_create() {} ;
|
||||||
|
void xdrrec_eof() {} ;
|
||||||
|
__asm__(".globl __daylight; .pushsection .data; .type __daylight,@object; .size __daylight, 4; __daylight: .long 0; .popsection");
|
||||||
|
__asm__(".globl __environ; .pushsection .data; .type __environ,@object; .size __environ, 4; __environ: .long 0; .popsection");
|
||||||
|
__asm__(".globl __timezone; .pushsection .data; .type __timezone,@object; .size __timezone, 4; __timezone: .long 0; .popsection");
|
||||||
|
__asm__(".globl __tzname; .pushsection .data; .type __tzname,@object; .size __tzname, 8; __tzname: .long 0; .popsection");
|
||||||
|
__asm__(".weak _environ; _environ = __environ");
|
||||||
|
__asm__(".comm _nl_msg_cat_cntr,4");
|
||||||
|
__asm__(".globl _sys_errlist; .pushsection .data; .type _sys_errlist,@object; .size _sys_errlist, 0; _sys_errlist: .long 0; .popsection");
|
||||||
|
__asm__(".comm _sys_siglist,0");
|
||||||
|
__asm__(".weak daylight; daylight = __daylight");
|
||||||
|
__asm__(".weak environ; environ = __environ");
|
||||||
|
__asm__(".comm getdate_err,4");
|
||||||
|
__asm__(".comm optarg,4");
|
||||||
|
__asm__(".comm opterr,4");
|
||||||
|
__asm__(".comm optind,4");
|
||||||
|
__asm__(".comm optopt,4");
|
||||||
|
__asm__(".comm stderr,4");
|
||||||
|
__asm__(".comm stdin,4");
|
||||||
|
__asm__(".comm stdout,4");
|
||||||
|
__asm__(".weak timezone; timezone = __timezone");
|
||||||
|
__asm__(".weak tzname; tzname = __tzname");
|
||||||
|
extern const int _IO_stdin_used;
|
||||||
|
__asm__(".weak _IO_stdin_used;.weak _LSB_IO_stdin_used; _LSB_IO_stdin_used=_IO_stdin_used ");
|
|
@ -0,0 +1,100 @@
|
||||||
|
/* Startup support for ELF initializers/finalizers in the main executable.
|
||||||
|
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C 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.
|
||||||
|
|
||||||
|
In addition to the permissions in the GNU Lesser General Public
|
||||||
|
License, the Free Software Foundation gives you unlimited
|
||||||
|
permission to link the compiled version of this file with other
|
||||||
|
programs, and to distribute those programs without any restriction
|
||||||
|
coming from the use of this file. (The GNU Lesser General Public
|
||||||
|
License restrictions do apply in other respects; for example, they
|
||||||
|
cover modification of the file, and distribution when not linked
|
||||||
|
into another program.)
|
||||||
|
|
||||||
|
Note that people who make modified versions of this file are not
|
||||||
|
obligated to grant this special exception for their modified
|
||||||
|
versions; it is their choice whether to do so. The GNU Lesser
|
||||||
|
General Public License gives permission to release a modified
|
||||||
|
version without this exception; this exception also makes it
|
||||||
|
possible to release a modified version which carries forward this
|
||||||
|
exception.
|
||||||
|
|
||||||
|
The GNU C 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 the GNU C Library; if not, write to the Free
|
||||||
|
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||||
|
02111-1307 USA. */
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_INITFINI_ARRAY
|
||||||
|
/* These magic symbols are provided by the linker. */
|
||||||
|
extern void (*__preinit_array_start []) (void) attribute_hidden;
|
||||||
|
extern void (*__preinit_array_end []) (void) attribute_hidden;
|
||||||
|
extern void (*__init_array_start []) (void) attribute_hidden;
|
||||||
|
extern void (*__init_array_end []) (void) attribute_hidden;
|
||||||
|
extern void (*__fini_array_start []) (void) attribute_hidden;
|
||||||
|
extern void (*__fini_array_end []) (void) attribute_hidden;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* These function symbols are provided for the .init/.fini section entry
|
||||||
|
points automagically by the linker. */
|
||||||
|
extern void _init (void);
|
||||||
|
extern void _fini (void);
|
||||||
|
|
||||||
|
/* These functions are passed to __libc_start_main by the startup code.
|
||||||
|
These get statically linked into each program. For dynamically linked
|
||||||
|
programs, this module will come from libc_nonshared.a and differs from
|
||||||
|
the libc.a module in that it doesn't call the preinit array. */
|
||||||
|
|
||||||
|
void
|
||||||
|
__libc_csu_init (void)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_INITFINI_ARRAY
|
||||||
|
/* For dynamically linked executables the preinit array is executed by
|
||||||
|
the dynamic linker (before initializing any shared object. */
|
||||||
|
|
||||||
|
# ifndef LIBC_NONSHARED
|
||||||
|
/* For static executables, preinit happens rights before init. */
|
||||||
|
{
|
||||||
|
const size_t size = __preinit_array_end - __preinit_array_start;
|
||||||
|
size_t i;
|
||||||
|
for (i = 0; i < size; i++)
|
||||||
|
(*__preinit_array_start [i]) ();
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
_init ();
|
||||||
|
|
||||||
|
#ifdef HAVE_INITFINI_ARRAY
|
||||||
|
{
|
||||||
|
const size_t size = __init_array_end - __init_array_start;
|
||||||
|
size_t i;
|
||||||
|
for (i = 0; i < size; i++)
|
||||||
|
(*__init_array_start [i]) ();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
__libc_csu_fini (void)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_INITFINI_ARRAY
|
||||||
|
size_t i = __fini_array_end - __fini_array_start;
|
||||||
|
while (i-- > 0)
|
||||||
|
(*__fini_array_start [i]) ();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
_fini ();
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
||||||
|
GLIBC_2.0 {
|
||||||
|
dladdr;
|
||||||
|
dlclose;
|
||||||
|
dlerror;
|
||||||
|
dlsym;
|
||||||
|
};
|
||||||
|
GLIBC_2.1 {
|
||||||
|
dlopen;
|
||||||
|
};
|
|
@ -0,0 +1,5 @@
|
||||||
|
void dladdr() {} ;
|
||||||
|
void dlclose() {} ;
|
||||||
|
void dlerror() {} ;
|
||||||
|
void dlopen() {} ;
|
||||||
|
void dlsym() {} ;
|
|
@ -0,0 +1,22 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
||||||
|
GCC_3.0 {
|
||||||
|
_Unwind_DeleteException;
|
||||||
|
_Unwind_Find_FDE;
|
||||||
|
_Unwind_ForcedUnwind;
|
||||||
|
_Unwind_GetDataRelBase;
|
||||||
|
_Unwind_GetGR;
|
||||||
|
_Unwind_GetIP;
|
||||||
|
_Unwind_GetLanguageSpecificData;
|
||||||
|
_Unwind_GetRegionStart;
|
||||||
|
_Unwind_GetTextRelBase;
|
||||||
|
_Unwind_RaiseException;
|
||||||
|
_Unwind_Resume;
|
||||||
|
_Unwind_SetGR;
|
||||||
|
_Unwind_SetIP;
|
||||||
|
};
|
||||||
|
GCC_3.3 {
|
||||||
|
_Unwind_Backtrace;
|
||||||
|
_Unwind_FindEnclosingFunction;
|
||||||
|
_Unwind_GetCFA;
|
||||||
|
_Unwind_Resume_or_Rethrow;
|
||||||
|
};
|
|
@ -0,0 +1,17 @@
|
||||||
|
void _Unwind_Backtrace() {} ;
|
||||||
|
void _Unwind_DeleteException() {} ;
|
||||||
|
void _Unwind_FindEnclosingFunction() {} ;
|
||||||
|
void _Unwind_Find_FDE() {} ;
|
||||||
|
void _Unwind_ForcedUnwind() {} ;
|
||||||
|
void _Unwind_GetCFA() {} ;
|
||||||
|
void _Unwind_GetDataRelBase() {} ;
|
||||||
|
void _Unwind_GetGR() {} ;
|
||||||
|
void _Unwind_GetIP() {} ;
|
||||||
|
void _Unwind_GetLanguageSpecificData() {} ;
|
||||||
|
void _Unwind_GetRegionStart() {} ;
|
||||||
|
void _Unwind_GetTextRelBase() {} ;
|
||||||
|
void _Unwind_RaiseException() {} ;
|
||||||
|
void _Unwind_Resume() {} ;
|
||||||
|
void _Unwind_Resume_or_Rethrow() {} ;
|
||||||
|
void _Unwind_SetGR() {} ;
|
||||||
|
void _Unwind_SetIP() {} ;
|
|
@ -0,0 +1 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
|
@ -0,0 +1,546 @@
|
||||||
|
void gdk_add_client_message_filter() {} ;
|
||||||
|
void gdk_atom_intern() {} ;
|
||||||
|
void gdk_atom_name() {} ;
|
||||||
|
void gdk_axis_use_get_type() {} ;
|
||||||
|
void gdk_beep() {} ;
|
||||||
|
void gdk_bitmap_create_from_data() {} ;
|
||||||
|
void gdk_byte_order_get_type() {} ;
|
||||||
|
void gdk_cap_style_get_type() {} ;
|
||||||
|
void gdk_color_copy() {} ;
|
||||||
|
void gdk_color_equal() {} ;
|
||||||
|
void gdk_color_free() {} ;
|
||||||
|
void gdk_color_get_type() {} ;
|
||||||
|
void gdk_color_hash() {} ;
|
||||||
|
void gdk_color_parse() {} ;
|
||||||
|
void gdk_colormap_alloc_color() {} ;
|
||||||
|
void gdk_colormap_alloc_colors() {} ;
|
||||||
|
void gdk_colormap_free_colors() {} ;
|
||||||
|
void gdk_colormap_get_screen() {} ;
|
||||||
|
void gdk_colormap_get_system() {} ;
|
||||||
|
void gdk_colormap_get_type() {} ;
|
||||||
|
void gdk_colormap_get_visual() {} ;
|
||||||
|
void gdk_colormap_new() {} ;
|
||||||
|
void gdk_colormap_query_color() {} ;
|
||||||
|
void gdk_crossing_mode_get_type() {} ;
|
||||||
|
void gdk_cursor_get_display() {} ;
|
||||||
|
void gdk_cursor_get_type() {} ;
|
||||||
|
void gdk_cursor_new() {} ;
|
||||||
|
void gdk_cursor_new_for_display() {} ;
|
||||||
|
void gdk_cursor_new_from_pixbuf() {} ;
|
||||||
|
void gdk_cursor_new_from_pixmap() {} ;
|
||||||
|
void gdk_cursor_ref() {} ;
|
||||||
|
void gdk_cursor_type_get_type() {} ;
|
||||||
|
void gdk_cursor_unref() {} ;
|
||||||
|
void gdk_device_free_history() {} ;
|
||||||
|
void gdk_device_get_axis() {} ;
|
||||||
|
void gdk_device_get_core_pointer() {} ;
|
||||||
|
void gdk_device_get_history() {} ;
|
||||||
|
void gdk_device_get_state() {} ;
|
||||||
|
void gdk_device_get_type() {} ;
|
||||||
|
void gdk_device_set_axis_use() {} ;
|
||||||
|
void gdk_device_set_key() {} ;
|
||||||
|
void gdk_device_set_mode() {} ;
|
||||||
|
void gdk_device_set_source() {} ;
|
||||||
|
void gdk_devices_list() {} ;
|
||||||
|
void gdk_display_add_client_message_filter() {} ;
|
||||||
|
void gdk_display_beep() {} ;
|
||||||
|
void gdk_display_close() {} ;
|
||||||
|
void gdk_display_flush() {} ;
|
||||||
|
void gdk_display_get_core_pointer() {} ;
|
||||||
|
void gdk_display_get_default() {} ;
|
||||||
|
void gdk_display_get_default_cursor_size() {} ;
|
||||||
|
void gdk_display_get_default_group() {} ;
|
||||||
|
void gdk_display_get_default_screen() {} ;
|
||||||
|
void gdk_display_get_event() {} ;
|
||||||
|
void gdk_display_get_maximal_cursor_size() {} ;
|
||||||
|
void gdk_display_get_n_screens() {} ;
|
||||||
|
void gdk_display_get_name() {} ;
|
||||||
|
void gdk_display_get_pointer() {} ;
|
||||||
|
void gdk_display_get_screen() {} ;
|
||||||
|
void gdk_display_get_type() {} ;
|
||||||
|
void gdk_display_get_window_at_pointer() {} ;
|
||||||
|
void gdk_display_keyboard_ungrab() {} ;
|
||||||
|
void gdk_display_list_devices() {} ;
|
||||||
|
void gdk_display_manager_get() {} ;
|
||||||
|
void gdk_display_manager_get_default_display() {} ;
|
||||||
|
void gdk_display_manager_get_type() {} ;
|
||||||
|
void gdk_display_manager_list_displays() {} ;
|
||||||
|
void gdk_display_manager_set_default_display() {} ;
|
||||||
|
void gdk_display_open() {} ;
|
||||||
|
void gdk_display_peek_event() {} ;
|
||||||
|
void gdk_display_pointer_is_grabbed() {} ;
|
||||||
|
void gdk_display_pointer_ungrab() {} ;
|
||||||
|
void gdk_display_put_event() {} ;
|
||||||
|
void gdk_display_request_selection_notification() {} ;
|
||||||
|
void gdk_display_set_double_click_distance() {} ;
|
||||||
|
void gdk_display_set_double_click_time() {} ;
|
||||||
|
void gdk_display_set_pointer_hooks() {} ;
|
||||||
|
void gdk_display_store_clipboard() {} ;
|
||||||
|
void gdk_display_supports_clipboard_persistence() {} ;
|
||||||
|
void gdk_display_supports_cursor_alpha() {} ;
|
||||||
|
void gdk_display_supports_cursor_color() {} ;
|
||||||
|
void gdk_display_supports_selection_notification() {} ;
|
||||||
|
void gdk_display_sync() {} ;
|
||||||
|
void gdk_drag_abort() {} ;
|
||||||
|
void gdk_drag_action_get_type() {} ;
|
||||||
|
void gdk_drag_begin() {} ;
|
||||||
|
void gdk_drag_context_get_type() {} ;
|
||||||
|
void gdk_drag_context_new() {} ;
|
||||||
|
void gdk_drag_drop() {} ;
|
||||||
|
void gdk_drag_drop_succeeded() {} ;
|
||||||
|
void gdk_drag_find_window() {} ;
|
||||||
|
void gdk_drag_find_window_for_screen() {} ;
|
||||||
|
void gdk_drag_get_protocol() {} ;
|
||||||
|
void gdk_drag_get_protocol_for_display() {} ;
|
||||||
|
void gdk_drag_get_selection() {} ;
|
||||||
|
void gdk_drag_motion() {} ;
|
||||||
|
void gdk_drag_protocol_get_type() {} ;
|
||||||
|
void gdk_drag_status() {} ;
|
||||||
|
void gdk_draw_arc() {} ;
|
||||||
|
void gdk_draw_drawable() {} ;
|
||||||
|
void gdk_draw_glyphs() {} ;
|
||||||
|
void gdk_draw_glyphs_transformed() {} ;
|
||||||
|
void gdk_draw_gray_image() {} ;
|
||||||
|
void gdk_draw_image() {} ;
|
||||||
|
void gdk_draw_indexed_image() {} ;
|
||||||
|
void gdk_draw_layout() {} ;
|
||||||
|
void gdk_draw_layout_line() {} ;
|
||||||
|
void gdk_draw_layout_line_with_colors() {} ;
|
||||||
|
void gdk_draw_layout_with_colors() {} ;
|
||||||
|
void gdk_draw_line() {} ;
|
||||||
|
void gdk_draw_lines() {} ;
|
||||||
|
void gdk_draw_pixbuf() {} ;
|
||||||
|
void gdk_draw_point() {} ;
|
||||||
|
void gdk_draw_points() {} ;
|
||||||
|
void gdk_draw_polygon() {} ;
|
||||||
|
void gdk_draw_rectangle() {} ;
|
||||||
|
void gdk_draw_rgb_32_image() {} ;
|
||||||
|
void gdk_draw_rgb_32_image_dithalign() {} ;
|
||||||
|
void gdk_draw_rgb_image() {} ;
|
||||||
|
void gdk_draw_rgb_image_dithalign() {} ;
|
||||||
|
void gdk_draw_segments() {} ;
|
||||||
|
void gdk_draw_trapezoids() {} ;
|
||||||
|
void gdk_drawable_copy_to_image() {} ;
|
||||||
|
void gdk_drawable_get_clip_region() {} ;
|
||||||
|
void gdk_drawable_get_colormap() {} ;
|
||||||
|
void gdk_drawable_get_depth() {} ;
|
||||||
|
void gdk_drawable_get_display() {} ;
|
||||||
|
void gdk_drawable_get_image() {} ;
|
||||||
|
void gdk_drawable_get_screen() {} ;
|
||||||
|
void gdk_drawable_get_size() {} ;
|
||||||
|
void gdk_drawable_get_type() {} ;
|
||||||
|
void gdk_drawable_get_visible_region() {} ;
|
||||||
|
void gdk_drawable_get_visual() {} ;
|
||||||
|
void gdk_drawable_set_colormap() {} ;
|
||||||
|
void gdk_drop_finish() {} ;
|
||||||
|
void gdk_drop_reply() {} ;
|
||||||
|
void gdk_error_trap_pop() {} ;
|
||||||
|
void gdk_error_trap_push() {} ;
|
||||||
|
void gdk_event_copy() {} ;
|
||||||
|
void gdk_event_free() {} ;
|
||||||
|
void gdk_event_get() {} ;
|
||||||
|
void gdk_event_get_axis() {} ;
|
||||||
|
void gdk_event_get_coords() {} ;
|
||||||
|
void gdk_event_get_graphics_expose() {} ;
|
||||||
|
void gdk_event_get_root_coords() {} ;
|
||||||
|
void gdk_event_get_screen() {} ;
|
||||||
|
void gdk_event_get_state() {} ;
|
||||||
|
void gdk_event_get_time() {} ;
|
||||||
|
void gdk_event_get_type() {} ;
|
||||||
|
void gdk_event_handler_set() {} ;
|
||||||
|
void gdk_event_mask_get_type() {} ;
|
||||||
|
void gdk_event_new() {} ;
|
||||||
|
void gdk_event_peek() {} ;
|
||||||
|
void gdk_event_put() {} ;
|
||||||
|
void gdk_event_send_client_message() {} ;
|
||||||
|
void gdk_event_send_client_message_for_display() {} ;
|
||||||
|
void gdk_event_send_clientmessage_toall() {} ;
|
||||||
|
void gdk_event_set_screen() {} ;
|
||||||
|
void gdk_event_type_get_type() {} ;
|
||||||
|
void gdk_events_pending() {} ;
|
||||||
|
void gdk_extension_mode_get_type() {} ;
|
||||||
|
void gdk_fill_get_type() {} ;
|
||||||
|
void gdk_fill_rule_get_type() {} ;
|
||||||
|
void gdk_filter_return_get_type() {} ;
|
||||||
|
void gdk_flush() {} ;
|
||||||
|
void gdk_font_type_get_type() {} ;
|
||||||
|
void gdk_free_compound_text() {} ;
|
||||||
|
void gdk_free_text_list() {} ;
|
||||||
|
void gdk_function_get_type() {} ;
|
||||||
|
void gdk_gc_copy() {} ;
|
||||||
|
void gdk_gc_get_colormap() {} ;
|
||||||
|
void gdk_gc_get_screen() {} ;
|
||||||
|
void gdk_gc_get_type() {} ;
|
||||||
|
void gdk_gc_get_values() {} ;
|
||||||
|
void gdk_gc_new() {} ;
|
||||||
|
void gdk_gc_new_with_values() {} ;
|
||||||
|
void gdk_gc_offset() {} ;
|
||||||
|
void gdk_gc_set_background() {} ;
|
||||||
|
void gdk_gc_set_clip_mask() {} ;
|
||||||
|
void gdk_gc_set_clip_origin() {} ;
|
||||||
|
void gdk_gc_set_clip_rectangle() {} ;
|
||||||
|
void gdk_gc_set_clip_region() {} ;
|
||||||
|
void gdk_gc_set_colormap() {} ;
|
||||||
|
void gdk_gc_set_dashes() {} ;
|
||||||
|
void gdk_gc_set_exposures() {} ;
|
||||||
|
void gdk_gc_set_fill() {} ;
|
||||||
|
void gdk_gc_set_foreground() {} ;
|
||||||
|
void gdk_gc_set_function() {} ;
|
||||||
|
void gdk_gc_set_line_attributes() {} ;
|
||||||
|
void gdk_gc_set_rgb_bg_color() {} ;
|
||||||
|
void gdk_gc_set_rgb_fg_color() {} ;
|
||||||
|
void gdk_gc_set_stipple() {} ;
|
||||||
|
void gdk_gc_set_subwindow() {} ;
|
||||||
|
void gdk_gc_set_tile() {} ;
|
||||||
|
void gdk_gc_set_ts_origin() {} ;
|
||||||
|
void gdk_gc_set_values() {} ;
|
||||||
|
void gdk_gc_values_mask_get_type() {} ;
|
||||||
|
void gdk_get_default_root_window() {} ;
|
||||||
|
void gdk_get_display() {} ;
|
||||||
|
void gdk_get_display_arg_name() {} ;
|
||||||
|
void gdk_get_program_class() {} ;
|
||||||
|
void gdk_get_show_events() {} ;
|
||||||
|
void gdk_grab_status_get_type() {} ;
|
||||||
|
void gdk_gravity_get_type() {} ;
|
||||||
|
void gdk_image_get_colormap() {} ;
|
||||||
|
void gdk_image_get_pixel() {} ;
|
||||||
|
void gdk_image_get_type() {} ;
|
||||||
|
void gdk_image_new() {} ;
|
||||||
|
void gdk_image_put_pixel() {} ;
|
||||||
|
void gdk_image_set_colormap() {} ;
|
||||||
|
void gdk_image_type_get_type() {} ;
|
||||||
|
void gdk_init() {} ;
|
||||||
|
void gdk_init_check() {} ;
|
||||||
|
void gdk_input_condition_get_type() {} ;
|
||||||
|
void gdk_input_mode_get_type() {} ;
|
||||||
|
void gdk_input_set_extension_events() {} ;
|
||||||
|
void gdk_input_source_get_type() {} ;
|
||||||
|
void gdk_join_style_get_type() {} ;
|
||||||
|
void gdk_keyboard_grab() {} ;
|
||||||
|
void gdk_keyboard_ungrab() {} ;
|
||||||
|
void gdk_keymap_get_default() {} ;
|
||||||
|
void gdk_keymap_get_direction() {} ;
|
||||||
|
void gdk_keymap_get_entries_for_keycode() {} ;
|
||||||
|
void gdk_keymap_get_entries_for_keyval() {} ;
|
||||||
|
void gdk_keymap_get_for_display() {} ;
|
||||||
|
void gdk_keymap_get_type() {} ;
|
||||||
|
void gdk_keymap_lookup_key() {} ;
|
||||||
|
void gdk_keymap_translate_keyboard_state() {} ;
|
||||||
|
void gdk_keyval_convert_case() {} ;
|
||||||
|
void gdk_keyval_from_name() {} ;
|
||||||
|
void gdk_keyval_is_lower() {} ;
|
||||||
|
void gdk_keyval_is_upper() {} ;
|
||||||
|
void gdk_keyval_name() {} ;
|
||||||
|
void gdk_keyval_to_lower() {} ;
|
||||||
|
void gdk_keyval_to_unicode() {} ;
|
||||||
|
void gdk_keyval_to_upper() {} ;
|
||||||
|
void gdk_line_style_get_type() {} ;
|
||||||
|
void gdk_list_visuals() {} ;
|
||||||
|
void gdk_modifier_type_get_type() {} ;
|
||||||
|
void gdk_net_wm_supports() {} ;
|
||||||
|
void gdk_notify_startup_complete() {} ;
|
||||||
|
void gdk_notify_type_get_type() {} ;
|
||||||
|
void gdk_overlap_type_get_type() {} ;
|
||||||
|
void gdk_owner_change_get_type() {} ;
|
||||||
|
void gdk_pango_attr_embossed_new() {} ;
|
||||||
|
void gdk_pango_attr_stipple_new() {} ;
|
||||||
|
void gdk_pango_context_get() {} ;
|
||||||
|
void gdk_pango_context_get_for_screen() {} ;
|
||||||
|
void gdk_pango_layout_get_clip_region() {} ;
|
||||||
|
void gdk_pango_layout_line_get_clip_region() {} ;
|
||||||
|
void gdk_pango_renderer_get_default() {} ;
|
||||||
|
void gdk_pango_renderer_get_type() {} ;
|
||||||
|
void gdk_pango_renderer_new() {} ;
|
||||||
|
void gdk_pango_renderer_set_drawable() {} ;
|
||||||
|
void gdk_pango_renderer_set_gc() {} ;
|
||||||
|
void gdk_pango_renderer_set_override_color() {} ;
|
||||||
|
void gdk_pango_renderer_set_stipple() {} ;
|
||||||
|
void gdk_parse_args() {} ;
|
||||||
|
void gdk_pixbuf_get_from_drawable() {} ;
|
||||||
|
void gdk_pixbuf_get_from_image() {} ;
|
||||||
|
void gdk_pixbuf_render_pixmap_and_mask() {} ;
|
||||||
|
void gdk_pixbuf_render_pixmap_and_mask_for_colormap() {} ;
|
||||||
|
void gdk_pixbuf_render_threshold_alpha() {} ;
|
||||||
|
void gdk_pixmap_colormap_create_from_xpm() {} ;
|
||||||
|
void gdk_pixmap_colormap_create_from_xpm_d() {} ;
|
||||||
|
void gdk_pixmap_create_from_data() {} ;
|
||||||
|
void gdk_pixmap_create_from_xpm() {} ;
|
||||||
|
void gdk_pixmap_create_from_xpm_d() {} ;
|
||||||
|
void gdk_pixmap_foreign_new() {} ;
|
||||||
|
void gdk_pixmap_foreign_new_for_display() {} ;
|
||||||
|
void gdk_pixmap_get_type() {} ;
|
||||||
|
void gdk_pixmap_lookup() {} ;
|
||||||
|
void gdk_pixmap_lookup_for_display() {} ;
|
||||||
|
void gdk_pixmap_new() {} ;
|
||||||
|
void gdk_pointer_grab() {} ;
|
||||||
|
void gdk_pointer_is_grabbed() {} ;
|
||||||
|
void gdk_pointer_ungrab() {} ;
|
||||||
|
void gdk_prop_mode_get_type() {} ;
|
||||||
|
void gdk_property_change() {} ;
|
||||||
|
void gdk_property_delete() {} ;
|
||||||
|
void gdk_property_get() {} ;
|
||||||
|
void gdk_property_state_get_type() {} ;
|
||||||
|
void gdk_query_depths() {} ;
|
||||||
|
void gdk_query_visual_types() {} ;
|
||||||
|
void gdk_rectangle_get_type() {} ;
|
||||||
|
void gdk_rectangle_intersect() {} ;
|
||||||
|
void gdk_rectangle_union() {} ;
|
||||||
|
void gdk_region_copy() {} ;
|
||||||
|
void gdk_region_destroy() {} ;
|
||||||
|
void gdk_region_empty() {} ;
|
||||||
|
void gdk_region_equal() {} ;
|
||||||
|
void gdk_region_get_clipbox() {} ;
|
||||||
|
void gdk_region_get_rectangles() {} ;
|
||||||
|
void gdk_region_intersect() {} ;
|
||||||
|
void gdk_region_new() {} ;
|
||||||
|
void gdk_region_offset() {} ;
|
||||||
|
void gdk_region_point_in() {} ;
|
||||||
|
void gdk_region_polygon() {} ;
|
||||||
|
void gdk_region_rect_in() {} ;
|
||||||
|
void gdk_region_rectangle() {} ;
|
||||||
|
void gdk_region_shrink() {} ;
|
||||||
|
void gdk_region_spans_intersect_foreach() {} ;
|
||||||
|
void gdk_region_subtract() {} ;
|
||||||
|
void gdk_region_union() {} ;
|
||||||
|
void gdk_region_union_with_rect() {} ;
|
||||||
|
void gdk_region_xor() {} ;
|
||||||
|
void gdk_rgb_cmap_free() {} ;
|
||||||
|
void gdk_rgb_cmap_new() {} ;
|
||||||
|
void gdk_rgb_colormap_ditherable() {} ;
|
||||||
|
void gdk_rgb_dither_get_type() {} ;
|
||||||
|
void gdk_rgb_ditherable() {} ;
|
||||||
|
void gdk_rgb_find_color() {} ;
|
||||||
|
void gdk_rgb_get_colormap() {} ;
|
||||||
|
void gdk_rgb_get_visual() {} ;
|
||||||
|
void gdk_rgb_set_install() {} ;
|
||||||
|
void gdk_rgb_set_min_colors() {} ;
|
||||||
|
void gdk_rgb_set_verbose() {} ;
|
||||||
|
void gdk_screen_broadcast_client_message() {} ;
|
||||||
|
void gdk_screen_get_default() {} ;
|
||||||
|
void gdk_screen_get_default_colormap() {} ;
|
||||||
|
void gdk_screen_get_display() {} ;
|
||||||
|
void gdk_screen_get_height() {} ;
|
||||||
|
void gdk_screen_get_height_mm() {} ;
|
||||||
|
void gdk_screen_get_monitor_at_point() {} ;
|
||||||
|
void gdk_screen_get_monitor_at_window() {} ;
|
||||||
|
void gdk_screen_get_monitor_geometry() {} ;
|
||||||
|
void gdk_screen_get_n_monitors() {} ;
|
||||||
|
void gdk_screen_get_number() {} ;
|
||||||
|
void gdk_screen_get_rgb_colormap() {} ;
|
||||||
|
void gdk_screen_get_rgb_visual() {} ;
|
||||||
|
void gdk_screen_get_root_window() {} ;
|
||||||
|
void gdk_screen_get_setting() {} ;
|
||||||
|
void gdk_screen_get_system_colormap() {} ;
|
||||||
|
void gdk_screen_get_system_visual() {} ;
|
||||||
|
void gdk_screen_get_toplevel_windows() {} ;
|
||||||
|
void gdk_screen_get_type() {} ;
|
||||||
|
void gdk_screen_get_width() {} ;
|
||||||
|
void gdk_screen_get_width_mm() {} ;
|
||||||
|
void gdk_screen_height() {} ;
|
||||||
|
void gdk_screen_height_mm() {} ;
|
||||||
|
void gdk_screen_list_visuals() {} ;
|
||||||
|
void gdk_screen_make_display_name() {} ;
|
||||||
|
void gdk_screen_set_default_colormap() {} ;
|
||||||
|
void gdk_screen_width() {} ;
|
||||||
|
void gdk_screen_width_mm() {} ;
|
||||||
|
void gdk_scroll_direction_get_type() {} ;
|
||||||
|
void gdk_selection_convert() {} ;
|
||||||
|
void gdk_selection_owner_get() {} ;
|
||||||
|
void gdk_selection_owner_get_for_display() {} ;
|
||||||
|
void gdk_selection_owner_set() {} ;
|
||||||
|
void gdk_selection_owner_set_for_display() {} ;
|
||||||
|
void gdk_selection_property_get() {} ;
|
||||||
|
void gdk_selection_send_notify() {} ;
|
||||||
|
void gdk_selection_send_notify_for_display() {} ;
|
||||||
|
void gdk_set_double_click_time() {} ;
|
||||||
|
void gdk_set_locale() {} ;
|
||||||
|
void gdk_set_pointer_hooks() {} ;
|
||||||
|
void gdk_set_program_class() {} ;
|
||||||
|
void gdk_set_show_events() {} ;
|
||||||
|
void gdk_set_sm_client_id() {} ;
|
||||||
|
void gdk_setting_action_get_type() {} ;
|
||||||
|
void gdk_setting_get() {} ;
|
||||||
|
void gdk_spawn_command_line_on_screen() {} ;
|
||||||
|
void gdk_spawn_on_screen() {} ;
|
||||||
|
void gdk_spawn_on_screen_with_pipes() {} ;
|
||||||
|
void gdk_status_get_type() {} ;
|
||||||
|
void gdk_string_to_compound_text() {} ;
|
||||||
|
void gdk_string_to_compound_text_for_display() {} ;
|
||||||
|
void gdk_subwindow_mode_get_type() {} ;
|
||||||
|
void gdk_synthesize_window_state() {} ;
|
||||||
|
void gdk_text_property_to_text_list() {} ;
|
||||||
|
void gdk_text_property_to_text_list_for_display() {} ;
|
||||||
|
void gdk_text_property_to_utf8_list() {} ;
|
||||||
|
void gdk_text_property_to_utf8_list_for_display() {} ;
|
||||||
|
void gdk_threads_enter() {} ;
|
||||||
|
void gdk_threads_init() {} ;
|
||||||
|
void gdk_threads_leave() {} ;
|
||||||
|
void gdk_threads_set_lock_functions() {} ;
|
||||||
|
void gdk_unicode_to_keyval() {} ;
|
||||||
|
void gdk_utf8_to_compound_text() {} ;
|
||||||
|
void gdk_utf8_to_compound_text_for_display() {} ;
|
||||||
|
void gdk_utf8_to_string_target() {} ;
|
||||||
|
void gdk_visibility_state_get_type() {} ;
|
||||||
|
void gdk_visual_get_best() {} ;
|
||||||
|
void gdk_visual_get_best_depth() {} ;
|
||||||
|
void gdk_visual_get_best_type() {} ;
|
||||||
|
void gdk_visual_get_best_with_both() {} ;
|
||||||
|
void gdk_visual_get_best_with_depth() {} ;
|
||||||
|
void gdk_visual_get_best_with_type() {} ;
|
||||||
|
void gdk_visual_get_screen() {} ;
|
||||||
|
void gdk_visual_get_system() {} ;
|
||||||
|
void gdk_visual_get_type() {} ;
|
||||||
|
void gdk_visual_type_get_type() {} ;
|
||||||
|
void gdk_window_add_filter() {} ;
|
||||||
|
void gdk_window_at_pointer() {} ;
|
||||||
|
void gdk_window_attributes_type_get_type() {} ;
|
||||||
|
void gdk_window_begin_move_drag() {} ;
|
||||||
|
void gdk_window_begin_paint_rect() {} ;
|
||||||
|
void gdk_window_begin_paint_region() {} ;
|
||||||
|
void gdk_window_begin_resize_drag() {} ;
|
||||||
|
void gdk_window_class_get_type() {} ;
|
||||||
|
void gdk_window_clear() {} ;
|
||||||
|
void gdk_window_clear_area() {} ;
|
||||||
|
void gdk_window_clear_area_e() {} ;
|
||||||
|
void gdk_window_configure_finished() {} ;
|
||||||
|
void gdk_window_constrain_size() {} ;
|
||||||
|
void gdk_window_deiconify() {} ;
|
||||||
|
void gdk_window_destroy() {} ;
|
||||||
|
void gdk_window_destroy_notify() {} ;
|
||||||
|
void gdk_window_edge_get_type() {} ;
|
||||||
|
void gdk_window_enable_synchronized_configure() {} ;
|
||||||
|
void gdk_window_end_paint() {} ;
|
||||||
|
void gdk_window_focus() {} ;
|
||||||
|
void gdk_window_foreign_new() {} ;
|
||||||
|
void gdk_window_foreign_new_for_display() {} ;
|
||||||
|
void gdk_window_freeze_updates() {} ;
|
||||||
|
void gdk_window_fullscreen() {} ;
|
||||||
|
void gdk_window_get_children() {} ;
|
||||||
|
void gdk_window_get_decorations() {} ;
|
||||||
|
void gdk_window_get_events() {} ;
|
||||||
|
void gdk_window_get_frame_extents() {} ;
|
||||||
|
void gdk_window_get_geometry() {} ;
|
||||||
|
void gdk_window_get_group() {} ;
|
||||||
|
void gdk_window_get_internal_paint_info() {} ;
|
||||||
|
void gdk_window_get_origin() {} ;
|
||||||
|
void gdk_window_get_parent() {} ;
|
||||||
|
void gdk_window_get_pointer() {} ;
|
||||||
|
void gdk_window_get_position() {} ;
|
||||||
|
void gdk_window_get_root_origin() {} ;
|
||||||
|
void gdk_window_get_state() {} ;
|
||||||
|
void gdk_window_get_toplevel() {} ;
|
||||||
|
void gdk_window_get_toplevels() {} ;
|
||||||
|
void gdk_window_get_update_area() {} ;
|
||||||
|
void gdk_window_get_user_data() {} ;
|
||||||
|
void gdk_window_get_window_type() {} ;
|
||||||
|
void gdk_window_hide() {} ;
|
||||||
|
void gdk_window_hints_get_type() {} ;
|
||||||
|
void gdk_window_iconify() {} ;
|
||||||
|
void gdk_window_invalidate_maybe_recurse() {} ;
|
||||||
|
void gdk_window_invalidate_rect() {} ;
|
||||||
|
void gdk_window_invalidate_region() {} ;
|
||||||
|
void gdk_window_is_viewable() {} ;
|
||||||
|
void gdk_window_is_visible() {} ;
|
||||||
|
void gdk_window_lookup() {} ;
|
||||||
|
void gdk_window_lookup_for_display() {} ;
|
||||||
|
void gdk_window_lower() {} ;
|
||||||
|
void gdk_window_maximize() {} ;
|
||||||
|
void gdk_window_merge_child_shapes() {} ;
|
||||||
|
void gdk_window_move() {} ;
|
||||||
|
void gdk_window_move_resize() {} ;
|
||||||
|
void gdk_window_new() {} ;
|
||||||
|
void gdk_window_object_get_type() {} ;
|
||||||
|
void gdk_window_peek_children() {} ;
|
||||||
|
void gdk_window_process_all_updates() {} ;
|
||||||
|
void gdk_window_process_updates() {} ;
|
||||||
|
void gdk_window_raise() {} ;
|
||||||
|
void gdk_window_register_dnd() {} ;
|
||||||
|
void gdk_window_remove_filter() {} ;
|
||||||
|
void gdk_window_reparent() {} ;
|
||||||
|
void gdk_window_resize() {} ;
|
||||||
|
void gdk_window_scroll() {} ;
|
||||||
|
void gdk_window_set_accept_focus() {} ;
|
||||||
|
void gdk_window_set_back_pixmap() {} ;
|
||||||
|
void gdk_window_set_background() {} ;
|
||||||
|
void gdk_window_set_child_shapes() {} ;
|
||||||
|
void gdk_window_set_cursor() {} ;
|
||||||
|
void gdk_window_set_debug_updates() {} ;
|
||||||
|
void gdk_window_set_decorations() {} ;
|
||||||
|
void gdk_window_set_events() {} ;
|
||||||
|
void gdk_window_set_focus_on_map() {} ;
|
||||||
|
void gdk_window_set_functions() {} ;
|
||||||
|
void gdk_window_set_geometry_hints() {} ;
|
||||||
|
void gdk_window_set_group() {} ;
|
||||||
|
void gdk_window_set_icon() {} ;
|
||||||
|
void gdk_window_set_icon_list() {} ;
|
||||||
|
void gdk_window_set_icon_name() {} ;
|
||||||
|
void gdk_window_set_keep_above() {} ;
|
||||||
|
void gdk_window_set_keep_below() {} ;
|
||||||
|
void gdk_window_set_modal_hint() {} ;
|
||||||
|
void gdk_window_set_override_redirect() {} ;
|
||||||
|
void gdk_window_set_role() {} ;
|
||||||
|
void gdk_window_set_skip_pager_hint() {} ;
|
||||||
|
void gdk_window_set_skip_taskbar_hint() {} ;
|
||||||
|
void gdk_window_set_static_gravities() {} ;
|
||||||
|
void gdk_window_set_title() {} ;
|
||||||
|
void gdk_window_set_transient_for() {} ;
|
||||||
|
void gdk_window_set_type_hint() {} ;
|
||||||
|
void gdk_window_set_user_data() {} ;
|
||||||
|
void gdk_window_shape_combine_mask() {} ;
|
||||||
|
void gdk_window_shape_combine_region() {} ;
|
||||||
|
void gdk_window_show() {} ;
|
||||||
|
void gdk_window_show_unraised() {} ;
|
||||||
|
void gdk_window_state_get_type() {} ;
|
||||||
|
void gdk_window_stick() {} ;
|
||||||
|
void gdk_window_thaw_updates() {} ;
|
||||||
|
void gdk_window_type_get_type() {} ;
|
||||||
|
void gdk_window_type_hint_get_type() {} ;
|
||||||
|
void gdk_window_unfullscreen() {} ;
|
||||||
|
void gdk_window_unmaximize() {} ;
|
||||||
|
void gdk_window_unstick() {} ;
|
||||||
|
void gdk_window_withdraw() {} ;
|
||||||
|
void gdk_wm_decoration_get_type() {} ;
|
||||||
|
void gdk_wm_function_get_type() {} ;
|
||||||
|
void gdk_x11_atom_to_xatom() {} ;
|
||||||
|
void gdk_x11_atom_to_xatom_for_display() {} ;
|
||||||
|
void gdk_x11_colormap_foreign_new() {} ;
|
||||||
|
void gdk_x11_colormap_get_xcolormap() {} ;
|
||||||
|
void gdk_x11_colormap_get_xdisplay() {} ;
|
||||||
|
void gdk_x11_cursor_get_xcursor() {} ;
|
||||||
|
void gdk_x11_cursor_get_xdisplay() {} ;
|
||||||
|
void gdk_x11_display_get_xdisplay() {} ;
|
||||||
|
void gdk_x11_display_grab() {} ;
|
||||||
|
void gdk_x11_display_ungrab() {} ;
|
||||||
|
void gdk_x11_drawable_get_xdisplay() {} ;
|
||||||
|
void gdk_x11_drawable_get_xid() {} ;
|
||||||
|
void gdk_x11_gc_get_xdisplay() {} ;
|
||||||
|
void gdk_x11_gc_get_xgc() {} ;
|
||||||
|
void gdk_x11_get_default_root_xwindow() {} ;
|
||||||
|
void gdk_x11_get_default_screen() {} ;
|
||||||
|
void gdk_x11_get_default_xdisplay() {} ;
|
||||||
|
void gdk_x11_get_server_time() {} ;
|
||||||
|
void gdk_x11_get_xatom_by_name() {} ;
|
||||||
|
void gdk_x11_get_xatom_by_name_for_display() {} ;
|
||||||
|
void gdk_x11_get_xatom_name() {} ;
|
||||||
|
void gdk_x11_get_xatom_name_for_display() {} ;
|
||||||
|
void gdk_x11_grab_server() {} ;
|
||||||
|
void gdk_x11_image_get_xdisplay() {} ;
|
||||||
|
void gdk_x11_image_get_ximage() {} ;
|
||||||
|
void gdk_x11_lookup_xdisplay() {} ;
|
||||||
|
void gdk_x11_register_standard_event_type() {} ;
|
||||||
|
void gdk_x11_screen_get_screen_number() {} ;
|
||||||
|
void gdk_x11_screen_get_window_manager_name() {} ;
|
||||||
|
void gdk_x11_screen_get_xscreen() {} ;
|
||||||
|
void gdk_x11_screen_lookup_visual() {} ;
|
||||||
|
void gdk_x11_screen_supports_net_wm_hint() {} ;
|
||||||
|
void gdk_x11_ungrab_server() {} ;
|
||||||
|
void gdk_x11_visual_get_xvisual() {} ;
|
||||||
|
void gdk_x11_window_set_user_time() {} ;
|
||||||
|
void gdk_x11_xatom_to_atom() {} ;
|
||||||
|
void gdk_x11_xatom_to_atom_for_display() {} ;
|
||||||
|
void gdk_xid_table_lookup() {} ;
|
||||||
|
void gdk_xid_table_lookup_for_display() {} ;
|
||||||
|
void gdkx_visual_get() {} ;
|
||||||
|
__asm__(".globl gdk_display; .pushsection .data; .type gdk_display,@object; .size gdk_display, 4; gdk_display: .long 0; .popsection");
|
||||||
|
__asm__(".globl gdk_threads_lock; .pushsection .data; .type gdk_threads_lock,@object; .size gdk_threads_lock, 4; gdk_threads_lock: .long 0; .popsection");
|
||||||
|
__asm__(".globl gdk_threads_unlock; .pushsection .data; .type gdk_threads_unlock,@object; .size gdk_threads_unlock, 4; gdk_threads_unlock: .long 0; .popsection");
|
|
@ -0,0 +1 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
|
@ -0,0 +1,847 @@
|
||||||
|
void g_allocator_free() {} ;
|
||||||
|
void g_allocator_new() {} ;
|
||||||
|
void g_array_append_vals() {} ;
|
||||||
|
void g_array_free() {} ;
|
||||||
|
void g_array_insert_vals() {} ;
|
||||||
|
void g_array_new() {} ;
|
||||||
|
void g_array_prepend_vals() {} ;
|
||||||
|
void g_array_remove_index() {} ;
|
||||||
|
void g_array_remove_index_fast() {} ;
|
||||||
|
void g_array_remove_range() {} ;
|
||||||
|
void g_array_set_size() {} ;
|
||||||
|
void g_array_sized_new() {} ;
|
||||||
|
void g_array_sort() {} ;
|
||||||
|
void g_array_sort_with_data() {} ;
|
||||||
|
void g_ascii_digit_value() {} ;
|
||||||
|
void g_ascii_dtostr() {} ;
|
||||||
|
void g_ascii_formatd() {} ;
|
||||||
|
void g_ascii_strcasecmp() {} ;
|
||||||
|
void g_ascii_strdown() {} ;
|
||||||
|
void g_ascii_strncasecmp() {} ;
|
||||||
|
void g_ascii_strtod() {} ;
|
||||||
|
void g_ascii_strtoull() {} ;
|
||||||
|
void g_ascii_strup() {} ;
|
||||||
|
void g_ascii_tolower() {} ;
|
||||||
|
void g_ascii_toupper() {} ;
|
||||||
|
void g_ascii_xdigit_value() {} ;
|
||||||
|
void g_assert_warning() {} ;
|
||||||
|
void g_async_queue_length() {} ;
|
||||||
|
void g_async_queue_length_unlocked() {} ;
|
||||||
|
void g_async_queue_lock() {} ;
|
||||||
|
void g_async_queue_new() {} ;
|
||||||
|
void g_async_queue_pop() {} ;
|
||||||
|
void g_async_queue_pop_unlocked() {} ;
|
||||||
|
void g_async_queue_push() {} ;
|
||||||
|
void g_async_queue_push_unlocked() {} ;
|
||||||
|
void g_async_queue_ref() {} ;
|
||||||
|
void g_async_queue_timed_pop() {} ;
|
||||||
|
void g_async_queue_timed_pop_unlocked() {} ;
|
||||||
|
void g_async_queue_try_pop() {} ;
|
||||||
|
void g_async_queue_try_pop_unlocked() {} ;
|
||||||
|
void g_async_queue_unlock() {} ;
|
||||||
|
void g_async_queue_unref() {} ;
|
||||||
|
void g_atexit() {} ;
|
||||||
|
void g_atomic_int_add() {} ;
|
||||||
|
void g_atomic_int_compare_and_exchange() {} ;
|
||||||
|
void g_atomic_int_exchange_and_add() {} ;
|
||||||
|
void g_atomic_pointer_compare_and_exchange() {} ;
|
||||||
|
void g_bit_nth_lsf() {} ;
|
||||||
|
void g_bit_nth_msf() {} ;
|
||||||
|
void g_bit_storage() {} ;
|
||||||
|
void g_blow_chunks() {} ;
|
||||||
|
void g_build_filename() {} ;
|
||||||
|
void g_build_path() {} ;
|
||||||
|
void g_byte_array_append() {} ;
|
||||||
|
void g_byte_array_free() {} ;
|
||||||
|
void g_byte_array_new() {} ;
|
||||||
|
void g_byte_array_prepend() {} ;
|
||||||
|
void g_byte_array_remove_index() {} ;
|
||||||
|
void g_byte_array_remove_index_fast() {} ;
|
||||||
|
void g_byte_array_remove_range() {} ;
|
||||||
|
void g_byte_array_set_size() {} ;
|
||||||
|
void g_byte_array_sized_new() {} ;
|
||||||
|
void g_byte_array_sort() {} ;
|
||||||
|
void g_byte_array_sort_with_data() {} ;
|
||||||
|
void g_cache_destroy() {} ;
|
||||||
|
void g_cache_insert() {} ;
|
||||||
|
void g_cache_key_foreach() {} ;
|
||||||
|
void g_cache_new() {} ;
|
||||||
|
void g_cache_remove() {} ;
|
||||||
|
void g_cache_value_foreach() {} ;
|
||||||
|
void g_child_watch_add() {} ;
|
||||||
|
void g_child_watch_add_full() {} ;
|
||||||
|
void g_child_watch_source_new() {} ;
|
||||||
|
void g_clear_error() {} ;
|
||||||
|
void g_completion_add_items() {} ;
|
||||||
|
void g_completion_clear_items() {} ;
|
||||||
|
void g_completion_complete() {} ;
|
||||||
|
void g_completion_complete_utf8() {} ;
|
||||||
|
void g_completion_free() {} ;
|
||||||
|
void g_completion_new() {} ;
|
||||||
|
void g_completion_remove_items() {} ;
|
||||||
|
void g_completion_set_compare() {} ;
|
||||||
|
void g_convert() {} ;
|
||||||
|
void g_convert_error_quark() {} ;
|
||||||
|
void g_convert_with_fallback() {} ;
|
||||||
|
void g_convert_with_iconv() {} ;
|
||||||
|
void g_datalist_clear() {} ;
|
||||||
|
void g_datalist_foreach() {} ;
|
||||||
|
void g_datalist_id_get_data() {} ;
|
||||||
|
void g_datalist_id_remove_no_notify() {} ;
|
||||||
|
void g_datalist_id_set_data_full() {} ;
|
||||||
|
void g_datalist_init() {} ;
|
||||||
|
void g_dataset_destroy() {} ;
|
||||||
|
void g_dataset_foreach() {} ;
|
||||||
|
void g_dataset_id_get_data() {} ;
|
||||||
|
void g_dataset_id_remove_no_notify() {} ;
|
||||||
|
void g_dataset_id_set_data_full() {} ;
|
||||||
|
void g_date_add_days() {} ;
|
||||||
|
void g_date_add_months() {} ;
|
||||||
|
void g_date_add_years() {} ;
|
||||||
|
void g_date_clamp() {} ;
|
||||||
|
void g_date_clear() {} ;
|
||||||
|
void g_date_compare() {} ;
|
||||||
|
void g_date_days_between() {} ;
|
||||||
|
void g_date_free() {} ;
|
||||||
|
void g_date_get_day() {} ;
|
||||||
|
void g_date_get_day_of_year() {} ;
|
||||||
|
void g_date_get_days_in_month() {} ;
|
||||||
|
void g_date_get_iso8601_week_of_year() {} ;
|
||||||
|
void g_date_get_julian() {} ;
|
||||||
|
void g_date_get_monday_week_of_year() {} ;
|
||||||
|
void g_date_get_monday_weeks_in_year() {} ;
|
||||||
|
void g_date_get_month() {} ;
|
||||||
|
void g_date_get_sunday_week_of_year() {} ;
|
||||||
|
void g_date_get_sunday_weeks_in_year() {} ;
|
||||||
|
void g_date_get_weekday() {} ;
|
||||||
|
void g_date_get_year() {} ;
|
||||||
|
void g_date_is_first_of_month() {} ;
|
||||||
|
void g_date_is_last_of_month() {} ;
|
||||||
|
void g_date_is_leap_year() {} ;
|
||||||
|
void g_date_new() {} ;
|
||||||
|
void g_date_new_dmy() {} ;
|
||||||
|
void g_date_new_julian() {} ;
|
||||||
|
void g_date_order() {} ;
|
||||||
|
void g_date_set_day() {} ;
|
||||||
|
void g_date_set_dmy() {} ;
|
||||||
|
void g_date_set_julian() {} ;
|
||||||
|
void g_date_set_month() {} ;
|
||||||
|
void g_date_set_parse() {} ;
|
||||||
|
void g_date_set_time() {} ;
|
||||||
|
void g_date_set_year() {} ;
|
||||||
|
void g_date_strftime() {} ;
|
||||||
|
void g_date_subtract_days() {} ;
|
||||||
|
void g_date_subtract_months() {} ;
|
||||||
|
void g_date_subtract_years() {} ;
|
||||||
|
void g_date_to_struct_tm() {} ;
|
||||||
|
void g_date_valid() {} ;
|
||||||
|
void g_date_valid_day() {} ;
|
||||||
|
void g_date_valid_dmy() {} ;
|
||||||
|
void g_date_valid_julian() {} ;
|
||||||
|
void g_date_valid_month() {} ;
|
||||||
|
void g_date_valid_weekday() {} ;
|
||||||
|
void g_date_valid_year() {} ;
|
||||||
|
void g_dir_close() {} ;
|
||||||
|
void g_dir_open() {} ;
|
||||||
|
void g_dir_read_name() {} ;
|
||||||
|
void g_dir_rewind() {} ;
|
||||||
|
void g_direct_equal() {} ;
|
||||||
|
void g_direct_hash() {} ;
|
||||||
|
void g_error_copy() {} ;
|
||||||
|
void g_error_free() {} ;
|
||||||
|
void g_error_matches() {} ;
|
||||||
|
void g_error_new() {} ;
|
||||||
|
void g_error_new_literal() {} ;
|
||||||
|
void g_file_error_from_errno() {} ;
|
||||||
|
void g_file_error_quark() {} ;
|
||||||
|
void g_file_get_contents() {} ;
|
||||||
|
void g_file_open_tmp() {} ;
|
||||||
|
void g_file_read_link() {} ;
|
||||||
|
void g_file_test() {} ;
|
||||||
|
void g_filename_display_basename() {} ;
|
||||||
|
void g_filename_display_name() {} ;
|
||||||
|
void g_filename_from_uri() {} ;
|
||||||
|
void g_filename_from_utf8() {} ;
|
||||||
|
void g_filename_to_uri() {} ;
|
||||||
|
void g_filename_to_utf8() {} ;
|
||||||
|
void g_find_program_in_path() {} ;
|
||||||
|
void g_fprintf() {} ;
|
||||||
|
void g_free() {} ;
|
||||||
|
void g_get_application_name() {} ;
|
||||||
|
void g_get_charset() {} ;
|
||||||
|
void g_get_current_dir() {} ;
|
||||||
|
void g_get_current_time() {} ;
|
||||||
|
void g_get_filename_charsets() {} ;
|
||||||
|
void g_get_home_dir() {} ;
|
||||||
|
void g_get_language_names() {} ;
|
||||||
|
void g_get_prgname() {} ;
|
||||||
|
void g_get_real_name() {} ;
|
||||||
|
void g_get_system_config_dirs() {} ;
|
||||||
|
void g_get_system_data_dirs() {} ;
|
||||||
|
void g_get_tmp_dir() {} ;
|
||||||
|
void g_get_user_cache_dir() {} ;
|
||||||
|
void g_get_user_config_dir() {} ;
|
||||||
|
void g_get_user_data_dir() {} ;
|
||||||
|
void g_get_user_name() {} ;
|
||||||
|
void g_getenv() {} ;
|
||||||
|
void g_hash_table_destroy() {} ;
|
||||||
|
void g_hash_table_find() {} ;
|
||||||
|
void g_hash_table_foreach() {} ;
|
||||||
|
void g_hash_table_foreach_remove() {} ;
|
||||||
|
void g_hash_table_foreach_steal() {} ;
|
||||||
|
void g_hash_table_insert() {} ;
|
||||||
|
void g_hash_table_lookup() {} ;
|
||||||
|
void g_hash_table_lookup_extended() {} ;
|
||||||
|
void g_hash_table_new() {} ;
|
||||||
|
void g_hash_table_new_full() {} ;
|
||||||
|
void g_hash_table_remove() {} ;
|
||||||
|
void g_hash_table_replace() {} ;
|
||||||
|
void g_hash_table_size() {} ;
|
||||||
|
void g_hash_table_steal() {} ;
|
||||||
|
void g_hook_alloc() {} ;
|
||||||
|
void g_hook_compare_ids() {} ;
|
||||||
|
void g_hook_destroy() {} ;
|
||||||
|
void g_hook_destroy_link() {} ;
|
||||||
|
void g_hook_find() {} ;
|
||||||
|
void g_hook_find_data() {} ;
|
||||||
|
void g_hook_find_func() {} ;
|
||||||
|
void g_hook_find_func_data() {} ;
|
||||||
|
void g_hook_first_valid() {} ;
|
||||||
|
void g_hook_free() {} ;
|
||||||
|
void g_hook_get() {} ;
|
||||||
|
void g_hook_insert_before() {} ;
|
||||||
|
void g_hook_insert_sorted() {} ;
|
||||||
|
void g_hook_list_clear() {} ;
|
||||||
|
void g_hook_list_init() {} ;
|
||||||
|
void g_hook_list_invoke() {} ;
|
||||||
|
void g_hook_list_invoke_check() {} ;
|
||||||
|
void g_hook_list_marshal() {} ;
|
||||||
|
void g_hook_list_marshal_check() {} ;
|
||||||
|
void g_hook_next_valid() {} ;
|
||||||
|
void g_hook_prepend() {} ;
|
||||||
|
void g_hook_ref() {} ;
|
||||||
|
void g_hook_unref() {} ;
|
||||||
|
void g_iconv() {} ;
|
||||||
|
void g_iconv_close() {} ;
|
||||||
|
void g_iconv_open() {} ;
|
||||||
|
void g_idle_add() {} ;
|
||||||
|
void g_idle_add_full() {} ;
|
||||||
|
void g_idle_remove_by_data() {} ;
|
||||||
|
void g_idle_source_new() {} ;
|
||||||
|
void g_int_equal() {} ;
|
||||||
|
void g_int_hash() {} ;
|
||||||
|
void g_io_add_watch() {} ;
|
||||||
|
void g_io_add_watch_full() {} ;
|
||||||
|
void g_io_channel_error_from_errno() {} ;
|
||||||
|
void g_io_channel_error_quark() {} ;
|
||||||
|
void g_io_channel_flush() {} ;
|
||||||
|
void g_io_channel_get_buffer_condition() {} ;
|
||||||
|
void g_io_channel_get_buffer_size() {} ;
|
||||||
|
void g_io_channel_get_buffered() {} ;
|
||||||
|
void g_io_channel_get_close_on_unref() {} ;
|
||||||
|
void g_io_channel_get_encoding() {} ;
|
||||||
|
void g_io_channel_get_flags() {} ;
|
||||||
|
void g_io_channel_get_line_term() {} ;
|
||||||
|
void g_io_channel_init() {} ;
|
||||||
|
void g_io_channel_new_file() {} ;
|
||||||
|
void g_io_channel_read_chars() {} ;
|
||||||
|
void g_io_channel_read_line() {} ;
|
||||||
|
void g_io_channel_read_line_string() {} ;
|
||||||
|
void g_io_channel_read_to_end() {} ;
|
||||||
|
void g_io_channel_read_unichar() {} ;
|
||||||
|
void g_io_channel_ref() {} ;
|
||||||
|
void g_io_channel_seek_position() {} ;
|
||||||
|
void g_io_channel_set_buffer_size() {} ;
|
||||||
|
void g_io_channel_set_buffered() {} ;
|
||||||
|
void g_io_channel_set_close_on_unref() {} ;
|
||||||
|
void g_io_channel_set_encoding() {} ;
|
||||||
|
void g_io_channel_set_flags() {} ;
|
||||||
|
void g_io_channel_set_line_term() {} ;
|
||||||
|
void g_io_channel_shutdown() {} ;
|
||||||
|
void g_io_channel_unix_get_fd() {} ;
|
||||||
|
void g_io_channel_unix_new() {} ;
|
||||||
|
void g_io_channel_unref() {} ;
|
||||||
|
void g_io_channel_write_chars() {} ;
|
||||||
|
void g_io_channel_write_unichar() {} ;
|
||||||
|
void g_io_create_watch() {} ;
|
||||||
|
void g_key_file_error_quark() {} ;
|
||||||
|
void g_key_file_free() {} ;
|
||||||
|
void g_key_file_get_boolean() {} ;
|
||||||
|
void g_key_file_get_boolean_list() {} ;
|
||||||
|
void g_key_file_get_comment() {} ;
|
||||||
|
void g_key_file_get_groups() {} ;
|
||||||
|
void g_key_file_get_integer() {} ;
|
||||||
|
void g_key_file_get_integer_list() {} ;
|
||||||
|
void g_key_file_get_keys() {} ;
|
||||||
|
void g_key_file_get_locale_string() {} ;
|
||||||
|
void g_key_file_get_locale_string_list() {} ;
|
||||||
|
void g_key_file_get_start_group() {} ;
|
||||||
|
void g_key_file_get_string() {} ;
|
||||||
|
void g_key_file_get_string_list() {} ;
|
||||||
|
void g_key_file_get_value() {} ;
|
||||||
|
void g_key_file_has_group() {} ;
|
||||||
|
void g_key_file_has_key() {} ;
|
||||||
|
void g_key_file_load_from_data() {} ;
|
||||||
|
void g_key_file_load_from_data_dirs() {} ;
|
||||||
|
void g_key_file_load_from_file() {} ;
|
||||||
|
void g_key_file_new() {} ;
|
||||||
|
void g_key_file_remove_comment() {} ;
|
||||||
|
void g_key_file_remove_group() {} ;
|
||||||
|
void g_key_file_remove_key() {} ;
|
||||||
|
void g_key_file_set_boolean() {} ;
|
||||||
|
void g_key_file_set_boolean_list() {} ;
|
||||||
|
void g_key_file_set_comment() {} ;
|
||||||
|
void g_key_file_set_integer() {} ;
|
||||||
|
void g_key_file_set_integer_list() {} ;
|
||||||
|
void g_key_file_set_list_separator() {} ;
|
||||||
|
void g_key_file_set_locale_string() {} ;
|
||||||
|
void g_key_file_set_locale_string_list() {} ;
|
||||||
|
void g_key_file_set_string() {} ;
|
||||||
|
void g_key_file_set_string_list() {} ;
|
||||||
|
void g_key_file_set_value() {} ;
|
||||||
|
void g_key_file_to_data() {} ;
|
||||||
|
void g_list_alloc() {} ;
|
||||||
|
void g_list_append() {} ;
|
||||||
|
void g_list_concat() {} ;
|
||||||
|
void g_list_copy() {} ;
|
||||||
|
void g_list_delete_link() {} ;
|
||||||
|
void g_list_find() {} ;
|
||||||
|
void g_list_find_custom() {} ;
|
||||||
|
void g_list_first() {} ;
|
||||||
|
void g_list_foreach() {} ;
|
||||||
|
void g_list_free() {} ;
|
||||||
|
void g_list_free_1() {} ;
|
||||||
|
void g_list_index() {} ;
|
||||||
|
void g_list_insert() {} ;
|
||||||
|
void g_list_insert_before() {} ;
|
||||||
|
void g_list_insert_sorted() {} ;
|
||||||
|
void g_list_last() {} ;
|
||||||
|
void g_list_length() {} ;
|
||||||
|
void g_list_nth() {} ;
|
||||||
|
void g_list_nth_data() {} ;
|
||||||
|
void g_list_nth_prev() {} ;
|
||||||
|
void g_list_pop_allocator() {} ;
|
||||||
|
void g_list_position() {} ;
|
||||||
|
void g_list_prepend() {} ;
|
||||||
|
void g_list_push_allocator() {} ;
|
||||||
|
void g_list_remove() {} ;
|
||||||
|
void g_list_remove_all() {} ;
|
||||||
|
void g_list_remove_link() {} ;
|
||||||
|
void g_list_reverse() {} ;
|
||||||
|
void g_list_sort() {} ;
|
||||||
|
void g_list_sort_with_data() {} ;
|
||||||
|
void g_locale_from_utf8() {} ;
|
||||||
|
void g_locale_to_utf8() {} ;
|
||||||
|
void g_log() {} ;
|
||||||
|
void g_log_default_handler() {} ;
|
||||||
|
void g_log_remove_handler() {} ;
|
||||||
|
void g_log_set_always_fatal() {} ;
|
||||||
|
void g_log_set_default_handler() {} ;
|
||||||
|
void g_log_set_fatal_mask() {} ;
|
||||||
|
void g_log_set_handler() {} ;
|
||||||
|
void g_logv() {} ;
|
||||||
|
void g_main_context_acquire() {} ;
|
||||||
|
void g_main_context_add_poll() {} ;
|
||||||
|
void g_main_context_check() {} ;
|
||||||
|
void g_main_context_default() {} ;
|
||||||
|
void g_main_context_dispatch() {} ;
|
||||||
|
void g_main_context_find_source_by_funcs_user_data() {} ;
|
||||||
|
void g_main_context_find_source_by_id() {} ;
|
||||||
|
void g_main_context_find_source_by_user_data() {} ;
|
||||||
|
void g_main_context_get_poll_func() {} ;
|
||||||
|
void g_main_context_iteration() {} ;
|
||||||
|
void g_main_context_new() {} ;
|
||||||
|
void g_main_context_pending() {} ;
|
||||||
|
void g_main_context_prepare() {} ;
|
||||||
|
void g_main_context_query() {} ;
|
||||||
|
void g_main_context_ref() {} ;
|
||||||
|
void g_main_context_release() {} ;
|
||||||
|
void g_main_context_remove_poll() {} ;
|
||||||
|
void g_main_context_set_poll_func() {} ;
|
||||||
|
void g_main_context_unref() {} ;
|
||||||
|
void g_main_context_wait() {} ;
|
||||||
|
void g_main_context_wakeup() {} ;
|
||||||
|
void g_main_depth() {} ;
|
||||||
|
void g_main_loop_get_context() {} ;
|
||||||
|
void g_main_loop_is_running() {} ;
|
||||||
|
void g_main_loop_new() {} ;
|
||||||
|
void g_main_loop_quit() {} ;
|
||||||
|
void g_main_loop_ref() {} ;
|
||||||
|
void g_main_loop_run() {} ;
|
||||||
|
void g_main_loop_unref() {} ;
|
||||||
|
void g_malloc() {} ;
|
||||||
|
void g_malloc0() {} ;
|
||||||
|
void g_markup_error_quark() {} ;
|
||||||
|
void g_markup_escape_text() {} ;
|
||||||
|
void g_markup_parse_context_end_parse() {} ;
|
||||||
|
void g_markup_parse_context_free() {} ;
|
||||||
|
void g_markup_parse_context_get_element() {} ;
|
||||||
|
void g_markup_parse_context_get_position() {} ;
|
||||||
|
void g_markup_parse_context_new() {} ;
|
||||||
|
void g_markup_parse_context_parse() {} ;
|
||||||
|
void g_markup_printf_escaped() {} ;
|
||||||
|
void g_markup_vprintf_escaped() {} ;
|
||||||
|
void g_mem_chunk_alloc() {} ;
|
||||||
|
void g_mem_chunk_alloc0() {} ;
|
||||||
|
void g_mem_chunk_clean() {} ;
|
||||||
|
void g_mem_chunk_destroy() {} ;
|
||||||
|
void g_mem_chunk_free() {} ;
|
||||||
|
void g_mem_chunk_info() {} ;
|
||||||
|
void g_mem_chunk_new() {} ;
|
||||||
|
void g_mem_chunk_print() {} ;
|
||||||
|
void g_mem_chunk_reset() {} ;
|
||||||
|
void g_mem_is_system_malloc() {} ;
|
||||||
|
void g_mem_profile() {} ;
|
||||||
|
void g_mem_set_vtable() {} ;
|
||||||
|
void g_memdup() {} ;
|
||||||
|
void g_mkstemp() {} ;
|
||||||
|
void g_node_child_index() {} ;
|
||||||
|
void g_node_child_position() {} ;
|
||||||
|
void g_node_children_foreach() {} ;
|
||||||
|
void g_node_copy() {} ;
|
||||||
|
void g_node_copy_deep() {} ;
|
||||||
|
void g_node_depth() {} ;
|
||||||
|
void g_node_destroy() {} ;
|
||||||
|
void g_node_find() {} ;
|
||||||
|
void g_node_find_child() {} ;
|
||||||
|
void g_node_first_sibling() {} ;
|
||||||
|
void g_node_get_root() {} ;
|
||||||
|
void g_node_insert() {} ;
|
||||||
|
void g_node_insert_after() {} ;
|
||||||
|
void g_node_insert_before() {} ;
|
||||||
|
void g_node_is_ancestor() {} ;
|
||||||
|
void g_node_last_child() {} ;
|
||||||
|
void g_node_last_sibling() {} ;
|
||||||
|
void g_node_max_height() {} ;
|
||||||
|
void g_node_n_children() {} ;
|
||||||
|
void g_node_n_nodes() {} ;
|
||||||
|
void g_node_new() {} ;
|
||||||
|
void g_node_nth_child() {} ;
|
||||||
|
void g_node_pop_allocator() {} ;
|
||||||
|
void g_node_prepend() {} ;
|
||||||
|
void g_node_push_allocator() {} ;
|
||||||
|
void g_node_reverse_children() {} ;
|
||||||
|
void g_node_traverse() {} ;
|
||||||
|
void g_node_unlink() {} ;
|
||||||
|
void g_nullify_pointer() {} ;
|
||||||
|
void g_on_error_query() {} ;
|
||||||
|
void g_on_error_stack_trace() {} ;
|
||||||
|
void g_once_impl() {} ;
|
||||||
|
void g_option_context_add_group() {} ;
|
||||||
|
void g_option_context_add_main_entries() {} ;
|
||||||
|
void g_option_context_free() {} ;
|
||||||
|
void g_option_context_get_help_enabled() {} ;
|
||||||
|
void g_option_context_get_ignore_unknown_options() {} ;
|
||||||
|
void g_option_context_get_main_group() {} ;
|
||||||
|
void g_option_context_new() {} ;
|
||||||
|
void g_option_context_parse() {} ;
|
||||||
|
void g_option_context_set_help_enabled() {} ;
|
||||||
|
void g_option_context_set_ignore_unknown_options() {} ;
|
||||||
|
void g_option_context_set_main_group() {} ;
|
||||||
|
void g_option_error_quark() {} ;
|
||||||
|
void g_option_group_add_entries() {} ;
|
||||||
|
void g_option_group_free() {} ;
|
||||||
|
void g_option_group_new() {} ;
|
||||||
|
void g_option_group_set_error_hook() {} ;
|
||||||
|
void g_option_group_set_parse_hooks() {} ;
|
||||||
|
void g_option_group_set_translate_func() {} ;
|
||||||
|
void g_option_group_set_translation_domain() {} ;
|
||||||
|
void g_parse_debug_string() {} ;
|
||||||
|
void g_path_get_basename() {} ;
|
||||||
|
void g_path_get_dirname() {} ;
|
||||||
|
void g_path_is_absolute() {} ;
|
||||||
|
void g_path_skip_root() {} ;
|
||||||
|
void g_pattern_match() {} ;
|
||||||
|
void g_pattern_match_simple() {} ;
|
||||||
|
void g_pattern_match_string() {} ;
|
||||||
|
void g_pattern_spec_equal() {} ;
|
||||||
|
void g_pattern_spec_free() {} ;
|
||||||
|
void g_pattern_spec_new() {} ;
|
||||||
|
void g_print() {} ;
|
||||||
|
void g_printerr() {} ;
|
||||||
|
void g_printf() {} ;
|
||||||
|
void g_printf_string_upper_bound() {} ;
|
||||||
|
void g_propagate_error() {} ;
|
||||||
|
void g_ptr_array_add() {} ;
|
||||||
|
void g_ptr_array_foreach() {} ;
|
||||||
|
void g_ptr_array_free() {} ;
|
||||||
|
void g_ptr_array_new() {} ;
|
||||||
|
void g_ptr_array_remove() {} ;
|
||||||
|
void g_ptr_array_remove_fast() {} ;
|
||||||
|
void g_ptr_array_remove_index() {} ;
|
||||||
|
void g_ptr_array_remove_index_fast() {} ;
|
||||||
|
void g_ptr_array_remove_range() {} ;
|
||||||
|
void g_ptr_array_set_size() {} ;
|
||||||
|
void g_ptr_array_sized_new() {} ;
|
||||||
|
void g_ptr_array_sort() {} ;
|
||||||
|
void g_ptr_array_sort_with_data() {} ;
|
||||||
|
void g_qsort_with_data() {} ;
|
||||||
|
void g_quark_from_static_string() {} ;
|
||||||
|
void g_quark_from_string() {} ;
|
||||||
|
void g_quark_to_string() {} ;
|
||||||
|
void g_quark_try_string() {} ;
|
||||||
|
void g_queue_copy() {} ;
|
||||||
|
void g_queue_delete_link() {} ;
|
||||||
|
void g_queue_find() {} ;
|
||||||
|
void g_queue_find_custom() {} ;
|
||||||
|
void g_queue_foreach() {} ;
|
||||||
|
void g_queue_free() {} ;
|
||||||
|
void g_queue_get_length() {} ;
|
||||||
|
void g_queue_index() {} ;
|
||||||
|
void g_queue_insert_after() {} ;
|
||||||
|
void g_queue_insert_before() {} ;
|
||||||
|
void g_queue_insert_sorted() {} ;
|
||||||
|
void g_queue_is_empty() {} ;
|
||||||
|
void g_queue_link_index() {} ;
|
||||||
|
void g_queue_new() {} ;
|
||||||
|
void g_queue_peek_head() {} ;
|
||||||
|
void g_queue_peek_head_link() {} ;
|
||||||
|
void g_queue_peek_nth() {} ;
|
||||||
|
void g_queue_peek_nth_link() {} ;
|
||||||
|
void g_queue_peek_tail() {} ;
|
||||||
|
void g_queue_peek_tail_link() {} ;
|
||||||
|
void g_queue_pop_head() {} ;
|
||||||
|
void g_queue_pop_head_link() {} ;
|
||||||
|
void g_queue_pop_nth() {} ;
|
||||||
|
void g_queue_pop_nth_link() {} ;
|
||||||
|
void g_queue_pop_tail() {} ;
|
||||||
|
void g_queue_pop_tail_link() {} ;
|
||||||
|
void g_queue_push_head() {} ;
|
||||||
|
void g_queue_push_head_link() {} ;
|
||||||
|
void g_queue_push_nth() {} ;
|
||||||
|
void g_queue_push_nth_link() {} ;
|
||||||
|
void g_queue_push_tail() {} ;
|
||||||
|
void g_queue_push_tail_link() {} ;
|
||||||
|
void g_queue_remove() {} ;
|
||||||
|
void g_queue_remove_all() {} ;
|
||||||
|
void g_queue_reverse() {} ;
|
||||||
|
void g_queue_sort() {} ;
|
||||||
|
void g_queue_unlink() {} ;
|
||||||
|
void g_rand_copy() {} ;
|
||||||
|
void g_rand_double() {} ;
|
||||||
|
void g_rand_double_range() {} ;
|
||||||
|
void g_rand_free() {} ;
|
||||||
|
void g_rand_int() {} ;
|
||||||
|
void g_rand_int_range() {} ;
|
||||||
|
void g_rand_new() {} ;
|
||||||
|
void g_rand_new_with_seed() {} ;
|
||||||
|
void g_rand_new_with_seed_array() {} ;
|
||||||
|
void g_rand_set_seed() {} ;
|
||||||
|
void g_rand_set_seed_array() {} ;
|
||||||
|
void g_random_double() {} ;
|
||||||
|
void g_random_double_range() {} ;
|
||||||
|
void g_random_int() {} ;
|
||||||
|
void g_random_int_range() {} ;
|
||||||
|
void g_random_set_seed() {} ;
|
||||||
|
void g_realloc() {} ;
|
||||||
|
void g_relation_count() {} ;
|
||||||
|
void g_relation_delete() {} ;
|
||||||
|
void g_relation_destroy() {} ;
|
||||||
|
void g_relation_exists() {} ;
|
||||||
|
void g_relation_index() {} ;
|
||||||
|
void g_relation_insert() {} ;
|
||||||
|
void g_relation_new() {} ;
|
||||||
|
void g_relation_print() {} ;
|
||||||
|
void g_relation_select() {} ;
|
||||||
|
void g_return_if_fail_warning() {} ;
|
||||||
|
void g_scanner_cur_line() {} ;
|
||||||
|
void g_scanner_cur_position() {} ;
|
||||||
|
void g_scanner_cur_token() {} ;
|
||||||
|
void g_scanner_cur_value() {} ;
|
||||||
|
void g_scanner_destroy() {} ;
|
||||||
|
void g_scanner_eof() {} ;
|
||||||
|
void g_scanner_error() {} ;
|
||||||
|
void g_scanner_get_next_token() {} ;
|
||||||
|
void g_scanner_input_file() {} ;
|
||||||
|
void g_scanner_input_text() {} ;
|
||||||
|
void g_scanner_lookup_symbol() {} ;
|
||||||
|
void g_scanner_new() {} ;
|
||||||
|
void g_scanner_peek_next_token() {} ;
|
||||||
|
void g_scanner_scope_add_symbol() {} ;
|
||||||
|
void g_scanner_scope_foreach_symbol() {} ;
|
||||||
|
void g_scanner_scope_lookup_symbol() {} ;
|
||||||
|
void g_scanner_scope_remove_symbol() {} ;
|
||||||
|
void g_scanner_set_scope() {} ;
|
||||||
|
void g_scanner_sync_file_offset() {} ;
|
||||||
|
void g_scanner_unexp_token() {} ;
|
||||||
|
void g_scanner_warn() {} ;
|
||||||
|
void g_set_application_name() {} ;
|
||||||
|
void g_set_error() {} ;
|
||||||
|
void g_set_prgname() {} ;
|
||||||
|
void g_set_print_handler() {} ;
|
||||||
|
void g_set_printerr_handler() {} ;
|
||||||
|
void g_setenv() {} ;
|
||||||
|
void g_shell_error_quark() {} ;
|
||||||
|
void g_shell_parse_argv() {} ;
|
||||||
|
void g_shell_quote() {} ;
|
||||||
|
void g_shell_unquote() {} ;
|
||||||
|
void g_slist_alloc() {} ;
|
||||||
|
void g_slist_append() {} ;
|
||||||
|
void g_slist_concat() {} ;
|
||||||
|
void g_slist_copy() {} ;
|
||||||
|
void g_slist_delete_link() {} ;
|
||||||
|
void g_slist_find() {} ;
|
||||||
|
void g_slist_find_custom() {} ;
|
||||||
|
void g_slist_foreach() {} ;
|
||||||
|
void g_slist_free() {} ;
|
||||||
|
void g_slist_free_1() {} ;
|
||||||
|
void g_slist_index() {} ;
|
||||||
|
void g_slist_insert() {} ;
|
||||||
|
void g_slist_insert_before() {} ;
|
||||||
|
void g_slist_insert_sorted() {} ;
|
||||||
|
void g_slist_last() {} ;
|
||||||
|
void g_slist_length() {} ;
|
||||||
|
void g_slist_nth() {} ;
|
||||||
|
void g_slist_nth_data() {} ;
|
||||||
|
void g_slist_pop_allocator() {} ;
|
||||||
|
void g_slist_position() {} ;
|
||||||
|
void g_slist_prepend() {} ;
|
||||||
|
void g_slist_push_allocator() {} ;
|
||||||
|
void g_slist_remove() {} ;
|
||||||
|
void g_slist_remove_all() {} ;
|
||||||
|
void g_slist_remove_link() {} ;
|
||||||
|
void g_slist_reverse() {} ;
|
||||||
|
void g_slist_sort() {} ;
|
||||||
|
void g_slist_sort_with_data() {} ;
|
||||||
|
void g_snprintf() {} ;
|
||||||
|
void g_source_add_poll() {} ;
|
||||||
|
void g_source_attach() {} ;
|
||||||
|
void g_source_destroy() {} ;
|
||||||
|
void g_source_get_can_recurse() {} ;
|
||||||
|
void g_source_get_context() {} ;
|
||||||
|
void g_source_get_current_time() {} ;
|
||||||
|
void g_source_get_id() {} ;
|
||||||
|
void g_source_get_priority() {} ;
|
||||||
|
void g_source_new() {} ;
|
||||||
|
void g_source_ref() {} ;
|
||||||
|
void g_source_remove() {} ;
|
||||||
|
void g_source_remove_by_funcs_user_data() {} ;
|
||||||
|
void g_source_remove_by_user_data() {} ;
|
||||||
|
void g_source_remove_poll() {} ;
|
||||||
|
void g_source_set_callback() {} ;
|
||||||
|
void g_source_set_callback_indirect() {} ;
|
||||||
|
void g_source_set_can_recurse() {} ;
|
||||||
|
void g_source_set_priority() {} ;
|
||||||
|
void g_source_unref() {} ;
|
||||||
|
void g_spaced_primes_closest() {} ;
|
||||||
|
void g_spawn_async() {} ;
|
||||||
|
void g_spawn_async_with_pipes() {} ;
|
||||||
|
void g_spawn_close_pid() {} ;
|
||||||
|
void g_spawn_command_line_async() {} ;
|
||||||
|
void g_spawn_command_line_sync() {} ;
|
||||||
|
void g_spawn_error_quark() {} ;
|
||||||
|
void g_spawn_sync() {} ;
|
||||||
|
void g_sprintf() {} ;
|
||||||
|
void g_static_mutex_free() {} ;
|
||||||
|
void g_static_mutex_get_mutex_impl() {} ;
|
||||||
|
void g_static_mutex_init() {} ;
|
||||||
|
void g_static_private_free() {} ;
|
||||||
|
void g_static_private_get() {} ;
|
||||||
|
void g_static_private_init() {} ;
|
||||||
|
void g_static_private_set() {} ;
|
||||||
|
void g_static_rec_mutex_free() {} ;
|
||||||
|
void g_static_rec_mutex_init() {} ;
|
||||||
|
void g_static_rec_mutex_lock() {} ;
|
||||||
|
void g_static_rec_mutex_lock_full() {} ;
|
||||||
|
void g_static_rec_mutex_trylock() {} ;
|
||||||
|
void g_static_rec_mutex_unlock() {} ;
|
||||||
|
void g_static_rec_mutex_unlock_full() {} ;
|
||||||
|
void g_static_rw_lock_free() {} ;
|
||||||
|
void g_static_rw_lock_init() {} ;
|
||||||
|
void g_static_rw_lock_reader_lock() {} ;
|
||||||
|
void g_static_rw_lock_reader_trylock() {} ;
|
||||||
|
void g_static_rw_lock_reader_unlock() {} ;
|
||||||
|
void g_static_rw_lock_writer_lock() {} ;
|
||||||
|
void g_static_rw_lock_writer_trylock() {} ;
|
||||||
|
void g_static_rw_lock_writer_unlock() {} ;
|
||||||
|
void g_stpcpy() {} ;
|
||||||
|
void g_str_equal() {} ;
|
||||||
|
void g_str_has_prefix() {} ;
|
||||||
|
void g_str_has_suffix() {} ;
|
||||||
|
void g_str_hash() {} ;
|
||||||
|
void g_strcanon() {} ;
|
||||||
|
void g_strchomp() {} ;
|
||||||
|
void g_strchug() {} ;
|
||||||
|
void g_strcompress() {} ;
|
||||||
|
void g_strconcat() {} ;
|
||||||
|
void g_strdelimit() {} ;
|
||||||
|
void g_strdup() {} ;
|
||||||
|
void g_strdup_printf() {} ;
|
||||||
|
void g_strdup_vprintf() {} ;
|
||||||
|
void g_strdupv() {} ;
|
||||||
|
void g_strerror() {} ;
|
||||||
|
void g_strescape() {} ;
|
||||||
|
void g_strfreev() {} ;
|
||||||
|
void g_string_append() {} ;
|
||||||
|
void g_string_append_c() {} ;
|
||||||
|
void g_string_append_len() {} ;
|
||||||
|
void g_string_append_printf() {} ;
|
||||||
|
void g_string_append_unichar() {} ;
|
||||||
|
void g_string_ascii_down() {} ;
|
||||||
|
void g_string_ascii_up() {} ;
|
||||||
|
void g_string_assign() {} ;
|
||||||
|
void g_string_chunk_free() {} ;
|
||||||
|
void g_string_chunk_insert() {} ;
|
||||||
|
void g_string_chunk_insert_const() {} ;
|
||||||
|
void g_string_chunk_insert_len() {} ;
|
||||||
|
void g_string_chunk_new() {} ;
|
||||||
|
void g_string_equal() {} ;
|
||||||
|
void g_string_erase() {} ;
|
||||||
|
void g_string_free() {} ;
|
||||||
|
void g_string_hash() {} ;
|
||||||
|
void g_string_insert() {} ;
|
||||||
|
void g_string_insert_c() {} ;
|
||||||
|
void g_string_insert_len() {} ;
|
||||||
|
void g_string_insert_unichar() {} ;
|
||||||
|
void g_string_new() {} ;
|
||||||
|
void g_string_new_len() {} ;
|
||||||
|
void g_string_prepend() {} ;
|
||||||
|
void g_string_prepend_c() {} ;
|
||||||
|
void g_string_prepend_len() {} ;
|
||||||
|
void g_string_prepend_unichar() {} ;
|
||||||
|
void g_string_printf() {} ;
|
||||||
|
void g_string_set_size() {} ;
|
||||||
|
void g_string_sized_new() {} ;
|
||||||
|
void g_string_truncate() {} ;
|
||||||
|
void g_strip_context() {} ;
|
||||||
|
void g_strjoin() {} ;
|
||||||
|
void g_strjoinv() {} ;
|
||||||
|
void g_strlcat() {} ;
|
||||||
|
void g_strlcpy() {} ;
|
||||||
|
void g_strndup() {} ;
|
||||||
|
void g_strnfill() {} ;
|
||||||
|
void g_strreverse() {} ;
|
||||||
|
void g_strrstr() {} ;
|
||||||
|
void g_strrstr_len() {} ;
|
||||||
|
void g_strsignal() {} ;
|
||||||
|
void g_strsplit() {} ;
|
||||||
|
void g_strsplit_set() {} ;
|
||||||
|
void g_strstr_len() {} ;
|
||||||
|
void g_strtod() {} ;
|
||||||
|
void g_strv_length() {} ;
|
||||||
|
void g_thread_create_full() {} ;
|
||||||
|
void g_thread_error_quark() {} ;
|
||||||
|
void g_thread_exit() {} ;
|
||||||
|
void g_thread_join() {} ;
|
||||||
|
void g_thread_pool_free() {} ;
|
||||||
|
void g_thread_pool_get_max_threads() {} ;
|
||||||
|
void g_thread_pool_get_max_unused_threads() {} ;
|
||||||
|
void g_thread_pool_get_num_threads() {} ;
|
||||||
|
void g_thread_pool_get_num_unused_threads() {} ;
|
||||||
|
void g_thread_pool_new() {} ;
|
||||||
|
void g_thread_pool_push() {} ;
|
||||||
|
void g_thread_pool_set_max_threads() {} ;
|
||||||
|
void g_thread_pool_set_max_unused_threads() {} ;
|
||||||
|
void g_thread_pool_stop_unused_threads() {} ;
|
||||||
|
void g_thread_pool_unprocessed() {} ;
|
||||||
|
void g_thread_self() {} ;
|
||||||
|
void g_thread_set_priority() {} ;
|
||||||
|
void g_time_val_add() {} ;
|
||||||
|
void g_timeout_add() {} ;
|
||||||
|
void g_timeout_add_full() {} ;
|
||||||
|
void g_timeout_source_new() {} ;
|
||||||
|
void g_timer_continue() {} ;
|
||||||
|
void g_timer_destroy() {} ;
|
||||||
|
void g_timer_elapsed() {} ;
|
||||||
|
void g_timer_new() {} ;
|
||||||
|
void g_timer_reset() {} ;
|
||||||
|
void g_timer_start() {} ;
|
||||||
|
void g_timer_stop() {} ;
|
||||||
|
void g_trash_stack_height() {} ;
|
||||||
|
void g_trash_stack_peek() {} ;
|
||||||
|
void g_trash_stack_pop() {} ;
|
||||||
|
void g_trash_stack_push() {} ;
|
||||||
|
void g_tree_destroy() {} ;
|
||||||
|
void g_tree_foreach() {} ;
|
||||||
|
void g_tree_height() {} ;
|
||||||
|
void g_tree_insert() {} ;
|
||||||
|
void g_tree_lookup() {} ;
|
||||||
|
void g_tree_lookup_extended() {} ;
|
||||||
|
void g_tree_new() {} ;
|
||||||
|
void g_tree_new_full() {} ;
|
||||||
|
void g_tree_new_with_data() {} ;
|
||||||
|
void g_tree_nnodes() {} ;
|
||||||
|
void g_tree_remove() {} ;
|
||||||
|
void g_tree_replace() {} ;
|
||||||
|
void g_tree_search() {} ;
|
||||||
|
void g_tree_steal() {} ;
|
||||||
|
void g_try_malloc() {} ;
|
||||||
|
void g_try_realloc() {} ;
|
||||||
|
void g_tuples_destroy() {} ;
|
||||||
|
void g_tuples_index() {} ;
|
||||||
|
void g_ucs4_to_utf16() {} ;
|
||||||
|
void g_ucs4_to_utf8() {} ;
|
||||||
|
void g_unichar_break_type() {} ;
|
||||||
|
void g_unichar_digit_value() {} ;
|
||||||
|
void g_unichar_get_mirror_char() {} ;
|
||||||
|
void g_unichar_isalnum() {} ;
|
||||||
|
void g_unichar_isalpha() {} ;
|
||||||
|
void g_unichar_iscntrl() {} ;
|
||||||
|
void g_unichar_isdefined() {} ;
|
||||||
|
void g_unichar_isdigit() {} ;
|
||||||
|
void g_unichar_isgraph() {} ;
|
||||||
|
void g_unichar_islower() {} ;
|
||||||
|
void g_unichar_isprint() {} ;
|
||||||
|
void g_unichar_ispunct() {} ;
|
||||||
|
void g_unichar_isspace() {} ;
|
||||||
|
void g_unichar_istitle() {} ;
|
||||||
|
void g_unichar_isupper() {} ;
|
||||||
|
void g_unichar_iswide() {} ;
|
||||||
|
void g_unichar_isxdigit() {} ;
|
||||||
|
void g_unichar_to_utf8() {} ;
|
||||||
|
void g_unichar_tolower() {} ;
|
||||||
|
void g_unichar_totitle() {} ;
|
||||||
|
void g_unichar_toupper() {} ;
|
||||||
|
void g_unichar_type() {} ;
|
||||||
|
void g_unichar_validate() {} ;
|
||||||
|
void g_unichar_xdigit_value() {} ;
|
||||||
|
void g_unicode_canonical_decomposition() {} ;
|
||||||
|
void g_unicode_canonical_ordering() {} ;
|
||||||
|
void g_unsetenv() {} ;
|
||||||
|
void g_uri_list_extract_uris() {} ;
|
||||||
|
void g_usleep() {} ;
|
||||||
|
void g_utf16_to_ucs4() {} ;
|
||||||
|
void g_utf16_to_utf8() {} ;
|
||||||
|
void g_utf8_casefold() {} ;
|
||||||
|
void g_utf8_collate() {} ;
|
||||||
|
void g_utf8_collate_key() {} ;
|
||||||
|
void g_utf8_find_next_char() {} ;
|
||||||
|
void g_utf8_find_prev_char() {} ;
|
||||||
|
void g_utf8_get_char() {} ;
|
||||||
|
void g_utf8_get_char_validated() {} ;
|
||||||
|
void g_utf8_normalize() {} ;
|
||||||
|
void g_utf8_offset_to_pointer() {} ;
|
||||||
|
void g_utf8_pointer_to_offset() {} ;
|
||||||
|
void g_utf8_prev_char() {} ;
|
||||||
|
void g_utf8_strchr() {} ;
|
||||||
|
void g_utf8_strdown() {} ;
|
||||||
|
void g_utf8_strlen() {} ;
|
||||||
|
void g_utf8_strncpy() {} ;
|
||||||
|
void g_utf8_strrchr() {} ;
|
||||||
|
void g_utf8_strreverse() {} ;
|
||||||
|
void g_utf8_strup() {} ;
|
||||||
|
void g_utf8_to_ucs4() {} ;
|
||||||
|
void g_utf8_to_ucs4_fast() {} ;
|
||||||
|
void g_utf8_to_utf16() {} ;
|
||||||
|
void g_utf8_validate() {} ;
|
||||||
|
void g_vasprintf() {} ;
|
||||||
|
void g_vfprintf() {} ;
|
||||||
|
void g_vprintf() {} ;
|
||||||
|
void g_vsnprintf() {} ;
|
||||||
|
void g_vsprintf() {} ;
|
||||||
|
void glib_check_version() {} ;
|
||||||
|
__asm__(".globl g_ascii_table; .pushsection .data; .type g_ascii_table,@object; .size g_ascii_table, 4; g_ascii_table: .long 0; .popsection");
|
||||||
|
__asm__(".globl g_child_watch_funcs; .pushsection .data; .type g_child_watch_funcs,@object; .size g_child_watch_funcs, 24; g_child_watch_funcs: .long 0; .popsection");
|
||||||
|
__asm__(".globl g_idle_funcs; .pushsection .data; .type g_idle_funcs,@object; .size g_idle_funcs, 24; g_idle_funcs: .long 0; .popsection");
|
||||||
|
__asm__(".globl g_io_watch_funcs; .pushsection .data; .type g_io_watch_funcs,@object; .size g_io_watch_funcs, 24; g_io_watch_funcs: .long 0; .popsection");
|
||||||
|
__asm__(".globl g_thread_functions_for_glib_use; .pushsection .data; .type g_thread_functions_for_glib_use,@object; .size g_thread_functions_for_glib_use, 84; g_thread_functions_for_glib_use: .long 0; .popsection");
|
||||||
|
__asm__(".globl g_thread_use_default_impl; .pushsection .data; .type g_thread_use_default_impl,@object; .size g_thread_use_default_impl, 4; g_thread_use_default_impl: .long 0; .popsection");
|
||||||
|
__asm__(".globl g_threads_got_initialized; .pushsection .data; .type g_threads_got_initialized,@object; .size g_threads_got_initialized, 4; g_threads_got_initialized: .long 0; .popsection");
|
||||||
|
__asm__(".globl g_timeout_funcs; .pushsection .data; .type g_timeout_funcs,@object; .size g_timeout_funcs, 24; g_timeout_funcs: .long 0; .popsection");
|
||||||
|
__asm__(".globl g_utf8_skip; .pushsection .data; .type g_utf8_skip,@object; .size g_utf8_skip, 4; g_utf8_skip: .long 0; .popsection");
|
||||||
|
__asm__(".globl glib_binary_age; .pushsection .data; .type glib_binary_age,@object; .size glib_binary_age, 4; glib_binary_age: .long 0; .popsection");
|
||||||
|
__asm__(".globl glib_interface_age; .pushsection .data; .type glib_interface_age,@object; .size glib_interface_age, 4; glib_interface_age: .long 0; .popsection");
|
||||||
|
__asm__(".globl glib_major_version; .pushsection .data; .type glib_major_version,@object; .size glib_major_version, 4; glib_major_version: .long 0; .popsection");
|
||||||
|
__asm__(".globl glib_mem_profiler_table; .pushsection .data; .type glib_mem_profiler_table,@object; .size glib_mem_profiler_table, 4; glib_mem_profiler_table: .long 0; .popsection");
|
||||||
|
__asm__(".globl glib_micro_version; .pushsection .data; .type glib_micro_version,@object; .size glib_micro_version, 4; glib_micro_version: .long 0; .popsection");
|
||||||
|
__asm__(".globl glib_minor_version; .pushsection .data; .type glib_minor_version,@object; .size glib_minor_version, 4; glib_minor_version: .long 0; .popsection");
|
|
@ -0,0 +1 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
|
@ -0,0 +1,315 @@
|
||||||
|
void g_boxed_copy() {} ;
|
||||||
|
void g_boxed_free() {} ;
|
||||||
|
void g_boxed_type_register_static() {} ;
|
||||||
|
void g_cclosure_marshal_BOOLEAN__FLAGS() {} ;
|
||||||
|
void g_cclosure_marshal_STRING__OBJECT_POINTER() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__BOOLEAN() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__BOXED() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__CHAR() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__DOUBLE() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__ENUM() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__FLAGS() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__FLOAT() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__INT() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__LONG() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__OBJECT() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__PARAM() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__POINTER() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__STRING() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__UCHAR() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__UINT() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__UINT_POINTER() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__ULONG() {} ;
|
||||||
|
void g_cclosure_marshal_VOID__VOID() {} ;
|
||||||
|
void g_cclosure_new() {} ;
|
||||||
|
void g_cclosure_new_object() {} ;
|
||||||
|
void g_cclosure_new_object_swap() {} ;
|
||||||
|
void g_cclosure_new_swap() {} ;
|
||||||
|
void g_closure_add_finalize_notifier() {} ;
|
||||||
|
void g_closure_add_invalidate_notifier() {} ;
|
||||||
|
void g_closure_add_marshal_guards() {} ;
|
||||||
|
void g_closure_get_type() {} ;
|
||||||
|
void g_closure_invalidate() {} ;
|
||||||
|
void g_closure_invoke() {} ;
|
||||||
|
void g_closure_new_object() {} ;
|
||||||
|
void g_closure_new_simple() {} ;
|
||||||
|
void g_closure_ref() {} ;
|
||||||
|
void g_closure_remove_finalize_notifier() {} ;
|
||||||
|
void g_closure_remove_invalidate_notifier() {} ;
|
||||||
|
void g_closure_set_marshal() {} ;
|
||||||
|
void g_closure_set_meta_marshal() {} ;
|
||||||
|
void g_closure_sink() {} ;
|
||||||
|
void g_closure_unref() {} ;
|
||||||
|
void g_enum_complete_type_info() {} ;
|
||||||
|
void g_enum_get_value() {} ;
|
||||||
|
void g_enum_get_value_by_name() {} ;
|
||||||
|
void g_enum_get_value_by_nick() {} ;
|
||||||
|
void g_enum_register_static() {} ;
|
||||||
|
void g_flags_complete_type_info() {} ;
|
||||||
|
void g_flags_get_first_value() {} ;
|
||||||
|
void g_flags_get_value_by_name() {} ;
|
||||||
|
void g_flags_get_value_by_nick() {} ;
|
||||||
|
void g_flags_register_static() {} ;
|
||||||
|
void g_gstring_get_type() {} ;
|
||||||
|
void g_io_channel_get_type() {} ;
|
||||||
|
void g_io_condition_get_type() {} ;
|
||||||
|
void g_object_add_weak_pointer() {} ;
|
||||||
|
void g_object_class_find_property() {} ;
|
||||||
|
void g_object_class_install_property() {} ;
|
||||||
|
void g_object_class_list_properties() {} ;
|
||||||
|
void g_object_class_override_property() {} ;
|
||||||
|
void g_object_connect() {} ;
|
||||||
|
void g_object_disconnect() {} ;
|
||||||
|
void g_object_freeze_notify() {} ;
|
||||||
|
void g_object_get() {} ;
|
||||||
|
void g_object_get_data() {} ;
|
||||||
|
void g_object_get_property() {} ;
|
||||||
|
void g_object_get_qdata() {} ;
|
||||||
|
void g_object_get_valist() {} ;
|
||||||
|
void g_object_interface_find_property() {} ;
|
||||||
|
void g_object_interface_install_property() {} ;
|
||||||
|
void g_object_interface_list_properties() {} ;
|
||||||
|
void g_object_new() {} ;
|
||||||
|
void g_object_new_valist() {} ;
|
||||||
|
void g_object_newv() {} ;
|
||||||
|
void g_object_notify() {} ;
|
||||||
|
void g_object_ref() {} ;
|
||||||
|
void g_object_remove_weak_pointer() {} ;
|
||||||
|
void g_object_run_dispose() {} ;
|
||||||
|
void g_object_set() {} ;
|
||||||
|
void g_object_set_data() {} ;
|
||||||
|
void g_object_set_data_full() {} ;
|
||||||
|
void g_object_set_property() {} ;
|
||||||
|
void g_object_set_qdata() {} ;
|
||||||
|
void g_object_set_qdata_full() {} ;
|
||||||
|
void g_object_set_valist() {} ;
|
||||||
|
void g_object_steal_data() {} ;
|
||||||
|
void g_object_steal_qdata() {} ;
|
||||||
|
void g_object_thaw_notify() {} ;
|
||||||
|
void g_object_unref() {} ;
|
||||||
|
void g_object_watch_closure() {} ;
|
||||||
|
void g_object_weak_ref() {} ;
|
||||||
|
void g_object_weak_unref() {} ;
|
||||||
|
void g_param_spec_boolean() {} ;
|
||||||
|
void g_param_spec_boxed() {} ;
|
||||||
|
void g_param_spec_char() {} ;
|
||||||
|
void g_param_spec_double() {} ;
|
||||||
|
void g_param_spec_enum() {} ;
|
||||||
|
void g_param_spec_flags() {} ;
|
||||||
|
void g_param_spec_float() {} ;
|
||||||
|
void g_param_spec_get_blurb() {} ;
|
||||||
|
void g_param_spec_get_name() {} ;
|
||||||
|
void g_param_spec_get_nick() {} ;
|
||||||
|
void g_param_spec_get_qdata() {} ;
|
||||||
|
void g_param_spec_get_redirect_target() {} ;
|
||||||
|
void g_param_spec_int() {} ;
|
||||||
|
void g_param_spec_int64() {} ;
|
||||||
|
void g_param_spec_internal() {} ;
|
||||||
|
void g_param_spec_long() {} ;
|
||||||
|
void g_param_spec_object() {} ;
|
||||||
|
void g_param_spec_override() {} ;
|
||||||
|
void g_param_spec_param() {} ;
|
||||||
|
void g_param_spec_pointer() {} ;
|
||||||
|
void g_param_spec_pool_insert() {} ;
|
||||||
|
void g_param_spec_pool_list() {} ;
|
||||||
|
void g_param_spec_pool_list_owned() {} ;
|
||||||
|
void g_param_spec_pool_lookup() {} ;
|
||||||
|
void g_param_spec_pool_new() {} ;
|
||||||
|
void g_param_spec_pool_remove() {} ;
|
||||||
|
void g_param_spec_ref() {} ;
|
||||||
|
void g_param_spec_set_qdata() {} ;
|
||||||
|
void g_param_spec_set_qdata_full() {} ;
|
||||||
|
void g_param_spec_sink() {} ;
|
||||||
|
void g_param_spec_steal_qdata() {} ;
|
||||||
|
void g_param_spec_string() {} ;
|
||||||
|
void g_param_spec_uchar() {} ;
|
||||||
|
void g_param_spec_uint() {} ;
|
||||||
|
void g_param_spec_uint64() {} ;
|
||||||
|
void g_param_spec_ulong() {} ;
|
||||||
|
void g_param_spec_unichar() {} ;
|
||||||
|
void g_param_spec_unref() {} ;
|
||||||
|
void g_param_spec_value_array() {} ;
|
||||||
|
void g_param_type_register_static() {} ;
|
||||||
|
void g_param_value_convert() {} ;
|
||||||
|
void g_param_value_defaults() {} ;
|
||||||
|
void g_param_value_set_default() {} ;
|
||||||
|
void g_param_value_validate() {} ;
|
||||||
|
void g_param_values_cmp() {} ;
|
||||||
|
void g_pointer_type_register_static() {} ;
|
||||||
|
void g_signal_accumulator_true_handled() {} ;
|
||||||
|
void g_signal_add_emission_hook() {} ;
|
||||||
|
void g_signal_chain_from_overridden() {} ;
|
||||||
|
void g_signal_connect_closure() {} ;
|
||||||
|
void g_signal_connect_closure_by_id() {} ;
|
||||||
|
void g_signal_connect_data() {} ;
|
||||||
|
void g_signal_connect_object() {} ;
|
||||||
|
void g_signal_emit() {} ;
|
||||||
|
void g_signal_emit_by_name() {} ;
|
||||||
|
void g_signal_emit_valist() {} ;
|
||||||
|
void g_signal_emitv() {} ;
|
||||||
|
void g_signal_get_invocation_hint() {} ;
|
||||||
|
void g_signal_handler_block() {} ;
|
||||||
|
void g_signal_handler_disconnect() {} ;
|
||||||
|
void g_signal_handler_find() {} ;
|
||||||
|
void g_signal_handler_is_connected() {} ;
|
||||||
|
void g_signal_handler_unblock() {} ;
|
||||||
|
void g_signal_handlers_block_matched() {} ;
|
||||||
|
void g_signal_handlers_destroy() {} ;
|
||||||
|
void g_signal_handlers_disconnect_matched() {} ;
|
||||||
|
void g_signal_handlers_unblock_matched() {} ;
|
||||||
|
void g_signal_has_handler_pending() {} ;
|
||||||
|
void g_signal_list_ids() {} ;
|
||||||
|
void g_signal_lookup() {} ;
|
||||||
|
void g_signal_name() {} ;
|
||||||
|
void g_signal_new() {} ;
|
||||||
|
void g_signal_new_valist() {} ;
|
||||||
|
void g_signal_newv() {} ;
|
||||||
|
void g_signal_override_class_closure() {} ;
|
||||||
|
void g_signal_parse_name() {} ;
|
||||||
|
void g_signal_query() {} ;
|
||||||
|
void g_signal_remove_emission_hook() {} ;
|
||||||
|
void g_signal_stop_emission() {} ;
|
||||||
|
void g_signal_stop_emission_by_name() {} ;
|
||||||
|
void g_signal_type_cclosure_new() {} ;
|
||||||
|
void g_source_set_closure() {} ;
|
||||||
|
void g_strdup_value_contents() {} ;
|
||||||
|
void g_strv_get_type() {} ;
|
||||||
|
void g_type_add_class_cache_func() {} ;
|
||||||
|
void g_type_add_interface_check() {} ;
|
||||||
|
void g_type_add_interface_dynamic() {} ;
|
||||||
|
void g_type_add_interface_static() {} ;
|
||||||
|
void g_type_check_class_cast() {} ;
|
||||||
|
void g_type_check_class_is_a() {} ;
|
||||||
|
void g_type_check_instance() {} ;
|
||||||
|
void g_type_check_instance_cast() {} ;
|
||||||
|
void g_type_check_instance_is_a() {} ;
|
||||||
|
void g_type_check_is_value_type() {} ;
|
||||||
|
void g_type_check_value() {} ;
|
||||||
|
void g_type_check_value_holds() {} ;
|
||||||
|
void g_type_children() {} ;
|
||||||
|
void g_type_class_add_private() {} ;
|
||||||
|
void g_type_class_peek() {} ;
|
||||||
|
void g_type_class_peek_parent() {} ;
|
||||||
|
void g_type_class_peek_static() {} ;
|
||||||
|
void g_type_class_ref() {} ;
|
||||||
|
void g_type_class_unref() {} ;
|
||||||
|
void g_type_class_unref_uncached() {} ;
|
||||||
|
void g_type_create_instance() {} ;
|
||||||
|
void g_type_default_interface_peek() {} ;
|
||||||
|
void g_type_default_interface_ref() {} ;
|
||||||
|
void g_type_default_interface_unref() {} ;
|
||||||
|
void g_type_depth() {} ;
|
||||||
|
void g_type_free_instance() {} ;
|
||||||
|
void g_type_from_name() {} ;
|
||||||
|
void g_type_fundamental() {} ;
|
||||||
|
void g_type_fundamental_next() {} ;
|
||||||
|
void g_type_get_plugin() {} ;
|
||||||
|
void g_type_get_qdata() {} ;
|
||||||
|
void g_type_init() {} ;
|
||||||
|
void g_type_init_with_debug_flags() {} ;
|
||||||
|
void g_type_instance_get_private() {} ;
|
||||||
|
void g_type_interface_add_prerequisite() {} ;
|
||||||
|
void g_type_interface_get_plugin() {} ;
|
||||||
|
void g_type_interface_peek() {} ;
|
||||||
|
void g_type_interface_peek_parent() {} ;
|
||||||
|
void g_type_interface_prerequisites() {} ;
|
||||||
|
void g_type_interfaces() {} ;
|
||||||
|
void g_type_is_a() {} ;
|
||||||
|
void g_type_module_add_interface() {} ;
|
||||||
|
void g_type_module_get_type() {} ;
|
||||||
|
void g_type_module_register_enum() {} ;
|
||||||
|
void g_type_module_register_flags() {} ;
|
||||||
|
void g_type_module_register_type() {} ;
|
||||||
|
void g_type_module_set_name() {} ;
|
||||||
|
void g_type_module_unuse() {} ;
|
||||||
|
void g_type_module_use() {} ;
|
||||||
|
void g_type_name() {} ;
|
||||||
|
void g_type_name_from_class() {} ;
|
||||||
|
void g_type_name_from_instance() {} ;
|
||||||
|
void g_type_next_base() {} ;
|
||||||
|
void g_type_parent() {} ;
|
||||||
|
void g_type_plugin_complete_interface_info() {} ;
|
||||||
|
void g_type_plugin_complete_type_info() {} ;
|
||||||
|
void g_type_plugin_get_type() {} ;
|
||||||
|
void g_type_plugin_unuse() {} ;
|
||||||
|
void g_type_plugin_use() {} ;
|
||||||
|
void g_type_qname() {} ;
|
||||||
|
void g_type_query() {} ;
|
||||||
|
void g_type_register_dynamic() {} ;
|
||||||
|
void g_type_register_fundamental() {} ;
|
||||||
|
void g_type_register_static() {} ;
|
||||||
|
void g_type_remove_class_cache_func() {} ;
|
||||||
|
void g_type_remove_interface_check() {} ;
|
||||||
|
void g_type_set_qdata() {} ;
|
||||||
|
void g_type_test_flags() {} ;
|
||||||
|
void g_type_value_table_peek() {} ;
|
||||||
|
void g_value_array_append() {} ;
|
||||||
|
void g_value_array_copy() {} ;
|
||||||
|
void g_value_array_free() {} ;
|
||||||
|
void g_value_array_get_nth() {} ;
|
||||||
|
void g_value_array_get_type() {} ;
|
||||||
|
void g_value_array_insert() {} ;
|
||||||
|
void g_value_array_new() {} ;
|
||||||
|
void g_value_array_prepend() {} ;
|
||||||
|
void g_value_array_remove() {} ;
|
||||||
|
void g_value_array_sort() {} ;
|
||||||
|
void g_value_array_sort_with_data() {} ;
|
||||||
|
void g_value_copy() {} ;
|
||||||
|
void g_value_dup_boxed() {} ;
|
||||||
|
void g_value_dup_object() {} ;
|
||||||
|
void g_value_dup_param() {} ;
|
||||||
|
void g_value_dup_string() {} ;
|
||||||
|
void g_value_fits_pointer() {} ;
|
||||||
|
void g_value_get_boolean() {} ;
|
||||||
|
void g_value_get_boxed() {} ;
|
||||||
|
void g_value_get_char() {} ;
|
||||||
|
void g_value_get_double() {} ;
|
||||||
|
void g_value_get_enum() {} ;
|
||||||
|
void g_value_get_flags() {} ;
|
||||||
|
void g_value_get_float() {} ;
|
||||||
|
void g_value_get_int() {} ;
|
||||||
|
void g_value_get_int64() {} ;
|
||||||
|
void g_value_get_long() {} ;
|
||||||
|
void g_value_get_object() {} ;
|
||||||
|
void g_value_get_param() {} ;
|
||||||
|
void g_value_get_pointer() {} ;
|
||||||
|
void g_value_get_string() {} ;
|
||||||
|
void g_value_get_type() {} ;
|
||||||
|
void g_value_get_uchar() {} ;
|
||||||
|
void g_value_get_uint() {} ;
|
||||||
|
void g_value_get_uint64() {} ;
|
||||||
|
void g_value_get_ulong() {} ;
|
||||||
|
void g_value_init() {} ;
|
||||||
|
void g_value_peek_pointer() {} ;
|
||||||
|
void g_value_register_transform_func() {} ;
|
||||||
|
void g_value_reset() {} ;
|
||||||
|
void g_value_set_boolean() {} ;
|
||||||
|
void g_value_set_boxed() {} ;
|
||||||
|
void g_value_set_char() {} ;
|
||||||
|
void g_value_set_double() {} ;
|
||||||
|
void g_value_set_enum() {} ;
|
||||||
|
void g_value_set_flags() {} ;
|
||||||
|
void g_value_set_float() {} ;
|
||||||
|
void g_value_set_instance() {} ;
|
||||||
|
void g_value_set_int() {} ;
|
||||||
|
void g_value_set_int64() {} ;
|
||||||
|
void g_value_set_long() {} ;
|
||||||
|
void g_value_set_object() {} ;
|
||||||
|
void g_value_set_param() {} ;
|
||||||
|
void g_value_set_pointer() {} ;
|
||||||
|
void g_value_set_static_boxed() {} ;
|
||||||
|
void g_value_set_static_string() {} ;
|
||||||
|
void g_value_set_string() {} ;
|
||||||
|
void g_value_set_uchar() {} ;
|
||||||
|
void g_value_set_uint() {} ;
|
||||||
|
void g_value_set_uint64() {} ;
|
||||||
|
void g_value_set_ulong() {} ;
|
||||||
|
void g_value_take_boxed() {} ;
|
||||||
|
void g_value_take_object() {} ;
|
||||||
|
void g_value_take_param() {} ;
|
||||||
|
void g_value_take_string() {} ;
|
||||||
|
void g_value_transform() {} ;
|
||||||
|
void g_value_type_compatible() {} ;
|
||||||
|
void g_value_type_transformable() {} ;
|
||||||
|
void g_value_unset() {} ;
|
||||||
|
__asm__(".globl g_param_spec_types; .pushsection .data; .type g_param_spec_types,@object; .size g_param_spec_types, 4; g_param_spec_types: .long 0; .popsection");
|
|
@ -0,0 +1 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
|
@ -0,0 +1,2 @@
|
||||||
|
void g_thread_init() {} ;
|
||||||
|
void g_thread_init_with_errorcheck_mutexes() {} ;
|
|
@ -0,0 +1 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,107 @@
|
||||||
|
LSB_DUMMY { __LSB_DUMMY; };
|
||||||
|
GLIBC_2.0 {
|
||||||
|
_pthread_cleanup_pop;
|
||||||
|
_pthread_cleanup_push;
|
||||||
|
pthread_attr_destroy;
|
||||||
|
pthread_attr_getdetachstate;
|
||||||
|
pthread_attr_getinheritsched;
|
||||||
|
pthread_attr_getschedparam;
|
||||||
|
pthread_attr_getschedpolicy;
|
||||||
|
pthread_attr_getscope;
|
||||||
|
pthread_attr_setdetachstate;
|
||||||
|
pthread_attr_setinheritsched;
|
||||||
|
pthread_attr_setschedparam;
|
||||||
|
pthread_attr_setschedpolicy;
|
||||||
|
pthread_attr_setscope;
|
||||||
|
pthread_cancel;
|
||||||
|
pthread_condattr_destroy;
|
||||||
|
pthread_condattr_init;
|
||||||
|
pthread_detach;
|
||||||
|
pthread_equal;
|
||||||
|
pthread_exit;
|
||||||
|
pthread_getschedparam;
|
||||||
|
pthread_getspecific;
|
||||||
|
pthread_join;
|
||||||
|
pthread_key_create;
|
||||||
|
pthread_key_delete;
|
||||||
|
pthread_kill;
|
||||||
|
pthread_mutex_destroy;
|
||||||
|
pthread_mutex_init;
|
||||||
|
pthread_mutex_lock;
|
||||||
|
pthread_mutex_trylock;
|
||||||
|
pthread_mutex_unlock;
|
||||||
|
pthread_mutexattr_destroy;
|
||||||
|
pthread_mutexattr_init;
|
||||||
|
pthread_once;
|
||||||
|
pthread_self;
|
||||||
|
pthread_setcancelstate;
|
||||||
|
pthread_setcanceltype;
|
||||||
|
pthread_setschedparam;
|
||||||
|
pthread_setspecific;
|
||||||
|
pthread_sigmask;
|
||||||
|
pthread_testcancel;
|
||||||
|
};
|
||||||
|
GLIBC_2.1 {
|
||||||
|
pthread_attr_getguardsize;
|
||||||
|
pthread_attr_getstackaddr;
|
||||||
|
pthread_attr_getstacksize;
|
||||||
|
pthread_attr_init;
|
||||||
|
pthread_attr_setguardsize;
|
||||||
|
pthread_attr_setstackaddr;
|
||||||
|
pthread_attr_setstacksize;
|
||||||
|
pthread_create;
|
||||||
|
pthread_getconcurrency;
|
||||||
|
pthread_mutexattr_gettype;
|
||||||
|
pthread_mutexattr_settype;
|
||||||
|
pthread_rwlock_destroy;
|
||||||
|
pthread_rwlock_init;
|
||||||
|
pthread_rwlock_rdlock;
|
||||||
|
pthread_rwlock_tryrdlock;
|
||||||
|
pthread_rwlock_trywrlock;
|
||||||
|
pthread_rwlock_unlock;
|
||||||
|
pthread_rwlock_wrlock;
|
||||||
|
pthread_rwlockattr_destroy;
|
||||||
|
pthread_rwlockattr_getpshared;
|
||||||
|
pthread_rwlockattr_init;
|
||||||
|
pthread_rwlockattr_setpshared;
|
||||||
|
pthread_setconcurrency;
|
||||||
|
sem_destroy;
|
||||||
|
sem_getvalue;
|
||||||
|
sem_init;
|
||||||
|
sem_post;
|
||||||
|
sem_trywait;
|
||||||
|
sem_wait;
|
||||||
|
};
|
||||||
|
GLIBC_2.1.1 {
|
||||||
|
sem_close;
|
||||||
|
sem_open;
|
||||||
|
sem_unlink;
|
||||||
|
};
|
||||||
|
GLIBC_2.2 {
|
||||||
|
lseek64;
|
||||||
|
open64;
|
||||||
|
pread;
|
||||||
|
pread64;
|
||||||
|
pthread_attr_getstack;
|
||||||
|
pthread_attr_setstack;
|
||||||
|
pthread_condattr_getpshared;
|
||||||
|
pthread_condattr_setpshared;
|
||||||
|
pthread_mutexattr_getpshared;
|
||||||
|
pthread_mutexattr_setpshared;
|
||||||
|
pthread_rwlock_timedrdlock;
|
||||||
|
pthread_rwlock_timedwrlock;
|
||||||
|
pwrite;
|
||||||
|
pwrite64;
|
||||||
|
sem_timedwait;
|
||||||
|
};
|
||||||
|
GLIBC_2.3.2 {
|
||||||
|
pthread_cond_broadcast;
|
||||||
|
pthread_cond_destroy;
|
||||||
|
pthread_cond_init;
|
||||||
|
pthread_cond_signal;
|
||||||
|
pthread_cond_timedwait;
|
||||||
|
pthread_cond_wait;
|
||||||
|
};
|
||||||
|
GLIBC_2.3.4 {
|
||||||
|
pthread_setschedprio;
|
||||||
|
};
|
|
@ -0,0 +1,94 @@
|
||||||
|
void _pthread_cleanup_pop() {} ;
|
||||||
|
void _pthread_cleanup_push() {} ;
|
||||||
|
void lseek64() {} ;
|
||||||
|
void open64() {} ;
|
||||||
|
void pread() {} ;
|
||||||
|
void pread64() {} ;
|
||||||
|
void pthread_attr_destroy() {} ;
|
||||||
|
void pthread_attr_getdetachstate() {} ;
|
||||||
|
void pthread_attr_getguardsize() {} ;
|
||||||
|
void pthread_attr_getinheritsched() {} ;
|
||||||
|
void pthread_attr_getschedparam() {} ;
|
||||||
|
void pthread_attr_getschedpolicy() {} ;
|
||||||
|
void pthread_attr_getscope() {} ;
|
||||||
|
void pthread_attr_getstack() {} ;
|
||||||
|
void pthread_attr_getstackaddr() {} ;
|
||||||
|
void pthread_attr_getstacksize() {} ;
|
||||||
|
void pthread_attr_init() {} ;
|
||||||
|
void pthread_attr_setdetachstate() {} ;
|
||||||
|
void pthread_attr_setguardsize() {} ;
|
||||||
|
void pthread_attr_setinheritsched() {} ;
|
||||||
|
void pthread_attr_setschedparam() {} ;
|
||||||
|
void pthread_attr_setschedpolicy() {} ;
|
||||||
|
void pthread_attr_setscope() {} ;
|
||||||
|
void pthread_attr_setstack() {} ;
|
||||||
|
void pthread_attr_setstackaddr() {} ;
|
||||||
|
void pthread_attr_setstacksize() {} ;
|
||||||
|
void pthread_cancel() {} ;
|
||||||
|
void pthread_cond_broadcast() {} ;
|
||||||
|
void pthread_cond_destroy() {} ;
|
||||||
|
void pthread_cond_init() {} ;
|
||||||
|
void pthread_cond_signal() {} ;
|
||||||
|
void pthread_cond_timedwait() {} ;
|
||||||
|
void pthread_cond_wait() {} ;
|
||||||
|
void pthread_condattr_destroy() {} ;
|
||||||
|
void pthread_condattr_getpshared() {} ;
|
||||||
|
void pthread_condattr_init() {} ;
|
||||||
|
void pthread_condattr_setpshared() {} ;
|
||||||
|
void pthread_create() {} ;
|
||||||
|
void pthread_detach() {} ;
|
||||||
|
void pthread_equal() {} ;
|
||||||
|
void pthread_exit() {} ;
|
||||||
|
void pthread_getconcurrency() {} ;
|
||||||
|
void pthread_getschedparam() {} ;
|
||||||
|
void pthread_getspecific() {} ;
|
||||||
|
void pthread_join() {} ;
|
||||||
|
void pthread_key_create() {} ;
|
||||||
|
void pthread_key_delete() {} ;
|
||||||
|
void pthread_kill() {} ;
|
||||||
|
void pthread_mutex_destroy() {} ;
|
||||||
|
void pthread_mutex_init() {} ;
|
||||||
|
void pthread_mutex_lock() {} ;
|
||||||
|
void pthread_mutex_trylock() {} ;
|
||||||
|
void pthread_mutex_unlock() {} ;
|
||||||
|
void pthread_mutexattr_destroy() {} ;
|
||||||
|
void pthread_mutexattr_getpshared() {} ;
|
||||||
|
void pthread_mutexattr_gettype() {} ;
|
||||||
|
void pthread_mutexattr_init() {} ;
|
||||||
|
void pthread_mutexattr_setpshared() {} ;
|
||||||
|
void pthread_mutexattr_settype() {} ;
|
||||||
|
void pthread_once() {} ;
|
||||||
|
void pthread_rwlock_destroy() {} ;
|
||||||
|
void pthread_rwlock_init() {} ;
|
||||||
|
void pthread_rwlock_rdlock() {} ;
|
||||||
|
void pthread_rwlock_timedrdlock() {} ;
|
||||||
|
void pthread_rwlock_timedwrlock() {} ;
|
||||||
|
void pthread_rwlock_tryrdlock() {} ;
|
||||||
|
void pthread_rwlock_trywrlock() {} ;
|
||||||
|
void pthread_rwlock_unlock() {} ;
|
||||||
|
void pthread_rwlock_wrlock() {} ;
|
||||||
|
void pthread_rwlockattr_destroy() {} ;
|
||||||
|
void pthread_rwlockattr_getpshared() {} ;
|
||||||
|
void pthread_rwlockattr_init() {} ;
|
||||||
|
void pthread_rwlockattr_setpshared() {} ;
|
||||||
|
void pthread_self() {} ;
|
||||||
|
void pthread_setcancelstate() {} ;
|
||||||
|
void pthread_setcanceltype() {} ;
|
||||||
|
void pthread_setconcurrency() {} ;
|
||||||
|
void pthread_setschedparam() {} ;
|
||||||
|
void pthread_setschedprio() {} ;
|
||||||
|
void pthread_setspecific() {} ;
|
||||||
|
void pthread_sigmask() {} ;
|
||||||
|
void pthread_testcancel() {} ;
|
||||||
|
void pwrite() {} ;
|
||||||
|
void pwrite64() {} ;
|
||||||
|
void sem_close() {} ;
|
||||||
|
void sem_destroy() {} ;
|
||||||
|
void sem_getvalue() {} ;
|
||||||
|
void sem_init() {} ;
|
||||||
|
void sem_open() {} ;
|
||||||
|
void sem_post() {} ;
|
||||||
|
void sem_timedwait() {} ;
|
||||||
|
void sem_trywait() {} ;
|
||||||
|
void sem_unlink() {} ;
|
||||||
|
void sem_wait() {} ;
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,182 @@
|
||||||
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Netscape Public
|
||||||
|
* License Version 1.1 (the "License"); you may not use this file
|
||||||
|
* except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.mozilla.org/NPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS
|
||||||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||||
|
* implied. See the License for the specific language governing
|
||||||
|
* rights and limitations under the License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is Netscape
|
||||||
|
* Communications Corporation. Portions created by Netscape are
|
||||||
|
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||||
|
* Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* This Original Code has been modified by IBM Corporation.
|
||||||
|
* Modifications made by IBM described herein are
|
||||||
|
* Copyright (c) International Business Machines
|
||||||
|
* Corporation, 2000
|
||||||
|
*
|
||||||
|
* Modifications to Mozilla code or documentation
|
||||||
|
* identified per MPL Section 3.3
|
||||||
|
*
|
||||||
|
* Date Modified by Description of modification
|
||||||
|
* 03/27/2000 IBM Corp. Set JNICALL to Optlink for
|
||||||
|
* use in OS2
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Netscape version of jni_md.h -- depends on jri_md.h
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef JNI_MD_H
|
||||||
|
#define JNI_MD_H
|
||||||
|
|
||||||
|
#include "prtypes.h" /* needed for _declspec */
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* WHAT'S UP WITH THIS FILE?
|
||||||
|
*
|
||||||
|
* This is where we define the mystical JNI_PUBLIC_API macro that works on all
|
||||||
|
* platforms. If you're running with Visual C++, Symantec C, or Borland's
|
||||||
|
* development environment on the PC, you're all set. Or if you're on the Mac
|
||||||
|
* with Metrowerks, Symantec or MPW with SC you're ok too. For UNIX it shouldn't
|
||||||
|
* matter.
|
||||||
|
|
||||||
|
* Changes by sailesh on 9/26
|
||||||
|
|
||||||
|
* There are two symbols used in the declaration of the JNI functions
|
||||||
|
* and native code that uses the JNI:
|
||||||
|
* JNICALL - specifies the calling convention
|
||||||
|
* JNIEXPORT - specifies export status of the function
|
||||||
|
*
|
||||||
|
* The syntax to specify calling conventions is different in Win16 and
|
||||||
|
* Win32 - the brains at Micro$oft at work here. JavaSoft in their
|
||||||
|
* infinite wisdom cares for no platform other than Win32, and so they
|
||||||
|
* just define these two symbols as:
|
||||||
|
|
||||||
|
#define JNIEXPORT __declspec(dllexport)
|
||||||
|
#define JNICALL __stdcall
|
||||||
|
|
||||||
|
* We deal with this, in the way JRI defines the JRI_PUBLIC_API, by
|
||||||
|
* defining a macro called JNI_PUBLIC_API. Any of our developers who
|
||||||
|
* wish to use code for Win16 and Win32, _must_ use JNI_PUBLIC_API to
|
||||||
|
* be able to export functions properly.
|
||||||
|
|
||||||
|
* Since we must also maintain compatibility with JavaSoft, we
|
||||||
|
* continue to define the symbol JNIEXPORT. However, use of this
|
||||||
|
* internally is deprecated, since it will cause a mess on Win16.
|
||||||
|
|
||||||
|
* We _do not_ need a new symbol called JNICALL. Instead we
|
||||||
|
* redefine JNICALL in the same way JRI_CALLBACK was defined.
|
||||||
|
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
/* DLL Entry modifiers... */
|
||||||
|
#if defined(XP_OS2)
|
||||||
|
# ifdef XP_OS2_VACPP
|
||||||
|
# define JNI_PUBLIC_API(ResultType) ResultType _System
|
||||||
|
# define JNI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JNICALL _Optlink
|
||||||
|
# define JNIEXPORT
|
||||||
|
# else
|
||||||
|
# define JNI_PUBLIC_API(ResultType) ResultType
|
||||||
|
# define JNI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JNICALL
|
||||||
|
# define JNIEXPORT
|
||||||
|
# endif
|
||||||
|
/* Win32 */
|
||||||
|
#elif defined(XP_WIN) || defined(_WINDOWS) || defined(WIN32) || defined(_WIN32)
|
||||||
|
# include <windows.h>
|
||||||
|
# if defined(_MSC_VER) || defined(__GNUC__)
|
||||||
|
# if defined(WIN32) || defined(_WIN32)
|
||||||
|
# define JNI_PUBLIC_API(ResultType) _declspec(dllexport) ResultType __stdcall
|
||||||
|
# define JNI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JNI_NATIVE_STUB(ResultType) _declspec(dllexport) ResultType
|
||||||
|
# define JNICALL __stdcall
|
||||||
|
# else /* !_WIN32 */
|
||||||
|
# if defined(_WINDLL)
|
||||||
|
# define JNI_PUBLIC_API(ResultType) ResultType __cdecl __export __loadds
|
||||||
|
# define JNI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JNI_NATIVE_STUB(ResultType) ResultType __cdecl __loadds
|
||||||
|
# define JNICALL __loadds
|
||||||
|
# else /* !WINDLL */
|
||||||
|
# define JNI_PUBLIC_API(ResultType) ResultType __cdecl __export
|
||||||
|
# define JNI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JNI_NATIVE_STUB(ResultType) ResultType __cdecl __export
|
||||||
|
# define JNICALL __export
|
||||||
|
# endif /* !WINDLL */
|
||||||
|
# endif /* !_WIN32 */
|
||||||
|
# elif defined(__BORLANDC__)
|
||||||
|
# if defined(WIN32) || defined(_WIN32)
|
||||||
|
# define JNI_PUBLIC_API(ResultType) __export ResultType
|
||||||
|
# define JNI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JNI_NATIVE_STUB(ResultType) __export ResultType
|
||||||
|
# define JNICALL
|
||||||
|
# else /* !_WIN32 */
|
||||||
|
# define JNI_PUBLIC_API(ResultType) ResultType _cdecl _export _loadds
|
||||||
|
# define JNI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JNI_NATIVE_STUB(ResultType) ResultType _cdecl _loadds
|
||||||
|
# define JNICALL _loadds
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# error Unsupported PC development environment.
|
||||||
|
# endif
|
||||||
|
# ifndef IS_LITTLE_ENDIAN
|
||||||
|
# define IS_LITTLE_ENDIAN
|
||||||
|
# endif
|
||||||
|
/* This is the stuff inherited from JavaSoft .. */
|
||||||
|
# define JNIEXPORT __declspec(dllexport)
|
||||||
|
|
||||||
|
|
||||||
|
/* Mac */
|
||||||
|
#elif macintosh || Macintosh || THINK_C
|
||||||
|
# if defined(__MWERKS__) /* Metrowerks */
|
||||||
|
# if !__option(enumsalwaysint)
|
||||||
|
# error You need to define 'Enums Always Int' for your project.
|
||||||
|
# endif
|
||||||
|
# if defined(TARGET_CPU_68K) && !TARGET_RT_MAC_CFM
|
||||||
|
# if !__option(fourbyteints)
|
||||||
|
# error You need to define 'Struct Alignment: 68k' for your project.
|
||||||
|
# endif
|
||||||
|
# endif /* !GENERATINGCFM */
|
||||||
|
# define JNI_PUBLIC_API(ResultType) __declspec(export) ResultType
|
||||||
|
# define JNI_PUBLIC_VAR(VarType) JNI_PUBLIC_API(VarType)
|
||||||
|
# define JNI_NATIVE_STUB(ResultType) JNI_PUBLIC_API(ResultType)
|
||||||
|
# elif defined(__SC__) /* Symantec */
|
||||||
|
# error What are the Symantec defines? (warren@netscape.com)
|
||||||
|
# elif macintosh && applec /* MPW */
|
||||||
|
# error Please upgrade to the latest MPW compiler (SC).
|
||||||
|
# else
|
||||||
|
# error Unsupported Mac development environment.
|
||||||
|
# endif
|
||||||
|
# define JNICALL
|
||||||
|
/* This is the stuff inherited from JavaSoft .. */
|
||||||
|
# define JNIEXPORT
|
||||||
|
|
||||||
|
/* Unix or else */
|
||||||
|
#else
|
||||||
|
# define JNI_PUBLIC_API(ResultType) ResultType
|
||||||
|
# define JNI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JNI_NATIVE_STUB(ResultType) ResultType
|
||||||
|
# define JNICALL
|
||||||
|
/* This is the stuff inherited from JavaSoft .. */
|
||||||
|
# define JNIEXPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FAR /* for non-Win16 */
|
||||||
|
#define FAR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Get the rest of the stuff from jri_md.h */
|
||||||
|
#include "jri_md.h"
|
||||||
|
|
||||||
|
#endif /* JNI_MD_H */
|
|
@ -0,0 +1,689 @@
|
||||||
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Netscape Public License
|
||||||
|
* Version 1.1 (the "License"); you may not use this file except in
|
||||||
|
* compliance with the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/NPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* Netscape Communications Corporation.
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the terms of
|
||||||
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
* of those above. If you wish to allow use of your version of this file only
|
||||||
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
* use your version of this file under the terms of the NPL, indicate your
|
||||||
|
* decision by deleting the provisions above and replace them with the notice
|
||||||
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
* the provisions above, a recipient may use your version of this file under
|
||||||
|
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Java Runtime Interface
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef JRI_H
|
||||||
|
#define JRI_H
|
||||||
|
|
||||||
|
#include "jritypes.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* JRIEnv
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
/* The type of the JRIEnv interface. */
|
||||||
|
typedef struct JRIEnvInterface JRIEnvInterface;
|
||||||
|
|
||||||
|
/* The type of a JRIEnv instance. */
|
||||||
|
typedef const JRIEnvInterface* JRIEnv;
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* JRIEnv Operations
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#define JRI_DefineClass(env, classLoader, buf, bufLen) \
|
||||||
|
(((*(env))->DefineClass)(env, JRI_DefineClass_op, classLoader, buf, bufLen))
|
||||||
|
|
||||||
|
#define JRI_FindClass(env, name) \
|
||||||
|
(((*(env))->FindClass)(env, JRI_FindClass_op, name))
|
||||||
|
|
||||||
|
#define JRI_Throw(env, obj) \
|
||||||
|
(((*(env))->Throw)(env, JRI_Throw_op, obj))
|
||||||
|
|
||||||
|
#define JRI_ThrowNew(env, clazz, message) \
|
||||||
|
(((*(env))->ThrowNew)(env, JRI_ThrowNew_op, clazz, message))
|
||||||
|
|
||||||
|
#define JRI_ExceptionOccurred(env) \
|
||||||
|
(((*(env))->ExceptionOccurred)(env, JRI_ExceptionOccurred_op))
|
||||||
|
|
||||||
|
#define JRI_ExceptionDescribe(env) \
|
||||||
|
(((*(env))->ExceptionDescribe)(env, JRI_ExceptionDescribe_op))
|
||||||
|
|
||||||
|
#define JRI_ExceptionClear(env) \
|
||||||
|
(((*(env))->ExceptionClear)(env, JRI_ExceptionClear_op))
|
||||||
|
|
||||||
|
#define JRI_NewGlobalRef(env, ref) \
|
||||||
|
(((*(env))->NewGlobalRef)(env, JRI_NewGlobalRef_op, ref))
|
||||||
|
|
||||||
|
#define JRI_DisposeGlobalRef(env, gref) \
|
||||||
|
(((*(env))->DisposeGlobalRef)(env, JRI_DisposeGlobalRef_op, gref))
|
||||||
|
|
||||||
|
#define JRI_GetGlobalRef(env, gref) \
|
||||||
|
(((*(env))->GetGlobalRef)(env, JRI_GetGlobalRef_op, gref))
|
||||||
|
|
||||||
|
#define JRI_SetGlobalRef(env, gref, ref) \
|
||||||
|
(((*(env))->SetGlobalRef)(env, JRI_SetGlobalRef_op, gref, ref))
|
||||||
|
|
||||||
|
#define JRI_IsSameObject(env, a, b) \
|
||||||
|
(((*(env))->IsSameObject)(env, JRI_IsSameObject_op, a, b))
|
||||||
|
|
||||||
|
#define JRI_NewObject(env) ((*(env))->NewObject)
|
||||||
|
#define JRI_NewObjectV(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->NewObjectV)(env, JRI_NewObject_op_va_list, clazz, methodID, args))
|
||||||
|
#define JRI_NewObjectA(env, clazz, method, args) \
|
||||||
|
(((*(env))->NewObjectA)(env, JRI_NewObject_op_array, clazz, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_GetObjectClass(env, obj) \
|
||||||
|
(((*(env))->GetObjectClass)(env, JRI_GetObjectClass_op, obj))
|
||||||
|
|
||||||
|
#define JRI_IsInstanceOf(env, obj, clazz) \
|
||||||
|
(((*(env))->IsInstanceOf)(env, JRI_IsInstanceOf_op, obj, clazz))
|
||||||
|
|
||||||
|
#define JRI_GetMethodID(env, clazz, name, sig) \
|
||||||
|
(((*(env))->GetMethodID)(env, JRI_GetMethodID_op, clazz, name, sig))
|
||||||
|
|
||||||
|
#define JRI_CallMethod(env) ((*(env))->CallMethod)
|
||||||
|
#define JRI_CallMethodV(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodV)(env, JRI_CallMethod_op_va_list, obj, methodID, args))
|
||||||
|
#define JRI_CallMethodA(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodA)(env, JRI_CallMethod_op_array, obj, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallMethodBoolean(env) ((*(env))->CallMethodBoolean)
|
||||||
|
#define JRI_CallMethodBooleanV(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodBooleanV)(env, JRI_CallMethodBoolean_op_va_list, obj, methodID, args))
|
||||||
|
#define JRI_CallMethodBooleanA(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodBooleanA)(env, JRI_CallMethodBoolean_op_array, obj, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallMethodByte(env) ((*(env))->CallMethodByte)
|
||||||
|
#define JRI_CallMethodByteV(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodByteV)(env, JRI_CallMethodByte_op_va_list, obj, methodID, args))
|
||||||
|
#define JRI_CallMethodByteA(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodByteA)(env, JRI_CallMethodByte_op_array, obj, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallMethodChar(env) ((*(env))->CallMethodChar)
|
||||||
|
#define JRI_CallMethodCharV(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodCharV)(env, JRI_CallMethodChar_op_va_list, obj, methodID, args))
|
||||||
|
#define JRI_CallMethodCharA(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodCharA)(env, JRI_CallMethodChar_op_array, obj, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallMethodShort(env) ((*(env))->CallMethodShort)
|
||||||
|
#define JRI_CallMethodShortV(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodShortV)(env, JRI_CallMethodShort_op_va_list, obj, methodID, args))
|
||||||
|
#define JRI_CallMethodShortA(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodShortA)(env, JRI_CallMethodShort_op_array, obj, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallMethodInt(env) ((*(env))->CallMethodInt)
|
||||||
|
#define JRI_CallMethodIntV(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodIntV)(env, JRI_CallMethodInt_op_va_list, obj, methodID, args))
|
||||||
|
#define JRI_CallMethodIntA(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodIntA)(env, JRI_CallMethodInt_op_array, obj, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallMethodLong(env) ((*(env))->CallMethodLong)
|
||||||
|
#define JRI_CallMethodLongV(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodLongV)(env, JRI_CallMethodLong_op_va_list, obj, methodID, args))
|
||||||
|
#define JRI_CallMethodLongA(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodLongA)(env, JRI_CallMethodLong_op_array, obj, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallMethodFloat(env) ((*(env))->CallMethodFloat)
|
||||||
|
#define JRI_CallMethodFloatV(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodFloatV)(env, JRI_CallMethodFloat_op_va_list, obj, methodID, args))
|
||||||
|
#define JRI_CallMethodFloatA(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodFloatA)(env, JRI_CallMethodFloat_op_array, obj, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallMethodDouble(env) ((*(env))->CallMethodDouble)
|
||||||
|
#define JRI_CallMethodDoubleV(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodDoubleV)(env, JRI_CallMethodDouble_op_va_list, obj, methodID, args))
|
||||||
|
#define JRI_CallMethodDoubleA(env, obj, methodID, args) \
|
||||||
|
(((*(env))->CallMethodDoubleA)(env, JRI_CallMethodDouble_op_array, obj, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_GetFieldID(env, clazz, name, sig) \
|
||||||
|
(((*(env))->GetFieldID)(env, JRI_GetFieldID_op, clazz, name, sig))
|
||||||
|
|
||||||
|
#define JRI_GetField(env, obj, fieldID) \
|
||||||
|
(((*(env))->GetField)(env, JRI_GetField_op, obj, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetFieldBoolean(env, obj, fieldID) \
|
||||||
|
(((*(env))->GetFieldBoolean)(env, JRI_GetFieldBoolean_op, obj, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetFieldByte(env, obj, fieldID) \
|
||||||
|
(((*(env))->GetFieldByte)(env, JRI_GetFieldByte_op, obj, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetFieldChar(env, obj, fieldID) \
|
||||||
|
(((*(env))->GetFieldChar)(env, JRI_GetFieldChar_op, obj, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetFieldShort(env, obj, fieldID) \
|
||||||
|
(((*(env))->GetFieldShort)(env, JRI_GetFieldShort_op, obj, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetFieldInt(env, obj, fieldID) \
|
||||||
|
(((*(env))->GetFieldInt)(env, JRI_GetFieldInt_op, obj, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetFieldLong(env, obj, fieldID) \
|
||||||
|
(((*(env))->GetFieldLong)(env, JRI_GetFieldLong_op, obj, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetFieldFloat(env, obj, fieldID) \
|
||||||
|
(((*(env))->GetFieldFloat)(env, JRI_GetFieldFloat_op, obj, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetFieldDouble(env, obj, fieldID) \
|
||||||
|
(((*(env))->GetFieldDouble)(env, JRI_GetFieldDouble_op, obj, fieldID))
|
||||||
|
|
||||||
|
#define JRI_SetField(env, obj, fieldID, value) \
|
||||||
|
(((*(env))->SetField)(env, JRI_SetField_op, obj, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetFieldBoolean(env, obj, fieldID, value) \
|
||||||
|
(((*(env))->SetFieldBoolean)(env, JRI_SetFieldBoolean_op, obj, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetFieldByte(env, obj, fieldID, value) \
|
||||||
|
(((*(env))->SetFieldByte)(env, JRI_SetFieldByte_op, obj, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetFieldChar(env, obj, fieldID, value) \
|
||||||
|
(((*(env))->SetFieldChar)(env, JRI_SetFieldChar_op, obj, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetFieldShort(env, obj, fieldID, value) \
|
||||||
|
(((*(env))->SetFieldShort)(env, JRI_SetFieldShort_op, obj, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetFieldInt(env, obj, fieldID, value) \
|
||||||
|
(((*(env))->SetFieldInt)(env, JRI_SetFieldInt_op, obj, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetFieldLong(env, obj, fieldID, value) \
|
||||||
|
(((*(env))->SetFieldLong)(env, JRI_SetFieldLong_op, obj, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetFieldFloat(env, obj, fieldID, value) \
|
||||||
|
(((*(env))->SetFieldFloat)(env, JRI_SetFieldFloat_op, obj, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetFieldDouble(env, obj, fieldID, value) \
|
||||||
|
(((*(env))->SetFieldDouble)(env, JRI_SetFieldDouble_op, obj, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_IsSubclassOf(env, a, b) \
|
||||||
|
(((*(env))->IsSubclassOf)(env, JRI_IsSubclassOf_op, a, b))
|
||||||
|
|
||||||
|
#define JRI_GetStaticMethodID(env, clazz, name, sig) \
|
||||||
|
(((*(env))->GetStaticMethodID)(env, JRI_GetStaticMethodID_op, clazz, name, sig))
|
||||||
|
|
||||||
|
#define JRI_CallStaticMethod(env) ((*(env))->CallStaticMethod)
|
||||||
|
#define JRI_CallStaticMethodV(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodV)(env, JRI_CallStaticMethod_op_va_list, clazz, methodID, args))
|
||||||
|
#define JRI_CallStaticMethodA(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodA)(env, JRI_CallStaticMethod_op_array, clazz, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallStaticMethodBoolean(env) ((*(env))->CallStaticMethodBoolean)
|
||||||
|
#define JRI_CallStaticMethodBooleanV(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodBooleanV)(env, JRI_CallStaticMethodBoolean_op_va_list, clazz, methodID, args))
|
||||||
|
#define JRI_CallStaticMethodBooleanA(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodBooleanA)(env, JRI_CallStaticMethodBoolean_op_array, clazz, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallStaticMethodByte(env) ((*(env))->CallStaticMethodByte)
|
||||||
|
#define JRI_CallStaticMethodByteV(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodByteV)(env, JRI_CallStaticMethodByte_op_va_list, clazz, methodID, args))
|
||||||
|
#define JRI_CallStaticMethodByteA(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodByteA)(env, JRI_CallStaticMethodByte_op_array, clazz, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallStaticMethodChar(env) ((*(env))->CallStaticMethodChar)
|
||||||
|
#define JRI_CallStaticMethodCharV(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodCharV)(env, JRI_CallStaticMethodChar_op_va_list, clazz, methodID, args))
|
||||||
|
#define JRI_CallStaticMethodCharA(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodCharA)(env, JRI_CallStaticMethodChar_op_array, clazz, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallStaticMethodShort(env) ((*(env))->CallStaticMethodShort)
|
||||||
|
#define JRI_CallStaticMethodShortV(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodShortV)(env, JRI_CallStaticMethodShort_op_va_list, clazz, methodID, args))
|
||||||
|
#define JRI_CallStaticMethodShortA(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodShortA)(env, JRI_CallStaticMethodShort_op_array, clazz, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallStaticMethodInt(env) ((*(env))->CallStaticMethodInt)
|
||||||
|
#define JRI_CallStaticMethodIntV(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodIntV)(env, JRI_CallStaticMethodInt_op_va_list, clazz, methodID, args))
|
||||||
|
#define JRI_CallStaticMethodIntA(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodIntA)(env, JRI_CallStaticMethodInt_op_array, clazz, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallStaticMethodLong(env) ((*(env))->CallStaticMethodLong)
|
||||||
|
#define JRI_CallStaticMethodLongV(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodLongV)(env, JRI_CallStaticMethodLong_op_va_list, clazz, methodID, args))
|
||||||
|
#define JRI_CallStaticMethodLongA(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodLongA)(env, JRI_CallStaticMethodLong_op_array, clazz, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallStaticMethodFloat(env) ((*(env))->CallStaticMethodFloat)
|
||||||
|
#define JRI_CallStaticMethodFloatV(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodFloatV)(env, JRI_CallStaticMethodFloat_op_va_list, clazz, methodID, args))
|
||||||
|
#define JRI_CallStaticMethodFloatA(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodFloatA)(env, JRI_CallStaticMethodFloat_op_array, clazz, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_CallStaticMethodDouble(env) ((*(env))->CallStaticMethodDouble)
|
||||||
|
#define JRI_CallStaticMethodDoubleV(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodDoubleV)(env, JRI_CallStaticMethodDouble_op_va_list, clazz, methodID, args))
|
||||||
|
#define JRI_CallStaticMethodDoubleA(env, clazz, methodID, args) \
|
||||||
|
(((*(env))->CallStaticMethodDoubleA)(env, JRI_CallStaticMethodDouble_op_array, clazz, methodID, args))
|
||||||
|
|
||||||
|
#define JRI_GetStaticFieldID(env, clazz, name, sig) \
|
||||||
|
(((*(env))->GetStaticFieldID)(env, JRI_GetStaticFieldID_op, clazz, name, sig))
|
||||||
|
|
||||||
|
#define JRI_GetStaticField(env, clazz, fieldID) \
|
||||||
|
(((*(env))->GetStaticField)(env, JRI_GetStaticField_op, clazz, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetStaticFieldBoolean(env, clazz, fieldID) \
|
||||||
|
(((*(env))->GetStaticFieldBoolean)(env, JRI_GetStaticFieldBoolean_op, clazz, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetStaticFieldByte(env, clazz, fieldID) \
|
||||||
|
(((*(env))->GetStaticFieldByte)(env, JRI_GetStaticFieldByte_op, clazz, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetStaticFieldChar(env, clazz, fieldID) \
|
||||||
|
(((*(env))->GetStaticFieldChar)(env, JRI_GetStaticFieldChar_op, clazz, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetStaticFieldShort(env, clazz, fieldID) \
|
||||||
|
(((*(env))->GetStaticFieldShort)(env, JRI_GetStaticFieldShort_op, clazz, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetStaticFieldInt(env, clazz, fieldID) \
|
||||||
|
(((*(env))->GetStaticFieldInt)(env, JRI_GetStaticFieldInt_op, clazz, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetStaticFieldLong(env, clazz, fieldID) \
|
||||||
|
(((*(env))->GetStaticFieldLong)(env, JRI_GetStaticFieldLong_op, clazz, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetStaticFieldFloat(env, clazz, fieldID) \
|
||||||
|
(((*(env))->GetStaticFieldFloat)(env, JRI_GetStaticFieldFloat_op, clazz, fieldID))
|
||||||
|
|
||||||
|
#define JRI_GetStaticFieldDouble(env, clazz, fieldID) \
|
||||||
|
(((*(env))->GetStaticFieldDouble)(env, JRI_GetStaticFieldDouble_op, clazz, fieldID))
|
||||||
|
|
||||||
|
#define JRI_SetStaticField(env, clazz, fieldID, value) \
|
||||||
|
(((*(env))->SetStaticField)(env, JRI_SetStaticField_op, clazz, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetStaticFieldBoolean(env, clazz, fieldID, value) \
|
||||||
|
(((*(env))->SetStaticFieldBoolean)(env, JRI_SetStaticFieldBoolean_op, clazz, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetStaticFieldByte(env, clazz, fieldID, value) \
|
||||||
|
(((*(env))->SetStaticFieldByte)(env, JRI_SetStaticFieldByte_op, clazz, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetStaticFieldChar(env, clazz, fieldID, value) \
|
||||||
|
(((*(env))->SetStaticFieldChar)(env, JRI_SetStaticFieldChar_op, clazz, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetStaticFieldShort(env, clazz, fieldID, value) \
|
||||||
|
(((*(env))->SetStaticFieldShort)(env, JRI_SetStaticFieldShort_op, clazz, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetStaticFieldInt(env, clazz, fieldID, value) \
|
||||||
|
(((*(env))->SetStaticFieldInt)(env, JRI_SetStaticFieldInt_op, clazz, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetStaticFieldLong(env, clazz, fieldID, value) \
|
||||||
|
(((*(env))->SetStaticFieldLong)(env, JRI_SetStaticFieldLong_op, clazz, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetStaticFieldFloat(env, clazz, fieldID, value) \
|
||||||
|
(((*(env))->SetStaticFieldFloat)(env, JRI_SetStaticFieldFloat_op, clazz, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_SetStaticFieldDouble(env, clazz, fieldID, value) \
|
||||||
|
(((*(env))->SetStaticFieldDouble)(env, JRI_SetStaticFieldDouble_op, clazz, fieldID, value))
|
||||||
|
|
||||||
|
#define JRI_NewString(env, unicode, len) \
|
||||||
|
(((*(env))->NewString)(env, JRI_NewString_op, unicode, len))
|
||||||
|
|
||||||
|
#define JRI_GetStringLength(env, string) \
|
||||||
|
(((*(env))->GetStringLength)(env, JRI_GetStringLength_op, string))
|
||||||
|
|
||||||
|
#define JRI_GetStringChars(env, string) \
|
||||||
|
(((*(env))->GetStringChars)(env, JRI_GetStringChars_op, string))
|
||||||
|
|
||||||
|
#define JRI_NewStringUTF(env, utf, len) \
|
||||||
|
(((*(env))->NewStringUTF)(env, JRI_NewStringUTF_op, utf, len))
|
||||||
|
|
||||||
|
#define JRI_GetStringUTFLength(env, string) \
|
||||||
|
(((*(env))->GetStringUTFLength)(env, JRI_GetStringUTFLength_op, string))
|
||||||
|
|
||||||
|
#define JRI_GetStringUTFChars(env, string) \
|
||||||
|
(((*(env))->GetStringUTFChars)(env, JRI_GetStringUTFChars_op, string))
|
||||||
|
|
||||||
|
#define JRI_NewScalarArray(env, length, elementSig, initialElements) \
|
||||||
|
(((*(env))->NewScalarArray)(env, JRI_NewScalarArray_op, length, elementSig, initialElements))
|
||||||
|
|
||||||
|
#define JRI_GetScalarArrayLength(env, array) \
|
||||||
|
(((*(env))->GetScalarArrayLength)(env, JRI_GetScalarArrayLength_op, array))
|
||||||
|
|
||||||
|
#define JRI_GetScalarArrayElements(env, array) \
|
||||||
|
(((*(env))->GetScalarArrayElements)(env, JRI_GetScalarArrayElements_op, array))
|
||||||
|
|
||||||
|
#define JRI_NewObjectArray(env, length, elementClass, initialElement) \
|
||||||
|
(((*(env))->NewObjectArray)(env, JRI_NewObjectArray_op, length, elementClass, initialElement))
|
||||||
|
|
||||||
|
#define JRI_GetObjectArrayLength(env, array) \
|
||||||
|
(((*(env))->GetObjectArrayLength)(env, JRI_GetObjectArrayLength_op, array))
|
||||||
|
|
||||||
|
#define JRI_GetObjectArrayElement(env, array, index) \
|
||||||
|
(((*(env))->GetObjectArrayElement)(env, JRI_GetObjectArrayElement_op, array, index))
|
||||||
|
|
||||||
|
#define JRI_SetObjectArrayElement(env, array, index, value) \
|
||||||
|
(((*(env))->SetObjectArrayElement)(env, JRI_SetObjectArrayElement_op, array, index, value))
|
||||||
|
|
||||||
|
#define JRI_RegisterNatives(env, clazz, nameAndSigArray, nativeProcArray) \
|
||||||
|
(((*(env))->RegisterNatives)(env, JRI_RegisterNatives_op, clazz, nameAndSigArray, nativeProcArray))
|
||||||
|
|
||||||
|
#define JRI_UnregisterNatives(env, clazz) \
|
||||||
|
(((*(env))->UnregisterNatives)(env, JRI_UnregisterNatives_op, clazz))
|
||||||
|
|
||||||
|
#define JRI_NewStringPlatform(env, string, len, encoding, encodingLength) \
|
||||||
|
(((*(env))->NewStringPlatform)(env, JRI_NewStringPlatform_op, string, len, encoding, encodingLength))
|
||||||
|
|
||||||
|
#define JRI_GetStringPlatformChars(env, string, encoding, encodingLength) \
|
||||||
|
(((*(env))->GetStringPlatformChars)(env, JRI_GetStringPlatformChars_op, string, encoding, encodingLength))
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* JRIEnv Interface
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
struct java_lang_ClassLoader;
|
||||||
|
struct java_lang_Class;
|
||||||
|
struct java_lang_Throwable;
|
||||||
|
struct java_lang_Object;
|
||||||
|
struct java_lang_String;
|
||||||
|
|
||||||
|
struct JRIEnvInterface {
|
||||||
|
void* reserved0;
|
||||||
|
void* reserved1;
|
||||||
|
void* reserved2;
|
||||||
|
void* reserved3;
|
||||||
|
struct java_lang_Class* (*FindClass)(JRIEnv* env, jint op, const char* a);
|
||||||
|
void (*Throw)(JRIEnv* env, jint op, struct java_lang_Throwable* a);
|
||||||
|
void (*ThrowNew)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b);
|
||||||
|
struct java_lang_Throwable* (*ExceptionOccurred)(JRIEnv* env, jint op);
|
||||||
|
void (*ExceptionDescribe)(JRIEnv* env, jint op);
|
||||||
|
void (*ExceptionClear)(JRIEnv* env, jint op);
|
||||||
|
jglobal (*NewGlobalRef)(JRIEnv* env, jint op, void* a);
|
||||||
|
void (*DisposeGlobalRef)(JRIEnv* env, jint op, jglobal a);
|
||||||
|
void* (*GetGlobalRef)(JRIEnv* env, jint op, jglobal a);
|
||||||
|
void (*SetGlobalRef)(JRIEnv* env, jint op, jglobal a, void* b);
|
||||||
|
jbool (*IsSameObject)(JRIEnv* env, jint op, void* a, void* b);
|
||||||
|
void* (*NewObject)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
|
||||||
|
void* (*NewObjectV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
|
||||||
|
void* (*NewObjectA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
|
||||||
|
struct java_lang_Class* (*GetObjectClass)(JRIEnv* env, jint op, void* a);
|
||||||
|
jbool (*IsInstanceOf)(JRIEnv* env, jint op, void* a, struct java_lang_Class* b);
|
||||||
|
jint (*GetMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
|
||||||
|
void* (*CallMethod)(JRIEnv* env, jint op, void* a, jint b, ...);
|
||||||
|
void* (*CallMethodV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
|
||||||
|
void* (*CallMethodA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
|
||||||
|
jbool (*CallMethodBoolean)(JRIEnv* env, jint op, void* a, jint b, ...);
|
||||||
|
jbool (*CallMethodBooleanV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
|
||||||
|
jbool (*CallMethodBooleanA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
|
||||||
|
jbyte (*CallMethodByte)(JRIEnv* env, jint op, void* a, jint b, ...);
|
||||||
|
jbyte (*CallMethodByteV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
|
||||||
|
jbyte (*CallMethodByteA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
|
||||||
|
jchar (*CallMethodChar)(JRIEnv* env, jint op, void* a, jint b, ...);
|
||||||
|
jchar (*CallMethodCharV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
|
||||||
|
jchar (*CallMethodCharA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
|
||||||
|
jshort (*CallMethodShort)(JRIEnv* env, jint op, void* a, jint b, ...);
|
||||||
|
jshort (*CallMethodShortV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
|
||||||
|
jshort (*CallMethodShortA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
|
||||||
|
jint (*CallMethodInt)(JRIEnv* env, jint op, void* a, jint b, ...);
|
||||||
|
jint (*CallMethodIntV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
|
||||||
|
jint (*CallMethodIntA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
|
||||||
|
jlong (*CallMethodLong)(JRIEnv* env, jint op, void* a, jint b, ...);
|
||||||
|
jlong (*CallMethodLongV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
|
||||||
|
jlong (*CallMethodLongA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
|
||||||
|
jfloat (*CallMethodFloat)(JRIEnv* env, jint op, void* a, jint b, ...);
|
||||||
|
jfloat (*CallMethodFloatV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
|
||||||
|
jfloat (*CallMethodFloatA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
|
||||||
|
jdouble (*CallMethodDouble)(JRIEnv* env, jint op, void* a, jint b, ...);
|
||||||
|
jdouble (*CallMethodDoubleV)(JRIEnv* env, jint op, void* a, jint b, va_list c);
|
||||||
|
jdouble (*CallMethodDoubleA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c);
|
||||||
|
jint (*GetFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
|
||||||
|
void* (*GetField)(JRIEnv* env, jint op, void* a, jint b);
|
||||||
|
jbool (*GetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b);
|
||||||
|
jbyte (*GetFieldByte)(JRIEnv* env, jint op, void* a, jint b);
|
||||||
|
jchar (*GetFieldChar)(JRIEnv* env, jint op, void* a, jint b);
|
||||||
|
jshort (*GetFieldShort)(JRIEnv* env, jint op, void* a, jint b);
|
||||||
|
jint (*GetFieldInt)(JRIEnv* env, jint op, void* a, jint b);
|
||||||
|
jlong (*GetFieldLong)(JRIEnv* env, jint op, void* a, jint b);
|
||||||
|
jfloat (*GetFieldFloat)(JRIEnv* env, jint op, void* a, jint b);
|
||||||
|
jdouble (*GetFieldDouble)(JRIEnv* env, jint op, void* a, jint b);
|
||||||
|
void (*SetField)(JRIEnv* env, jint op, void* a, jint b, void* c);
|
||||||
|
void (*SetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b, jbool c);
|
||||||
|
void (*SetFieldByte)(JRIEnv* env, jint op, void* a, jint b, jbyte c);
|
||||||
|
void (*SetFieldChar)(JRIEnv* env, jint op, void* a, jint b, jchar c);
|
||||||
|
void (*SetFieldShort)(JRIEnv* env, jint op, void* a, jint b, jshort c);
|
||||||
|
void (*SetFieldInt)(JRIEnv* env, jint op, void* a, jint b, jint c);
|
||||||
|
void (*SetFieldLong)(JRIEnv* env, jint op, void* a, jint b, jlong c);
|
||||||
|
void (*SetFieldFloat)(JRIEnv* env, jint op, void* a, jint b, jfloat c);
|
||||||
|
void (*SetFieldDouble)(JRIEnv* env, jint op, void* a, jint b, jdouble c);
|
||||||
|
jbool (*IsSubclassOf)(JRIEnv* env, jint op, struct java_lang_Class* a, struct java_lang_Class* b);
|
||||||
|
jint (*GetStaticMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
|
||||||
|
void* (*CallStaticMethod)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
|
||||||
|
void* (*CallStaticMethodV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
|
||||||
|
void* (*CallStaticMethodA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
|
||||||
|
jbool (*CallStaticMethodBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
|
||||||
|
jbool (*CallStaticMethodBooleanV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
|
||||||
|
jbool (*CallStaticMethodBooleanA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
|
||||||
|
jbyte (*CallStaticMethodByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
|
||||||
|
jbyte (*CallStaticMethodByteV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
|
||||||
|
jbyte (*CallStaticMethodByteA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
|
||||||
|
jchar (*CallStaticMethodChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
|
||||||
|
jchar (*CallStaticMethodCharV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
|
||||||
|
jchar (*CallStaticMethodCharA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
|
||||||
|
jshort (*CallStaticMethodShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
|
||||||
|
jshort (*CallStaticMethodShortV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
|
||||||
|
jshort (*CallStaticMethodShortA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
|
||||||
|
jint (*CallStaticMethodInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
|
||||||
|
jint (*CallStaticMethodIntV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
|
||||||
|
jint (*CallStaticMethodIntA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
|
||||||
|
jlong (*CallStaticMethodLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
|
||||||
|
jlong (*CallStaticMethodLongV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
|
||||||
|
jlong (*CallStaticMethodLongA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
|
||||||
|
jfloat (*CallStaticMethodFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
|
||||||
|
jfloat (*CallStaticMethodFloatV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
|
||||||
|
jfloat (*CallStaticMethodFloatA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
|
||||||
|
jdouble (*CallStaticMethodDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...);
|
||||||
|
jdouble (*CallStaticMethodDoubleV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c);
|
||||||
|
jdouble (*CallStaticMethodDoubleA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c);
|
||||||
|
jint (*GetStaticFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c);
|
||||||
|
void* (*GetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
|
||||||
|
jbool (*GetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
|
||||||
|
jbyte (*GetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
|
||||||
|
jchar (*GetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
|
||||||
|
jshort (*GetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
|
||||||
|
jint (*GetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
|
||||||
|
jlong (*GetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
|
||||||
|
jfloat (*GetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
|
||||||
|
jdouble (*GetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b);
|
||||||
|
void (*SetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, void* c);
|
||||||
|
void (*SetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbool c);
|
||||||
|
void (*SetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbyte c);
|
||||||
|
void (*SetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jchar c);
|
||||||
|
void (*SetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jshort c);
|
||||||
|
void (*SetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jint c);
|
||||||
|
void (*SetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jlong c);
|
||||||
|
void (*SetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jfloat c);
|
||||||
|
void (*SetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jdouble c);
|
||||||
|
struct java_lang_String* (*NewString)(JRIEnv* env, jint op, const jchar* a, jint b);
|
||||||
|
jint (*GetStringLength)(JRIEnv* env, jint op, struct java_lang_String* a);
|
||||||
|
const jchar* (*GetStringChars)(JRIEnv* env, jint op, struct java_lang_String* a);
|
||||||
|
struct java_lang_String* (*NewStringUTF)(JRIEnv* env, jint op, const jbyte* a, jint b);
|
||||||
|
jint (*GetStringUTFLength)(JRIEnv* env, jint op, struct java_lang_String* a);
|
||||||
|
const jbyte* (*GetStringUTFChars)(JRIEnv* env, jint op, struct java_lang_String* a);
|
||||||
|
void* (*NewScalarArray)(JRIEnv* env, jint op, jint a, const char* b, const jbyte* c);
|
||||||
|
jint (*GetScalarArrayLength)(JRIEnv* env, jint op, void* a);
|
||||||
|
jbyte* (*GetScalarArrayElements)(JRIEnv* env, jint op, void* a);
|
||||||
|
void* (*NewObjectArray)(JRIEnv* env, jint op, jint a, struct java_lang_Class* b, void* c);
|
||||||
|
jint (*GetObjectArrayLength)(JRIEnv* env, jint op, void* a);
|
||||||
|
void* (*GetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b);
|
||||||
|
void (*SetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b, void* c);
|
||||||
|
void (*RegisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a, char** b, void** c);
|
||||||
|
void (*UnregisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a);
|
||||||
|
struct java_lang_Class* (*DefineClass)(JRIEnv* env, jint op, struct java_lang_ClassLoader* a, jbyte* b, jsize bLen);
|
||||||
|
struct java_lang_String* (*NewStringPlatform)(JRIEnv* env, jint op, const jbyte* a, jint b, const jbyte* c, jint d);
|
||||||
|
const jbyte* (*GetStringPlatformChars)(JRIEnv* env, jint op, struct java_lang_String* a, const jbyte* b, jint c);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
** ****************************************************************************
|
||||||
|
** JRIEnv Operation IDs
|
||||||
|
** ***************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef enum JRIEnvOperations {
|
||||||
|
JRI_Reserved0_op,
|
||||||
|
JRI_Reserved1_op,
|
||||||
|
JRI_Reserved2_op,
|
||||||
|
JRI_Reserved3_op,
|
||||||
|
JRI_FindClass_op,
|
||||||
|
JRI_Throw_op,
|
||||||
|
JRI_ThrowNew_op,
|
||||||
|
JRI_ExceptionOccurred_op,
|
||||||
|
JRI_ExceptionDescribe_op,
|
||||||
|
JRI_ExceptionClear_op,
|
||||||
|
JRI_NewGlobalRef_op,
|
||||||
|
JRI_DisposeGlobalRef_op,
|
||||||
|
JRI_GetGlobalRef_op,
|
||||||
|
JRI_SetGlobalRef_op,
|
||||||
|
JRI_IsSameObject_op,
|
||||||
|
JRI_NewObject_op,
|
||||||
|
JRI_NewObject_op_va_list,
|
||||||
|
JRI_NewObject_op_array,
|
||||||
|
JRI_GetObjectClass_op,
|
||||||
|
JRI_IsInstanceOf_op,
|
||||||
|
JRI_GetMethodID_op,
|
||||||
|
JRI_CallMethod_op,
|
||||||
|
JRI_CallMethod_op_va_list,
|
||||||
|
JRI_CallMethod_op_array,
|
||||||
|
JRI_CallMethodBoolean_op,
|
||||||
|
JRI_CallMethodBoolean_op_va_list,
|
||||||
|
JRI_CallMethodBoolean_op_array,
|
||||||
|
JRI_CallMethodByte_op,
|
||||||
|
JRI_CallMethodByte_op_va_list,
|
||||||
|
JRI_CallMethodByte_op_array,
|
||||||
|
JRI_CallMethodChar_op,
|
||||||
|
JRI_CallMethodChar_op_va_list,
|
||||||
|
JRI_CallMethodChar_op_array,
|
||||||
|
JRI_CallMethodShort_op,
|
||||||
|
JRI_CallMethodShort_op_va_list,
|
||||||
|
JRI_CallMethodShort_op_array,
|
||||||
|
JRI_CallMethodInt_op,
|
||||||
|
JRI_CallMethodInt_op_va_list,
|
||||||
|
JRI_CallMethodInt_op_array,
|
||||||
|
JRI_CallMethodLong_op,
|
||||||
|
JRI_CallMethodLong_op_va_list,
|
||||||
|
JRI_CallMethodLong_op_array,
|
||||||
|
JRI_CallMethodFloat_op,
|
||||||
|
JRI_CallMethodFloat_op_va_list,
|
||||||
|
JRI_CallMethodFloat_op_array,
|
||||||
|
JRI_CallMethodDouble_op,
|
||||||
|
JRI_CallMethodDouble_op_va_list,
|
||||||
|
JRI_CallMethodDouble_op_array,
|
||||||
|
JRI_GetFieldID_op,
|
||||||
|
JRI_GetField_op,
|
||||||
|
JRI_GetFieldBoolean_op,
|
||||||
|
JRI_GetFieldByte_op,
|
||||||
|
JRI_GetFieldChar_op,
|
||||||
|
JRI_GetFieldShort_op,
|
||||||
|
JRI_GetFieldInt_op,
|
||||||
|
JRI_GetFieldLong_op,
|
||||||
|
JRI_GetFieldFloat_op,
|
||||||
|
JRI_GetFieldDouble_op,
|
||||||
|
JRI_SetField_op,
|
||||||
|
JRI_SetFieldBoolean_op,
|
||||||
|
JRI_SetFieldByte_op,
|
||||||
|
JRI_SetFieldChar_op,
|
||||||
|
JRI_SetFieldShort_op,
|
||||||
|
JRI_SetFieldInt_op,
|
||||||
|
JRI_SetFieldLong_op,
|
||||||
|
JRI_SetFieldFloat_op,
|
||||||
|
JRI_SetFieldDouble_op,
|
||||||
|
JRI_IsSubclassOf_op,
|
||||||
|
JRI_GetStaticMethodID_op,
|
||||||
|
JRI_CallStaticMethod_op,
|
||||||
|
JRI_CallStaticMethod_op_va_list,
|
||||||
|
JRI_CallStaticMethod_op_array,
|
||||||
|
JRI_CallStaticMethodBoolean_op,
|
||||||
|
JRI_CallStaticMethodBoolean_op_va_list,
|
||||||
|
JRI_CallStaticMethodBoolean_op_array,
|
||||||
|
JRI_CallStaticMethodByte_op,
|
||||||
|
JRI_CallStaticMethodByte_op_va_list,
|
||||||
|
JRI_CallStaticMethodByte_op_array,
|
||||||
|
JRI_CallStaticMethodChar_op,
|
||||||
|
JRI_CallStaticMethodChar_op_va_list,
|
||||||
|
JRI_CallStaticMethodChar_op_array,
|
||||||
|
JRI_CallStaticMethodShort_op,
|
||||||
|
JRI_CallStaticMethodShort_op_va_list,
|
||||||
|
JRI_CallStaticMethodShort_op_array,
|
||||||
|
JRI_CallStaticMethodInt_op,
|
||||||
|
JRI_CallStaticMethodInt_op_va_list,
|
||||||
|
JRI_CallStaticMethodInt_op_array,
|
||||||
|
JRI_CallStaticMethodLong_op,
|
||||||
|
JRI_CallStaticMethodLong_op_va_list,
|
||||||
|
JRI_CallStaticMethodLong_op_array,
|
||||||
|
JRI_CallStaticMethodFloat_op,
|
||||||
|
JRI_CallStaticMethodFloat_op_va_list,
|
||||||
|
JRI_CallStaticMethodFloat_op_array,
|
||||||
|
JRI_CallStaticMethodDouble_op,
|
||||||
|
JRI_CallStaticMethodDouble_op_va_list,
|
||||||
|
JRI_CallStaticMethodDouble_op_array,
|
||||||
|
JRI_GetStaticFieldID_op,
|
||||||
|
JRI_GetStaticField_op,
|
||||||
|
JRI_GetStaticFieldBoolean_op,
|
||||||
|
JRI_GetStaticFieldByte_op,
|
||||||
|
JRI_GetStaticFieldChar_op,
|
||||||
|
JRI_GetStaticFieldShort_op,
|
||||||
|
JRI_GetStaticFieldInt_op,
|
||||||
|
JRI_GetStaticFieldLong_op,
|
||||||
|
JRI_GetStaticFieldFloat_op,
|
||||||
|
JRI_GetStaticFieldDouble_op,
|
||||||
|
JRI_SetStaticField_op,
|
||||||
|
JRI_SetStaticFieldBoolean_op,
|
||||||
|
JRI_SetStaticFieldByte_op,
|
||||||
|
JRI_SetStaticFieldChar_op,
|
||||||
|
JRI_SetStaticFieldShort_op,
|
||||||
|
JRI_SetStaticFieldInt_op,
|
||||||
|
JRI_SetStaticFieldLong_op,
|
||||||
|
JRI_SetStaticFieldFloat_op,
|
||||||
|
JRI_SetStaticFieldDouble_op,
|
||||||
|
JRI_NewString_op,
|
||||||
|
JRI_GetStringLength_op,
|
||||||
|
JRI_GetStringChars_op,
|
||||||
|
JRI_NewStringUTF_op,
|
||||||
|
JRI_GetStringUTFLength_op,
|
||||||
|
JRI_GetStringUTFChars_op,
|
||||||
|
JRI_NewScalarArray_op,
|
||||||
|
JRI_GetScalarArrayLength_op,
|
||||||
|
JRI_GetScalarArrayElements_op,
|
||||||
|
JRI_NewObjectArray_op,
|
||||||
|
JRI_GetObjectArrayLength_op,
|
||||||
|
JRI_GetObjectArrayElement_op,
|
||||||
|
JRI_SetObjectArrayElement_op,
|
||||||
|
JRI_RegisterNatives_op,
|
||||||
|
JRI_UnregisterNatives_op,
|
||||||
|
JRI_DefineClass_op,
|
||||||
|
JRI_NewStringPlatform_op,
|
||||||
|
JRI_GetStringPlatformChars_op
|
||||||
|
} JRIEnvOperations;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* JRI_H */
|
||||||
|
/******************************************************************************/
|
|
@ -0,0 +1,565 @@
|
||||||
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Netscape Public License
|
||||||
|
* Version 1.1 (the "License"); you may not use this file except in
|
||||||
|
* compliance with the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/NPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* Netscape Communications Corporation.
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the terms of
|
||||||
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
* of those above. If you wish to allow use of your version of this file only
|
||||||
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
* use your version of this file under the terms of the NPL, indicate your
|
||||||
|
* decision by deleting the provisions above and replace them with the notice
|
||||||
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
* the provisions above, a recipient may use your version of this file under
|
||||||
|
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Java Runtime Interface - Machine Dependent Types
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef JRI_MD_H
|
||||||
|
#define JRI_MD_H
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
#include "prtypes.h" /* Needed for HAS_LONG_LONG ifdefs */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* WHAT'S UP WITH THIS FILE?
|
||||||
|
*
|
||||||
|
* This is where we define the mystical JRI_PUBLIC_API macro that works on all
|
||||||
|
* platforms. If you're running with Visual C++, Symantec C, or Borland's
|
||||||
|
* development environment on the PC, you're all set. Or if you're on the Mac
|
||||||
|
* with Metrowerks, Symantec or MPW with SC you're ok too. For UNIX it shouldn't
|
||||||
|
* matter.
|
||||||
|
*
|
||||||
|
* On UNIX though you probably care about a couple of other symbols though:
|
||||||
|
* IS_LITTLE_ENDIAN must be defined for little-endian systems
|
||||||
|
* HAVE_LONG_LONG must be defined on systems that have 'long long' integers
|
||||||
|
* HAVE_ALIGNED_LONGLONGS must be defined if long-longs must be 8 byte aligned
|
||||||
|
* HAVE_ALIGNED_DOUBLES must be defined if doubles must be 8 byte aligned
|
||||||
|
* IS_64 must be defined on 64-bit machines (like Dec Alpha)
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
/* DLL Entry modifiers... */
|
||||||
|
|
||||||
|
/* PC */
|
||||||
|
#if defined(XP_OS2)
|
||||||
|
# ifdef XP_OS2_VACPP
|
||||||
|
# define JRI_PUBLIC_API(ResultType) ResultType _Optlink
|
||||||
|
# define JRI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JRI_CALLBACK
|
||||||
|
# else
|
||||||
|
# define JRI_PUBLIC_API(ResultType) ResultType
|
||||||
|
# define JRI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JRI_CALLBACK
|
||||||
|
# endif
|
||||||
|
#elif defined(XP_WIN) || defined(_WINDOWS) || defined(WIN32) || defined(_WIN32)
|
||||||
|
# include <windows.h>
|
||||||
|
# if defined(_MSC_VER) || defined(__GNUC__)
|
||||||
|
# if defined(WIN32) || defined(_WIN32)
|
||||||
|
# define JRI_PUBLIC_API(ResultType) __declspec(dllexport) ResultType
|
||||||
|
# define JRI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JRI_PUBLIC_VAR_EXP(VarType) __declspec(dllexport) VarType
|
||||||
|
# define JRI_PUBLIC_VAR_IMP(VarType) __declspec(dllimport) VarType
|
||||||
|
# define JRI_NATIVE_STUB(ResultType) __declspec(dllexport) ResultType
|
||||||
|
# define JRI_CALLBACK
|
||||||
|
# else /* !_WIN32 */
|
||||||
|
# if defined(_WINDLL)
|
||||||
|
# define JRI_PUBLIC_API(ResultType) ResultType __cdecl __export __loadds
|
||||||
|
# define JRI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JRI_PUBLIC_VAR_EXP(VarType) JRI_PUBLIC_VAR(VarType)
|
||||||
|
# define JRI_PUBLIC_VAR_IMP(VarType) JRI_PUBLIC_VAR(VarType)
|
||||||
|
# define JRI_NATIVE_STUB(ResultType) ResultType __cdecl __loadds
|
||||||
|
# define JRI_CALLBACK __loadds
|
||||||
|
# else /* !WINDLL */
|
||||||
|
# define JRI_PUBLIC_API(ResultType) ResultType __cdecl __export
|
||||||
|
# define JRI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JRI_PUBLIC_VAR_EXP(VarType) JRI_PUBLIC_VAR(VarType)
|
||||||
|
# define JRI_PUBLIC_VAR_IMP(VarType) JRI_PUBLIC_VAR(VarType)
|
||||||
|
# define JRI_NATIVE_STUB(ResultType) ResultType __cdecl __export
|
||||||
|
# define JRI_CALLBACK __export
|
||||||
|
# endif /* !WINDLL */
|
||||||
|
# endif /* !_WIN32 */
|
||||||
|
# elif defined(__BORLANDC__)
|
||||||
|
# if defined(WIN32) || defined(_WIN32)
|
||||||
|
# define JRI_PUBLIC_API(ResultType) __export ResultType
|
||||||
|
# define JRI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JRI_PUBLIC_VAR_EXP(VarType) __export VarType
|
||||||
|
# define JRI_PUBLIC_VAR_IMP(VarType) __import VarType
|
||||||
|
# define JRI_NATIVE_STUB(ResultType) __export ResultType
|
||||||
|
# define JRI_CALLBACK
|
||||||
|
# else /* !_WIN32 */
|
||||||
|
# define JRI_PUBLIC_API(ResultType) ResultType _cdecl _export _loadds
|
||||||
|
# define JRI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JRI_PUBLIC_VAR_EXP(VarType) __cdecl __export VarType
|
||||||
|
# define JRI_PUBLIC_VAR_IMP(VarType) __cdecl __import VarType
|
||||||
|
# define JRI_NATIVE_STUB(ResultType) ResultType _cdecl _loadds
|
||||||
|
# define JRI_CALLBACK _loadds
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# error Unsupported PC development environment.
|
||||||
|
# endif
|
||||||
|
# ifndef IS_LITTLE_ENDIAN
|
||||||
|
# define IS_LITTLE_ENDIAN
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Mac */
|
||||||
|
#elif defined (macintosh) || Macintosh || THINK_C
|
||||||
|
# if defined(__MWERKS__) /* Metrowerks */
|
||||||
|
# if !__option(enumsalwaysint)
|
||||||
|
# error You need to define 'Enums Always Int' for your project.
|
||||||
|
# endif
|
||||||
|
# if defined(TARGET_CPU_68K) && !TARGET_RT_MAC_CFM
|
||||||
|
# if !__option(fourbyteints)
|
||||||
|
# error You need to define 'Struct Alignment: 68k' for your project.
|
||||||
|
# endif
|
||||||
|
# endif /* !GENERATINGCFM */
|
||||||
|
# define JRI_PUBLIC_API(ResultType) __declspec(export) ResultType
|
||||||
|
# define JRI_PUBLIC_VAR(VarType) JRI_PUBLIC_API(VarType)
|
||||||
|
# define JRI_PUBLIC_VAR_EXP(VarType) JRI_PUBLIC_API(VarType)
|
||||||
|
# define JRI_PUBLIC_VAR_IMP(VarType) JRI_PUBLIC_API(VarType)
|
||||||
|
# define JRI_NATIVE_STUB(ResultType) JRI_PUBLIC_API(ResultType)
|
||||||
|
# elif defined(__SC__) /* Symantec */
|
||||||
|
# error What are the Symantec defines? (warren@netscape.com)
|
||||||
|
# elif macintosh && applec /* MPW */
|
||||||
|
# error Please upgrade to the latest MPW compiler (SC).
|
||||||
|
# else
|
||||||
|
# error Unsupported Mac development environment.
|
||||||
|
# endif
|
||||||
|
# define JRI_CALLBACK
|
||||||
|
|
||||||
|
/* Unix or else */
|
||||||
|
#else
|
||||||
|
# define JRI_PUBLIC_API(ResultType) ResultType
|
||||||
|
# define JRI_PUBLIC_VAR(VarType) VarType
|
||||||
|
# define JRI_PUBLIC_VAR_EXP(VarType) JRI_PUBLIC_VAR(VarType)
|
||||||
|
# define JRI_PUBLIC_VAR_IMP(VarType) JRI_PUBLIC_VAR(VarType)
|
||||||
|
# define JRI_NATIVE_STUB(ResultType) ResultType
|
||||||
|
# define JRI_CALLBACK
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FAR /* for non-Win16 */
|
||||||
|
#define FAR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
|
||||||
|
/* Java Scalar Types */
|
||||||
|
|
||||||
|
#if 0 /* now in jni.h */
|
||||||
|
typedef short jchar;
|
||||||
|
typedef short jshort;
|
||||||
|
typedef float jfloat;
|
||||||
|
typedef double jdouble;
|
||||||
|
typedef juint jsize;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* moved from jni.h -- Sun's new jni.h doesn't have this anymore */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
typedef class _jobject *jref;
|
||||||
|
#else
|
||||||
|
typedef struct _jobject *jref;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef unsigned char jbool;
|
||||||
|
typedef signed char jbyte;
|
||||||
|
#ifdef IS_64 /* XXX ok for alpha, but not right on all 64-bit architectures */
|
||||||
|
typedef unsigned int juint;
|
||||||
|
typedef int jint;
|
||||||
|
#else
|
||||||
|
typedef unsigned long juint;
|
||||||
|
typedef long jint;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* jlong : long long (64-bit signed integer type) support.
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Bit masking macros. (n must be <= 31 to be portable)
|
||||||
|
*/
|
||||||
|
#define JRI_BIT(n) ((juint)1 << (n))
|
||||||
|
#define JRI_BITMASK(n) (JRI_BIT(n) - 1)
|
||||||
|
|
||||||
|
#ifdef HAVE_LONG_LONG
|
||||||
|
|
||||||
|
#ifdef OSF1
|
||||||
|
|
||||||
|
/* long is default 64-bit on OSF1, -std1 does not allow long long */
|
||||||
|
typedef long jlong;
|
||||||
|
typedef unsigned long julong;
|
||||||
|
#define jlong_MAXINT 0x7fffffffffffffffL
|
||||||
|
#define jlong_MININT 0x8000000000000000L
|
||||||
|
#define jlong_ZERO 0x0L
|
||||||
|
|
||||||
|
#elif (defined(WIN32) || defined(_WIN32))
|
||||||
|
|
||||||
|
typedef LONGLONG jlong;
|
||||||
|
typedef DWORDLONG julong;
|
||||||
|
#define jlong_MAXINT 0x7fffffffffffffffi64
|
||||||
|
#define jlong_MININT 0x8000000000000000i64
|
||||||
|
#define jlong_ZERO 0x0i64
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
typedef long long jlong;
|
||||||
|
typedef unsigned long long julong;
|
||||||
|
#define jlong_MAXINT 0x7fffffffffffffffLL
|
||||||
|
#define jlong_MININT 0x8000000000000000LL
|
||||||
|
#define jlong_ZERO 0x0LL
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define jlong_IS_ZERO(a) ((a) == 0)
|
||||||
|
#define jlong_EQ(a, b) ((a) == (b))
|
||||||
|
#define jlong_NE(a, b) ((a) != (b))
|
||||||
|
#define jlong_GE_ZERO(a) ((a) >= 0)
|
||||||
|
#define jlong_CMP(a, op, b) ((a) op (b))
|
||||||
|
|
||||||
|
#define jlong_AND(r, a, b) ((r) = (a) & (b))
|
||||||
|
#define jlong_OR(r, a, b) ((r) = (a) | (b))
|
||||||
|
#define jlong_XOR(r, a, b) ((r) = (a) ^ (b))
|
||||||
|
#define jlong_OR2(r, a) ((r) = (r) | (a))
|
||||||
|
#define jlong_NOT(r, a) ((r) = ~(a))
|
||||||
|
|
||||||
|
#define jlong_NEG(r, a) ((r) = -(a))
|
||||||
|
#define jlong_ADD(r, a, b) ((r) = (a) + (b))
|
||||||
|
#define jlong_SUB(r, a, b) ((r) = (a) - (b))
|
||||||
|
|
||||||
|
#define jlong_MUL(r, a, b) ((r) = (a) * (b))
|
||||||
|
#define jlong_DIV(r, a, b) ((r) = (a) / (b))
|
||||||
|
#define jlong_MOD(r, a, b) ((r) = (a) % (b))
|
||||||
|
|
||||||
|
#define jlong_SHL(r, a, b) ((r) = (a) << (b))
|
||||||
|
#define jlong_SHR(r, a, b) ((r) = (a) >> (b))
|
||||||
|
#define jlong_USHR(r, a, b) ((r) = (julong)(a) >> (b))
|
||||||
|
#define jlong_ISHL(r, a, b) ((r) = ((jlong)(a)) << (b))
|
||||||
|
|
||||||
|
#define jlong_L2I(i, l) ((i) = (int)(l))
|
||||||
|
#define jlong_L2UI(ui, l) ((ui) =(unsigned int)(l))
|
||||||
|
#define jlong_L2F(f, l) ((f) = (l))
|
||||||
|
#define jlong_L2D(d, l) ((d) = (l))
|
||||||
|
|
||||||
|
#define jlong_I2L(l, i) ((l) = (i))
|
||||||
|
#define jlong_UI2L(l, ui) ((l) = (ui))
|
||||||
|
#define jlong_F2L(l, f) ((l) = (f))
|
||||||
|
#define jlong_D2L(l, d) ((l) = (d))
|
||||||
|
|
||||||
|
#define jlong_UDIVMOD(qp, rp, a, b) \
|
||||||
|
(*(qp) = ((julong)(a) / (b)), \
|
||||||
|
*(rp) = ((julong)(a) % (b)))
|
||||||
|
|
||||||
|
#else /* !HAVE_LONG_LONG */
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
#ifdef IS_LITTLE_ENDIAN
|
||||||
|
juint lo, hi;
|
||||||
|
#else
|
||||||
|
juint hi, lo;
|
||||||
|
#endif
|
||||||
|
} jlong;
|
||||||
|
typedef jlong julong;
|
||||||
|
|
||||||
|
extern jlong jlong_MAXINT, jlong_MININT, jlong_ZERO;
|
||||||
|
|
||||||
|
#define jlong_IS_ZERO(a) (((a).hi == 0) && ((a).lo == 0))
|
||||||
|
#define jlong_EQ(a, b) (((a).hi == (b).hi) && ((a).lo == (b).lo))
|
||||||
|
#define jlong_NE(a, b) (((a).hi != (b).hi) || ((a).lo != (b).lo))
|
||||||
|
#define jlong_GE_ZERO(a) (((a).hi >> 31) == 0)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NB: jlong_CMP and jlong_UCMP work only for strict relationals (<, >).
|
||||||
|
*/
|
||||||
|
#define jlong_CMP(a, op, b) (((int32)(a).hi op (int32)(b).hi) || \
|
||||||
|
(((a).hi == (b).hi) && ((a).lo op (b).lo)))
|
||||||
|
#define jlong_UCMP(a, op, b) (((a).hi op (b).hi) || \
|
||||||
|
(((a).hi == (b).hi) && ((a).lo op (b).lo)))
|
||||||
|
|
||||||
|
#define jlong_AND(r, a, b) ((r).lo = (a).lo & (b).lo, \
|
||||||
|
(r).hi = (a).hi & (b).hi)
|
||||||
|
#define jlong_OR(r, a, b) ((r).lo = (a).lo | (b).lo, \
|
||||||
|
(r).hi = (a).hi | (b).hi)
|
||||||
|
#define jlong_XOR(r, a, b) ((r).lo = (a).lo ^ (b).lo, \
|
||||||
|
(r).hi = (a).hi ^ (b).hi)
|
||||||
|
#define jlong_OR2(r, a) ((r).lo = (r).lo | (a).lo, \
|
||||||
|
(r).hi = (r).hi | (a).hi)
|
||||||
|
#define jlong_NOT(r, a) ((r).lo = ~(a).lo, \
|
||||||
|
(r).hi = ~(a).hi)
|
||||||
|
|
||||||
|
#define jlong_NEG(r, a) ((r).lo = -(int32)(a).lo, \
|
||||||
|
(r).hi = -(int32)(a).hi - ((r).lo != 0))
|
||||||
|
#define jlong_ADD(r, a, b) { \
|
||||||
|
jlong _a, _b; \
|
||||||
|
_a = a; _b = b; \
|
||||||
|
(r).lo = _a.lo + _b.lo; \
|
||||||
|
(r).hi = _a.hi + _b.hi + ((r).lo < _b.lo); \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define jlong_SUB(r, a, b) { \
|
||||||
|
jlong _a, _b; \
|
||||||
|
_a = a; _b = b; \
|
||||||
|
(r).lo = _a.lo - _b.lo; \
|
||||||
|
(r).hi = _a.hi - _b.hi - (_a.lo < _b.lo); \
|
||||||
|
} \
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Multiply 64-bit operands a and b to get 64-bit result r.
|
||||||
|
* First multiply the low 32 bits of a and b to get a 64-bit result in r.
|
||||||
|
* Then add the outer and inner products to r.hi.
|
||||||
|
*/
|
||||||
|
#define jlong_MUL(r, a, b) { \
|
||||||
|
jlong _a, _b; \
|
||||||
|
_a = a; _b = b; \
|
||||||
|
jlong_MUL32(r, _a.lo, _b.lo); \
|
||||||
|
(r).hi += _a.hi * _b.lo + _a.lo * _b.hi; \
|
||||||
|
}
|
||||||
|
|
||||||
|
/* XXX _jlong_lo16(a) = ((a) << 16 >> 16) is better on some archs (not on mips) */
|
||||||
|
#define _jlong_lo16(a) ((a) & JRI_BITMASK(16))
|
||||||
|
#define _jlong_hi16(a) ((a) >> 16)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Multiply 32-bit operands a and b to get 64-bit result r.
|
||||||
|
* Use polynomial expansion based on primitive field element (1 << 16).
|
||||||
|
*/
|
||||||
|
#define jlong_MUL32(r, a, b) { \
|
||||||
|
juint _a1, _a0, _b1, _b0, _y0, _y1, _y2, _y3; \
|
||||||
|
_a1 = _jlong_hi16(a), _a0 = _jlong_lo16(a); \
|
||||||
|
_b1 = _jlong_hi16(b), _b0 = _jlong_lo16(b); \
|
||||||
|
_y0 = _a0 * _b0; \
|
||||||
|
_y1 = _a0 * _b1; \
|
||||||
|
_y2 = _a1 * _b0; \
|
||||||
|
_y3 = _a1 * _b1; \
|
||||||
|
_y1 += _jlong_hi16(_y0); /* can't carry */ \
|
||||||
|
_y1 += _y2; /* might carry */ \
|
||||||
|
if (_y1 < _y2) _y3 += 1 << 16; /* propagate */ \
|
||||||
|
(r).lo = (_jlong_lo16(_y1) << 16) + _jlong_lo16(_y0); \
|
||||||
|
(r).hi = _y3 + _jlong_hi16(_y1); \
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Divide 64-bit unsigned operand a by 64-bit unsigned operand b, setting *qp
|
||||||
|
* to the 64-bit unsigned quotient, and *rp to the 64-bit unsigned remainder.
|
||||||
|
* Minimize effort if one of qp and rp is null.
|
||||||
|
*/
|
||||||
|
#define jlong_UDIVMOD(qp, rp, a, b) jlong_udivmod(qp, rp, a, b)
|
||||||
|
|
||||||
|
extern JRI_PUBLIC_API(void)
|
||||||
|
jlong_udivmod(julong *qp, julong *rp, julong a, julong b);
|
||||||
|
|
||||||
|
#define jlong_DIV(r, a, b) { \
|
||||||
|
jlong _a, _b; \
|
||||||
|
juint _negative = (int32)(a).hi < 0; \
|
||||||
|
if (_negative) { \
|
||||||
|
jlong_NEG(_a, a); \
|
||||||
|
} else { \
|
||||||
|
_a = a; \
|
||||||
|
} \
|
||||||
|
if ((int32)(b).hi < 0) { \
|
||||||
|
_negative ^= 1; \
|
||||||
|
jlong_NEG(_b, b); \
|
||||||
|
} else { \
|
||||||
|
_b = b; \
|
||||||
|
} \
|
||||||
|
jlong_UDIVMOD(&(r), 0, _a, _b); \
|
||||||
|
if (_negative) \
|
||||||
|
jlong_NEG(r, r); \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define jlong_MOD(r, a, b) { \
|
||||||
|
jlong _a, _b; \
|
||||||
|
juint _negative = (int32)(a).hi < 0; \
|
||||||
|
if (_negative) { \
|
||||||
|
jlong_NEG(_a, a); \
|
||||||
|
} else { \
|
||||||
|
_a = a; \
|
||||||
|
} \
|
||||||
|
if ((int32)(b).hi < 0) { \
|
||||||
|
jlong_NEG(_b, b); \
|
||||||
|
} else { \
|
||||||
|
_b = b; \
|
||||||
|
} \
|
||||||
|
jlong_UDIVMOD(0, &(r), _a, _b); \
|
||||||
|
if (_negative) \
|
||||||
|
jlong_NEG(r, r); \
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NB: b is a juint, not jlong or julong, for the shift ops.
|
||||||
|
*/
|
||||||
|
#define jlong_SHL(r, a, b) { \
|
||||||
|
if (b) { \
|
||||||
|
jlong _a; \
|
||||||
|
_a = a; \
|
||||||
|
if ((b) < 32) { \
|
||||||
|
(r).lo = _a.lo << (b); \
|
||||||
|
(r).hi = (_a.hi << (b)) | (_a.lo >> (32 - (b))); \
|
||||||
|
} else { \
|
||||||
|
(r).lo = 0; \
|
||||||
|
(r).hi = _a.lo << ((b) & 31); \
|
||||||
|
} \
|
||||||
|
} else { \
|
||||||
|
(r) = (a); \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
/* a is an int32, b is int32, r is jlong */
|
||||||
|
#define jlong_ISHL(r, a, b) { \
|
||||||
|
if (b) { \
|
||||||
|
jlong _a; \
|
||||||
|
_a.lo = (a); \
|
||||||
|
_a.hi = 0; \
|
||||||
|
if ((b) < 32) { \
|
||||||
|
(r).lo = (a) << (b); \
|
||||||
|
(r).hi = ((a) >> (32 - (b))); \
|
||||||
|
} else { \
|
||||||
|
(r).lo = 0; \
|
||||||
|
(r).hi = (a) << ((b) & 31); \
|
||||||
|
} \
|
||||||
|
} else { \
|
||||||
|
(r).lo = (a); \
|
||||||
|
(r).hi = 0; \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define jlong_SHR(r, a, b) { \
|
||||||
|
if (b) { \
|
||||||
|
jlong _a; \
|
||||||
|
_a = a; \
|
||||||
|
if ((b) < 32) { \
|
||||||
|
(r).lo = (_a.hi << (32 - (b))) | (_a.lo >> (b)); \
|
||||||
|
(r).hi = (int32)_a.hi >> (b); \
|
||||||
|
} else { \
|
||||||
|
(r).lo = (int32)_a.hi >> ((b) & 31); \
|
||||||
|
(r).hi = (int32)_a.hi >> 31; \
|
||||||
|
} \
|
||||||
|
} else { \
|
||||||
|
(r) = (a); \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define jlong_USHR(r, a, b) { \
|
||||||
|
if (b) { \
|
||||||
|
jlong _a; \
|
||||||
|
_a = a; \
|
||||||
|
if ((b) < 32) { \
|
||||||
|
(r).lo = (_a.hi << (32 - (b))) | (_a.lo >> (b)); \
|
||||||
|
(r).hi = _a.hi >> (b); \
|
||||||
|
} else { \
|
||||||
|
(r).lo = _a.hi >> ((b) & 31); \
|
||||||
|
(r).hi = 0; \
|
||||||
|
} \
|
||||||
|
} else { \
|
||||||
|
(r) = (a); \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define jlong_L2I(i, l) ((i) = (l).lo)
|
||||||
|
#define jlong_L2UI(ui, l) ((ui) = (l).lo)
|
||||||
|
#define jlong_L2F(f, l) { double _d; jlong_L2D(_d, l); (f) = (float) _d; }
|
||||||
|
|
||||||
|
#define jlong_L2D(d, l) { \
|
||||||
|
int32 _negative; \
|
||||||
|
jlong _absval; \
|
||||||
|
\
|
||||||
|
_negative = (l).hi >> 31; \
|
||||||
|
if (_negative) { \
|
||||||
|
jlong_NEG(_absval, l); \
|
||||||
|
} else { \
|
||||||
|
_absval = l; \
|
||||||
|
} \
|
||||||
|
(d) = (double)_absval.hi * 4.294967296e9 + _absval.lo; \
|
||||||
|
if (_negative) \
|
||||||
|
(d) = -(d); \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define jlong_I2L(l, i) ((l).hi = (i) >> 31, (l).lo = (i))
|
||||||
|
#define jlong_UI2L(l, ui) ((l).hi = 0, (l).lo = (ui))
|
||||||
|
#define jlong_F2L(l, f) { double _d = (double) f; jlong_D2L(l, _d); }
|
||||||
|
|
||||||
|
#define jlong_D2L(l, d) { \
|
||||||
|
int _negative; \
|
||||||
|
double _absval, _d_hi; \
|
||||||
|
jlong _lo_d; \
|
||||||
|
\
|
||||||
|
_negative = ((d) < 0); \
|
||||||
|
_absval = _negative ? -(d) : (d); \
|
||||||
|
\
|
||||||
|
(l).hi = (juint)(_absval / 4.294967296e9); \
|
||||||
|
(l).lo = 0; \
|
||||||
|
jlong_L2D(_d_hi, l); \
|
||||||
|
_absval -= _d_hi; \
|
||||||
|
_lo_d.hi = 0; \
|
||||||
|
if (_absval < 0) { \
|
||||||
|
_lo_d.lo = (juint) -_absval; \
|
||||||
|
jlong_SUB(l, l, _lo_d); \
|
||||||
|
} else { \
|
||||||
|
_lo_d.lo = (juint) _absval; \
|
||||||
|
jlong_ADD(l, l, _lo_d); \
|
||||||
|
} \
|
||||||
|
\
|
||||||
|
if (_negative) \
|
||||||
|
jlong_NEG(l, l); \
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* !HAVE_LONG_LONG */
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
|
||||||
|
#ifdef HAVE_ALIGNED_LONGLONGS
|
||||||
|
#define JRI_GET_INT64(_t,_addr) ( ((_t).x[0] = ((jint*)(_addr))[0]), \
|
||||||
|
((_t).x[1] = ((jint*)(_addr))[1]), \
|
||||||
|
(_t).l )
|
||||||
|
#define JRI_SET_INT64(_t, _addr, _v) ( (_t).l = (_v), \
|
||||||
|
((jint*)(_addr))[0] = (_t).x[0], \
|
||||||
|
((jint*)(_addr))[1] = (_t).x[1] )
|
||||||
|
#else
|
||||||
|
#define JRI_GET_INT64(_t,_addr) (*(jlong*)(_addr))
|
||||||
|
#define JRI_SET_INT64(_t, _addr, _v) (*(jlong*)(_addr) = (_v))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* If double's must be aligned on doubleword boundaries then define this */
|
||||||
|
#ifdef HAVE_ALIGNED_DOUBLES
|
||||||
|
#define JRI_GET_DOUBLE(_t,_addr) ( ((_t).x[0] = ((jint*)(_addr))[0]), \
|
||||||
|
((_t).x[1] = ((jint*)(_addr))[1]), \
|
||||||
|
(_t).d )
|
||||||
|
#define JRI_SET_DOUBLE(_t, _addr, _v) ( (_t).d = (_v), \
|
||||||
|
((jint*)(_addr))[0] = (_t).x[0], \
|
||||||
|
((jint*)(_addr))[1] = (_t).x[1] )
|
||||||
|
#else
|
||||||
|
#define JRI_GET_DOUBLE(_t,_addr) (*(jdouble*)(_addr))
|
||||||
|
#define JRI_SET_DOUBLE(_t, _addr, _v) (*(jdouble*)(_addr) = (_v))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /* JRI_MD_H */
|
||||||
|
/******************************************************************************/
|
|
@ -0,0 +1,243 @@
|
||||||
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Netscape Public License
|
||||||
|
* Version 1.1 (the "License"); you may not use this file except in
|
||||||
|
* compliance with the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/NPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* Netscape Communications Corporation.
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the terms of
|
||||||
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
* of those above. If you wish to allow use of your version of this file only
|
||||||
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
* use your version of this file under the terms of the NPL, indicate your
|
||||||
|
* decision by deleting the provisions above and replace them with the notice
|
||||||
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
* the provisions above, a recipient may use your version of this file under
|
||||||
|
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Java Runtime Interface
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef JRITYPES_H
|
||||||
|
#define JRITYPES_H
|
||||||
|
|
||||||
|
#include "jri_md.h"
|
||||||
|
#include "jni.h"
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Types
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
struct JRIEnvInterface;
|
||||||
|
|
||||||
|
typedef void* JRIRef;
|
||||||
|
typedef void* JRIGlobalRef;
|
||||||
|
|
||||||
|
typedef jint JRIFieldID;
|
||||||
|
typedef jint JRIMethodID;
|
||||||
|
|
||||||
|
/* synonyms: */
|
||||||
|
typedef JRIGlobalRef jglobal;
|
||||||
|
|
||||||
|
typedef union JRIValue {
|
||||||
|
jbool z;
|
||||||
|
jbyte b;
|
||||||
|
jchar c;
|
||||||
|
jshort s;
|
||||||
|
jint i;
|
||||||
|
jlong l;
|
||||||
|
jfloat f;
|
||||||
|
jdouble d;
|
||||||
|
jref r;
|
||||||
|
} JRIValue;
|
||||||
|
|
||||||
|
typedef enum JRIBoolean {
|
||||||
|
JRIFalse = 0,
|
||||||
|
JRITrue = 1
|
||||||
|
} JRIBoolean;
|
||||||
|
|
||||||
|
typedef enum JRIConstant {
|
||||||
|
JRIUninitialized = -1
|
||||||
|
} JRIConstant;
|
||||||
|
|
||||||
|
/* convenience types (these must be distinct struct types for c++ overloading): */
|
||||||
|
#if 0 /* now in jni.h */
|
||||||
|
typedef struct jbooleanArrayStruct* jbooleanArray;
|
||||||
|
typedef struct jbyteArrayStruct* jbyteArray;
|
||||||
|
typedef struct jcharArrayStruct* jcharArray;
|
||||||
|
typedef struct jshortArrayStruct* jshortArray;
|
||||||
|
typedef struct jintArrayStruct* jintArray;
|
||||||
|
typedef struct jlongArrayStruct* jlongArray;
|
||||||
|
typedef struct jfloatArrayStruct* jfloatArray;
|
||||||
|
typedef struct jdoubleArrayStruct* jdoubleArray;
|
||||||
|
typedef struct jobjectArrayStruct* jobjectArray;
|
||||||
|
#endif
|
||||||
|
typedef struct jstringArrayStruct* jstringArray;
|
||||||
|
typedef struct jarrayArrayStruct* jarrayArray;
|
||||||
|
|
||||||
|
#define JRIConstructorMethodName "<init>"
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Signature Construction Macros
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** These macros can be used to construct signature strings. Hopefully their names
|
||||||
|
** are a little easier to remember than the single character they correspond to.
|
||||||
|
** For example, to specify the signature of the method:
|
||||||
|
**
|
||||||
|
** public int read(byte b[], int off, int len);
|
||||||
|
**
|
||||||
|
** you could write something like this in C:
|
||||||
|
**
|
||||||
|
** char* readSig = JRISigMethod(JRISigArray(JRISigByte)
|
||||||
|
** JRISigInt
|
||||||
|
** JRISigInt) JRISigInt;
|
||||||
|
**
|
||||||
|
** Of course, don't put commas between the types.
|
||||||
|
*/
|
||||||
|
#define JRISigArray(T) "[" T
|
||||||
|
#define JRISigByte "B"
|
||||||
|
#define JRISigChar "C"
|
||||||
|
#define JRISigClass(name) "L" name ";"
|
||||||
|
#define JRISigFloat "F"
|
||||||
|
#define JRISigDouble "D"
|
||||||
|
#define JRISigMethod(args) "(" args ")"
|
||||||
|
#define JRISigNoArgs ""
|
||||||
|
#define JRISigInt "I"
|
||||||
|
#define JRISigLong "J"
|
||||||
|
#define JRISigShort "S"
|
||||||
|
#define JRISigVoid "V"
|
||||||
|
#define JRISigBoolean "Z"
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Environments
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
extern JRI_PUBLIC_API(const struct JRIEnvInterface**)
|
||||||
|
JRI_GetCurrentEnv(void);
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Specific Scalar Array Types
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** The JRI Native Method Interface does not support boolean arrays. This
|
||||||
|
** is to allow Java runtime implementations to optimize boolean array
|
||||||
|
** storage. Using the ScalarArray operations on boolean arrays is bound
|
||||||
|
** to fail, so convert any boolean arrays to byte arrays in Java before
|
||||||
|
** passing them to a native method.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define JRI_NewByteArray(env, length, initialValues) \
|
||||||
|
JRI_NewScalarArray(env, length, JRISigByte, (jbyte*)(initialValues))
|
||||||
|
#define JRI_GetByteArrayLength(env, array) \
|
||||||
|
JRI_GetScalarArrayLength(env, array)
|
||||||
|
#define JRI_GetByteArrayElements(env, array) \
|
||||||
|
JRI_GetScalarArrayElements(env, array)
|
||||||
|
|
||||||
|
#define JRI_NewCharArray(env, length, initialValues) \
|
||||||
|
JRI_NewScalarArray(env, ((length) * sizeof(jchar)), JRISigChar, (jbyte*)(initialValues))
|
||||||
|
#define JRI_GetCharArrayLength(env, array) \
|
||||||
|
JRI_GetScalarArrayLength(env, array)
|
||||||
|
#define JRI_GetCharArrayElements(env, array) \
|
||||||
|
((jchar*)JRI_GetScalarArrayElements(env, array))
|
||||||
|
|
||||||
|
#define JRI_NewShortArray(env, length, initialValues) \
|
||||||
|
JRI_NewScalarArray(env, ((length) * sizeof(jshort)), JRISigShort, (jbyte*)(initialValues))
|
||||||
|
#define JRI_GetShortArrayLength(env, array) \
|
||||||
|
JRI_GetScalarArrayLength(env, array)
|
||||||
|
#define JRI_GetShortArrayElements(env, array) \
|
||||||
|
((jshort*)JRI_GetScalarArrayElements(env, array))
|
||||||
|
|
||||||
|
#define JRI_NewIntArray(env, length, initialValues) \
|
||||||
|
JRI_NewScalarArray(env, ((length) * sizeof(jint)), JRISigInt, (jbyte*)(initialValues))
|
||||||
|
#define JRI_GetIntArrayLength(env, array) \
|
||||||
|
JRI_GetScalarArrayLength(env, array)
|
||||||
|
#define JRI_GetIntArrayElements(env, array) \
|
||||||
|
((jint*)JRI_GetScalarArrayElements(env, array))
|
||||||
|
|
||||||
|
#define JRI_NewLongArray(env, length, initialValues) \
|
||||||
|
JRI_NewScalarArray(env, ((length) * sizeof(jlong)), JRISigLong, (jbyte*)(initialValues))
|
||||||
|
#define JRI_GetLongArrayLength(env, array) \
|
||||||
|
JRI_GetScalarArrayLength(env, array)
|
||||||
|
#define JRI_GetLongArrayElements(env, array) \
|
||||||
|
((jlong*)JRI_GetScalarArrayElements(env, array))
|
||||||
|
|
||||||
|
#define JRI_NewFloatArray(env, length, initialValues) \
|
||||||
|
JRI_NewScalarArray(env, ((length) * sizeof(jfloat)), JRISigFloat, (jbyte*)(initialValues))
|
||||||
|
#define JRI_GetFloatArrayLength(env, array) \
|
||||||
|
JRI_GetScalarArrayLength(env, array)
|
||||||
|
#define JRI_GetFloatArrayElements(env, array) \
|
||||||
|
((jfloat*)JRI_GetScalarArrayElements(env, array))
|
||||||
|
|
||||||
|
#define JRI_NewDoubleArray(env, length, initialValues) \
|
||||||
|
JRI_NewScalarArray(env, ((length) * sizeof(jdouble)), JRISigDouble, (jbyte*)(initialValues))
|
||||||
|
#define JRI_GetDoubleArrayLength(env, array) \
|
||||||
|
JRI_GetScalarArrayLength(env, array)
|
||||||
|
#define JRI_GetDoubleArrayElements(env, array) \
|
||||||
|
((jdouble*)JRI_GetScalarArrayElements(env, array))
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
/*
|
||||||
|
** JDK Stuff -- This stuff is still needed while we're using the JDK
|
||||||
|
** dynamic linking strategy to call native methods.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef union JRI_JDK_stack_item {
|
||||||
|
/* Non pointer items */
|
||||||
|
jint i;
|
||||||
|
jfloat f;
|
||||||
|
jint o;
|
||||||
|
/* Pointer items */
|
||||||
|
void *h;
|
||||||
|
void *p;
|
||||||
|
unsigned char *addr;
|
||||||
|
#ifdef IS_64
|
||||||
|
double d;
|
||||||
|
long l; /* == 64bits! */
|
||||||
|
#endif
|
||||||
|
} JRI_JDK_stack_item;
|
||||||
|
|
||||||
|
typedef union JRI_JDK_Java8Str {
|
||||||
|
jint x[2];
|
||||||
|
jdouble d;
|
||||||
|
jlong l;
|
||||||
|
void *p;
|
||||||
|
float f;
|
||||||
|
} JRI_JDK_Java8;
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /* JRITYPES_H */
|
||||||
|
/******************************************************************************/
|
|
@ -0,0 +1,717 @@
|
||||||
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Netscape Public License
|
||||||
|
* Version 1.1 (the "License"); you may not use this file except in
|
||||||
|
* compliance with the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/NPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* Netscape Communications Corporation.
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the terms of
|
||||||
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
* of those above. If you wish to allow use of your version of this file only
|
||||||
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
* use your version of this file under the terms of the NPL, indicate your
|
||||||
|
* decision by deleting the provisions above and replace them with the notice
|
||||||
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
* the provisions above, a recipient may use your version of this file under
|
||||||
|
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* npapi.h $Revision: 3.33.6.1 $
|
||||||
|
* Netscape client plug-in API spec
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _NPAPI_H_
|
||||||
|
#define _NPAPI_H_
|
||||||
|
|
||||||
|
#ifdef __OS2__
|
||||||
|
#pragma pack(1)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "prtypes.h"
|
||||||
|
/* Copied from xp_core.h */
|
||||||
|
/* removed #ifdef for hpux defined in /usr/include/model.h */
|
||||||
|
#ifndef XP_MAC
|
||||||
|
#ifndef _INT16
|
||||||
|
#define _INT16
|
||||||
|
#endif
|
||||||
|
#ifndef _INT32
|
||||||
|
#define _INT32
|
||||||
|
#endif
|
||||||
|
#ifndef _UINT16
|
||||||
|
#define _UINT16
|
||||||
|
#endif
|
||||||
|
#ifndef _UINT32
|
||||||
|
#define _UINT32
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NO_NSPR_10_SUPPORT disables the inclusion
|
||||||
|
* of obsolete/protypes.h, whose int16, uint16,
|
||||||
|
* int32, and uint32 typedefs conflict with those
|
||||||
|
* in this file.
|
||||||
|
*/
|
||||||
|
#ifndef NO_NSPR_10_SUPPORT
|
||||||
|
#define NO_NSPR_10_SUPPORT
|
||||||
|
#endif
|
||||||
|
#ifdef OJI
|
||||||
|
#include "jri.h" /* Java Runtime Interface */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (__OS2__ ) || defined (OS2)
|
||||||
|
# ifndef XP_OS2
|
||||||
|
# define XP_OS2 1
|
||||||
|
# endif /* XP_OS2 */
|
||||||
|
#endif /* __OS2__ */
|
||||||
|
|
||||||
|
#ifdef _WINDOWS
|
||||||
|
# include <windef.h>
|
||||||
|
# ifndef XP_WIN
|
||||||
|
# define XP_WIN 1
|
||||||
|
# endif /* XP_WIN */
|
||||||
|
#endif /* _WINDOWS */
|
||||||
|
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
# define _declspec __declspec
|
||||||
|
# ifdef macintosh
|
||||||
|
# ifndef XP_MAC
|
||||||
|
# define XP_MAC 1
|
||||||
|
# endif /* XP_MAC */
|
||||||
|
# endif /* macintosh */
|
||||||
|
# ifdef __INTEL__
|
||||||
|
# undef NULL
|
||||||
|
# ifndef XP_WIN
|
||||||
|
# define XP_WIN 1
|
||||||
|
# endif /* XP_WIN */
|
||||||
|
# endif /* __INTEL__ */
|
||||||
|
#endif /* __MWERKS__ */
|
||||||
|
|
||||||
|
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||||
|
#include <Quickdraw.h>
|
||||||
|
#include <Events.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(XP_UNIX)
|
||||||
|
# include <stdio.h>
|
||||||
|
# if defined(MOZ_X11)
|
||||||
|
# include <X11/Xlib.h>
|
||||||
|
# include <X11/Xutil.h>
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* Plugin Version Constants */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#define NP_VERSION_MAJOR 0
|
||||||
|
#define NP_VERSION_MINOR 14
|
||||||
|
|
||||||
|
|
||||||
|
/* The OS/2 version of Netscape uses RC_DATA to define the
|
||||||
|
mime types, file extensions, etc that are required.
|
||||||
|
Use a vertical bar to separate types, end types with \0.
|
||||||
|
FileVersion and ProductVersion are 32bit ints, all other
|
||||||
|
entries are strings the MUST be terminated wwith a \0.
|
||||||
|
|
||||||
|
AN EXAMPLE:
|
||||||
|
|
||||||
|
RCDATA NP_INFO_ProductVersion { 1,0,0,1,}
|
||||||
|
|
||||||
|
RCDATA NP_INFO_MIMEType { "video/x-video|",
|
||||||
|
"video/x-flick\0" }
|
||||||
|
RCDATA NP_INFO_FileExtents { "avi|",
|
||||||
|
"flc\0" }
|
||||||
|
RCDATA NP_INFO_FileOpenName{ "MMOS2 video player(*.avi)|",
|
||||||
|
"MMOS2 Flc/Fli player(*.flc)\0" }
|
||||||
|
|
||||||
|
RCDATA NP_INFO_FileVersion { 1,0,0,1 }
|
||||||
|
RCDATA NP_INFO_CompanyName { "Netscape Communications\0" }
|
||||||
|
RCDATA NP_INFO_FileDescription { "NPAVI32 Extension DLL\0"
|
||||||
|
RCDATA NP_INFO_InternalName { "NPAVI32\0" )
|
||||||
|
RCDATA NP_INFO_LegalCopyright { "Copyright Netscape Communications \251 1996\0"
|
||||||
|
RCDATA NP_INFO_OriginalFilename { "NVAPI32.DLL" }
|
||||||
|
RCDATA NP_INFO_ProductName { "NPAVI32 Dynamic Link Library\0" }
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* RC_DATA types for version info - required */
|
||||||
|
#define NP_INFO_ProductVersion 1
|
||||||
|
#define NP_INFO_MIMEType 2
|
||||||
|
#define NP_INFO_FileOpenName 3
|
||||||
|
#define NP_INFO_FileExtents 4
|
||||||
|
|
||||||
|
/* RC_DATA types for version info - used if found */
|
||||||
|
#define NP_INFO_FileDescription 5
|
||||||
|
#define NP_INFO_ProductName 6
|
||||||
|
|
||||||
|
/* RC_DATA types for version info - optional */
|
||||||
|
#define NP_INFO_CompanyName 7
|
||||||
|
#define NP_INFO_FileVersion 8
|
||||||
|
#define NP_INFO_InternalName 9
|
||||||
|
#define NP_INFO_LegalCopyright 10
|
||||||
|
#define NP_INFO_OriginalFilename 11
|
||||||
|
|
||||||
|
#ifndef RC_INVOKED
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* Definition of Basic Types */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef _UINT16
|
||||||
|
typedef unsigned short uint16;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _UINT32
|
||||||
|
# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__)
|
||||||
|
typedef unsigned int uint32;
|
||||||
|
# else /* __alpha */
|
||||||
|
typedef unsigned long uint32;
|
||||||
|
# endif /* __alpha */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* AIX defines these in sys/inttypes.h included from sys/types.h
|
||||||
|
*/
|
||||||
|
#ifndef AIX
|
||||||
|
#ifndef _INT16
|
||||||
|
typedef short int16;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _INT32
|
||||||
|
# if defined(__alpha) || defined(__amd64__) || defined(__x86_64__)
|
||||||
|
typedef int int32;
|
||||||
|
# else /* __alpha */
|
||||||
|
typedef long int32;
|
||||||
|
# endif /* __alpha */
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FALSE
|
||||||
|
#define FALSE (0)
|
||||||
|
#endif
|
||||||
|
#ifndef TRUE
|
||||||
|
#define TRUE (1)
|
||||||
|
#endif
|
||||||
|
#ifndef NULL
|
||||||
|
#define NULL (0L)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef unsigned char NPBool;
|
||||||
|
typedef int16 NPError;
|
||||||
|
typedef int16 NPReason;
|
||||||
|
typedef char* NPMIMEType;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* Structures and definitions */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifdef XP_MAC
|
||||||
|
#pragma options align=mac68k
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NPP is a plug-in's opaque instance handle
|
||||||
|
*/
|
||||||
|
typedef struct _NPP
|
||||||
|
{
|
||||||
|
void* pdata; /* plug-in private data */
|
||||||
|
void* ndata; /* netscape private data */
|
||||||
|
} NPP_t;
|
||||||
|
|
||||||
|
typedef NPP_t* NPP;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _NPStream
|
||||||
|
{
|
||||||
|
void* pdata; /* plug-in private data */
|
||||||
|
void* ndata; /* netscape private data */
|
||||||
|
const char* url;
|
||||||
|
uint32 end;
|
||||||
|
uint32 lastmodified;
|
||||||
|
void* notifyData;
|
||||||
|
} NPStream;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _NPByteRange
|
||||||
|
{
|
||||||
|
int32 offset; /* negative offset means from the end */
|
||||||
|
uint32 length;
|
||||||
|
struct _NPByteRange* next;
|
||||||
|
} NPByteRange;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _NPSavedData
|
||||||
|
{
|
||||||
|
int32 len;
|
||||||
|
void* buf;
|
||||||
|
} NPSavedData;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _NPRect
|
||||||
|
{
|
||||||
|
uint16 top;
|
||||||
|
uint16 left;
|
||||||
|
uint16 bottom;
|
||||||
|
uint16 right;
|
||||||
|
} NPRect;
|
||||||
|
|
||||||
|
typedef struct _NPSize
|
||||||
|
{
|
||||||
|
int32 width;
|
||||||
|
int32 height;
|
||||||
|
} NPSize;
|
||||||
|
|
||||||
|
#ifdef XP_UNIX
|
||||||
|
/*
|
||||||
|
* Unix specific structures and definitions
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Callback Structures.
|
||||||
|
*
|
||||||
|
* These are used to pass additional platform specific information.
|
||||||
|
*/
|
||||||
|
enum {
|
||||||
|
NP_SETWINDOW = 1,
|
||||||
|
NP_PRINT
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int32 type;
|
||||||
|
} NPAnyCallbackStruct;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int32 type;
|
||||||
|
#ifdef MOZ_X11
|
||||||
|
Display* display;
|
||||||
|
Visual* visual;
|
||||||
|
Colormap colormap;
|
||||||
|
unsigned int depth;
|
||||||
|
#endif
|
||||||
|
} NPSetWindowCallbackStruct;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int32 type;
|
||||||
|
FILE* fp;
|
||||||
|
} NPPrintCallbackStruct;
|
||||||
|
|
||||||
|
#endif /* XP_UNIX */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The following masks are applied on certain platforms to NPNV and
|
||||||
|
* NPPV selectors that pass around pointers to COM interfaces. Newer
|
||||||
|
* compilers on some platforms may generate vtables that are not
|
||||||
|
* compatible with older compilers. To prevent older plugins from
|
||||||
|
* not understanding a new browser's ABI, these masks change the
|
||||||
|
* values of those selectors on those platforms. To remain backwards
|
||||||
|
* compatible with differenet versions of the browser, plugins can
|
||||||
|
* use these masks to dynamically determine and use the correct C++
|
||||||
|
* ABI that the browser is expecting. This does not apply to Windows
|
||||||
|
* as Microsoft's COM ABI will likely not change.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define NP_ABI_GCC3_MASK 0x10000000
|
||||||
|
/*
|
||||||
|
* gcc 3.x generated vtables on UNIX and OSX are incompatible with
|
||||||
|
* previous compilers.
|
||||||
|
*/
|
||||||
|
#if (defined (XP_UNIX) && defined(__GNUC__) && (__GNUC__ >= 3))
|
||||||
|
#define _NP_ABI_MIXIN_FOR_GCC3 NP_ABI_GCC3_MASK
|
||||||
|
#else
|
||||||
|
#define _NP_ABI_MIXIN_FOR_GCC3 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define NP_ABI_MACHO_MASK 0x01000000
|
||||||
|
/*
|
||||||
|
* On OSX, the Mach-O executable format is significantly
|
||||||
|
* different than CFM. In addition to having a different
|
||||||
|
* C++ ABI, it also has has different C calling convention.
|
||||||
|
* You must use glue code when calling between CFM and
|
||||||
|
* Mach-O C functions.
|
||||||
|
*/
|
||||||
|
#if (defined(TARGET_RT_MAC_MACHO))
|
||||||
|
#define _NP_ABI_MIXIN_FOR_MACHO NP_ABI_MACHO_MASK
|
||||||
|
#else
|
||||||
|
#define _NP_ABI_MIXIN_FOR_MACHO 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define NP_ABI_MASK (_NP_ABI_MIXIN_FOR_GCC3 | _NP_ABI_MIXIN_FOR_MACHO)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* List of variable names for which NPP_GetValue shall be implemented
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
NPPVpluginNameString = 1,
|
||||||
|
NPPVpluginDescriptionString,
|
||||||
|
NPPVpluginWindowBool,
|
||||||
|
NPPVpluginTransparentBool,
|
||||||
|
NPPVjavaClass, /* Not implemented in Mozilla 1.0 */
|
||||||
|
NPPVpluginWindowSize,
|
||||||
|
NPPVpluginTimerInterval,
|
||||||
|
|
||||||
|
NPPVpluginScriptableInstance = (10 | NP_ABI_MASK),
|
||||||
|
NPPVpluginScriptableIID = 11,
|
||||||
|
|
||||||
|
/* 12 and over are available on Mozilla builds starting with 0.9.9 */
|
||||||
|
NPPVjavascriptPushCallerBool = 12,
|
||||||
|
NPPVpluginKeepLibraryInMemory = 13, /* available in Mozilla 1.0 */
|
||||||
|
NPPVpluginNeedsXEmbed = 14,
|
||||||
|
|
||||||
|
/* Get the NPObject for scripting the plugin. */
|
||||||
|
NPPVpluginScriptableNPObject = 15
|
||||||
|
} NPPVariable;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* List of variable names for which NPN_GetValue is implemented by Mozilla
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
NPNVxDisplay = 1,
|
||||||
|
NPNVxtAppContext,
|
||||||
|
NPNVnetscapeWindow,
|
||||||
|
NPNVjavascriptEnabledBool,
|
||||||
|
NPNVasdEnabledBool,
|
||||||
|
NPNVisOfflineBool,
|
||||||
|
|
||||||
|
/* 10 and over are available on Mozilla builds starting with 0.9.4 */
|
||||||
|
NPNVserviceManager = (10 | NP_ABI_MASK),
|
||||||
|
NPNVDOMElement = (11 | NP_ABI_MASK), /* available in Mozilla 1.2 */
|
||||||
|
NPNVDOMWindow = (12 | NP_ABI_MASK),
|
||||||
|
NPNVToolkit = (13 | NP_ABI_MASK),
|
||||||
|
NPNVSupportsXEmbedBool = 14,
|
||||||
|
|
||||||
|
/* Get the NPObject wrapper for the browser window. */
|
||||||
|
NPNVWindowNPObject = 15,
|
||||||
|
|
||||||
|
/* Get the NPObject wrapper for the plugins DOM element. */
|
||||||
|
NPNVPluginElementNPObject = 16
|
||||||
|
} NPNVariable;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The type of Tookkit the widgets use
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
NPNVGtk12 = 1,
|
||||||
|
NPNVGtk2
|
||||||
|
} NPNToolkitType;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The type of a NPWindow - it specifies the type of the data structure
|
||||||
|
* returned in the window field.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
NPWindowTypeWindow = 1,
|
||||||
|
NPWindowTypeDrawable
|
||||||
|
} NPWindowType;
|
||||||
|
|
||||||
|
typedef struct _NPWindow
|
||||||
|
{
|
||||||
|
void* window; /* Platform specific window handle */
|
||||||
|
/* OS/2: x - Position of bottom left corner */
|
||||||
|
/* OS/2: y - relative to visible netscape window */
|
||||||
|
int32 x; /* Position of top left corner relative */
|
||||||
|
int32 y; /* to a netscape page. */
|
||||||
|
uint32 width; /* Maximum window size */
|
||||||
|
uint32 height;
|
||||||
|
NPRect clipRect; /* Clipping rectangle in port coordinates */
|
||||||
|
/* Used by MAC only. */
|
||||||
|
#if defined(XP_UNIX) && !defined(XP_MACOSX)
|
||||||
|
void * ws_info; /* Platform-dependent additonal data */
|
||||||
|
#endif /* XP_UNIX */
|
||||||
|
NPWindowType type; /* Is this a window or a drawable? */
|
||||||
|
} NPWindow;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _NPFullPrint
|
||||||
|
{
|
||||||
|
NPBool pluginPrinted;/* Set TRUE if plugin handled fullscreen printing */
|
||||||
|
NPBool printOne; /* TRUE if plugin should print one copy to default printer */
|
||||||
|
void* platformPrint; /* Platform-specific printing info */
|
||||||
|
} NPFullPrint;
|
||||||
|
|
||||||
|
typedef struct _NPEmbedPrint
|
||||||
|
{
|
||||||
|
NPWindow window;
|
||||||
|
void* platformPrint; /* Platform-specific printing info */
|
||||||
|
} NPEmbedPrint;
|
||||||
|
|
||||||
|
typedef struct _NPPrint
|
||||||
|
{
|
||||||
|
uint16 mode; /* NP_FULL or NP_EMBED */
|
||||||
|
union
|
||||||
|
{
|
||||||
|
NPFullPrint fullPrint; /* if mode is NP_FULL */
|
||||||
|
NPEmbedPrint embedPrint; /* if mode is NP_EMBED */
|
||||||
|
} print;
|
||||||
|
} NPPrint;
|
||||||
|
|
||||||
|
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||||
|
typedef EventRecord NPEvent;
|
||||||
|
#elif defined(XP_WIN)
|
||||||
|
typedef struct _NPEvent
|
||||||
|
{
|
||||||
|
uint16 event;
|
||||||
|
uint32 wParam;
|
||||||
|
uint32 lParam;
|
||||||
|
} NPEvent;
|
||||||
|
#elif defined(XP_OS2)
|
||||||
|
typedef struct _NPEvent
|
||||||
|
{
|
||||||
|
uint32 event;
|
||||||
|
uint32 wParam;
|
||||||
|
uint32 lParam;
|
||||||
|
} NPEvent;
|
||||||
|
#elif defined (XP_UNIX) && defined(MOZ_X11)
|
||||||
|
typedef XEvent NPEvent;
|
||||||
|
#else
|
||||||
|
typedef void* NPEvent;
|
||||||
|
#endif /* XP_MAC */
|
||||||
|
|
||||||
|
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||||
|
typedef RgnHandle NPRegion;
|
||||||
|
#elif defined(XP_WIN)
|
||||||
|
typedef HRGN NPRegion;
|
||||||
|
#elif defined(XP_UNIX) && defined(MOZ_X11)
|
||||||
|
typedef Region NPRegion;
|
||||||
|
#else
|
||||||
|
typedef void *NPRegion;
|
||||||
|
#endif /* XP_MAC */
|
||||||
|
|
||||||
|
#if defined(XP_MAC) || defined(XP_MACOSX)
|
||||||
|
/*
|
||||||
|
* Mac-specific structures and definitions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct NP_Port
|
||||||
|
{
|
||||||
|
CGrafPtr port; /* Grafport */
|
||||||
|
int32 portx; /* position inside the topmost window */
|
||||||
|
int32 porty;
|
||||||
|
} NP_Port;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Non-standard event types that can be passed to HandleEvent
|
||||||
|
*/
|
||||||
|
|
||||||
|
enum NPEventType {
|
||||||
|
NPEventType_GetFocusEvent = (osEvt + 16),
|
||||||
|
NPEventType_LoseFocusEvent,
|
||||||
|
NPEventType_AdjustCursorEvent,
|
||||||
|
NPEventType_MenuCommandEvent,
|
||||||
|
NPEventType_ClippingChangedEvent,
|
||||||
|
NPEventType_ScrollingBeginsEvent = 1000,
|
||||||
|
NPEventType_ScrollingEndsEvent
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef OBSOLETE
|
||||||
|
#define getFocusEvent (osEvt + 16)
|
||||||
|
#define loseFocusEvent (osEvt + 17)
|
||||||
|
#define adjustCursorEvent (osEvt + 18)
|
||||||
|
#endif
|
||||||
|
#endif /* XP_MAC */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Values for mode passed to NPP_New:
|
||||||
|
*/
|
||||||
|
#define NP_EMBED 1
|
||||||
|
#define NP_FULL 2
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Values for stream type passed to NPP_NewStream:
|
||||||
|
*/
|
||||||
|
#define NP_NORMAL 1
|
||||||
|
#define NP_SEEK 2
|
||||||
|
#define NP_ASFILE 3
|
||||||
|
#define NP_ASFILEONLY 4
|
||||||
|
|
||||||
|
#define NP_MAXREADY (((unsigned)(~0)<<1)>>1)
|
||||||
|
|
||||||
|
#ifdef XP_MAC
|
||||||
|
#pragma options align=reset
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* Error and Reason Code definitions */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Values of type NPError:
|
||||||
|
*/
|
||||||
|
#define NPERR_BASE 0
|
||||||
|
#define NPERR_NO_ERROR (NPERR_BASE + 0)
|
||||||
|
#define NPERR_GENERIC_ERROR (NPERR_BASE + 1)
|
||||||
|
#define NPERR_INVALID_INSTANCE_ERROR (NPERR_BASE + 2)
|
||||||
|
#define NPERR_INVALID_FUNCTABLE_ERROR (NPERR_BASE + 3)
|
||||||
|
#define NPERR_MODULE_LOAD_FAILED_ERROR (NPERR_BASE + 4)
|
||||||
|
#define NPERR_OUT_OF_MEMORY_ERROR (NPERR_BASE + 5)
|
||||||
|
#define NPERR_INVALID_PLUGIN_ERROR (NPERR_BASE + 6)
|
||||||
|
#define NPERR_INVALID_PLUGIN_DIR_ERROR (NPERR_BASE + 7)
|
||||||
|
#define NPERR_INCOMPATIBLE_VERSION_ERROR (NPERR_BASE + 8)
|
||||||
|
#define NPERR_INVALID_PARAM (NPERR_BASE + 9)
|
||||||
|
#define NPERR_INVALID_URL (NPERR_BASE + 10)
|
||||||
|
#define NPERR_FILE_NOT_FOUND (NPERR_BASE + 11)
|
||||||
|
#define NPERR_NO_DATA (NPERR_BASE + 12)
|
||||||
|
#define NPERR_STREAM_NOT_SEEKABLE (NPERR_BASE + 13)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Values of type NPReason:
|
||||||
|
*/
|
||||||
|
#define NPRES_BASE 0
|
||||||
|
#define NPRES_DONE (NPRES_BASE + 0)
|
||||||
|
#define NPRES_NETWORK_ERR (NPRES_BASE + 1)
|
||||||
|
#define NPRES_USER_BREAK (NPRES_BASE + 2)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Don't use these obsolete error codes any more.
|
||||||
|
*/
|
||||||
|
#define NP_NOERR NP_NOERR_is_obsolete_use_NPERR_NO_ERROR
|
||||||
|
#define NP_EINVAL NP_EINVAL_is_obsolete_use_NPERR_GENERIC_ERROR
|
||||||
|
#define NP_EABORT NP_EABORT_is_obsolete_use_NPRES_USER_BREAK
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Version feature information
|
||||||
|
*/
|
||||||
|
#define NPVERS_HAS_STREAMOUTPUT 8
|
||||||
|
#define NPVERS_HAS_NOTIFICATION 9
|
||||||
|
#define NPVERS_HAS_LIVECONNECT 9
|
||||||
|
#define NPVERS_WIN16_HAS_LIVECONNECT 9
|
||||||
|
#define NPVERS_68K_HAS_LIVECONNECT 11
|
||||||
|
#define NPVERS_HAS_WINDOWLESS 11
|
||||||
|
#define NPVERS_HAS_XPCONNECT_SCRIPTING 13
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* Function Prototypes */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if defined(_WINDOWS) && !defined(WIN32)
|
||||||
|
#define NP_LOADDS _loadds
|
||||||
|
#else
|
||||||
|
#if defined(__OS2__)
|
||||||
|
#define NP_LOADDS _System
|
||||||
|
#else
|
||||||
|
#define NP_LOADDS
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NPP_* functions are provided by the plugin and called by the navigator.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef XP_UNIX
|
||||||
|
char* NPP_GetMIMEDescription(void);
|
||||||
|
#endif /* XP_UNIX */
|
||||||
|
|
||||||
|
NPError NP_LOADDS NPP_Initialize(void);
|
||||||
|
void NP_LOADDS NPP_Shutdown(void);
|
||||||
|
NPError NP_LOADDS NPP_New(NPMIMEType pluginType, NPP instance,
|
||||||
|
uint16 mode, int16 argc, char* argn[],
|
||||||
|
char* argv[], NPSavedData* saved);
|
||||||
|
NPError NP_LOADDS NPP_Destroy(NPP instance, NPSavedData** save);
|
||||||
|
NPError NP_LOADDS NPP_SetWindow(NPP instance, NPWindow* window);
|
||||||
|
NPError NP_LOADDS NPP_NewStream(NPP instance, NPMIMEType type,
|
||||||
|
NPStream* stream, NPBool seekable,
|
||||||
|
uint16* stype);
|
||||||
|
NPError NP_LOADDS NPP_DestroyStream(NPP instance, NPStream* stream,
|
||||||
|
NPReason reason);
|
||||||
|
int32 NP_LOADDS NPP_WriteReady(NPP instance, NPStream* stream);
|
||||||
|
int32 NP_LOADDS NPP_Write(NPP instance, NPStream* stream, int32 offset,
|
||||||
|
int32 len, void* buffer);
|
||||||
|
void NP_LOADDS NPP_StreamAsFile(NPP instance, NPStream* stream,
|
||||||
|
const char* fname);
|
||||||
|
void NP_LOADDS NPP_Print(NPP instance, NPPrint* platformPrint);
|
||||||
|
int16 NP_LOADDS NPP_HandleEvent(NPP instance, void* event);
|
||||||
|
void NP_LOADDS NPP_URLNotify(NPP instance, const char* url,
|
||||||
|
NPReason reason, void* notifyData);
|
||||||
|
#ifdef OJI
|
||||||
|
jref NP_LOADDS NPP_GetJavaClass(void);
|
||||||
|
#endif
|
||||||
|
NPError NP_LOADDS NPP_GetValue(NPP instance, NPPVariable variable, void *value);
|
||||||
|
/*
|
||||||
|
* Uh, shouldn't NPP_SetValue() take an NPPVariable and not an NPNVariable?
|
||||||
|
*/
|
||||||
|
NPError NP_LOADDS NPP_SetValue(NPP instance, NPNVariable variable, void *value);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NPN_* functions are provided by the navigator and called by the plugin.
|
||||||
|
*/
|
||||||
|
void NP_LOADDS NPN_Version(int* plugin_major, int* plugin_minor,
|
||||||
|
int* netscape_major, int* netscape_minor);
|
||||||
|
NPError NP_LOADDS NPN_GetURLNotify(NPP instance, const char* url,
|
||||||
|
const char* target, void* notifyData);
|
||||||
|
NPError NP_LOADDS NPN_GetURL(NPP instance, const char* url,
|
||||||
|
const char* target);
|
||||||
|
NPError NP_LOADDS NPN_PostURLNotify(NPP instance, const char* url,
|
||||||
|
const char* target, uint32 len,
|
||||||
|
const char* buf, NPBool file,
|
||||||
|
void* notifyData);
|
||||||
|
NPError NP_LOADDS NPN_PostURL(NPP instance, const char* url,
|
||||||
|
const char* target, uint32 len,
|
||||||
|
const char* buf, NPBool file);
|
||||||
|
NPError NP_LOADDS NPN_RequestRead(NPStream* stream, NPByteRange* rangeList);
|
||||||
|
NPError NP_LOADDS NPN_NewStream(NPP instance, NPMIMEType type,
|
||||||
|
const char* target, NPStream** stream);
|
||||||
|
int32 NP_LOADDS NPN_Write(NPP instance, NPStream* stream, int32 len, void* buffer);
|
||||||
|
NPError NP_LOADDS NPN_DestroyStream(NPP instance, NPStream* stream, NPReason reason);
|
||||||
|
void NP_LOADDS NPN_Status(NPP instance, const char* message);
|
||||||
|
const char* NP_LOADDS NPN_UserAgent(NPP instance);
|
||||||
|
void* NP_LOADDS NPN_MemAlloc(uint32 size);
|
||||||
|
void NP_LOADDS NPN_MemFree(void* ptr);
|
||||||
|
uint32 NP_LOADDS NPN_MemFlush(uint32 size);
|
||||||
|
void NP_LOADDS NPN_ReloadPlugins(NPBool reloadPages);
|
||||||
|
#ifdef OJI
|
||||||
|
JRIEnv* NP_LOADDS NPN_GetJavaEnv(void);
|
||||||
|
jref NP_LOADDS NPN_GetJavaPeer(NPP instance);
|
||||||
|
#endif
|
||||||
|
NPError NP_LOADDS NPN_GetValue(NPP instance, NPNVariable variable, void *value);
|
||||||
|
NPError NP_LOADDS NPN_SetValue(NPP instance, NPPVariable variable, void *value);
|
||||||
|
void NP_LOADDS NPN_InvalidateRect(NPP instance, NPRect *invalidRect);
|
||||||
|
void NP_LOADDS NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion);
|
||||||
|
void NP_LOADDS NPN_ForceRedraw(NPP instance);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* end extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* RC_INVOKED */
|
||||||
|
#ifdef __OS2__
|
||||||
|
#pragma pack()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _NPAPI_H_ */
|
|
@ -0,0 +1,397 @@
|
||||||
|
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||||
|
/*
|
||||||
|
* Copyright © 2004, Apple Computer, Inc. and The Mozilla Foundation.
|
||||||
|
* 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 names of Apple Computer, Inc. ("Apple") or The Mozilla
|
||||||
|
* Foundation ("Mozilla") nor the names of their contributors may be used
|
||||||
|
* to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY APPLE, MOZILLA AND THEIR 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 APPLE, MOZILLA OR
|
||||||
|
* THEIR 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.
|
||||||
|
*
|
||||||
|
* Revision 1 (March 4, 2004):
|
||||||
|
* Initial proposal.
|
||||||
|
*
|
||||||
|
* Revision 2 (March 10, 2004):
|
||||||
|
* All calls into script were made asynchronous. Results are
|
||||||
|
* provided via the NPScriptResultFunctionPtr callback.
|
||||||
|
*
|
||||||
|
* Revision 3 (March 10, 2004):
|
||||||
|
* Corrected comments to not refer to class retain/release FunctionPtrs.
|
||||||
|
*
|
||||||
|
* Revision 4 (March 11, 2004):
|
||||||
|
* Added additional convenience NPN_SetExceptionWithUTF8().
|
||||||
|
* Changed NPHasPropertyFunctionPtr and NPHasMethodFunctionPtr to take NPClass
|
||||||
|
* pointers instead of NPObject pointers.
|
||||||
|
* Added NPIsValidIdentifier().
|
||||||
|
*
|
||||||
|
* Revision 5 (March 17, 2004):
|
||||||
|
* Added context parameter to result callbacks from ScriptObject functions.
|
||||||
|
*
|
||||||
|
* Revision 6 (March 29, 2004):
|
||||||
|
* Renamed functions implemented by user agent to NPN_*. Removed _ from
|
||||||
|
* type names.
|
||||||
|
* Renamed "JavaScript" types to "Script".
|
||||||
|
*
|
||||||
|
* Revision 7 (April 21, 2004):
|
||||||
|
* NPIdentifier becomes a void*, was int32_t
|
||||||
|
* Remove NP_IsValidIdentifier, renamed NP_IdentifierFromUTF8 to NP_GetIdentifier
|
||||||
|
* Added NPVariant and modified functions to use this new type.
|
||||||
|
*
|
||||||
|
* Revision 8 (July 9, 2004):
|
||||||
|
* Updated to joint Apple-Mozilla license.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#ifndef _NP_RUNTIME_H_
|
||||||
|
#define _NP_RUNTIME_H_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "nptypes.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
This API is used to facilitate binding code written in C to script
|
||||||
|
objects. The API in this header does not assume the presence of a
|
||||||
|
user agent. That is, it can be used to bind C code to scripting
|
||||||
|
environments outside of the context of a user agent.
|
||||||
|
|
||||||
|
However, the normal use of the this API is in the context of a
|
||||||
|
scripting environment running in a browser or other user agent.
|
||||||
|
In particular it is used to support the extended Netscape
|
||||||
|
script-ability API for plugins (NP-SAP). NP-SAP is an extension
|
||||||
|
of the Netscape plugin API. As such we have adopted the use of
|
||||||
|
the "NP" prefix for this API.
|
||||||
|
|
||||||
|
The following NP{N|P}Variables were added to the Netscape plugin
|
||||||
|
API (in npapi.h):
|
||||||
|
|
||||||
|
NPNVWindowNPObject
|
||||||
|
NPNVPluginElementNPObject
|
||||||
|
NPPVpluginScriptableNPObject
|
||||||
|
|
||||||
|
These variables are exposed through NPN_GetValue() and
|
||||||
|
NPP_GetValue() (respectively) and are used to establish the
|
||||||
|
initial binding between the user agent and native code. The DOM
|
||||||
|
objects in the user agent can be examined and manipulated using
|
||||||
|
the NPN_ functions that operate on NPObjects described in this
|
||||||
|
header.
|
||||||
|
|
||||||
|
To the extent possible the assumptions about the scripting
|
||||||
|
language used by the scripting environment have been minimized.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define NP_BEGIN_MACRO do {
|
||||||
|
#define NP_END_MACRO } while (0)
|
||||||
|
|
||||||
|
/*
|
||||||
|
Objects (non-primitive data) passed between 'C' and script is
|
||||||
|
always wrapped in an NPObject. The 'interface' of an NPObject is
|
||||||
|
described by an NPClass.
|
||||||
|
*/
|
||||||
|
typedef struct NPObject NPObject;
|
||||||
|
typedef struct NPClass NPClass;
|
||||||
|
|
||||||
|
typedef char NPUTF8;
|
||||||
|
typedef struct _NPString {
|
||||||
|
const NPUTF8 *utf8characters;
|
||||||
|
uint32_t utf8length;
|
||||||
|
} NPString;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
NPVariantType_Void,
|
||||||
|
NPVariantType_Null,
|
||||||
|
NPVariantType_Bool,
|
||||||
|
NPVariantType_Int32,
|
||||||
|
NPVariantType_Double,
|
||||||
|
NPVariantType_String,
|
||||||
|
NPVariantType_Object
|
||||||
|
} NPVariantType;
|
||||||
|
|
||||||
|
typedef struct _NPVariant {
|
||||||
|
NPVariantType type;
|
||||||
|
union {
|
||||||
|
bool boolValue;
|
||||||
|
uint32_t intValue;
|
||||||
|
double doubleValue;
|
||||||
|
NPString stringValue;
|
||||||
|
NPObject *objectValue;
|
||||||
|
} value;
|
||||||
|
} NPVariant;
|
||||||
|
|
||||||
|
/*
|
||||||
|
NPN_ReleaseVariantValue is called on all 'out' parameters
|
||||||
|
references. Specifically it is to be called on variants that own
|
||||||
|
their value, as is the case with all non-const NPVariant*
|
||||||
|
arguments after a successful call to any methods (except this one)
|
||||||
|
in this API.
|
||||||
|
|
||||||
|
After calling NPN_ReleaseVariantValue, the type of the variant
|
||||||
|
will be NPVariantType_Void.
|
||||||
|
*/
|
||||||
|
void NPN_ReleaseVariantValue(NPVariant *variant);
|
||||||
|
|
||||||
|
#define NPVARIANT_IS_VOID(_v) ((_v).type == NPVariantType_Void)
|
||||||
|
#define NPVARIANT_IS_NULL(_v) ((_v).type == NPVariantType_Null)
|
||||||
|
#define NPVARIANT_IS_BOOLEAN(_v) ((_v).type == NPVariantType_Bool)
|
||||||
|
#define NPVARIANT_IS_INT32(_v) ((_v).type == NPVariantType_Int32)
|
||||||
|
#define NPVARIANT_IS_DOUBLE(_v) ((_v).type == NPVariantType_Double)
|
||||||
|
#define NPVARIANT_IS_STRING(_v) ((_v).type == NPVariantType_String)
|
||||||
|
#define NPVARIANT_IS_OBJECT(_v) ((_v).type == NPVariantType_Object)
|
||||||
|
|
||||||
|
#define NPVARIANT_TO_BOOLEAN(_v) ((_v).value.boolValue)
|
||||||
|
#define NPVARIANT_TO_INT32(_v) ((_v).value.intValue)
|
||||||
|
#define NPVARIANT_TO_DOUBLE(_v) ((_v).value.doubleValue)
|
||||||
|
#define NPVARIANT_TO_STRING(_v) ((_v).value.stringValue)
|
||||||
|
#define NPVARIANT_TO_OBJECT(_v) ((_v).value.objectValue)
|
||||||
|
|
||||||
|
#define VOID_TO_NPVARIANT(_v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Void; \
|
||||||
|
(_v).value.objectValue = NULL; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define NULL_TO_NPVARIANT(_v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Null; \
|
||||||
|
(_v).value.objectValue = NULL; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define BOOLEAN_TO_NPVARIANT(_val, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Bool; \
|
||||||
|
(_v).value.boolValue = !!(_val); \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define INT32_TO_NPVARIANT(_val, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Int32; \
|
||||||
|
(_v).value.intValue = _val; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define DOUBLE_TO_NPVARIANT(_val, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Double; \
|
||||||
|
(_v).value.doubleValue = _val; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define STRINGZ_TO_NPVARIANT(_val, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_String; \
|
||||||
|
NPString str = { _val, strlen(_val) }; \
|
||||||
|
(_v).value.stringValue = str; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define STRINGN_TO_NPVARIANT(_val, _len, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_String; \
|
||||||
|
NPString str = { _val, _len }; \
|
||||||
|
(_v).value.stringValue = str; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
#define OBJECT_TO_NPVARIANT(_val, _v) \
|
||||||
|
NP_BEGIN_MACRO \
|
||||||
|
(_v).type = NPVariantType_Object; \
|
||||||
|
(_v).value.objectValue = _val; \
|
||||||
|
NP_END_MACRO
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Type mappings (JavaScript types have been used for illustration
|
||||||
|
purposes):
|
||||||
|
|
||||||
|
JavaScript to C (NPVariant with type:)
|
||||||
|
undefined NPVariantType_Void
|
||||||
|
null NPVariantType_Null
|
||||||
|
Boolean NPVariantType_Bool
|
||||||
|
Number NPVariantType_Double or NPVariantType_Int32
|
||||||
|
String NPVariantType_String
|
||||||
|
Object NPVariantType_Object
|
||||||
|
|
||||||
|
C (NPVariant with type:) to JavaScript
|
||||||
|
NPVariantType_Void undefined
|
||||||
|
NPVariantType_Null null
|
||||||
|
NPVariantType_Bool Boolean
|
||||||
|
NPVariantType_Int32 Number
|
||||||
|
NPVariantType_Double Number
|
||||||
|
NPVariantType_String String
|
||||||
|
NPVariantType_Object Object
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef void *NPIdentifier;
|
||||||
|
|
||||||
|
/*
|
||||||
|
NPObjects have methods and properties. Methods and properties are
|
||||||
|
identified with NPIdentifiers. These identifiers may be reflected
|
||||||
|
in script. NPIdentifiers can be either strings or integers, IOW,
|
||||||
|
methods and properties can be identified by either strings or
|
||||||
|
integers (i.e. foo["bar"] vs foo[1]). NPIdentifiers can be
|
||||||
|
compared using ==. In case of any errors, the requested
|
||||||
|
NPIdentifier(s) will be NULL.
|
||||||
|
*/
|
||||||
|
NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name);
|
||||||
|
void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount,
|
||||||
|
NPIdentifier *identifiers);
|
||||||
|
NPIdentifier NPN_GetIntIdentifier(int32_t intid);
|
||||||
|
bool NPN_IdentifierIsString(NPIdentifier identifier);
|
||||||
|
|
||||||
|
/*
|
||||||
|
The NPUTF8 returned from NPN_UTF8FromIdentifier SHOULD be freed.
|
||||||
|
*/
|
||||||
|
NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier);
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the integer represented by identifier. If identifier is not an
|
||||||
|
integer identifier, the behaviour is undefined.
|
||||||
|
*/
|
||||||
|
int32_t NPN_IntFromIdentifier(NPIdentifier identifier);
|
||||||
|
|
||||||
|
/*
|
||||||
|
NPObject behavior is implemented using the following set of
|
||||||
|
callback functions.
|
||||||
|
|
||||||
|
The NPVariant *result argument of these functions (where
|
||||||
|
applicable) should be released using NPN_ReleaseVariantValue().
|
||||||
|
*/
|
||||||
|
typedef NPObject *(*NPAllocateFunctionPtr)(NPP npp, NPClass *aClass);
|
||||||
|
typedef void (*NPDeallocateFunctionPtr)(NPObject *npobj);
|
||||||
|
typedef void (*NPInvalidateFunctionPtr)(NPObject *npobj);
|
||||||
|
typedef bool (*NPHasMethodFunctionPtr)(NPObject *npobj, NPIdentifier name);
|
||||||
|
typedef bool (*NPInvokeFunctionPtr)(NPObject *npobj, NPIdentifier name,
|
||||||
|
const NPVariant *args, uint32_t argCount,
|
||||||
|
NPVariant *result);
|
||||||
|
typedef bool (*NPInvokeDefaultFunctionPtr)(NPObject *npobj,
|
||||||
|
const NPVariant *args,
|
||||||
|
uint32_t argCount,
|
||||||
|
NPVariant *result);
|
||||||
|
typedef bool (*NPHasPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name);
|
||||||
|
typedef bool (*NPGetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name,
|
||||||
|
NPVariant *result);
|
||||||
|
typedef bool (*NPSetPropertyFunctionPtr)(NPObject *npobj, NPIdentifier name,
|
||||||
|
const NPVariant *value);
|
||||||
|
typedef bool (*NPRemovePropertyFunctionPtr)(NPObject *npobj,
|
||||||
|
NPIdentifier name);
|
||||||
|
|
||||||
|
/*
|
||||||
|
NPObjects returned by create, retain, invoke, and getProperty pass
|
||||||
|
a reference count to the caller. That is, the callee adds a
|
||||||
|
reference count which passes to the caller. It is the caller's
|
||||||
|
responsibility to release the returned object.
|
||||||
|
|
||||||
|
NPInvokeFunctionPtr function may return 0 to indicate a void
|
||||||
|
result.
|
||||||
|
|
||||||
|
NPInvalidateFunctionPtr is called by the scripting environment
|
||||||
|
when the native code is shutdown. Any attempt to message a
|
||||||
|
NPObject instance after the invalidate callback has been
|
||||||
|
called will result in undefined behavior, even if the native code
|
||||||
|
is still retaining those NPObject instances. (The runtime
|
||||||
|
will typically return immediately, with 0 or NULL, from an attempt
|
||||||
|
to dispatch to a NPObject, but this behavior should not be
|
||||||
|
depended upon.)
|
||||||
|
*/
|
||||||
|
struct NPClass
|
||||||
|
{
|
||||||
|
uint32_t structVersion;
|
||||||
|
NPAllocateFunctionPtr allocate;
|
||||||
|
NPDeallocateFunctionPtr deallocate;
|
||||||
|
NPInvalidateFunctionPtr invalidate;
|
||||||
|
NPHasMethodFunctionPtr hasMethod;
|
||||||
|
NPInvokeFunctionPtr invoke;
|
||||||
|
NPInvokeDefaultFunctionPtr invokeDefault;
|
||||||
|
NPHasPropertyFunctionPtr hasProperty;
|
||||||
|
NPGetPropertyFunctionPtr getProperty;
|
||||||
|
NPSetPropertyFunctionPtr setProperty;
|
||||||
|
NPRemovePropertyFunctionPtr removeProperty;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define NP_CLASS_STRUCT_VERSION 1
|
||||||
|
|
||||||
|
struct NPObject {
|
||||||
|
NPClass *_class;
|
||||||
|
uint32_t referenceCount;
|
||||||
|
/*
|
||||||
|
* Additional space may be allocated here by types of NPObjects
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
If the class has an allocate function, NPN_CreateObject invokes
|
||||||
|
that function, otherwise a NPObject is allocated and
|
||||||
|
returned. This method will initialize the referenceCount member of
|
||||||
|
the NPObject to 1.
|
||||||
|
*/
|
||||||
|
NPObject *NPN_CreateObject(NPP npp, NPClass *aClass);
|
||||||
|
|
||||||
|
/*
|
||||||
|
Increment the NPObject's reference count.
|
||||||
|
*/
|
||||||
|
NPObject *NPN_RetainObject(NPObject *npobj);
|
||||||
|
|
||||||
|
/*
|
||||||
|
Decremented the NPObject's reference count. If the reference
|
||||||
|
count goes to zero, the class's destroy function is invoke if
|
||||||
|
specified, otherwise the object is freed directly.
|
||||||
|
*/
|
||||||
|
void NPN_ReleaseObject(NPObject *npobj);
|
||||||
|
|
||||||
|
/*
|
||||||
|
Functions to access script objects represented by NPObject.
|
||||||
|
|
||||||
|
Calls to script objects are synchronous. If a function returns a
|
||||||
|
value, it will be supplied via the result NPVariant
|
||||||
|
argument. Successful calls will return true, false will be
|
||||||
|
returned in case of an error.
|
||||||
|
|
||||||
|
Calls made from plugin code to script must be made from the thread
|
||||||
|
on which the plugin was initialized.
|
||||||
|
*/
|
||||||
|
|
||||||
|
bool NPN_Invoke(NPP npp, NPObject *npobj, NPIdentifier methodName,
|
||||||
|
const NPVariant *args, uint32_t argCount, NPVariant *result);
|
||||||
|
bool NPN_InvokeDefault(NPP npp, NPObject *npobj, const NPVariant *args,
|
||||||
|
uint32_t argCount, NPVariant *result);
|
||||||
|
bool NPN_Evaluate(NPP npp, NPObject *npobj, NPString *script,
|
||||||
|
NPVariant *result);
|
||||||
|
bool NPN_GetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName,
|
||||||
|
NPVariant *result);
|
||||||
|
bool NPN_SetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName,
|
||||||
|
const NPVariant *value);
|
||||||
|
bool NPN_RemoveProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
|
||||||
|
bool NPN_HasProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName);
|
||||||
|
bool NPN_HasMethod(NPP npp, NPObject *npobj, NPIdentifier methodName);
|
||||||
|
|
||||||
|
/*
|
||||||
|
NPN_SetException may be called to trigger a script exception upon
|
||||||
|
return from entry points into NPObjects. Typical usage:
|
||||||
|
|
||||||
|
NPN_SetException (npobj, message);
|
||||||
|
*/
|
||||||
|
void NPN_SetException(NPObject *npobj, const NPUTF8 *message);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,109 @@
|
||||||
|
/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is mozilla.org code.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* mozilla.org.
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
* Johnny Stenback <jst@mozilla.org> (Original author)
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the terms of
|
||||||
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
* of those above. If you wish to allow use of your version of this file only
|
||||||
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
* use your version of this file under the terms of the MPL, indicate your
|
||||||
|
* decision by deleting the provisions above and replace them with the notice
|
||||||
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
* the provisions above, a recipient may use your version of this file under
|
||||||
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Header file for ensuring that C99 types ([u]int32_t and bool) are
|
||||||
|
* available.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(WIN32) || defined(OS2)
|
||||||
|
/*
|
||||||
|
* Win32 and OS/2 don't know C99, so define [u]int_32 here. The bool
|
||||||
|
* is predefined tho, both in C and C++.
|
||||||
|
*/
|
||||||
|
typedef int int32_t;
|
||||||
|
typedef unsigned int uint32_t;
|
||||||
|
#elif defined(_AIX) || defined(__sun) || defined(__osf__) || defined(IRIX)
|
||||||
|
/*
|
||||||
|
* AIX and SunOS ship a inttypes.h header that defines [u]int32_t,
|
||||||
|
* but not bool for C.
|
||||||
|
*/
|
||||||
|
#include <inttypes.h>
|
||||||
|
|
||||||
|
#ifndef __cplusplus
|
||||||
|
typedef int bool;
|
||||||
|
#endif
|
||||||
|
#elif defined(bsdi) || defined(FREEBSD) || defined(OPENBSD)
|
||||||
|
/*
|
||||||
|
* BSD/OS, FreeBSD, and OpenBSD ship sys/types.h that define int32_t and
|
||||||
|
* u_int32_t.
|
||||||
|
*/
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* BSD/OS ships no header that defines uint32_t, nor bool (for C)
|
||||||
|
* OpenBSD ships no header that defines uint32_t, but provides bool as a
|
||||||
|
* macro.
|
||||||
|
*/
|
||||||
|
#if defined(bsdi) || defined(OPENBSD)
|
||||||
|
typedef u_int32_t uint32_t;
|
||||||
|
|
||||||
|
#if defined(bsdi)
|
||||||
|
#if !defined(__cplusplus)
|
||||||
|
typedef int bool;
|
||||||
|
#endif
|
||||||
|
#else /* OPENBSD is defined, so use its bool */
|
||||||
|
#include <stdbool.h>
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
/*
|
||||||
|
* FreeBSD defines uint32_t and bool.
|
||||||
|
*/
|
||||||
|
#include <inttypes.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#endif
|
||||||
|
#elif defined(BEOS)
|
||||||
|
#include <inttypes.h>
|
||||||
|
#else
|
||||||
|
/*
|
||||||
|
* For those that ship a standard C99 stdint.h header file, include
|
||||||
|
* it. Can't do the same for stdbool.h tho, since some systems ship
|
||||||
|
* with a stdbool.h file that doesn't compile!
|
||||||
|
*/
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#if !defined(__GNUC__) || (__GNUC__ > 2 || __GNUC_MINOR__ > 95)
|
||||||
|
#include <stdbool.h>
|
||||||
|
#else
|
||||||
|
/*
|
||||||
|
* GCC 2.91 can't deal with a typedef for bool, but a #define
|
||||||
|
* works.
|
||||||
|
*/
|
||||||
|
#define bool int
|
||||||
|
#endif
|
||||||
|
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,251 @@
|
||||||
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
|
/*
|
||||||
|
* The contents of this file are subject to the Mozilla Public
|
||||||
|
* License Version 1.1 (the "License"); you may not use this file
|
||||||
|
* except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS
|
||||||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||||
|
* implied. See the License for the specific language governing
|
||||||
|
* rights and limitations under the License.
|
||||||
|
*
|
||||||
|
* The Original Code is the Netscape Portable Runtime (NSPR).
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is Netscape
|
||||||
|
* Communications Corporation. Portions created by Netscape are
|
||||||
|
* Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
||||||
|
* Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the
|
||||||
|
* terms of the GNU General Public License Version 2 or later (the
|
||||||
|
* "GPL"), in which case the provisions of the GPL are applicable
|
||||||
|
* instead of those above. If you wish to allow use of your
|
||||||
|
* version of this file only under the terms of the GPL and not to
|
||||||
|
* allow others to use your version of this file under the MPL,
|
||||||
|
* indicate your decision by deleting the provisions above and
|
||||||
|
* replace them with the notice and other provisions required by
|
||||||
|
* the GPL. If you do not delete the provisions above, a recipient
|
||||||
|
* may use your version of this file under either the MPL or the
|
||||||
|
* GPL.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This header typedefs the old 'native' types to the new PR<type>s.
|
||||||
|
* These definitions are scheduled to be eliminated at the earliest
|
||||||
|
* possible time. The NSPR API is implemented and documented using
|
||||||
|
* the new definitions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(PROTYPES_H)
|
||||||
|
#define PROTYPES_H
|
||||||
|
|
||||||
|
typedef PRUintn uintn;
|
||||||
|
#ifndef _XP_Core_
|
||||||
|
typedef PRIntn intn;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* It is trickier to define uint, int8, uint8, int16, uint16,
|
||||||
|
* int32, uint32, int64, and uint64 because some of these int
|
||||||
|
* types are defined by standard header files on some platforms.
|
||||||
|
* Our strategy here is to include all such standard headers
|
||||||
|
* first, and then define these int types only if they are not
|
||||||
|
* defined by those standard headers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* BeOS defines all the int types below in its standard header
|
||||||
|
* file SupportDefs.h.
|
||||||
|
*/
|
||||||
|
#ifdef XP_BEOS
|
||||||
|
#include <support/SupportDefs.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* OpenVMS defines all the int types below in its standard
|
||||||
|
* header files ints.h and types.h.
|
||||||
|
*/
|
||||||
|
#ifdef VMS
|
||||||
|
#include <ints.h>
|
||||||
|
#include <types.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* SVR4 typedef of uint is commonly found on UNIX machines.
|
||||||
|
*
|
||||||
|
* On AIX 4.3, sys/inttypes.h (which is included by sys/types.h)
|
||||||
|
* defines the types int8, int16, int32, and int64.
|
||||||
|
*/
|
||||||
|
#ifdef XP_UNIX
|
||||||
|
#include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* model.h on HP-UX defines int8, int16, and int32. */
|
||||||
|
#ifdef HPUX
|
||||||
|
#include <model.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* uint
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(XP_BEOS) && !defined(VMS) \
|
||||||
|
&& !defined(XP_UNIX) || defined(NTO)
|
||||||
|
typedef PRUintn uint;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* uint64
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(XP_BEOS) && !defined(VMS)
|
||||||
|
typedef PRUint64 uint64;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* uint32
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(XP_BEOS) && !defined(VMS)
|
||||||
|
#if !defined(XP_MAC) && !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO)
|
||||||
|
typedef PRUint32 uint32;
|
||||||
|
#else
|
||||||
|
typedef unsigned long uint32;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* uint16
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(XP_BEOS) && !defined(VMS)
|
||||||
|
typedef PRUint16 uint16;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* uint8
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(XP_BEOS) && !defined(VMS)
|
||||||
|
typedef PRUint8 uint8;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* int64
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(XP_BEOS) && !defined(VMS) \
|
||||||
|
&& !defined(_PR_AIX_HAVE_BSD_INT_TYPES)
|
||||||
|
typedef PRInt64 int64;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* int32
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(XP_BEOS) && !defined(VMS) \
|
||||||
|
&& !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \
|
||||||
|
&& !defined(HPUX)
|
||||||
|
#if !defined(WIN32) || !defined(_WINSOCK2API_) /* defines its own "int32" */
|
||||||
|
#if !defined(XP_MAC) && !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO)
|
||||||
|
typedef PRInt32 int32;
|
||||||
|
#else
|
||||||
|
typedef long int32;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* int16
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(XP_BEOS) && !defined(VMS) \
|
||||||
|
&& !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \
|
||||||
|
&& !defined(HPUX)
|
||||||
|
typedef PRInt16 int16;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* int8
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(XP_BEOS) && !defined(VMS) \
|
||||||
|
&& !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \
|
||||||
|
&& !defined(HPUX)
|
||||||
|
typedef PRInt8 int8;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef PRFloat64 float64;
|
||||||
|
typedef PRUptrdiff uptrdiff_t;
|
||||||
|
typedef PRUword uprword_t;
|
||||||
|
typedef PRWord prword_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Re: prbit.h */
|
||||||
|
#define TEST_BIT PR_TEST_BIT
|
||||||
|
#define SET_BIT PR_SET_BIT
|
||||||
|
#define CLEAR_BIT PR_CLEAR_BIT
|
||||||
|
|
||||||
|
/* Re: prarena.h->plarena.h */
|
||||||
|
#define PRArena PLArena
|
||||||
|
#define PRArenaPool PLArenaPool
|
||||||
|
#define PRArenaStats PLArenaStats
|
||||||
|
#define PR_ARENA_ALIGN PL_ARENA_ALIGN
|
||||||
|
#define PR_INIT_ARENA_POOL PL_INIT_ARENA_POOL
|
||||||
|
#define PR_ARENA_ALLOCATE PL_ARENA_ALLOCATE
|
||||||
|
#define PR_ARENA_GROW PL_ARENA_GROW
|
||||||
|
#define PR_ARENA_MARK PL_ARENA_MARK
|
||||||
|
#define PR_CLEAR_UNUSED PL_CLEAR_UNUSED
|
||||||
|
#define PR_CLEAR_ARENA PL_CLEAR_ARENA
|
||||||
|
#define PR_ARENA_RELEASE PL_ARENA_RELEASE
|
||||||
|
#define PR_COUNT_ARENA PL_COUNT_ARENA
|
||||||
|
#define PR_ARENA_DESTROY PL_ARENA_DESTROY
|
||||||
|
#define PR_InitArenaPool PL_InitArenaPool
|
||||||
|
#define PR_FreeArenaPool PL_FreeArenaPool
|
||||||
|
#define PR_FinishArenaPool PL_FinishArenaPool
|
||||||
|
#define PR_CompactArenaPool PL_CompactArenaPool
|
||||||
|
#define PR_ArenaFinish PL_ArenaFinish
|
||||||
|
#define PR_ArenaAllocate PL_ArenaAllocate
|
||||||
|
#define PR_ArenaGrow PL_ArenaGrow
|
||||||
|
#define PR_ArenaRelease PL_ArenaRelease
|
||||||
|
#define PR_ArenaCountAllocation PL_ArenaCountAllocation
|
||||||
|
#define PR_ArenaCountInplaceGrowth PL_ArenaCountInplaceGrowth
|
||||||
|
#define PR_ArenaCountGrowth PL_ArenaCountGrowth
|
||||||
|
#define PR_ArenaCountRelease PL_ArenaCountRelease
|
||||||
|
#define PR_ArenaCountRetract PL_ArenaCountRetract
|
||||||
|
|
||||||
|
/* Re: prhash.h->plhash.h */
|
||||||
|
#define PRHashEntry PLHashEntry
|
||||||
|
#define PRHashTable PLHashTable
|
||||||
|
#define PRHashNumber PLHashNumber
|
||||||
|
#define PRHashFunction PLHashFunction
|
||||||
|
#define PRHashComparator PLHashComparator
|
||||||
|
#define PRHashEnumerator PLHashEnumerator
|
||||||
|
#define PRHashAllocOps PLHashAllocOps
|
||||||
|
#define PR_NewHashTable PL_NewHashTable
|
||||||
|
#define PR_HashTableDestroy PL_HashTableDestroy
|
||||||
|
#define PR_HashTableRawLookup PL_HashTableRawLookup
|
||||||
|
#define PR_HashTableRawAdd PL_HashTableRawAdd
|
||||||
|
#define PR_HashTableRawRemove PL_HashTableRawRemove
|
||||||
|
#define PR_HashTableAdd PL_HashTableAdd
|
||||||
|
#define PR_HashTableRemove PL_HashTableRemove
|
||||||
|
#define PR_HashTableEnumerateEntries PL_HashTableEnumerateEntries
|
||||||
|
#define PR_HashTableLookup PL_HashTableLookup
|
||||||
|
#define PR_HashTableDump PL_HashTableDump
|
||||||
|
#define PR_HashString PL_HashString
|
||||||
|
#define PR_CompareStrings PL_CompareStrings
|
||||||
|
#define PR_CompareValues PL_CompareValues
|
||||||
|
|
||||||
|
#if defined(XP_MAC)
|
||||||
|
#ifndef TRUE /* Mac standard is lower case true */
|
||||||
|
#define TRUE 1
|
||||||
|
#endif
|
||||||
|
#ifndef FALSE /* Mac standard is lower case false */
|
||||||
|
#define FALSE 0
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !defined(PROTYPES_H) */
|
|
@ -0,0 +1,707 @@
|
||||||
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
|
/*
|
||||||
|
* The contents of this file are subject to the Mozilla Public
|
||||||
|
* License Version 1.1 (the "License"); you may not use this file
|
||||||
|
* except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS
|
||||||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||||
|
* implied. See the License for the specific language governing
|
||||||
|
* rights and limitations under the License.
|
||||||
|
*
|
||||||
|
* The Original Code is the Netscape Portable Runtime (NSPR).
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is Netscape
|
||||||
|
* Communications Corporation. Portions created by Netscape are
|
||||||
|
* Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
||||||
|
* Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the
|
||||||
|
* terms of the GNU General Public License Version 2 or later (the
|
||||||
|
* "GPL"), in which case the provisions of the GPL are applicable
|
||||||
|
* instead of those above. If you wish to allow use of your
|
||||||
|
* version of this file only under the terms of the GPL and not to
|
||||||
|
* allow others to use your version of this file under the MPL,
|
||||||
|
* indicate your decision by deleting the provisions above and
|
||||||
|
* replace them with the notice and other provisions required by
|
||||||
|
* the GPL. If you do not delete the provisions above, a recipient
|
||||||
|
* may use your version of this file under either the MPL or the
|
||||||
|
* GPL.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef nspr_cpucfg___
|
||||||
|
#define nspr_cpucfg___
|
||||||
|
|
||||||
|
#ifndef XP_UNIX
|
||||||
|
#define XP_UNIX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef LINUX
|
||||||
|
#define LINUX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define PR_AF_INET6 10 /* same as AF_INET6 */
|
||||||
|
|
||||||
|
#ifdef __powerpc64__
|
||||||
|
|
||||||
|
#undef IS_LITTLE_ENDIAN
|
||||||
|
#define IS_BIG_ENDIAN 1
|
||||||
|
#define IS_64
|
||||||
|
#define IS_LIB64
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 8
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 8
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 64
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 64
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 6
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 6
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 8
|
||||||
|
#define PR_ALIGN_OF_INT64 8
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 8
|
||||||
|
#define PR_ALIGN_OF_POINTER 8
|
||||||
|
#define PR_ALIGN_OF_WORD 8
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 3
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__powerpc__)
|
||||||
|
|
||||||
|
#undef IS_LITTLE_ENDIAN
|
||||||
|
#define IS_BIG_ENDIAN 1
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 4
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 4
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 32
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 32
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 5
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 5
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 4
|
||||||
|
#define PR_ALIGN_OF_INT64 8
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 8
|
||||||
|
#define PR_ALIGN_OF_POINTER 4
|
||||||
|
#define PR_ALIGN_OF_WORD 4
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 2
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__alpha)
|
||||||
|
|
||||||
|
#define IS_LITTLE_ENDIAN 1
|
||||||
|
#undef IS_BIG_ENDIAN
|
||||||
|
#define IS_64
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 8
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 8
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 64
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 64
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 6
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 6
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 8
|
||||||
|
#define PR_ALIGN_OF_INT64 8
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 8
|
||||||
|
#define PR_ALIGN_OF_POINTER 8
|
||||||
|
#define PR_ALIGN_OF_WORD 8
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 3
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__ia64__)
|
||||||
|
|
||||||
|
#define IS_LITTLE_ENDIAN 1
|
||||||
|
#undef IS_BIG_ENDIAN
|
||||||
|
#define IS_64
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 8
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 8
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 64
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 64
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 6
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 6
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 8
|
||||||
|
#define PR_ALIGN_OF_INT64 8
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 8
|
||||||
|
#define PR_ALIGN_OF_POINTER 8
|
||||||
|
#define PR_ALIGN_OF_WORD 8
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 3
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__x86_64__)
|
||||||
|
|
||||||
|
#define IS_LITTLE_ENDIAN 1
|
||||||
|
#undef IS_BIG_ENDIAN
|
||||||
|
#define IS_64
|
||||||
|
#define IS_LIB64
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 8
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 8
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 64
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 64
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 6
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 6
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 8
|
||||||
|
#define PR_ALIGN_OF_INT64 8
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 8
|
||||||
|
#define PR_ALIGN_OF_POINTER 8
|
||||||
|
#define PR_ALIGN_OF_WORD 8
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 3
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__mc68000__)
|
||||||
|
|
||||||
|
#undef IS_LITTLE_ENDIAN
|
||||||
|
#define IS_BIG_ENDIAN 1
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 4
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 4
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 32
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 32
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 5
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 5
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 2
|
||||||
|
#define PR_ALIGN_OF_LONG 2
|
||||||
|
#define PR_ALIGN_OF_INT64 2
|
||||||
|
#define PR_ALIGN_OF_FLOAT 2
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 2
|
||||||
|
#define PR_ALIGN_OF_POINTER 2
|
||||||
|
#define PR_ALIGN_OF_WORD 2
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 2
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__sparc__)
|
||||||
|
|
||||||
|
#undef IS_LITTLE_ENDIAN
|
||||||
|
#define IS_BIG_ENDIAN 1
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 4
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 4
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 32
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 32
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 5
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 5
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 4
|
||||||
|
#define PR_ALIGN_OF_INT64 8
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 8
|
||||||
|
#define PR_ALIGN_OF_POINTER 4
|
||||||
|
#define PR_ALIGN_OF_WORD 4
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 2
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__i386__)
|
||||||
|
|
||||||
|
#define IS_LITTLE_ENDIAN 1
|
||||||
|
#undef IS_BIG_ENDIAN
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 4
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 4
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 32
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 32
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 5
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 5
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 4
|
||||||
|
#define PR_ALIGN_OF_INT64 4
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 4
|
||||||
|
#define PR_ALIGN_OF_POINTER 4
|
||||||
|
#define PR_ALIGN_OF_WORD 4
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 2
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__mips__)
|
||||||
|
|
||||||
|
#ifdef __MIPSEB__
|
||||||
|
#define IS_BIG_ENDIAN 1
|
||||||
|
#undef IS_LITTLE_ENDIAN
|
||||||
|
#elif defined(__MIPSEL__)
|
||||||
|
#define IS_LITTLE_ENDIAN 1
|
||||||
|
#undef IS_BIG_ENDIAN
|
||||||
|
#else
|
||||||
|
#error "Unknown MIPS endianness."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 4
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 4
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 32
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 32
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 5
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 5
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 4
|
||||||
|
#define PR_ALIGN_OF_INT64 8
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 8
|
||||||
|
#define PR_ALIGN_OF_POINTER 4
|
||||||
|
#define PR_ALIGN_OF_WORD 4
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 2
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__arm__)
|
||||||
|
|
||||||
|
#define IS_LITTLE_ENDIAN 1
|
||||||
|
#undef IS_BIG_ENDIAN
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 4
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 4
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 32
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 32
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 5
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 5
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 4
|
||||||
|
#define PR_ALIGN_OF_INT64 4
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 4
|
||||||
|
#define PR_ALIGN_OF_POINTER 4
|
||||||
|
#define PR_ALIGN_OF_WORD 4
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 2
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__hppa__)
|
||||||
|
|
||||||
|
#undef IS_LITTLE_ENDIAN
|
||||||
|
#define IS_BIG_ENDIAN 1
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 4
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 4
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 32
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 32
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 5
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 5
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 4
|
||||||
|
#define PR_ALIGN_OF_INT64 8
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 8
|
||||||
|
#define PR_ALIGN_OF_POINTER 4
|
||||||
|
#define PR_ALIGN_OF_WORD 4
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 2
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__s390__)
|
||||||
|
|
||||||
|
#define IS_BIG_ENDIAN 1
|
||||||
|
#undef IS_LITTLE_ENDIAN
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 4
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 4
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 32
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 32
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 5
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 5
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 4
|
||||||
|
#define PR_ALIGN_OF_INT64 4
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 4
|
||||||
|
#define PR_ALIGN_OF_POINTER 4
|
||||||
|
#define PR_ALIGN_OF_WORD 4
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 2
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#elif defined(__s390x__)
|
||||||
|
|
||||||
|
#define IS_BIG_ENDIAN 1
|
||||||
|
#undef IS_LITTLE_ENDIAN
|
||||||
|
#define IS_64
|
||||||
|
#define IS_LIB64
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_BYTE 1
|
||||||
|
#define PR_BYTES_PER_SHORT 2
|
||||||
|
#define PR_BYTES_PER_INT 4
|
||||||
|
#define PR_BYTES_PER_INT64 8
|
||||||
|
#define PR_BYTES_PER_LONG 8
|
||||||
|
#define PR_BYTES_PER_FLOAT 4
|
||||||
|
#define PR_BYTES_PER_DOUBLE 8
|
||||||
|
#define PR_BYTES_PER_WORD 8
|
||||||
|
#define PR_BYTES_PER_DWORD 8
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE 8
|
||||||
|
#define PR_BITS_PER_SHORT 16
|
||||||
|
#define PR_BITS_PER_INT 32
|
||||||
|
#define PR_BITS_PER_INT64 64
|
||||||
|
#define PR_BITS_PER_LONG 64
|
||||||
|
#define PR_BITS_PER_FLOAT 32
|
||||||
|
#define PR_BITS_PER_DOUBLE 64
|
||||||
|
#define PR_BITS_PER_WORD 64
|
||||||
|
|
||||||
|
#define PR_BITS_PER_BYTE_LOG2 3
|
||||||
|
#define PR_BITS_PER_SHORT_LOG2 4
|
||||||
|
#define PR_BITS_PER_INT_LOG2 5
|
||||||
|
#define PR_BITS_PER_INT64_LOG2 6
|
||||||
|
#define PR_BITS_PER_LONG_LOG2 6
|
||||||
|
#define PR_BITS_PER_FLOAT_LOG2 5
|
||||||
|
#define PR_BITS_PER_DOUBLE_LOG2 6
|
||||||
|
#define PR_BITS_PER_WORD_LOG2 6
|
||||||
|
|
||||||
|
#define PR_ALIGN_OF_SHORT 2
|
||||||
|
#define PR_ALIGN_OF_INT 4
|
||||||
|
#define PR_ALIGN_OF_LONG 8
|
||||||
|
#define PR_ALIGN_OF_INT64 8
|
||||||
|
#define PR_ALIGN_OF_FLOAT 4
|
||||||
|
#define PR_ALIGN_OF_DOUBLE 8
|
||||||
|
#define PR_ALIGN_OF_POINTER 8
|
||||||
|
#define PR_ALIGN_OF_WORD 8
|
||||||
|
|
||||||
|
#define PR_BYTES_PER_WORD_LOG2 3
|
||||||
|
#define PR_BYTES_PER_DWORD_LOG2 3
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#error "Unknown CPU architecture"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define HAVE_LONG_LONG
|
||||||
|
#if PR_ALIGN_OF_DOUBLE == 8
|
||||||
|
#define HAVE_ALIGNED_DOUBLES
|
||||||
|
#endif
|
||||||
|
#if PR_ALIGN_OF_INT64 == 8
|
||||||
|
#define HAVE_ALIGNED_LONGLONGS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NO_NSPR_10_SUPPORT
|
||||||
|
|
||||||
|
#define BYTES_PER_BYTE PR_BYTES_PER_BYTE
|
||||||
|
#define BYTES_PER_SHORT PR_BYTES_PER_SHORT
|
||||||
|
#define BYTES_PER_INT PR_BYTES_PER_INT
|
||||||
|
#define BYTES_PER_INT64 PR_BYTES_PER_INT64
|
||||||
|
#define BYTES_PER_LONG PR_BYTES_PER_LONG
|
||||||
|
#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT
|
||||||
|
#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE
|
||||||
|
#define BYTES_PER_WORD PR_BYTES_PER_WORD
|
||||||
|
#define BYTES_PER_DWORD PR_BYTES_PER_DWORD
|
||||||
|
|
||||||
|
#define BITS_PER_BYTE PR_BITS_PER_BYTE
|
||||||
|
#define BITS_PER_SHORT PR_BITS_PER_SHORT
|
||||||
|
#define BITS_PER_INT PR_BITS_PER_INT
|
||||||
|
#define BITS_PER_INT64 PR_BITS_PER_INT64
|
||||||
|
#define BITS_PER_LONG PR_BITS_PER_LONG
|
||||||
|
#define BITS_PER_FLOAT PR_BITS_PER_FLOAT
|
||||||
|
#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE
|
||||||
|
#define BITS_PER_WORD PR_BITS_PER_WORD
|
||||||
|
|
||||||
|
#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2
|
||||||
|
#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
|
||||||
|
#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2
|
||||||
|
#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
|
||||||
|
#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2
|
||||||
|
#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
|
||||||
|
#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2
|
||||||
|
#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2
|
||||||
|
|
||||||
|
#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT
|
||||||
|
#define ALIGN_OF_INT PR_ALIGN_OF_INT
|
||||||
|
#define ALIGN_OF_LONG PR_ALIGN_OF_LONG
|
||||||
|
#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64
|
||||||
|
#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT
|
||||||
|
#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE
|
||||||
|
#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER
|
||||||
|
#define ALIGN_OF_WORD PR_ALIGN_OF_WORD
|
||||||
|
|
||||||
|
#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2
|
||||||
|
#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2
|
||||||
|
#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2
|
||||||
|
|
||||||
|
#endif /* NO_NSPR_10_SUPPORT */
|
||||||
|
|
||||||
|
#endif /* nspr_cpucfg___ */
|
|
@ -0,0 +1,523 @@
|
||||||
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
|
/*
|
||||||
|
* The contents of this file are subject to the Mozilla Public
|
||||||
|
* License Version 1.1 (the "License"); you may not use this file
|
||||||
|
* except in compliance with the License. You may obtain a copy of
|
||||||
|
* the License at http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS
|
||||||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||||
|
* implied. See the License for the specific language governing
|
||||||
|
* rights and limitations under the License.
|
||||||
|
*
|
||||||
|
* The Original Code is the Netscape Portable Runtime (NSPR).
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is Netscape
|
||||||
|
* Communications Corporation. Portions created by Netscape are
|
||||||
|
* Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
||||||
|
* Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the
|
||||||
|
* terms of the GNU General Public License Version 2 or later (the
|
||||||
|
* "GPL"), in which case the provisions of the GPL are applicable
|
||||||
|
* instead of those above. If you wish to allow use of your
|
||||||
|
* version of this file only under the terms of the GPL and not to
|
||||||
|
* allow others to use your version of this file under the MPL,
|
||||||
|
* indicate your decision by deleting the provisions above and
|
||||||
|
* replace them with the notice and other provisions required by
|
||||||
|
* the GPL. If you do not delete the provisions above, a recipient
|
||||||
|
* may use your version of this file under either the MPL or the
|
||||||
|
* GPL.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** File: prtypes.h
|
||||||
|
** Description: Definitions of NSPR's basic types
|
||||||
|
**
|
||||||
|
** Prototypes and macros used to make up for deficiencies in ANSI environments
|
||||||
|
** that we have found.
|
||||||
|
**
|
||||||
|
** Since we do not wrap <stdlib.h> and all the other standard headers, authors
|
||||||
|
** of portable code will not know in general that they need these definitions.
|
||||||
|
** Instead of requiring these authors to find the dependent uses in their code
|
||||||
|
** and take the following steps only in those C files, we take steps once here
|
||||||
|
** for all C files.
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef prtypes_h___
|
||||||
|
#define prtypes_h___
|
||||||
|
|
||||||
|
#ifdef MDCPUCFG
|
||||||
|
#include MDCPUCFG
|
||||||
|
#else
|
||||||
|
#include "prcpucfg.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
** MACROS: PR_EXTERN
|
||||||
|
** PR_IMPLEMENT
|
||||||
|
** DESCRIPTION:
|
||||||
|
** These are only for externally visible routines and globals. For
|
||||||
|
** internal routines, just use "extern" for type checking and that
|
||||||
|
** will not export internal cross-file or forward-declared symbols.
|
||||||
|
** Define a macro for declaring procedures return types. We use this to
|
||||||
|
** deal with windoze specific type hackery for DLL definitions. Use
|
||||||
|
** PR_EXTERN when the prototype for the method is declared. Use
|
||||||
|
** PR_IMPLEMENT for the implementation of the method.
|
||||||
|
**
|
||||||
|
** Example:
|
||||||
|
** in dowhim.h
|
||||||
|
** PR_EXTERN( void ) DoWhatIMean( void );
|
||||||
|
** in dowhim.c
|
||||||
|
** PR_IMPLEMENT( void ) DoWhatIMean( void ) { return; }
|
||||||
|
**
|
||||||
|
**
|
||||||
|
***********************************************************************/
|
||||||
|
#if defined(WIN32)
|
||||||
|
|
||||||
|
#define PR_EXPORT(__type) extern __declspec(dllexport) __type
|
||||||
|
#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type
|
||||||
|
#define PR_IMPORT(__type) __declspec(dllimport) __type
|
||||||
|
#define PR_IMPORT_DATA(__type) __declspec(dllimport) __type
|
||||||
|
|
||||||
|
#define PR_EXTERN(__type) extern __declspec(dllexport) __type
|
||||||
|
#define PR_IMPLEMENT(__type) __declspec(dllexport) __type
|
||||||
|
#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type
|
||||||
|
#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type
|
||||||
|
|
||||||
|
#define PR_CALLBACK
|
||||||
|
#define PR_CALLBACK_DECL
|
||||||
|
#define PR_STATIC_CALLBACK(__x) static __x
|
||||||
|
|
||||||
|
#elif defined(XP_BEOS)
|
||||||
|
|
||||||
|
#define PR_EXPORT(__type) extern __declspec(dllexport) __type
|
||||||
|
#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type
|
||||||
|
#define PR_IMPORT(__type) extern __declspec(dllexport) __type
|
||||||
|
#define PR_IMPORT_DATA(__type) extern __declspec(dllexport) __type
|
||||||
|
|
||||||
|
#define PR_EXTERN(__type) extern __declspec(dllexport) __type
|
||||||
|
#define PR_IMPLEMENT(__type) __declspec(dllexport) __type
|
||||||
|
#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type
|
||||||
|
#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type
|
||||||
|
|
||||||
|
#define PR_CALLBACK
|
||||||
|
#define PR_CALLBACK_DECL
|
||||||
|
#define PR_STATIC_CALLBACK(__x) static __x
|
||||||
|
|
||||||
|
#elif defined(WIN16)
|
||||||
|
|
||||||
|
#define PR_CALLBACK_DECL __cdecl
|
||||||
|
|
||||||
|
#if defined(_WINDLL)
|
||||||
|
#define PR_EXPORT(__type) extern __type _cdecl _export _loadds
|
||||||
|
#define PR_IMPORT(__type) extern __type _cdecl _export _loadds
|
||||||
|
#define PR_EXPORT_DATA(__type) extern __type _export
|
||||||
|
#define PR_IMPORT_DATA(__type) extern __type _export
|
||||||
|
|
||||||
|
#define PR_EXTERN(__type) extern __type _cdecl _export _loadds
|
||||||
|
#define PR_IMPLEMENT(__type) __type _cdecl _export _loadds
|
||||||
|
#define PR_EXTERN_DATA(__type) extern __type _export
|
||||||
|
#define PR_IMPLEMENT_DATA(__type) __type _export
|
||||||
|
|
||||||
|
#define PR_CALLBACK __cdecl __loadds
|
||||||
|
#define PR_STATIC_CALLBACK(__x) static __x PR_CALLBACK
|
||||||
|
|
||||||
|
#else /* this must be .EXE */
|
||||||
|
#define PR_EXPORT(__type) extern __type _cdecl _export
|
||||||
|
#define PR_IMPORT(__type) extern __type _cdecl _export
|
||||||
|
#define PR_EXPORT_DATA(__type) extern __type _export
|
||||||
|
#define PR_IMPORT_DATA(__type) extern __type _export
|
||||||
|
|
||||||
|
#define PR_EXTERN(__type) extern __type _cdecl _export
|
||||||
|
#define PR_IMPLEMENT(__type) __type _cdecl _export
|
||||||
|
#define PR_EXTERN_DATA(__type) extern __type _export
|
||||||
|
#define PR_IMPLEMENT_DATA(__type) __type _export
|
||||||
|
|
||||||
|
#define PR_CALLBACK __cdecl __loadds
|
||||||
|
#define PR_STATIC_CALLBACK(__x) __x PR_CALLBACK
|
||||||
|
#endif /* _WINDLL */
|
||||||
|
|
||||||
|
#elif defined(XP_MAC)
|
||||||
|
|
||||||
|
#define PR_EXPORT(__type) extern __declspec(export) __type
|
||||||
|
#define PR_EXPORT_DATA(__type) extern __declspec(export) __type
|
||||||
|
#define PR_IMPORT(__type) extern __declspec(export) __type
|
||||||
|
#define PR_IMPORT_DATA(__type) extern __declspec(export) __type
|
||||||
|
|
||||||
|
#define PR_EXTERN(__type) extern __declspec(export) __type
|
||||||
|
#define PR_IMPLEMENT(__type) __declspec(export) __type
|
||||||
|
#define PR_EXTERN_DATA(__type) extern __declspec(export) __type
|
||||||
|
#define PR_IMPLEMENT_DATA(__type) __declspec(export) __type
|
||||||
|
|
||||||
|
#define PR_CALLBACK
|
||||||
|
#define PR_CALLBACK_DECL
|
||||||
|
#define PR_STATIC_CALLBACK(__x) static __x
|
||||||
|
|
||||||
|
#else /* Unix */
|
||||||
|
|
||||||
|
#define PR_EXPORT(__type) extern __type
|
||||||
|
#define PR_EXPORT_DATA(__type) extern __type
|
||||||
|
#define PR_IMPORT(__type) extern __type
|
||||||
|
#define PR_IMPORT_DATA(__type) extern __type
|
||||||
|
|
||||||
|
#define PR_EXTERN(__type) extern __type
|
||||||
|
#define PR_IMPLEMENT(__type) __type
|
||||||
|
#define PR_EXTERN_DATA(__type) extern __type
|
||||||
|
#define PR_IMPLEMENT_DATA(__type) __type
|
||||||
|
#define PR_CALLBACK
|
||||||
|
#define PR_CALLBACK_DECL
|
||||||
|
#define PR_STATIC_CALLBACK(__x) static __x
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_NSPR_BUILD_)
|
||||||
|
#define NSPR_API(__type) PR_EXPORT(__type)
|
||||||
|
#define NSPR_DATA_API(__type) PR_EXPORT_DATA(__type)
|
||||||
|
#else
|
||||||
|
#define NSPR_API(__type) PR_IMPORT(__type)
|
||||||
|
#define NSPR_DATA_API(__type) PR_IMPORT_DATA(__type)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
** MACROS: PR_BEGIN_MACRO
|
||||||
|
** PR_END_MACRO
|
||||||
|
** DESCRIPTION:
|
||||||
|
** Macro body brackets so that macros with compound statement definitions
|
||||||
|
** behave syntactically more like functions when called.
|
||||||
|
***********************************************************************/
|
||||||
|
#define PR_BEGIN_MACRO do {
|
||||||
|
#define PR_END_MACRO } while (0)
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
** MACROS: PR_BEGIN_EXTERN_C
|
||||||
|
** PR_END_EXTERN_C
|
||||||
|
** DESCRIPTION:
|
||||||
|
** Macro shorthands for conditional C++ extern block delimiters.
|
||||||
|
***********************************************************************/
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define PR_BEGIN_EXTERN_C extern "C" {
|
||||||
|
#define PR_END_EXTERN_C }
|
||||||
|
#else
|
||||||
|
#define PR_BEGIN_EXTERN_C
|
||||||
|
#define PR_END_EXTERN_C
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
** MACROS: PR_BIT
|
||||||
|
** PR_BITMASK
|
||||||
|
** DESCRIPTION:
|
||||||
|
** Bit masking macros. XXX n must be <= 31 to be portable
|
||||||
|
***********************************************************************/
|
||||||
|
#define PR_BIT(n) ((PRUint32)1 << (n))
|
||||||
|
#define PR_BITMASK(n) (PR_BIT(n) - 1)
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
** MACROS: PR_ROUNDUP
|
||||||
|
** PR_MIN
|
||||||
|
** PR_MAX
|
||||||
|
** PR_ABS
|
||||||
|
** DESCRIPTION:
|
||||||
|
** Commonly used macros for operations on compatible types.
|
||||||
|
***********************************************************************/
|
||||||
|
#define PR_ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y))
|
||||||
|
#define PR_MIN(x,y) ((x)<(y)?(x):(y))
|
||||||
|
#define PR_MAX(x,y) ((x)>(y)?(x):(y))
|
||||||
|
#define PR_ABS(x) ((x)<0?-(x):(x))
|
||||||
|
|
||||||
|
PR_BEGIN_EXTERN_C
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRUint8
|
||||||
|
** PRInt8
|
||||||
|
** DESCRIPTION:
|
||||||
|
** The int8 types are known to be 8 bits each. There is no type that
|
||||||
|
** is equivalent to a plain "char".
|
||||||
|
************************************************************************/
|
||||||
|
#if PR_BYTES_PER_BYTE == 1
|
||||||
|
typedef unsigned char PRUint8;
|
||||||
|
/*
|
||||||
|
** Some cfront-based C++ compilers do not like 'signed char' and
|
||||||
|
** issue the warning message:
|
||||||
|
** warning: "signed" not implemented (ignored)
|
||||||
|
** For these compilers, we have to define PRInt8 as plain 'char'.
|
||||||
|
** Make sure that plain 'char' is indeed signed under these compilers.
|
||||||
|
*/
|
||||||
|
#if (defined(HPUX) && defined(__cplusplus) \
|
||||||
|
&& !defined(__GNUC__) && __cplusplus < 199707L) \
|
||||||
|
|| (defined(SCO) && defined(__cplusplus) \
|
||||||
|
&& !defined(__GNUC__) && __cplusplus == 1L)
|
||||||
|
typedef char PRInt8;
|
||||||
|
#else
|
||||||
|
typedef signed char PRInt8;
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#error No suitable type for PRInt8/PRUint8
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* MACROS: PR_INT8_MAX
|
||||||
|
* PR_INT8_MIN
|
||||||
|
* PR_UINT8_MAX
|
||||||
|
* DESCRIPTION:
|
||||||
|
* The maximum and minimum values of a PRInt8 or PRUint8.
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
#define PR_INT8_MAX 127
|
||||||
|
#define PR_INT8_MIN (-128)
|
||||||
|
#define PR_UINT8_MAX 255U
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRUint16
|
||||||
|
** PRInt16
|
||||||
|
** DESCRIPTION:
|
||||||
|
** The int16 types are known to be 16 bits each.
|
||||||
|
************************************************************************/
|
||||||
|
#if PR_BYTES_PER_SHORT == 2
|
||||||
|
typedef unsigned short PRUint16;
|
||||||
|
typedef short PRInt16;
|
||||||
|
#else
|
||||||
|
#error No suitable type for PRInt16/PRUint16
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* MACROS: PR_INT16_MAX
|
||||||
|
* PR_INT16_MIN
|
||||||
|
* PR_UINT16_MAX
|
||||||
|
* DESCRIPTION:
|
||||||
|
* The maximum and minimum values of a PRInt16 or PRUint16.
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
#define PR_INT16_MAX 32767
|
||||||
|
#define PR_INT16_MIN (-32768)
|
||||||
|
#define PR_UINT16_MAX 65535U
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRUint32
|
||||||
|
** PRInt32
|
||||||
|
** DESCRIPTION:
|
||||||
|
** The int32 types are known to be 32 bits each.
|
||||||
|
************************************************************************/
|
||||||
|
#if PR_BYTES_PER_INT == 4
|
||||||
|
typedef unsigned int PRUint32;
|
||||||
|
typedef int PRInt32;
|
||||||
|
#define PR_INT32(x) x
|
||||||
|
#define PR_UINT32(x) x ## U
|
||||||
|
#elif PR_BYTES_PER_LONG == 4
|
||||||
|
typedef unsigned long PRUint32;
|
||||||
|
typedef long PRInt32;
|
||||||
|
#define PR_INT32(x) x ## L
|
||||||
|
#define PR_UINT32(x) x ## UL
|
||||||
|
#else
|
||||||
|
#error No suitable type for PRInt32/PRUint32
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* MACROS: PR_INT32_MAX
|
||||||
|
* PR_INT32_MIN
|
||||||
|
* PR_UINT32_MAX
|
||||||
|
* DESCRIPTION:
|
||||||
|
* The maximum and minimum values of a PRInt32 or PRUint32.
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
#define PR_INT32_MAX PR_INT32(2147483647)
|
||||||
|
#define PR_INT32_MIN (-PR_INT32_MAX - 1)
|
||||||
|
#define PR_UINT32_MAX PR_UINT32(4294967295)
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRUint64
|
||||||
|
** PRInt64
|
||||||
|
** DESCRIPTION:
|
||||||
|
** The int64 types are known to be 64 bits each. Care must be used when
|
||||||
|
** declaring variables of type PRUint64 or PRInt64. Different hardware
|
||||||
|
** architectures and even different compilers have varying support for
|
||||||
|
** 64 bit values. The only guaranteed portability requires the use of
|
||||||
|
** the LL_ macros (see prlong.h).
|
||||||
|
************************************************************************/
|
||||||
|
#ifdef HAVE_LONG_LONG
|
||||||
|
#if PR_BYTES_PER_LONG == 8
|
||||||
|
typedef long PRInt64;
|
||||||
|
typedef unsigned long PRUint64;
|
||||||
|
#elif defined(WIN16)
|
||||||
|
typedef __int64 PRInt64;
|
||||||
|
typedef unsigned __int64 PRUint64;
|
||||||
|
#elif defined(WIN32) && !defined(__GNUC__)
|
||||||
|
typedef __int64 PRInt64;
|
||||||
|
typedef unsigned __int64 PRUint64;
|
||||||
|
#else
|
||||||
|
typedef long long PRInt64;
|
||||||
|
typedef unsigned long long PRUint64;
|
||||||
|
#endif /* PR_BYTES_PER_LONG == 8 */
|
||||||
|
#else /* !HAVE_LONG_LONG */
|
||||||
|
typedef struct {
|
||||||
|
#ifdef IS_LITTLE_ENDIAN
|
||||||
|
PRUint32 lo, hi;
|
||||||
|
#else
|
||||||
|
PRUint32 hi, lo;
|
||||||
|
#endif
|
||||||
|
} PRInt64;
|
||||||
|
typedef PRInt64 PRUint64;
|
||||||
|
#endif /* !HAVE_LONG_LONG */
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRUintn
|
||||||
|
** PRIntn
|
||||||
|
** DESCRIPTION:
|
||||||
|
** The PRIntn types are most appropriate for automatic variables. They are
|
||||||
|
** guaranteed to be at least 16 bits, though various architectures may
|
||||||
|
** define them to be wider (e.g., 32 or even 64 bits). These types are
|
||||||
|
** never valid for fields of a structure.
|
||||||
|
************************************************************************/
|
||||||
|
#if PR_BYTES_PER_INT >= 2
|
||||||
|
typedef int PRIntn;
|
||||||
|
typedef unsigned int PRUintn;
|
||||||
|
#else
|
||||||
|
#error 'sizeof(int)' not sufficient for platform use
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRFloat64
|
||||||
|
** DESCRIPTION:
|
||||||
|
** NSPR's floating point type is always 64 bits.
|
||||||
|
************************************************************************/
|
||||||
|
typedef double PRFloat64;
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRSize
|
||||||
|
** DESCRIPTION:
|
||||||
|
** A type for representing the size of objects.
|
||||||
|
************************************************************************/
|
||||||
|
typedef size_t PRSize;
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PROffset32, PROffset64
|
||||||
|
** DESCRIPTION:
|
||||||
|
** A type for representing byte offsets from some location.
|
||||||
|
************************************************************************/
|
||||||
|
typedef PRInt32 PROffset32;
|
||||||
|
typedef PRInt64 PROffset64;
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRPtrDiff
|
||||||
|
** DESCRIPTION:
|
||||||
|
** A type for pointer difference. Variables of this type are suitable
|
||||||
|
** for storing a pointer or pointer sutraction.
|
||||||
|
************************************************************************/
|
||||||
|
typedef ptrdiff_t PRPtrdiff;
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRUptrdiff
|
||||||
|
** DESCRIPTION:
|
||||||
|
** A type for pointer difference. Variables of this type are suitable
|
||||||
|
** for storing a pointer or pointer sutraction.
|
||||||
|
************************************************************************/
|
||||||
|
typedef unsigned long PRUptrdiff;
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRBool
|
||||||
|
** DESCRIPTION:
|
||||||
|
** Use PRBool for variables and parameter types. Use PR_FALSE and PR_TRUE
|
||||||
|
** for clarity of target type in assignments and actual arguments. Use
|
||||||
|
** 'if (bool)', 'while (!bool)', '(bool) ? x : y' etc., to test booleans
|
||||||
|
** juast as you would C int-valued conditions.
|
||||||
|
************************************************************************/
|
||||||
|
typedef PRIntn PRBool;
|
||||||
|
#define PR_TRUE 1
|
||||||
|
#define PR_FALSE 0
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
** TYPES: PRPackedBool
|
||||||
|
** DESCRIPTION:
|
||||||
|
** Use PRPackedBOol within structs where bitfields are not desireable
|
||||||
|
** but minimum and consistant overhead matters.
|
||||||
|
************************************************************************/
|
||||||
|
typedef PRUint8 PRPackedBool;
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Status code used by some routines that have a single point of failure or
|
||||||
|
** special status return.
|
||||||
|
*/
|
||||||
|
typedef enum { PR_FAILURE = -1, PR_SUCCESS = 0 } PRStatus;
|
||||||
|
|
||||||
|
#ifdef MOZ_UNICODE
|
||||||
|
/*
|
||||||
|
* EXPERIMENTAL: This type may be removed in a future release.
|
||||||
|
*/
|
||||||
|
#ifndef __PRUNICHAR__
|
||||||
|
#define __PRUNICHAR__
|
||||||
|
#if defined(WIN32) || defined(XP_MAC)
|
||||||
|
typedef wchar_t PRUnichar;
|
||||||
|
#else
|
||||||
|
typedef PRUint16 PRUnichar;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif /* MOZ_UNICODE */
|
||||||
|
|
||||||
|
/*
|
||||||
|
** WARNING: The undocumented data types PRWord and PRUword are
|
||||||
|
** only used in the garbage collection and arena code. Do not
|
||||||
|
** use PRWord and PRUword in new code.
|
||||||
|
**
|
||||||
|
** A PRWord is an integer that is the same size as a void*.
|
||||||
|
** It implements the notion of a "word" in the Java Virtual
|
||||||
|
** Machine. (See Sec. 3.4 "Words", The Java Virtual Machine
|
||||||
|
** Specification, Addison-Wesley, September 1996.
|
||||||
|
** http://java.sun.com/docs/books/vmspec/index.html.)
|
||||||
|
*/
|
||||||
|
typedef long PRWord;
|
||||||
|
typedef unsigned long PRUword;
|
||||||
|
|
||||||
|
#if defined(NO_NSPR_10_SUPPORT)
|
||||||
|
#else
|
||||||
|
/********* ???????????????? FIX ME ??????????????????????????? *****/
|
||||||
|
/********************** Some old definitions until pr=>ds transition is done ***/
|
||||||
|
/********************** Also, we are still using NSPR 1.0. GC ******************/
|
||||||
|
/*
|
||||||
|
** Fundamental NSPR macros, used nearly everywhere.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define PR_PUBLIC_API PR_IMPLEMENT
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Macro body brackets so that macros with compound statement definitions
|
||||||
|
** behave syntactically more like functions when called.
|
||||||
|
*/
|
||||||
|
#define NSPR_BEGIN_MACRO do {
|
||||||
|
#define NSPR_END_MACRO } while (0)
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Macro shorthands for conditional C++ extern block delimiters.
|
||||||
|
*/
|
||||||
|
#ifdef NSPR_BEGIN_EXTERN_C
|
||||||
|
#undef NSPR_BEGIN_EXTERN_C
|
||||||
|
#endif
|
||||||
|
#ifdef NSPR_END_EXTERN_C
|
||||||
|
#undef NSPR_END_EXTERN_C
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define NSPR_BEGIN_EXTERN_C extern "C" {
|
||||||
|
#define NSPR_END_EXTERN_C }
|
||||||
|
#else
|
||||||
|
#define NSPR_BEGIN_EXTERN_C
|
||||||
|
#define NSPR_END_EXTERN_C
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XP_MAC
|
||||||
|
#include "protypes.h"
|
||||||
|
#else
|
||||||
|
#include "obsolete/protypes.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/********* ????????????? End Fix me ?????????????????????????????? *****/
|
||||||
|
#endif /* NO_NSPR_10_SUPPORT */
|
||||||
|
|
||||||
|
PR_END_EXTERN_C
|
||||||
|
|
||||||
|
#endif /* prtypes_h___ */
|
||||||
|
|
|
@ -0,0 +1,183 @@
|
||||||
|
%define name nspluginwrapper
|
||||||
|
%define version 0.9.91.1
|
||||||
|
%define release 1
|
||||||
|
#define svndate 20061227
|
||||||
|
|
||||||
|
# define 32-bit arch of multiarch platforms
|
||||||
|
%define arch_32 %{nil}
|
||||||
|
%ifarch x86_64
|
||||||
|
%define arch_32 i386
|
||||||
|
%endif
|
||||||
|
%ifarch ppc64
|
||||||
|
%define arch_32 ppc
|
||||||
|
%endif
|
||||||
|
%ifarch sparc64
|
||||||
|
%define arch_32 sparc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# define target architecture of plugins we want to support
|
||||||
|
%define target_arch i386
|
||||||
|
|
||||||
|
# define target operating system of plugins we want to support
|
||||||
|
%define target_os linux
|
||||||
|
|
||||||
|
# define nspluginswrapper libdir (invariant, including libdir)
|
||||||
|
%define pkglibdir %{_prefix}/lib/%{name}
|
||||||
|
|
||||||
|
# define mozilla plugin dir
|
||||||
|
%define plugindir %{_libdir}/mozilla/plugins
|
||||||
|
|
||||||
|
# define to build a biarch package
|
||||||
|
# XXX really build one package and handle upgrades
|
||||||
|
%define build_biarch 0
|
||||||
|
%if "%{_arch}:%{arch_32}" == "x86_64:i386"
|
||||||
|
%define build_biarch 1
|
||||||
|
%endif
|
||||||
|
%{expand: %{?_with_biarch: %%global build_biarch 1}}
|
||||||
|
%{expand: %{?_without_biarch: %%global build_biarch 0}}
|
||||||
|
|
||||||
|
Summary: A compatibility layer for Netscape 4 plugins
|
||||||
|
Name: %{name}
|
||||||
|
Version: %{version}
|
||||||
|
Release: %{release}
|
||||||
|
Source0: %{name}-%{version}%{?svndate:-%{svndate}}.tar.bz2
|
||||||
|
License: GPL
|
||||||
|
Group: Networking/WWW
|
||||||
|
Url: http://gwenole.beauchesne.info/projects/nspluginwrapper/
|
||||||
|
BuildRequires: gtk+2-devel
|
||||||
|
Provides: %{name}-%{_arch} = %{version}-%{release}
|
||||||
|
Requires: %{name}-%{target_arch} = %{version}-%{release}
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||||
|
|
||||||
|
%description
|
||||||
|
nspluginwrapper makes it possible to use Netscape 4 compatible plugins
|
||||||
|
compiled for %{target_arch} into Mozilla for another architecture, e.g. x86_64.
|
||||||
|
|
||||||
|
This package consists in:
|
||||||
|
* npviewer: the plugin viewer
|
||||||
|
* npwrapper.so: the browser-side plugin
|
||||||
|
* nspluginwrapper: a tool to manage plugins installation and update
|
||||||
|
|
||||||
|
%if %{build_biarch}
|
||||||
|
%package %{target_arch}
|
||||||
|
Summary: A viewer for %{target_arch} compiled Netscape 4 plugins
|
||||||
|
Group: Networking/WWW
|
||||||
|
|
||||||
|
%description %{target_arch}
|
||||||
|
nspluginwrapper makes it possible to use Netscape 4 compatible plugins
|
||||||
|
compiled for %{target_arch} into Mozilla for another architecture, e.g. x86_64.
|
||||||
|
|
||||||
|
This package consists in:
|
||||||
|
* npviewer: the plugin viewer
|
||||||
|
* npwrapper.so: the browser-side plugin
|
||||||
|
* nspluginwrapper: a tool to manage plugins installation and update
|
||||||
|
|
||||||
|
This package provides the npviewer program for %{target_arch}.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
|
||||||
|
%build
|
||||||
|
%if %{build_biarch}
|
||||||
|
biarch="--with-biarch"
|
||||||
|
%else
|
||||||
|
biarch="--without-biarch"
|
||||||
|
%endif
|
||||||
|
mkdir objs
|
||||||
|
pushd objs
|
||||||
|
../configure --prefix=%{_prefix} $biarch
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
make -C objs install DESTDIR=$RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{plugindir}
|
||||||
|
ln -s %{pkglibdir}/%{_arch}/%{_os}/npwrapper.so $RPM_BUILD_ROOT%{plugindir}/npwrapper.so
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%post
|
||||||
|
if [ $1 = 1 ]; then
|
||||||
|
%{_bindir}/%{name} -v -a -i
|
||||||
|
else
|
||||||
|
%{_bindir}/%{name} -v -a -u
|
||||||
|
fi
|
||||||
|
|
||||||
|
%preun
|
||||||
|
if [ $1 = 0 ]; then
|
||||||
|
%{_bindir}/%{name} -v -a -r
|
||||||
|
fi
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc README COPYING NEWS
|
||||||
|
%{_bindir}/%{name}
|
||||||
|
%{plugindir}/npwrapper.so
|
||||||
|
%dir %{pkglibdir}
|
||||||
|
%dir %{pkglibdir}/noarch
|
||||||
|
%{pkglibdir}/noarch/npviewer
|
||||||
|
%{pkglibdir}/noarch/mkruntime
|
||||||
|
%dir %{pkglibdir}/%{_arch}
|
||||||
|
%dir %{pkglibdir}/%{_arch}/%{_os}
|
||||||
|
%{pkglibdir}/%{_arch}/%{_os}/npconfig
|
||||||
|
%if ! %{build_biarch}
|
||||||
|
%{pkglibdir}/%{_arch}/%{_os}/npviewer
|
||||||
|
%{pkglibdir}/%{_arch}/%{_os}/npviewer.bin
|
||||||
|
%{pkglibdir}/%{_arch}/%{_os}/libxpcom.so
|
||||||
|
%endif
|
||||||
|
%{pkglibdir}/%{_arch}/%{_os}/npwrapper.so
|
||||||
|
|
||||||
|
%if %{build_biarch}
|
||||||
|
%files %{target_arch}
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir %{pkglibdir}/%{target_arch}
|
||||||
|
%dir %{pkglibdir}/%{target_arch}/%{target_os}
|
||||||
|
%{pkglibdir}/%{target_arch}/%{target_os}/npviewer
|
||||||
|
%{pkglibdir}/%{target_arch}/%{target_os}/npviewer.bin
|
||||||
|
%{pkglibdir}/%{target_arch}/%{target_os}/libxpcom.so
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Dec 26 2006 Gwenole Beauchesne <gb.public@free.fr> 0.9.91.1-1
|
||||||
|
- fix NPRuntime bridge (VLC plugin)
|
||||||
|
- fix Mozilla plugins dir creation on NetBSD and FreeBSD hosts
|
||||||
|
- fix potential buffer overflow in RPC marshalers
|
||||||
|
- handle empty args for plugin creation (flasharcade.com)
|
||||||
|
|
||||||
|
* Thu Dec 21 2006 Gwenole Beauchesne <gb.public@free.fr> 0.9.91-1
|
||||||
|
- add scripting support through npruntime
|
||||||
|
- add XEMBED support (mplayer plug-in)
|
||||||
|
- add NPN_RequestRead() support (Acrobat Reader)
|
||||||
|
- add support for NetBSD, FreeBSD and non-x86 Linux hosts
|
||||||
|
- fix ppc64 / ppc32 support
|
||||||
|
- fix focus problems
|
||||||
|
- fix some rare hangs (add delayed requests)
|
||||||
|
- fix libstdc++2 compat glue for broken plugins
|
||||||
|
- create user mozilla plugins dir if it does not exist yet
|
||||||
|
|
||||||
|
* Wed Nov 18 2006 Gwenole Beauchesne <gb.public@free.fr> 0.9.90.4-1
|
||||||
|
- add printing support (NPP_Print)
|
||||||
|
- add initial support for Konqueror
|
||||||
|
- fix post data to a URL (NPN_PostURL, NPN_PostURLNotify)
|
||||||
|
- reduce plugin load times
|
||||||
|
- robustify error condition (Darryl L. Miles)
|
||||||
|
|
||||||
|
* Tue Sep 19 2006 Gwenole Beauchesne <gb.public@free.fr> 0.9.90.3-1
|
||||||
|
- fix acrobat reader 7 plugin
|
||||||
|
|
||||||
|
* Sun Sep 17 2006 Gwenole Beauchesne <gb.public@free.fr> 0.9.90.2-1
|
||||||
|
- use a bidirectional communication channel
|
||||||
|
|
||||||
|
* Sun Jun 4 2006 Gwenole Beauchesne <gb.public@free.fr> 0.9.90.1-1
|
||||||
|
- relicense under GPL
|
||||||
|
- don't use QEMU on IA-64
|
||||||
|
- handle SuSE Linux Mozilla paths
|
||||||
|
- portability fixes to non-Linux platforms
|
||||||
|
|
||||||
|
* Tue Oct 25 2005 Gwenole Beauchesne <gb.public@free.fr> 0.9.90-1
|
||||||
|
- first public beta version
|
|
@ -0,0 +1,80 @@
|
||||||
|
/*
|
||||||
|
* cxxabi-compat.cpp - Compatibility glue for older libg++ symbols
|
||||||
|
*
|
||||||
|
* nspluginwrapper (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Original code from Mozilla */
|
||||||
|
|
||||||
|
// On x86 linux, the current builds of some popular plugins (notably
|
||||||
|
// flashplayer and real) expect a few builtin symbols from libgcc
|
||||||
|
// which were available in some older versions of gcc. However,
|
||||||
|
// they're _NOT_ available in newer versions of gcc (eg 3.1), so if we
|
||||||
|
// want those plugin to work with a gcc-3.1 built binary, we need to
|
||||||
|
// provide these symbols. MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS defaults
|
||||||
|
// to true on x86 linux, and false everywhere else.
|
||||||
|
//
|
||||||
|
// The fact that the new and free operators are mismatched mirrors the
|
||||||
|
// way the original functions in egcs 1.1.2 worked.
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <new>
|
||||||
|
|
||||||
|
#if defined(__linux__) && defined(__i386__)
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
# ifndef HAVE___BUILTIN_VEC_NEW
|
||||||
|
void *__builtin_vec_new(size_t aSize, const std::nothrow_t &aNoThrow) throw()
|
||||||
|
{
|
||||||
|
return ::operator new(aSize, aNoThrow);
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef HAVE___BUILTIN_VEC_DELETE
|
||||||
|
void __builtin_vec_delete(void *aPtr, const std::nothrow_t &) throw ()
|
||||||
|
{
|
||||||
|
free(aPtr);
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef HAVE___BUILTIN_NEW
|
||||||
|
void *__builtin_new(int aSize)
|
||||||
|
{
|
||||||
|
return malloc(aSize);
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef HAVE___BUILTIN_DELETE
|
||||||
|
void __builtin_delete(void *aPtr)
|
||||||
|
{
|
||||||
|
free(aPtr);
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifndef HAVE___PURE_VIRTUAL
|
||||||
|
void __pure_virtual(void)
|
||||||
|
{
|
||||||
|
extern void __cxa_pure_virtual(void);
|
||||||
|
__cxa_pure_virtual();
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,102 @@
|
||||||
|
/*
|
||||||
|
* debug.c - Debugging utilities
|
||||||
|
*
|
||||||
|
* nspluginwrapper (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdeps.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <limits.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
|
||||||
|
static int g_debug_level = -1;
|
||||||
|
|
||||||
|
void npw_dprintf(const char *format, ...)
|
||||||
|
{
|
||||||
|
if (g_debug_level < 0) {
|
||||||
|
g_debug_level = 0;
|
||||||
|
const char *debug_str = getenv("NPW_DEBUG");
|
||||||
|
if (debug_str) {
|
||||||
|
errno = 0;
|
||||||
|
long v = strtol(debug_str, NULL, 10);
|
||||||
|
if ((v != LONG_MIN && v != LONG_MAX) || errno != ERANGE)
|
||||||
|
g_debug_level = v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_debug_level > 0) {
|
||||||
|
va_list args;
|
||||||
|
va_start(args, format);
|
||||||
|
npw_vprintf(format, args);
|
||||||
|
va_end(args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static FILE *g_log_file = NULL;
|
||||||
|
|
||||||
|
static FILE *npw_log_file(void)
|
||||||
|
{
|
||||||
|
if (g_log_file == NULL) {
|
||||||
|
const char *log_file = getenv("NPW_LOG");
|
||||||
|
if (log_file) {
|
||||||
|
const char *mode = "w";
|
||||||
|
#ifdef BUILD_VIEWER
|
||||||
|
/* the wrapper plugin has the responsability to create the file,
|
||||||
|
thus the viewer is only opening it for appending data. */
|
||||||
|
mode = "a";
|
||||||
|
#endif
|
||||||
|
g_log_file = fopen(log_file, mode);
|
||||||
|
}
|
||||||
|
if (log_file == NULL)
|
||||||
|
g_log_file = stderr;
|
||||||
|
}
|
||||||
|
if (g_log_file != stderr)
|
||||||
|
fseek(g_log_file, 0, SEEK_END);
|
||||||
|
return g_log_file;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __attribute__((destructor)) log_file_sentinel(void)
|
||||||
|
{
|
||||||
|
if (g_log_file && g_log_file != stderr) {
|
||||||
|
fclose(g_log_file);
|
||||||
|
g_log_file = stderr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void npw_vprintf(const char *format, va_list args)
|
||||||
|
{
|
||||||
|
FILE *log_file = npw_log_file();
|
||||||
|
fprintf(log_file, "*** NSPlugin %s *** ", NPW_COMPONENT_NAME);
|
||||||
|
vfprintf(log_file, format, args);
|
||||||
|
fflush(log_file);
|
||||||
|
}
|
||||||
|
|
||||||
|
void npw_printf(const char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
va_start(args, format);
|
||||||
|
npw_vprintf(format, args);
|
||||||
|
va_end(args);
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* debug.h - Debugging utilities
|
||||||
|
*
|
||||||
|
* nspluginwrapper (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef DEBUG_H
|
||||||
|
#define DEBUG_H
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
extern void npw_dprintf(const char *format, ...) attribute_hidden;
|
||||||
|
|
||||||
|
extern void npw_printf(const char *format, ...) attribute_hidden;
|
||||||
|
extern void npw_vprintf(const char *format, va_list args) attribute_hidden;
|
||||||
|
|
||||||
|
#if DEBUG
|
||||||
|
#define bug npw_dprintf
|
||||||
|
#define D(x) x
|
||||||
|
#else
|
||||||
|
#define D(x) ;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* DEBUG_H */
|
|
@ -0,0 +1,26 @@
|
||||||
|
/*
|
||||||
|
* libxpcom.c - Dummy XPCOM glue
|
||||||
|
*
|
||||||
|
* nspluginwrapper (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdeps.h"
|
||||||
|
|
||||||
|
#define DEBUG 1
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
/* NOT IMPLEMENTED YET */
|
|
@ -0,0 +1,66 @@
|
||||||
|
/*
|
||||||
|
* npruntime.c - Scripting plugins support
|
||||||
|
*
|
||||||
|
* nspluginwrapper (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef NPRUNTIME_IMPL_H
|
||||||
|
#define NPRUNTIME_IMPL_H
|
||||||
|
|
||||||
|
// NPObjectInfo is used to hold additional information for an NPObject instance
|
||||||
|
typedef struct {
|
||||||
|
NPObject *npobj;
|
||||||
|
uint32_t npobj_id;
|
||||||
|
} NPObjectInfo;
|
||||||
|
|
||||||
|
extern NPObjectInfo *npobject_info_new(NPObject *npobj) attribute_hidden;
|
||||||
|
extern void npobject_info_destroy(NPObjectInfo *npobj_info) attribute_hidden;
|
||||||
|
extern NPObjectInfo *npobject_info_lookup(NPObject *npobj) attribute_hidden;
|
||||||
|
|
||||||
|
extern NPObject *npobject_new(uint32_t npobj_id, NPP instance, NPClass *class) attribute_hidden;
|
||||||
|
extern void npobject_destroy(NPObject *npobj) attribute_hidden;
|
||||||
|
extern NPObject *npobject_lookup(uint32_t npobj_id) attribute_hidden;
|
||||||
|
extern void npobject_associate(NPObject *npobj, NPObjectInfo *npobj_info) attribute_hidden;
|
||||||
|
|
||||||
|
extern bool npobject_bridge_new(void) attribute_hidden;
|
||||||
|
extern void npobject_bridge_destroy(void) attribute_hidden;
|
||||||
|
|
||||||
|
extern NPClass npclass_bridge;
|
||||||
|
|
||||||
|
extern void npclass_invoke_Invalidate(NPObject *npobj) attribute_hidden;
|
||||||
|
extern bool npclass_invoke_HasMethod(NPObject *npobj, NPIdentifier name) attribute_hidden;
|
||||||
|
extern bool npclass_invoke_Invoke(NPObject *npobj, NPIdentifier name, const NPVariant *args, uint32_t argCount, NPVariant *result) attribute_hidden;
|
||||||
|
extern bool npclass_invoke_InvokeDefault(NPObject *npobj, const NPVariant *args, uint32_t argCount, NPVariant *result) attribute_hidden;
|
||||||
|
extern bool npclass_invoke_HasProperty(NPObject *npobj, NPIdentifier name) attribute_hidden;
|
||||||
|
extern bool npclass_invoke_GetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result) attribute_hidden;
|
||||||
|
extern bool npclass_invoke_SetProperty(NPObject *npobj, NPIdentifier name, const NPVariant *value) attribute_hidden;
|
||||||
|
extern bool npclass_invoke_RemoveProperty(NPObject *npobj, NPIdentifier name) attribute_hidden;
|
||||||
|
|
||||||
|
extern int npclass_handle_Invalidate(rpc_connection_t *connection) attribute_hidden;
|
||||||
|
extern int npclass_handle_HasMethod(rpc_connection_t *connection) attribute_hidden;
|
||||||
|
extern int npclass_handle_Invoke(rpc_connection_t *connection) attribute_hidden;
|
||||||
|
extern int npclass_handle_InvokeDefault(rpc_connection_t *connection) attribute_hidden;
|
||||||
|
extern int npclass_handle_HasProperty(rpc_connection_t *connection) attribute_hidden;
|
||||||
|
extern int npclass_handle_GetProperty(rpc_connection_t *connection) attribute_hidden;
|
||||||
|
extern int npclass_handle_SetProperty(rpc_connection_t *connection) attribute_hidden;
|
||||||
|
extern int npclass_handle_RemoveProperty(rpc_connection_t *connection) attribute_hidden;
|
||||||
|
extern int npclass_handle_Invalidate(rpc_connection_t *connection) attribute_hidden;
|
||||||
|
|
||||||
|
struct _NPNetscapeFuncs;
|
||||||
|
extern void npruntime_init_callbacks(struct _NPNetscapeFuncs *mozilla_funcs);
|
||||||
|
|
||||||
|
#endif /* NPRUNTIME_IMPL_H */
|
|
@ -0,0 +1,706 @@
|
||||||
|
/*
|
||||||
|
* npruntime.c - Scripting plugins support
|
||||||
|
*
|
||||||
|
* nspluginwrapper (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdeps.h"
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
#include <glib.h> /* <glib/ghash.h> */
|
||||||
|
#include "utils.h"
|
||||||
|
#include "rpc.h"
|
||||||
|
#include "npw-rpc.h"
|
||||||
|
|
||||||
|
#define XP_UNIX 1
|
||||||
|
#define MOZ_X11 1
|
||||||
|
#include <npapi.h>
|
||||||
|
#include <npupp.h>
|
||||||
|
#include <npruntime.h>
|
||||||
|
#include "npruntime-impl.h"
|
||||||
|
|
||||||
|
#define DEBUG 1
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
|
||||||
|
// Defined in npw-{wrapper,viewer}.c
|
||||||
|
extern rpc_connection_t *g_rpc_connection attribute_hidden;
|
||||||
|
|
||||||
|
|
||||||
|
/* ====================================================================== */
|
||||||
|
/* === NPClass Bridge === */
|
||||||
|
/* ====================================================================== */
|
||||||
|
|
||||||
|
NPClass npclass_bridge = {
|
||||||
|
NP_CLASS_STRUCT_VERSION,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
npclass_invoke_Invalidate,
|
||||||
|
npclass_invoke_HasMethod,
|
||||||
|
npclass_invoke_Invoke,
|
||||||
|
npclass_invoke_InvokeDefault,
|
||||||
|
npclass_invoke_HasProperty,
|
||||||
|
npclass_invoke_GetProperty,
|
||||||
|
npclass_invoke_SetProperty,
|
||||||
|
npclass_invoke_RemoveProperty
|
||||||
|
};
|
||||||
|
|
||||||
|
// NPClass::Invalidate
|
||||||
|
int npclass_handle_Invalidate(rpc_connection_t *connection)
|
||||||
|
{
|
||||||
|
NPObject *npobj;
|
||||||
|
int error = rpc_method_get_args(connection,
|
||||||
|
RPC_TYPE_NP_OBJECT, &npobj,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::Invalidate() get args", error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (npobj && npobj->_class && npobj->_class->invalidate) {
|
||||||
|
D(bug("NPClass::Invalidate(npobj %p)\n", npobj));
|
||||||
|
npobj->_class->invalidate(npobj);
|
||||||
|
D(bug(" done\n"));
|
||||||
|
}
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
void npclass_invoke_Invalidate(NPObject *npobj)
|
||||||
|
{
|
||||||
|
int error = rpc_method_invoke(g_rpc_connection,
|
||||||
|
RPC_METHOD_NPCLASS_INVALIDATE,
|
||||||
|
RPC_TYPE_NP_OBJECT, npobj,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::Invalidate() invoke", error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
error = rpc_method_wait_for_reply(g_rpc_connection, RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::Invalidate() wait for reply", error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// NPClass::HasMethod
|
||||||
|
int npclass_handle_HasMethod(rpc_connection_t *connection)
|
||||||
|
{
|
||||||
|
NPObject *npobj;
|
||||||
|
NPIdentifier name;
|
||||||
|
int error = rpc_method_get_args(connection,
|
||||||
|
RPC_TYPE_NP_OBJECT, &npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, &name,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::HasMethod() get args", error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret = 0;
|
||||||
|
if (npobj && npobj->_class && npobj->_class->hasMethod) {
|
||||||
|
D(bug("NPClass::HasMethod(npobj %p, name id %p)\n", npobj, name));
|
||||||
|
ret = npobj->_class->hasMethod(npobj, name);
|
||||||
|
D(bug(" return: %d\n", ret));
|
||||||
|
}
|
||||||
|
|
||||||
|
return rpc_method_send_reply(connection, RPC_TYPE_UINT32, ret, RPC_TYPE_INVALID);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool npclass_invoke_HasMethod(NPObject *npobj, NPIdentifier name)
|
||||||
|
{
|
||||||
|
int error = rpc_method_invoke(g_rpc_connection,
|
||||||
|
RPC_METHOD_NPCLASS_HAS_METHOD,
|
||||||
|
RPC_TYPE_NP_OBJECT, npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, name,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::HasMethod() invoke", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret;
|
||||||
|
error = rpc_method_wait_for_reply(g_rpc_connection, RPC_TYPE_UINT32, &ret, RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::HasMethod() wait for reply", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NPClass::Invoke
|
||||||
|
int npclass_handle_Invoke(rpc_connection_t *connection)
|
||||||
|
{
|
||||||
|
NPObject *npobj;
|
||||||
|
NPIdentifier name;
|
||||||
|
uint32_t argCount;
|
||||||
|
NPVariant *args;
|
||||||
|
int error = rpc_method_get_args(connection,
|
||||||
|
RPC_TYPE_NP_OBJECT, &npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, &name,
|
||||||
|
RPC_TYPE_ARRAY, RPC_TYPE_NP_VARIANT, &argCount, &args,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::Invoke() get args", error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret = 0;
|
||||||
|
NPVariant result;
|
||||||
|
VOID_TO_NPVARIANT(result);
|
||||||
|
if (npobj && npobj->_class && npobj->_class->invoke) {
|
||||||
|
D(bug("NPClass::Invoke(npobj %p, name id %p)\n", npobj, name));
|
||||||
|
ret = npobj->_class->invoke(npobj, name, args, argCount, &result);
|
||||||
|
D(bug(" return: %d\n", ret));
|
||||||
|
}
|
||||||
|
|
||||||
|
free(args);
|
||||||
|
|
||||||
|
return rpc_method_send_reply(connection,
|
||||||
|
RPC_TYPE_UINT32, ret,
|
||||||
|
RPC_TYPE_NP_VARIANT, &result,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool npclass_invoke_Invoke(NPObject *npobj, NPIdentifier name, const NPVariant *args, uint32_t argCount,
|
||||||
|
NPVariant *result)
|
||||||
|
{
|
||||||
|
if (result == NULL)
|
||||||
|
return false;
|
||||||
|
VOID_TO_NPVARIANT(*result);
|
||||||
|
|
||||||
|
int error = rpc_method_invoke(g_rpc_connection,
|
||||||
|
RPC_METHOD_NPCLASS_INVOKE,
|
||||||
|
RPC_TYPE_NP_OBJECT, npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, name,
|
||||||
|
RPC_TYPE_ARRAY, RPC_TYPE_NP_VARIANT, argCount, args,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::Invoke() invoke", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret;
|
||||||
|
error = rpc_method_wait_for_reply(g_rpc_connection,
|
||||||
|
RPC_TYPE_UINT32, &ret,
|
||||||
|
RPC_TYPE_NP_VARIANT, result,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::Invoke() wait for reply", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NPClass::InvokeDefault
|
||||||
|
int npclass_handle_InvokeDefault(rpc_connection_t *connection)
|
||||||
|
{
|
||||||
|
NPObject *npobj;
|
||||||
|
uint32_t argCount;
|
||||||
|
NPVariant *args;
|
||||||
|
int error = rpc_method_get_args(connection,
|
||||||
|
RPC_TYPE_NP_OBJECT, &npobj,
|
||||||
|
RPC_TYPE_ARRAY, RPC_TYPE_NP_VARIANT, &argCount, &args,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::InvokeDefault() get args", error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret = 0;
|
||||||
|
NPVariant result;
|
||||||
|
VOID_TO_NPVARIANT(result);
|
||||||
|
if (npobj && npobj->_class && npobj->_class->invokeDefault) {
|
||||||
|
D(bug("NPClass::InvokeDefault(npobj %p)\n", npobj));
|
||||||
|
ret = npobj->_class->invokeDefault(npobj, args, argCount, &result);
|
||||||
|
D(bug(" return: %d\n", ret));
|
||||||
|
}
|
||||||
|
|
||||||
|
free(args);
|
||||||
|
|
||||||
|
return rpc_method_send_reply(connection,
|
||||||
|
RPC_TYPE_UINT32, ret,
|
||||||
|
RPC_TYPE_NP_VARIANT, &result,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool npclass_invoke_InvokeDefault(NPObject *npobj, const NPVariant *args, uint32_t argCount,
|
||||||
|
NPVariant *result)
|
||||||
|
{
|
||||||
|
if (result == NULL)
|
||||||
|
return false;
|
||||||
|
VOID_TO_NPVARIANT(*result);
|
||||||
|
|
||||||
|
int error = rpc_method_invoke(g_rpc_connection,
|
||||||
|
RPC_METHOD_NPCLASS_INVOKE_DEFAULT,
|
||||||
|
RPC_TYPE_NP_OBJECT, npobj,
|
||||||
|
RPC_TYPE_ARRAY, RPC_TYPE_NP_VARIANT, argCount, args,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::InvokeDefault() invoke", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret;
|
||||||
|
error = rpc_method_wait_for_reply(g_rpc_connection,
|
||||||
|
RPC_TYPE_UINT32, &ret,
|
||||||
|
RPC_TYPE_NP_VARIANT, result,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::InvokeDefault() wait for reply", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NPClass::HasProperty
|
||||||
|
int npclass_handle_HasProperty(rpc_connection_t *connection)
|
||||||
|
{
|
||||||
|
NPObject *npobj;
|
||||||
|
NPIdentifier name;
|
||||||
|
int error = rpc_method_get_args(connection,
|
||||||
|
RPC_TYPE_NP_OBJECT, &npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, &name,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::HasProperty() get args", error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret = 0;
|
||||||
|
if (npobj && npobj->_class && npobj->_class->hasProperty) {
|
||||||
|
D(bug("NPClass::HasProperty(npobj %p, name id %p)\n", npobj, name));
|
||||||
|
ret = npobj->_class->hasProperty(npobj, name);
|
||||||
|
D(bug(" return: %d\n", ret));
|
||||||
|
}
|
||||||
|
|
||||||
|
return rpc_method_send_reply(connection, RPC_TYPE_UINT32, ret, RPC_TYPE_INVALID);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool npclass_invoke_HasProperty(NPObject *npobj, NPIdentifier name)
|
||||||
|
{
|
||||||
|
int error = rpc_method_invoke(g_rpc_connection,
|
||||||
|
RPC_METHOD_NPCLASS_HAS_PROPERTY,
|
||||||
|
RPC_TYPE_NP_OBJECT, npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, name,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::HasProperty() invoke", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret;
|
||||||
|
error = rpc_method_wait_for_reply(g_rpc_connection, RPC_TYPE_UINT32, &ret, RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::HasProperty() wait for reply", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NPClass::GetProperty
|
||||||
|
int npclass_handle_GetProperty(rpc_connection_t *connection)
|
||||||
|
{
|
||||||
|
NPObject *npobj;
|
||||||
|
NPIdentifier name;
|
||||||
|
int error = rpc_method_get_args(connection,
|
||||||
|
RPC_TYPE_NP_OBJECT, &npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, &name,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::GetProperty() get args", error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret = 0;
|
||||||
|
NPVariant result;
|
||||||
|
VOID_TO_NPVARIANT(result);
|
||||||
|
if (npobj && npobj->_class && npobj->_class->getProperty) {
|
||||||
|
D(bug("NPClass::GetProperty(npobj %p, name id %p)\n", npobj, name));
|
||||||
|
ret = npobj->_class->getProperty(npobj, name, &result);
|
||||||
|
D(bug(" return: %d\n", ret));
|
||||||
|
}
|
||||||
|
|
||||||
|
return rpc_method_send_reply(connection,
|
||||||
|
RPC_TYPE_UINT32, ret,
|
||||||
|
RPC_TYPE_NP_VARIANT, &result,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool npclass_invoke_GetProperty(NPObject *npobj, NPIdentifier name, NPVariant *result)
|
||||||
|
{
|
||||||
|
if (result == NULL)
|
||||||
|
return false;
|
||||||
|
VOID_TO_NPVARIANT(*result);
|
||||||
|
|
||||||
|
int error = rpc_method_invoke(g_rpc_connection,
|
||||||
|
RPC_METHOD_NPCLASS_GET_PROPERTY,
|
||||||
|
RPC_TYPE_NP_OBJECT, npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, name,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::GetProperty() invoke", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret;
|
||||||
|
error = rpc_method_wait_for_reply(g_rpc_connection,
|
||||||
|
RPC_TYPE_UINT32, &ret,
|
||||||
|
RPC_TYPE_NP_VARIANT, result,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::GetProperty() wait for reply", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NPClass::SetProperty
|
||||||
|
int npclass_handle_SetProperty(rpc_connection_t *connection)
|
||||||
|
{
|
||||||
|
NPObject *npobj;
|
||||||
|
NPIdentifier name;
|
||||||
|
NPVariant value;
|
||||||
|
int error = rpc_method_get_args(connection,
|
||||||
|
RPC_TYPE_NP_OBJECT, &npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, &name,
|
||||||
|
RPC_TYPE_NP_VARIANT, &value,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::SetProperty() get args", error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret = 0;
|
||||||
|
if (npobj && npobj->_class && npobj->_class->setProperty) {
|
||||||
|
D(bug("NPClass::SetProperty(npobj %p, name id %p)\n", npobj, name));
|
||||||
|
ret = npobj->_class->setProperty(npobj, name, &value);
|
||||||
|
D(bug(" return: %d\n", ret));
|
||||||
|
}
|
||||||
|
|
||||||
|
return rpc_method_send_reply(connection,
|
||||||
|
RPC_TYPE_UINT32, ret,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool npclass_invoke_SetProperty(NPObject *npobj, NPIdentifier name, const NPVariant *value)
|
||||||
|
{
|
||||||
|
if (value == NULL)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
int error = rpc_method_invoke(g_rpc_connection,
|
||||||
|
RPC_METHOD_NPCLASS_SET_PROPERTY,
|
||||||
|
RPC_TYPE_NP_OBJECT, npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, name,
|
||||||
|
RPC_TYPE_NP_VARIANT, value,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::SetProperty() invoke", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret;
|
||||||
|
error = rpc_method_wait_for_reply(g_rpc_connection,
|
||||||
|
RPC_TYPE_UINT32, &ret,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::SetProperty() wait for reply", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NPClass::RemoveProperty
|
||||||
|
int npclass_handle_RemoveProperty(rpc_connection_t *connection)
|
||||||
|
{
|
||||||
|
NPObject *npobj;
|
||||||
|
NPIdentifier name;
|
||||||
|
int error = rpc_method_get_args(connection,
|
||||||
|
RPC_TYPE_NP_OBJECT, &npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, &name,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::RemoveProperty() get args", error);
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret = 0;
|
||||||
|
if (npobj && npobj->_class && npobj->_class->removeProperty) {
|
||||||
|
D(bug("NPClass::RemoveProperty(npobj %p, name id %p)\n", npobj, name));
|
||||||
|
ret = npobj->_class->removeProperty(npobj, name);
|
||||||
|
D(bug(" return: %d\n", ret));
|
||||||
|
}
|
||||||
|
|
||||||
|
return rpc_method_send_reply(connection, RPC_TYPE_UINT32, ret, RPC_TYPE_INVALID);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool npclass_invoke_RemoveProperty(NPObject *npobj, NPIdentifier name)
|
||||||
|
{
|
||||||
|
int error = rpc_method_invoke(g_rpc_connection,
|
||||||
|
RPC_METHOD_NPCLASS_REMOVE_PROPERTY,
|
||||||
|
RPC_TYPE_NP_OBJECT, npobj,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER, name,
|
||||||
|
RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::RemoveProperty() invoke", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t ret;
|
||||||
|
error = rpc_method_wait_for_reply(g_rpc_connection, RPC_TYPE_UINT32, &ret, RPC_TYPE_INVALID);
|
||||||
|
|
||||||
|
if (error != RPC_ERROR_NO_ERROR) {
|
||||||
|
npw_perror("NPClass::RemoveProperty() wait for reply", error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ====================================================================== */
|
||||||
|
/* === NPObjectInfo === */
|
||||||
|
/* ====================================================================== */
|
||||||
|
|
||||||
|
NPObjectInfo *npobject_info_new(NPObject *npobj)
|
||||||
|
{
|
||||||
|
NPObjectInfo *npobj_info = malloc(sizeof(*npobj_info));
|
||||||
|
if (npobj_info) {
|
||||||
|
static uint32_t id;
|
||||||
|
npobj_info->npobj = npobj;
|
||||||
|
npobj_info->npobj_id = ++id;
|
||||||
|
}
|
||||||
|
return npobj_info;
|
||||||
|
}
|
||||||
|
|
||||||
|
void npobject_info_destroy(NPObjectInfo *npobj_info)
|
||||||
|
{
|
||||||
|
if (npobj_info)
|
||||||
|
free(npobj_info);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ====================================================================== */
|
||||||
|
/* === NPObject === */
|
||||||
|
/* ====================================================================== */
|
||||||
|
|
||||||
|
static void npobject_hash_table_insert(NPObject *npobj, NPObjectInfo *npobj_info);
|
||||||
|
static bool npobject_hash_table_remove(NPObject *npobj);
|
||||||
|
|
||||||
|
static NPObject *_npobject_new(NPP instance, NPClass *class)
|
||||||
|
{
|
||||||
|
NPObject *npobj;
|
||||||
|
if (class && class->allocate)
|
||||||
|
npobj = class->allocate(instance, class);
|
||||||
|
else
|
||||||
|
npobj = malloc(sizeof(*npobj));
|
||||||
|
if (npobj) {
|
||||||
|
npobj->_class = class ? class : &npclass_bridge;
|
||||||
|
npobj->referenceCount = 1;
|
||||||
|
}
|
||||||
|
return npobj;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _npobject_destroy(NPObject *npobj)
|
||||||
|
{
|
||||||
|
if (npobj) {
|
||||||
|
if (npobj->_class && npobj->_class->deallocate)
|
||||||
|
npobj->_class->deallocate(npobj);
|
||||||
|
else
|
||||||
|
free(npobj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NPObject *npobject_new(uint32_t npobj_id, NPP instance, NPClass *class)
|
||||||
|
{
|
||||||
|
NPObject *npobj = _npobject_new(instance, class);
|
||||||
|
if (npobj == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
NPObjectInfo *npobj_info = npobject_info_new(npobj);
|
||||||
|
if (npobj_info == NULL) {
|
||||||
|
_npobject_destroy(npobj);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
npobj_info->npobj_id = npobj_id;
|
||||||
|
npobject_associate(npobj, npobj_info);
|
||||||
|
return npobj;
|
||||||
|
}
|
||||||
|
|
||||||
|
void npobject_destroy(NPObject *npobj)
|
||||||
|
{
|
||||||
|
if (npobj)
|
||||||
|
npobject_hash_table_remove(npobj);
|
||||||
|
|
||||||
|
_npobject_destroy(npobj);
|
||||||
|
}
|
||||||
|
|
||||||
|
void npobject_associate(NPObject *npobj, NPObjectInfo *npobj_info)
|
||||||
|
{
|
||||||
|
assert(npobj && npobj_info && npobj_info > 0);
|
||||||
|
npobject_hash_table_insert(npobj, npobj_info);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ====================================================================== */
|
||||||
|
/* === NPObject Repository === */
|
||||||
|
/* ====================================================================== */
|
||||||
|
|
||||||
|
// NOTE: those hashes must be maintained in a whole, not separately
|
||||||
|
static GHashTable *g_npobjects = NULL; // (NPObject *) -> (NPObjectInfo *)
|
||||||
|
static GHashTable *g_npobject_ids = NULL; // (NPObject ID) -> (NPObject *)
|
||||||
|
|
||||||
|
bool npobject_bridge_new(void)
|
||||||
|
{
|
||||||
|
if ((g_npobjects = g_hash_table_new_full(NULL, NULL, NULL, (GDestroyNotify)npobject_info_destroy)) == NULL)
|
||||||
|
return false;
|
||||||
|
if ((g_npobject_ids = g_hash_table_new(NULL, NULL)) == NULL)
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void npobject_bridge_destroy(void)
|
||||||
|
{
|
||||||
|
g_hash_table_destroy(g_npobject_ids);
|
||||||
|
g_hash_table_destroy(g_npobjects);
|
||||||
|
}
|
||||||
|
|
||||||
|
void npobject_hash_table_insert(NPObject *npobj, NPObjectInfo *npobj_info)
|
||||||
|
{
|
||||||
|
g_hash_table_insert(g_npobjects, npobj, npobj_info);
|
||||||
|
g_hash_table_insert(g_npobject_ids, (void *)(uintptr_t)npobj_info->npobj_id, npobj);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool npobject_hash_table_remove(NPObject *npobj)
|
||||||
|
{
|
||||||
|
NPObjectInfo *npobj_info = npobject_info_lookup(npobj);
|
||||||
|
assert(npobj_info != NULL);
|
||||||
|
bool removed_all = true;
|
||||||
|
if (!g_hash_table_remove(g_npobject_ids, (void *)(uintptr_t)npobj_info->npobj_id))
|
||||||
|
removed_all = false;
|
||||||
|
if (!g_hash_table_remove(g_npobjects, npobj))
|
||||||
|
removed_all = false;
|
||||||
|
return removed_all;
|
||||||
|
}
|
||||||
|
|
||||||
|
NPObjectInfo *npobject_info_lookup(NPObject *npobj)
|
||||||
|
{
|
||||||
|
return g_hash_table_lookup(g_npobjects, npobj);
|
||||||
|
}
|
||||||
|
|
||||||
|
NPObject *npobject_lookup(uint32_t npobj_id)
|
||||||
|
{
|
||||||
|
return g_hash_table_lookup(g_npobject_ids, (void *)(uintptr_t)npobj_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ====================================================================== */
|
||||||
|
/* === Dummy npruntime accessors === */
|
||||||
|
/* ====================================================================== */
|
||||||
|
|
||||||
|
static void dummy_function_do_nothing(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static int dummy_function_return_zero(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool dummy_function_return_void_variant(NPVariant *variant)
|
||||||
|
{
|
||||||
|
if (variant)
|
||||||
|
VOID_TO_NPVARIANT(*variant);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool dummy_NPN_Invoke(NPP npp, NPObject* obj, NPIdentifier methodName,
|
||||||
|
const NPVariant *args, uint32_t argCount, NPVariant *result)
|
||||||
|
{
|
||||||
|
return dummy_function_return_void_variant(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool dummy_NPN_InvokeDefault(NPP npp, NPObject* obj, const NPVariant *args,
|
||||||
|
uint32_t argCount, NPVariant *result)
|
||||||
|
{
|
||||||
|
return dummy_function_return_void_variant(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool dummy_NPN_Evaluate(NPP npp, NPObject* obj, NPString *script,
|
||||||
|
NPVariant *result)
|
||||||
|
{
|
||||||
|
return dummy_function_return_void_variant(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool dummy_NPN_GetProperty(NPP npp, NPObject* obj, NPIdentifier propertyName,
|
||||||
|
NPVariant *result)
|
||||||
|
{
|
||||||
|
return dummy_function_return_void_variant(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
void npruntime_init_callbacks(NPNetscapeFuncs *mozilla_funcs)
|
||||||
|
{
|
||||||
|
mozilla_funcs->getstringidentifier = NewNPN_GetStringIdentifierProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->getstringidentifiers = NewNPN_GetStringIdentifiersProc(dummy_function_do_nothing);
|
||||||
|
mozilla_funcs->getintidentifier = NewNPN_GetIntIdentifierProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->identifierisstring = NewNPN_IdentifierIsStringProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->utf8fromidentifier = NewNPN_UTF8FromIdentifierProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->intfromidentifier = NewNPN_IntFromIdentifierProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->createobject = NewNPN_CreateObjectProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->retainobject = NewNPN_RetainObjectProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->releaseobject = NewNPN_ReleaseObjectProc(dummy_function_do_nothing);
|
||||||
|
mozilla_funcs->invoke = NewNPN_InvokeProc(dummy_NPN_Invoke);
|
||||||
|
mozilla_funcs->invokeDefault = NewNPN_InvokeDefaultProc(dummy_NPN_InvokeDefault);
|
||||||
|
mozilla_funcs->evaluate = NewNPN_EvaluateProc(dummy_NPN_Evaluate);
|
||||||
|
mozilla_funcs->getproperty = NewNPN_GetPropertyProc(dummy_NPN_GetProperty);
|
||||||
|
mozilla_funcs->setproperty = NewNPN_SetPropertyProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->removeproperty = NewNPN_RemovePropertyProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->hasproperty = NewNPN_HasPropertyProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->hasmethod = NewNPN_HasMethodProc(dummy_function_return_zero);
|
||||||
|
mozilla_funcs->releasevariantvalue = NewNPN_ReleaseVariantValueProc(dummy_function_do_nothing);
|
||||||
|
mozilla_funcs->setexception = NewNPN_SetExceptionProc(dummy_function_do_nothing);
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,919 @@
|
||||||
|
/*
|
||||||
|
* npw-rpc.c - Remote Procedure Calls (NPAPI specialisation)
|
||||||
|
*
|
||||||
|
* nspluginwrapper (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdeps.h"
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
#include "rpc.h"
|
||||||
|
#include "npw-rpc.h"
|
||||||
|
#include "utils.h"
|
||||||
|
|
||||||
|
#define XP_UNIX 1
|
||||||
|
#define MOZ_X11 1
|
||||||
|
#include <npapi.h>
|
||||||
|
#include <npruntime.h>
|
||||||
|
#include "npruntime-impl.h"
|
||||||
|
|
||||||
|
#define DEBUG 1
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* RPC types of NPP/NPN variables
|
||||||
|
*/
|
||||||
|
|
||||||
|
int rpc_type_of_NPNVariable(int variable)
|
||||||
|
{
|
||||||
|
int type;
|
||||||
|
switch (variable) {
|
||||||
|
case NPNVjavascriptEnabledBool:
|
||||||
|
case NPNVasdEnabledBool:
|
||||||
|
case NPNVisOfflineBool:
|
||||||
|
case NPNVSupportsXEmbedBool:
|
||||||
|
type = RPC_TYPE_BOOLEAN;
|
||||||
|
break;
|
||||||
|
case NPNVWindowNPObject:
|
||||||
|
case NPNVPluginElementNPObject:
|
||||||
|
type = RPC_TYPE_NP_OBJECT;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
type = RPC_ERROR_GENERIC;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rpc_type_of_NPPVariable(int variable)
|
||||||
|
{
|
||||||
|
int type;
|
||||||
|
switch (variable) {
|
||||||
|
case NPPVpluginNameString:
|
||||||
|
case NPPVpluginDescriptionString:
|
||||||
|
type = RPC_TYPE_STRING;
|
||||||
|
break;
|
||||||
|
case NPPVpluginWindowBool:
|
||||||
|
case NPPVpluginTransparentBool:
|
||||||
|
case NPPVpluginWindowSize:
|
||||||
|
case NPPVpluginTimerInterval:
|
||||||
|
type = RPC_TYPE_INT32;
|
||||||
|
break;
|
||||||
|
case NPPVpluginNeedsXEmbed:
|
||||||
|
type = RPC_TYPE_BOOLEAN;
|
||||||
|
break;
|
||||||
|
case NPPVpluginScriptableNPObject:
|
||||||
|
type = RPC_TYPE_NP_OBJECT;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
type = RPC_ERROR_GENERIC;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPP objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
NPP instance;
|
||||||
|
uint32_t instance_id;
|
||||||
|
} PluginInstance;
|
||||||
|
|
||||||
|
#ifdef BUILD_WRAPPER
|
||||||
|
#define PLUGIN_INSTANCE(instance) ((instance)->pdata)
|
||||||
|
#endif
|
||||||
|
#ifdef BUILD_VIEWER
|
||||||
|
#define PLUGIN_INSTANCE(instance) ((instance)->ndata)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static int do_send_NPP(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
uint32_t instance_id = 0;
|
||||||
|
NPP instance = (NPP)p_value;
|
||||||
|
if (instance) {
|
||||||
|
PluginInstance *plugin = PLUGIN_INSTANCE(instance);
|
||||||
|
if (plugin)
|
||||||
|
instance_id = plugin->instance_id;
|
||||||
|
}
|
||||||
|
return rpc_message_send_uint32(message, instance_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPP(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
int error;
|
||||||
|
uint32_t instance_id;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &instance_id)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
PluginInstance *plugin = id_lookup(instance_id);
|
||||||
|
if (instance_id && plugin == NULL)
|
||||||
|
npw_printf("ERROR: passing an unknown instance\n");
|
||||||
|
if (plugin && plugin->instance == NULL)
|
||||||
|
npw_printf("ERROR: passing a NULL instance through plugin instance id\n");
|
||||||
|
*((NPP *)p_value) = plugin ? plugin->instance : NULL;
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPStream objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
NPStream *stream;
|
||||||
|
uint32_t stream_id;
|
||||||
|
} StreamInstance;
|
||||||
|
|
||||||
|
#ifdef BUILD_WRAPPER
|
||||||
|
#define STREAM_INSTANCE(instance) ((instance)->pdata)
|
||||||
|
#endif
|
||||||
|
#ifdef BUILD_VIEWER
|
||||||
|
#define STREAM_INSTANCE(instance) ((instance)->ndata)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static int do_send_NPStream(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
uint32_t stream_id = 0;
|
||||||
|
NPStream *stream = (NPStream *)p_value;
|
||||||
|
if (stream) {
|
||||||
|
StreamInstance *sip = STREAM_INSTANCE(stream);
|
||||||
|
if (sip)
|
||||||
|
stream_id = sip->stream_id;
|
||||||
|
}
|
||||||
|
return rpc_message_send_uint32(message, stream_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPStream(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
int error;
|
||||||
|
uint32_t stream_id;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &stream_id)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
StreamInstance *stream = id_lookup(stream_id);
|
||||||
|
*((NPStream **)p_value) = stream ? stream->stream : NULL;
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPByteRange objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int do_send_NPByteRange(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPByteRange *range = (NPByteRange *)p_value;
|
||||||
|
while (range) {
|
||||||
|
int error;
|
||||||
|
if ((error = rpc_message_send_uint32(message, 1)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_int32(message, range->offset)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_uint32(message, range->length)) < 0)
|
||||||
|
return error;
|
||||||
|
range = range->next;
|
||||||
|
}
|
||||||
|
return rpc_message_send_uint32(message, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPByteRange(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPByteRange **rangeListPtr = (NPByteRange **)p_value;
|
||||||
|
if (rangeListPtr == NULL)
|
||||||
|
return RPC_ERROR_MESSAGE_ARGUMENT_INVALID;
|
||||||
|
*rangeListPtr = NULL;
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
int error;
|
||||||
|
uint32_t cont;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &cont)) < 0)
|
||||||
|
return error;
|
||||||
|
if (!cont)
|
||||||
|
break;
|
||||||
|
NPByteRange *range = malloc(sizeof(*range));
|
||||||
|
if (range == NULL)
|
||||||
|
return RPC_ERROR_NO_MEMORY;
|
||||||
|
range->next = NULL;
|
||||||
|
if ((error = rpc_message_recv_int32(message, &range->offset)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &range->length)) < 0)
|
||||||
|
return error;
|
||||||
|
*rangeListPtr = range;
|
||||||
|
rangeListPtr = &range->next;
|
||||||
|
}
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPSavedData objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int do_send_NPSavedData(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPSavedData *save_area = (NPSavedData *)p_value;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if (save_area == NULL) {
|
||||||
|
if ((error = rpc_message_send_int32(message, 0)) < 0)
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ((error = rpc_message_send_int32(message, save_area->len)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_bytes(message, save_area->buf, save_area->len)) < 0)
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPSavedData(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPSavedData *save_area;
|
||||||
|
int error;
|
||||||
|
int32_t len;
|
||||||
|
unsigned char *buf;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_int32(message, &len)) < 0)
|
||||||
|
return error;
|
||||||
|
if (len == 0)
|
||||||
|
save_area = NULL;
|
||||||
|
else {
|
||||||
|
if ((save_area = malloc(sizeof(*save_area))) == NULL)
|
||||||
|
return RPC_ERROR_NO_MEMORY;
|
||||||
|
if ((buf = malloc(len)) == NULL)
|
||||||
|
return RPC_ERROR_NO_MEMORY;
|
||||||
|
if ((error = rpc_message_recv_bytes(message, buf, len)) < 0)
|
||||||
|
return error;
|
||||||
|
save_area->len = len;
|
||||||
|
save_area->buf = buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (p_value)
|
||||||
|
*((NPSavedData **)p_value) = save_area;
|
||||||
|
else if (save_area) {
|
||||||
|
free(save_area->buf);
|
||||||
|
free(save_area);
|
||||||
|
}
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NotifyData objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Rationale: NotifyData objects are allocated on the plugin side
|
||||||
|
// only. IDs are passed through to the browser, and they have no
|
||||||
|
// meaning on that side as they are only used to get passed back to
|
||||||
|
// the plugin side
|
||||||
|
//
|
||||||
|
// XXX 64-bit viewers in 32-bit wrappers are not supported
|
||||||
|
static int do_send_NotifyData(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
void *notifyData = (void *)p_value;
|
||||||
|
return rpc_message_send_uint64(message, (uintptr_t)notifyData);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NotifyData(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
int error;
|
||||||
|
uint64_t id;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint64(message, &id)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
if (sizeof(void *) == 4 && ((uint32_t)(id >> 32)) != 0) {
|
||||||
|
npw_printf("ERROR: 64-bit viewers in 32-bit wrappers are not supported\n");
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
*((void **)p_value) = (void *)(uintptr_t)id;
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPRect objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int do_send_NPRect(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPRect *rect = (NPRect *)p_value;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = rpc_message_send_uint32(message, rect->top)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_uint32(message, rect->left)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_uint32(message, rect->bottom)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_uint32(message, rect->right)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPRect(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPRect *rect = (NPRect *)p_value;
|
||||||
|
uint32_t top, left, bottom, right;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &top)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &left)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &bottom)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &right)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
rect->top = top;
|
||||||
|
rect->left = left;
|
||||||
|
rect->bottom = bottom;
|
||||||
|
rect->right = right;
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPWindow objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int do_send_NPWindow(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPWindow *window = (NPWindow *)p_value;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if (window == NULL) {
|
||||||
|
if ((error = rpc_message_send_uint32(message, 0)) < 0)
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ((error = rpc_message_send_uint32(message, (Window)window->window)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_int32(message, window->x)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_int32(message, window->y)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_uint32(message, window->width)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_uint32(message, window->height)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = do_send_NPRect(message, &window->clipRect)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_int32(message, window->type)) < 0)
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPWindow(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPWindow **window_p = (NPWindow **)p_value;
|
||||||
|
NPWindow *window;
|
||||||
|
uint32_t window_id;
|
||||||
|
int32_t window_type;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &window_id)) < 0)
|
||||||
|
return error;
|
||||||
|
*window_p = NULL;
|
||||||
|
if (window_id) {
|
||||||
|
if ((window = *window_p = malloc(sizeof(NPWindow))) == NULL)
|
||||||
|
return RPC_ERROR_NO_MEMORY;
|
||||||
|
if ((error = rpc_message_recv_int32(message, &window->x)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_recv_int32(message, &window->y)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &window->width)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &window->height)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = do_recv_NPRect(message, &window->clipRect)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_recv_int32(message, &window_type)) < 0)
|
||||||
|
return error;
|
||||||
|
window->type = window_type;
|
||||||
|
window->ws_info = NULL; // to be filled in by the plugin
|
||||||
|
window->window = (void *)(Window)window_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPFullPrint objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int do_send_NPFullPrint(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPFullPrint *fullPrint = (NPFullPrint *)p_value;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = rpc_message_send_uint32(message, fullPrint->pluginPrinted)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_uint32(message, fullPrint->printOne)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPFullPrint(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPFullPrint *fullPrint = (NPFullPrint *)p_value;
|
||||||
|
uint32_t pluginPrinted, printOne;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &pluginPrinted)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &printOne)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
fullPrint->pluginPrinted = pluginPrinted;
|
||||||
|
fullPrint->printOne = printOne;
|
||||||
|
fullPrint->platformPrint = NULL; // to be filled in by the plugin
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPEmbedPrint objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int do_send_NPEmbedPrint(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPEmbedPrint *embedPrint = (NPEmbedPrint *)p_value;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = do_send_NPWindow(message, &embedPrint->window)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPEmbedPrint(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPEmbedPrint *embedPrint = (NPEmbedPrint *)p_value;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = do_recv_NPWindow(message, &embedPrint->window)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
embedPrint->platformPrint = NULL; // to be filled in by the plugin
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPPrint objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int do_send_NPPrint(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPPrint *printInfo = (NPPrint *)p_value;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = rpc_message_send_uint32(message, printInfo->mode)) < 0)
|
||||||
|
return error;
|
||||||
|
switch (printInfo->mode) {
|
||||||
|
case NP_FULL:
|
||||||
|
if ((error = do_send_NPFullPrint(message, &printInfo->print.fullPrint)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
case NP_EMBED:
|
||||||
|
if ((error = do_send_NPEmbedPrint(message, &printInfo->print.embedPrint)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return RPC_ERROR_GENERIC;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPPrint(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPPrint *printInfo = (NPPrint *)p_value;
|
||||||
|
uint32_t print_mode;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &print_mode)) < 0)
|
||||||
|
return error;
|
||||||
|
switch (print_mode) {
|
||||||
|
case NP_FULL:
|
||||||
|
if ((error = do_recv_NPFullPrint(message, &printInfo->print.fullPrint)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
case NP_EMBED:
|
||||||
|
if ((error = do_recv_NPEmbedPrint(message, &printInfo->print.embedPrint)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return RPC_ERROR_GENERIC;
|
||||||
|
}
|
||||||
|
|
||||||
|
printInfo->mode = print_mode;
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPPrintData objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int do_send_NPPrintData(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPPrintData *printData = (NPPrintData *)p_value;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = rpc_message_send_uint32(message, printData->size)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_send_bytes(message, printData->data, printData->size)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPPrintData(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPPrintData *printData = (NPPrintData *)p_value;
|
||||||
|
int error;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &printData->size)) < 0)
|
||||||
|
return error;
|
||||||
|
if ((error = rpc_message_recv_bytes(message, printData->data, printData->size)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPObject objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
// XXX propagate reference counters?
|
||||||
|
static int do_send_NPObject(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
uint32_t npobj_id = 0;
|
||||||
|
NPObject *npobj = (NPObject *)p_value;
|
||||||
|
if (npobj) {
|
||||||
|
NPObjectInfo *npobj_info = npobject_info_lookup(npobj);
|
||||||
|
if (npobj_info)
|
||||||
|
npobj_id = npobj_info->npobj_id;
|
||||||
|
#ifdef BUILD_WRAPPER
|
||||||
|
else {
|
||||||
|
// create a new mapping (browser-side)
|
||||||
|
if ((npobj_info = npobject_info_new(npobj)) == NULL)
|
||||||
|
return RPC_ERROR_NO_MEMORY;
|
||||||
|
npobj_id = npobj_info->npobj_id;
|
||||||
|
npobject_associate(npobj, npobj_info);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
assert(npobj_id != 0);
|
||||||
|
}
|
||||||
|
return rpc_message_send_uint32(message, npobj_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPObject(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
int error;
|
||||||
|
uint32_t npobj_id;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &npobj_id)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
NPObject *npobj = NULL;
|
||||||
|
if (npobj_id) {
|
||||||
|
npobj = npobject_lookup(npobj_id);
|
||||||
|
#ifdef BUILD_VIEWER
|
||||||
|
// create a new mapping (plugin-side)
|
||||||
|
if (npobj == NULL) {
|
||||||
|
if ((npobj = npobject_new(npobj_id, NULL, NULL)) == NULL)
|
||||||
|
return RPC_ERROR_NO_MEMORY;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
assert(npobj != NULL);
|
||||||
|
}
|
||||||
|
*((NPObject **)p_value) = npobj;
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPIdentifier objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Rationale: NPIdentifiers are allocated on the browser side
|
||||||
|
// only. IDs are passed through to the viewer, and they have no
|
||||||
|
// meaning on that side as they are only used to get passed back to
|
||||||
|
// the browser side
|
||||||
|
static int do_send_NPIdentifier(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPIdentifier ident = (NPIdentifier)p_value;
|
||||||
|
int id = 0;
|
||||||
|
if (ident) {
|
||||||
|
#ifdef BUILD_WRAPPER
|
||||||
|
id = id_lookup_value(ident);
|
||||||
|
if (id < 0)
|
||||||
|
id = id_create(ident);
|
||||||
|
#endif
|
||||||
|
#ifdef BUILD_VIEWER
|
||||||
|
id = (uintptr_t)ident;
|
||||||
|
#endif
|
||||||
|
assert(id != 0);
|
||||||
|
}
|
||||||
|
return rpc_message_send_uint32(message, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPIdentifier(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
int error;
|
||||||
|
uint32_t id;
|
||||||
|
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &id)) < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
NPIdentifier ident = NULL;
|
||||||
|
if (id) {
|
||||||
|
#ifdef BUILD_WRAPPER
|
||||||
|
ident = id_lookup(id);
|
||||||
|
#endif
|
||||||
|
#ifdef BUILD_VIEWER
|
||||||
|
ident = (void *)(uintptr_t)id;
|
||||||
|
#endif
|
||||||
|
assert(ident != NULL);
|
||||||
|
}
|
||||||
|
*((NPIdentifier *)p_value) = ident;
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPString objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int do_send_NPString(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPString *string = (NPString *)p_value;
|
||||||
|
if (string == NULL)
|
||||||
|
return RPC_ERROR_MESSAGE_ARGUMENT_INVALID;
|
||||||
|
|
||||||
|
int error = rpc_message_send_uint32(message, string->utf8length);
|
||||||
|
if (error < 0)
|
||||||
|
return error;
|
||||||
|
if (string->utf8length && string->utf8characters)
|
||||||
|
return rpc_message_send_bytes(message, (unsigned char *)string->utf8characters, string->utf8length);
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPString(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPString *string = (NPString *)p_value;
|
||||||
|
if (string == NULL)
|
||||||
|
return RPC_ERROR_MESSAGE_ARGUMENT_INVALID;
|
||||||
|
string->utf8length = 0;
|
||||||
|
string->utf8characters = NULL;
|
||||||
|
|
||||||
|
int error = rpc_message_recv_uint32(message, &string->utf8length);
|
||||||
|
if (error < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
if (string->utf8length > 0) {
|
||||||
|
// calloc() will make the string nul-terminated, even if utf8characters is a const NPUTF8 *
|
||||||
|
if ((string->utf8characters = calloc(1, string->utf8length + 1)) == NULL)
|
||||||
|
return RPC_ERROR_NO_MEMORY;
|
||||||
|
if ((error = rpc_message_recv_bytes(message, (unsigned char *)string->utf8characters, string->utf8length)) < 0)
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Process NPVariant objects
|
||||||
|
*/
|
||||||
|
|
||||||
|
static int do_send_NPVariant(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPVariant *variant = (NPVariant *)p_value;
|
||||||
|
if (variant == NULL)
|
||||||
|
return RPC_ERROR_MESSAGE_ARGUMENT_INVALID;
|
||||||
|
|
||||||
|
int error = rpc_message_send_uint32(message, variant->type);
|
||||||
|
if (error < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
switch (variant->type) {
|
||||||
|
case NPVariantType_Void:
|
||||||
|
case NPVariantType_Null:
|
||||||
|
// nothing to do (initialized in receiver)
|
||||||
|
break;
|
||||||
|
case NPVariantType_Bool:
|
||||||
|
if ((error = rpc_message_send_uint32(message, variant->value.boolValue)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
case NPVariantType_Int32:
|
||||||
|
if ((error = rpc_message_send_uint32(message, variant->value.intValue)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
case NPVariantType_Double:
|
||||||
|
if ((error = rpc_message_send_double(message, variant->value.doubleValue)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
case NPVariantType_String:
|
||||||
|
if ((error = do_send_NPString(message, &variant->value.stringValue)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
case NPVariantType_Object:
|
||||||
|
if ((error = do_send_NPObject(message, variant->value.objectValue)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int do_recv_NPVariant(rpc_message_t *message, void *p_value)
|
||||||
|
{
|
||||||
|
NPVariant *variant = (NPVariant *)p_value;
|
||||||
|
if (variant)
|
||||||
|
VOID_TO_NPVARIANT(*variant);
|
||||||
|
|
||||||
|
uint32_t type;
|
||||||
|
int error = rpc_message_recv_uint32(message, &type);
|
||||||
|
if (error < 0)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
NPVariant result;
|
||||||
|
VOID_TO_NPVARIANT(result);
|
||||||
|
switch (type) {
|
||||||
|
case NPVariantType_Void:
|
||||||
|
VOID_TO_NPVARIANT(result);
|
||||||
|
break;
|
||||||
|
case NPVariantType_Null:
|
||||||
|
NULL_TO_NPVARIANT(result);
|
||||||
|
break;
|
||||||
|
case NPVariantType_Bool: {
|
||||||
|
uint32_t value;
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &value)) < 0)
|
||||||
|
return error;
|
||||||
|
result.value.boolValue = value;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case NPVariantType_Int32:
|
||||||
|
if ((error = rpc_message_recv_uint32(message, &result.value.intValue)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
case NPVariantType_Double:
|
||||||
|
if ((error = rpc_message_recv_double(message, &result.value.doubleValue)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
case NPVariantType_String:
|
||||||
|
if ((error = do_recv_NPString(message, &result.value.stringValue)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
case NPVariantType_Object:
|
||||||
|
if ((error = do_recv_NPObject(message, &result.value.objectValue)) < 0)
|
||||||
|
return error;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (variant) {
|
||||||
|
*variant = result;
|
||||||
|
variant->type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RPC_ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Initialize marshalers for NPAPI types
|
||||||
|
*/
|
||||||
|
|
||||||
|
static const rpc_message_descriptor_t message_descs[] = {
|
||||||
|
{
|
||||||
|
RPC_TYPE_NPP,
|
||||||
|
sizeof(NPP),
|
||||||
|
do_send_NPP,
|
||||||
|
do_recv_NPP
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_STREAM,
|
||||||
|
sizeof(NPStream *),
|
||||||
|
do_send_NPStream,
|
||||||
|
do_recv_NPStream
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_BYTE_RANGE,
|
||||||
|
sizeof(NPByteRange *),
|
||||||
|
do_send_NPByteRange,
|
||||||
|
do_recv_NPByteRange
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_SAVED_DATA,
|
||||||
|
sizeof(NPSavedData *),
|
||||||
|
do_send_NPSavedData,
|
||||||
|
do_recv_NPSavedData
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_NOTIFY_DATA,
|
||||||
|
sizeof(void *),
|
||||||
|
do_send_NotifyData,
|
||||||
|
do_recv_NotifyData
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_RECT,
|
||||||
|
sizeof(NPRect),
|
||||||
|
do_send_NPRect,
|
||||||
|
do_recv_NPRect
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_WINDOW,
|
||||||
|
sizeof(NPWindow *),
|
||||||
|
do_send_NPWindow,
|
||||||
|
do_recv_NPWindow
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_PRINT,
|
||||||
|
sizeof(NPPrint),
|
||||||
|
do_send_NPPrint,
|
||||||
|
do_recv_NPPrint
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_FULL_PRINT,
|
||||||
|
sizeof(NPFullPrint),
|
||||||
|
do_send_NPFullPrint,
|
||||||
|
do_recv_NPFullPrint
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_EMBED_PRINT,
|
||||||
|
sizeof(NPEmbedPrint),
|
||||||
|
do_send_NPEmbedPrint,
|
||||||
|
do_recv_NPEmbedPrint
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_PRINT_DATA,
|
||||||
|
sizeof(NPPrintData),
|
||||||
|
do_send_NPPrintData,
|
||||||
|
do_recv_NPPrintData
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_OBJECT,
|
||||||
|
sizeof(NPObject *),
|
||||||
|
do_send_NPObject,
|
||||||
|
do_recv_NPObject
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_IDENTIFIER,
|
||||||
|
sizeof(NPIdentifier),
|
||||||
|
do_send_NPIdentifier,
|
||||||
|
do_recv_NPIdentifier
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_STRING,
|
||||||
|
sizeof(NPString),
|
||||||
|
do_send_NPString,
|
||||||
|
do_recv_NPString
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RPC_TYPE_NP_VARIANT,
|
||||||
|
sizeof(NPVariant),
|
||||||
|
do_send_NPVariant,
|
||||||
|
do_recv_NPVariant
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
int rpc_add_np_marshalers(void)
|
||||||
|
{
|
||||||
|
return rpc_message_add_callbacks(message_descs, sizeof(message_descs) / sizeof(message_descs[0]));
|
||||||
|
}
|
|
@ -0,0 +1,116 @@
|
||||||
|
/*
|
||||||
|
* npw-rpc.h - Remote Procedure Calls (NPAPI specialisation)
|
||||||
|
*
|
||||||
|
* nspluginwrapper (C) 2005-2006 Gwenole Beauchesne
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef NPW_RPC_H
|
||||||
|
#define NPW_RPC_H
|
||||||
|
|
||||||
|
// NPAPI methods
|
||||||
|
enum {
|
||||||
|
RPC_METHOD_NP_GET_VALUE = 1,
|
||||||
|
RPC_METHOD_NP_GET_MIME_DESCRIPTION,
|
||||||
|
RPC_METHOD_NP_INITIALIZE,
|
||||||
|
RPC_METHOD_NP_SHUTDOWN,
|
||||||
|
RPC_METHOD_NP_EXIT,
|
||||||
|
|
||||||
|
RPC_METHOD_NPN_USER_AGENT,
|
||||||
|
RPC_METHOD_NPN_GET_VALUE,
|
||||||
|
RPC_METHOD_NPN_GET_URL,
|
||||||
|
RPC_METHOD_NPN_GET_URL_NOTIFY,
|
||||||
|
RPC_METHOD_NPN_POST_URL,
|
||||||
|
RPC_METHOD_NPN_POST_URL_NOTIFY,
|
||||||
|
RPC_METHOD_NPN_STATUS,
|
||||||
|
RPC_METHOD_NPN_PRINT_DATA,
|
||||||
|
RPC_METHOD_NPN_REQUEST_READ,
|
||||||
|
|
||||||
|
RPC_METHOD_NPP_NEW,
|
||||||
|
RPC_METHOD_NPP_DESTROY,
|
||||||
|
RPC_METHOD_NPP_SET_WINDOW,
|
||||||
|
RPC_METHOD_NPP_GET_VALUE,
|
||||||
|
RPC_METHOD_NPP_URL_NOTIFY,
|
||||||
|
RPC_METHOD_NPP_NEW_STREAM,
|
||||||
|
RPC_METHOD_NPP_DESTROY_STREAM,
|
||||||
|
RPC_METHOD_NPP_WRITE_READY,
|
||||||
|
RPC_METHOD_NPP_WRITE,
|
||||||
|
RPC_METHOD_NPP_STREAM_AS_FILE,
|
||||||
|
RPC_METHOD_NPP_PRINT,
|
||||||
|
|
||||||
|
RPC_METHOD_NPN_CREATE_OBJECT,
|
||||||
|
RPC_METHOD_NPN_RETAIN_OBJECT,
|
||||||
|
RPC_METHOD_NPN_RELEASE_OBJECT,
|
||||||
|
RPC_METHOD_NPN_INVOKE,
|
||||||
|
RPC_METHOD_NPN_INVOKE_DEFAULT,
|
||||||
|
RPC_METHOD_NPN_EVALUATE,
|
||||||
|
RPC_METHOD_NPN_GET_PROPERTY,
|
||||||
|
RPC_METHOD_NPN_SET_PROPERTY,
|
||||||
|
RPC_METHOD_NPN_REMOVE_PROPERTY,
|
||||||
|
RPC_METHOD_NPN_HAS_PROPERTY,
|
||||||
|
RPC_METHOD_NPN_HAS_METHOD,
|
||||||
|
RPC_METHOD_NPN_SET_EXCEPTION,
|
||||||
|
|
||||||
|
RPC_METHOD_NPN_GET_STRING_IDENTIFIER,
|
||||||
|
RPC_METHOD_NPN_GET_STRING_IDENTIFIERS,
|
||||||
|
RPC_METHOD_NPN_GET_INT_IDENTIFIER,
|
||||||
|
RPC_METHOD_NPN_IDENTIFIER_IS_STRING,
|
||||||
|
RPC_METHOD_NPN_UTF8_FROM_IDENTIFIER,
|
||||||
|
RPC_METHOD_NPN_INT_FROM_IDENTIFIER,
|
||||||
|
|
||||||
|
RPC_METHOD_NPCLASS_INVALIDATE,
|
||||||
|
RPC_METHOD_NPCLASS_HAS_METHOD,
|
||||||
|
RPC_METHOD_NPCLASS_INVOKE,
|
||||||
|
RPC_METHOD_NPCLASS_INVOKE_DEFAULT,
|
||||||
|
RPC_METHOD_NPCLASS_HAS_PROPERTY,
|
||||||
|
RPC_METHOD_NPCLASS_GET_PROPERTY,
|
||||||
|
RPC_METHOD_NPCLASS_SET_PROPERTY,
|
||||||
|
RPC_METHOD_NPCLASS_REMOVE_PROPERTY,
|
||||||
|
};
|
||||||
|
|
||||||
|
// NPAPI data types
|
||||||
|
enum {
|
||||||
|
RPC_TYPE_NPP = 1,
|
||||||
|
RPC_TYPE_NP_STREAM,
|
||||||
|
RPC_TYPE_NP_BYTE_RANGE,
|
||||||
|
RPC_TYPE_NP_SAVED_DATA,
|
||||||
|
RPC_TYPE_NP_NOTIFY_DATA,
|
||||||
|
RPC_TYPE_NP_RECT,
|
||||||
|
RPC_TYPE_NP_WINDOW,
|
||||||
|
RPC_TYPE_NP_PRINT,
|
||||||
|
RPC_TYPE_NP_FULL_PRINT,
|
||||||
|
RPC_TYPE_NP_EMBED_PRINT,
|
||||||
|
RPC_TYPE_NP_PRINT_DATA,
|
||||||
|
RPC_TYPE_NP_OBJECT,
|
||||||
|
RPC_TYPE_NP_IDENTIFIER,
|
||||||
|
RPC_TYPE_NP_STRING,
|
||||||
|
RPC_TYPE_NP_VARIANT,
|
||||||
|
};
|
||||||
|
|
||||||
|
// NPPrintData is used to get the plugin printed tmpfile
|
||||||
|
typedef struct _NPPrintData {
|
||||||
|
uint32_t size;
|
||||||
|
uint8_t data[4096];
|
||||||
|
} NPPrintData;
|
||||||
|
|
||||||
|
// Initialize marshalers for NS4 plugin types
|
||||||
|
extern int rpc_add_np_marshalers(void) attribute_hidden;
|
||||||
|
|
||||||
|
// RPC types
|
||||||
|
extern int rpc_type_of_NPNVariable(int variable) attribute_hidden;
|
||||||
|
extern int rpc_type_of_NPPVariable(int variable) attribute_hidden;
|
||||||
|
|
||||||
|
#endif /* NPW_RPC_H */
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue