COHERENT manpages
This page displays the COHERENT manpage for sysi86() [Identify parts within Intel-based machines].
List of available manpages
Index
sysi86() -- System Call (libc) Identify parts within Intel-based machines #include <sys/sysi86.h> int sysi86(hardware, type) int hardware, *type; The system call sysi86() identifies parts within Intel-based computers. hardware names the machine part that you wish to identify; you should always use one of the constants defined in header file <sys/sysi86.h>. type point to the int into which sysi86() writes an identifying code. sysi86() returns -1 if it was unable to read your machine. It returns a value other than -1 if it succeeds in reading your machine. Example The following program identifies the type of floating-point processor in your machine. #include <sys/sysi86.h> #ifndef FP_NO /* * The following header may be needed to get the FP_... constants on some * other implementations of the iBCS2 specification; while the sysi86() * system call and the SI86FPHW constant are part of the iBCS2 specification, * the FP_... constants and the <sys/fp.h> header are not. */ #include <sys/fp.h> #endif const char * floating_point_provider () { int fp_type; if (sysi86 (SI86FPHW, & fp_type) == -1) return "unable to retrieve FP type"; switch (fp_type) { case FP_NO: return "no FP hardware or emulation available"; case FP_SW: return "software emulation of FP hardware"; case FP_287: return "80287 hardware FP"; case FP_387: return "80387 or 80486DX hardware FP"; default: return "unknown floating-point provider"; } } main() { printf("%s\n", floating_point_provider()); } See Also libc, sysi86.h Notes At present under COHERENT, this system call can interrogate a machine only for the type of its floating-point processor.