qnx_osinfo
qnx_osinfo — returns a class very similar to QNX 4 struct_osinfo.
Returns
An instance of the class Osinfo, or nil on failure.
Description
This function returns a class very similar to the QNX 4
struct _osinfo. It is currently only
available in QNX 4. The instance variables of this class are:
- bootsrc a single integer
value that is the ASCII value for the character 'F' for
floppy, 'H' for hard, or 'N' for network. Use char()
function to convert.
- cpu processor type, typically
given as the last 3 digits (386,486,586,686,etc.)
- cpu_speed a measure of the
CPU speed using a 16-bit algorithm. A classic PC/XT is 96.
A 133MHz Pentium is approx. 18000-19000.
- fpu the floating point
processor type given as the last 3 digits of the chip
(387,487,587,687,etc.)
- freememk free memory in the system
- machine machine name
- max_nodes the number of nodes
you are licensed for
- nodename logical node numberof this cpu
- num_handlers maximum number of interrupt handlers
- num_names maximum number of names
- num_procs mamimum number of
processes (programs + virtual curcuits + proxies)
- num_sessions maximum number of sessions
- num_timers maximum number of timers
- pidmask process ID bit mask
- release a single number that
is the ASCII equivalent of the release letter. Use char()
function to convert.
- reserve64k Relocation offset
- sflags System flags, see below
- tick_size tick size, in microseconds
- timesel segment in which the time is kept
- totmemk total memory (kB) in the system
- version the QNX 4 version number * 100
- The following system flags are
available: nil
- _PSF_PROTECTED The system is running in protected mode
- _PSF_NDP_INSTALLED An 80x87 numeric processor is installed
- _PSF_EMULATOR_INSTALLED An 80x87 emulator is running
- _PSF_EMU16_INSTALLED The 16-bit 80x87 emulator is running
- _PSF_EMU32_INSTALLED The 32-bit 80x87 emulator is running
- _PSF_APM_INSTALLED Advanced Power Management is running in the BIOS of this system
- _PSF_32BIT_KERNEL This system is running with a 32 bit kernel
- _PSF_PCI_BIOS This system has a PCI BIOS
- _PSF_32BIT Proc32 is running
- _PSF_RESERVE_DOS The lower 640k is reserved for DOS
- _PSF_RESERVE_DOS32 ???
Example
Gamma> sin = qnx_osinfo(0);
<instance of Osinfo class>
Gamma> char(sin.bootsrc);
"H"
Gamma> sin.cpu;
586
Gamma> sin.cpu_speed;
18883
Gamma> sin.freememk;
18260
Gamma> sin.machine;
"PCI"
Gamma> sin.max_nodes;
34
Gamma> sin.nodename;
2
Gamma> sin.num_handlers;
64
Gamma> sin.num_names;
100
Gamma> sin.num_procs;
500
Gamma> sin.num_sessions;
64
Gamma> sin.num_timers;
125
Gamma> sin.pidmask;
511
Gamma> char(sin.release);
"G"
Gamma> sin.reserve64k;
0
Gamma> sin.ticksize;
9999
Gamma> sin.totmemk;
32384
Gamma> sin.version / 100;
4.23
//These examples use loaded constants. Any return value greater
//than zero indicates a positive result.
require_lisp("const/QNXOS");
Gamma> sin.sflags & _PSF_PROTECTED;
1
Gamma> sin.sflags & _PSF_NDP_INSTALLED;
2
Gamma> sin.sflags & _PSF_EMULATOR_INSTALLED
0
Gamma> sin.sflags & _PSF_RESERVE_DOS
0