Data structure for system information
typedef struct Ph_sys_info {
        PhGeneralSysInfo_t  gen;
        PhGrafxInfo_t       gfx;
        PhKbdInfo_t         kbd;
        PhPtrInfo_t         ptr;
        PhIgInfo_t          ig;
} PhSysInfo_t;
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.
  
  
  
  
 
  | 
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. */
  ...
}
The gen member is a PhGeneralSysInfo_t
structure that contains at least:
- ulong_t valid_fields
    
 
- Indicates which of the other fields are valid, and can be one or more of the following:
     
- Ph_GEN_INFO_BANDWIDTH
        
      
 
- Ph_GEN_INFO_CAPABILITIES
        
      
 
- Ph_GEN_INFO_NUM_GFX
        
      
 
- Ph_GEN_INFO_NUM_KBD
        
      
 
- Ph_GEN_INFO_NUM_PTR
        
      
 
- Ph_GEN_INFO_NUM_IG
        
    
 
   
- ushort_t version
    
 
- The version of the Photon server.
  
 
- ulong_t bandwidth
    
 
- The estimated bandwidth between your process and the Photon server.  It can be one of:
      
- Ph_BAUD_MIN -- the minimum possible badnwidth
       
 
- Ph_BAUD_SLOW -- a slow connection
       
 
- Ph_BAUD_NETWORK -- a network speed connection
       
 
- Ph_BAUD_CONSOLE -- a fast connection
       
 
- Ph_BAUD_MAX -- the fastest possible connection
      
 
   
- ulong_t capabilities
    
 
- Not used.
  
 
- ushort_t num_gfx
    
 
- The number of graphics regions.
  
 
- ushort_t num_kbd
    
 
- The number of keyboard regions.
  
 
- ushort_t num_ptr
    
 
- The number of pointer regions.
  
 
- ushort_t num_ig
    
 
- The number of input-group regions.
      
 
The gfx member is a PhGrafxInfo_t
structure that contains at least:
- ulong_t valid_fields
  
 
- Indicates which of the other fields are valid, as described below.
  
 
- ulong_t reserved1, reserved2[3]
  
 
- Reserved for QNX internal use.
  
 
- ulong_t bandwidth
  
 
- Connection speed (PhRelay only).
  
 
- ulong_t 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:
    
- Ph_GCAP_BLIT -- the driver supports blitting.
      
 
- Ph_GCAP_DIRECT -- the driver is in direct mode.
      
 
- Ph_GCAP_DIRECTCOLOR -- the current video mode is a direct color mode.
      
 
- Ph_GCAP_DRAW_ALPHA -- the driver supports alpha blending.
      
 
- Ph_GCAP_DRAW_CHROMA -- the driver supports chroma keying.
      
 
- Ph_GCAP_DRAW_GRADIENTS -- the driver supports gradient drawing.
      
 
- Ph_GCAP_DRAW_OFFSCREEN -- offscreen memory contexts are supported.
      
 
- Ph_GCAP_DRAW_TERN_ROPS -- the driver supports ternary raster operations.
      
 
- Ph_GCAP_FRAME_READ -- PgReadScreen() is supported.
      
 
- Ph_GCAP_FutureSupported -- reserved.
      
 
- Ph_GCAP_LOCALHW -- the driver region is created by io-graphics running on the current node.
      
 
- Ph_GCAP_MASKED_BLIT -- the driver supports planemasked blitting.
      
 
- Ph_GCAP_NONINTERLACED -- the display framebuffer is not interlaced.
      
 
- Ph_GCAP_OVERLAY -- the driver supports video overlay.
      
 
- Ph_GCAP_PALETTE -- the driver supports a hardware palette.
      
 
- Ph_GCAP_PHINDOWS -- the driver region is created by phindows.
      
 
- Ph_GCAP_RELAY -- the driver region is created by phrelay.
      
 
- Ph_GCAP_SHMEM -- the driver supports draw data sent in shared memory.
      
 
- Ph_GCAP_TEXT_AREA -- PgDrawTextArea() is supported.
      
 
- Ph_GCAP_VIDEO_READABLE -- the display framebuffer can be read linearly.
    
 
    
- uchar_t color_bits
   
 
- The current video mode's bits per pixel.
   
 
- ulong_t 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.
Photon
PhQuerySystemInfo(),
PtQuerySystemInfo()
"System
information" in the Regions chapter of the Programmer's
Guide.