Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

PhSysInfo_t

Data structure for system information

Synopsis:

typedef struct Ph_sys_info {
        PhGeneralSysInfo_t  gen;
        PhGrafxInfo_t       gfx;
        PhKbdInfo_t         kbd;
        PhPtrInfo_t         ptr;
        PhIgInfo_t          ig;
} PhSysInfo_t;

Description:

The PhSysInfo_t structure contains system information, and is filled in by PhQuerySystemInfo() and PtQuerySystemInfo(). This structure includes at least:

PhGeneralSysInfo_t gen
General information. Always examine this.
PhGrafxInfo_t gfx
Information for graphics regions.
PhKbdInfo_t kbd
Information for keyboard regions.
PhPtrInfo_t ptr
Information for graphics regions.
PhIgInfo_t ig
Information for input-group regions.

Note: Always examine the general information gen first, to see which of the other structures contain data.

The fields in the PhSysInfo_t structure each have a valid_fields field that you should check before using the data.

For example, before referring to gfx in the PhSysInfo_t structure, you should check that it's valid:

if (sysinfo.gen.valid_fields & Ph_GEN_INFO_NUM_GFX)
{
  /* It's valid. */
  ...
}

gen

The gen member is a PhGeneralSysInfo_t structure that contains at least:

unsigned long valid_fields
Indicates which of the other fields are valid, and can be one or more of the following:
unsigned short version
The version of the Photon server.
unsigned long bandwidth
The estimated bandwidth between your process and the Photon server. It can be one of:
unsigned long capabilities
Not used.
unsigned short num_gfx
The number of graphics regions.
unsigned short num_kbd
The number of keyboard regions.
unsigned short num_ptr
The number of pointer regions.
unsigned short num_ig
The number of input-group regions.

gfx

The gfx member is a PhGrafxInfo_t structure that contains at least:

unsigned long valid_fields
Indicates which of the other fields are valid, as described below.
unsigned long reserved1, reserved2[3]
Reserved for QNX internal use.
unsigned long bandwidth
Connection speed (PhRelay only).
unsigned long capabilities
Indicates the lowest common denominator graphics rendering capabilities of all graphics drivers in the system. This bitfield can be one or more of the following:
unsigned char color_bits
The current video mode's bits per pixel.
unsigned long possibilities
Indicates the best possible graphics rendering capabilities of all graphics drivers in the system. The flags are the same as for capabilities.

The other fields in the PhSysInfo_t structure are similar. For details on these structures, see the <photon/PhT.h> header file.

Classification:

Photon

See also:

PhQuerySystemInfo(), PtQuerySystemInfo()

System information in the Regions chapter of the Programmer's Guide.