ABIinfo(3C) ABIinfo(3C)
ABIinfo - query system environment for features
#include <ABIinfo.h>
int ABIinfo(int selector);
ABIinfo queries whether a particular MIPS ABI feature indicated by
selector is available on the target system, and if so, which version. A
return value of -1 indicates that the feature represented by the selector
is not present. A valid return value indicates that the feature is
present, and the value indicates the version of MIPS Processor ABI
Conformance Guide in which that version of the feature is documented. The
return values and their meanings are listed in the ABIinfo selector table
(see ABIinfo Selector Table below).
This interface allows a feature which will appear in a future Conformance
Guide to be supported by the host operating system prior to that system
becoming conformant with that Conformance Guide . It also allows
applications to determine whether features which are documented in the
Conformance Guide , but are not mandatory features, are implemented on a
particular host operating system.
This interface also allows, via the ABIinfo_BlackBook selector, querying
which version of the Conformance Guide this system conforms to.
SELECTOR FEATURE DESCRIPTION RETURN CONF.
Version Number of VALUE GUIDE
Conformance Guide VERSION
____________________________________________________________________
ABIinfo_BlackBook Supported on this System 0x010000 1.0
0x010200 1.2
0x020000 2.0
0x030000 3.0
ABIinfo_mpconf Documenting version of
mpconf supported 0x020000 2.0
ABIinfo_abicc Documenting version of
abicc supported 0x020000 2.0
ABIinfo_XPG Documenting version of
XPG interfaces supported 0x020000 2.0
ABIinfo_backtrace Documenting version of
stack backtracing supported 0x020000 2.0
ABIinfo_largefile Documenting version of
large file interfaces 0x020000 2.0
supported
ABIinfo_longlong Documenting version of
of 64-bit integral 0x020000 2.0
datatype supported
ABIinfo_X11 Documenting X11 version
Page 1
ABIinfo(3C) ABIinfo(3C)
supported 0x020000 2.0
ABIinfo_mmap Documenting version of
mmap supported 0x020000 2.0
ABIinfo(1), <ABIinfo.h>
The ABIinfo routine will return -1 and set errno appropriately if the
following is true:
EINVAL Invalid argument. The passed selector does not correspond to
a supported feature.
/* This example routine queries the system as to whether Stack
* Backtracing as specified in Conformance Guide 2.0 is supported.
* it returns 1 if so, otherwise 0.
*/
#include <ABIinfo.h>
int
backtrace_supported()
{
int info;
info = ABIinfo (ABIinfo_backtrace);
/* If selector not supported, then must be a pre-2.0
* platform and so backtrace not supported. Also not
* supported if return value indicates earlier than 2.0
*/
if (info == -1 || info < ConformanceGuide_20)
return 0;
else
return 1;
}
PPPPaaaaggggeeee 2222 [ Back ]
|