qnx_osinfo

qnx_osinfo — returns a class very similar to QNX 4 struct_osinfo.

Syntax

qnx_osinfo (node)

		

Arguments

node
The node to query.

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
		

See Also

qnx_osstat