Jazz home  >  Papers & Training

 

SIB ’04 CI info functions

 

By Hari, Prathibha and Raghunand, CSY

 

Enhancements summary:

 

 

DEVINFO

 

The DEVINFO CI function returns information about devices in a system. It is a CI interface to the existing AIFDEVICEGET intrinsic. Most of the items are serviced through the AIFDEVICEGET API. However, there are a few items that use the AIFSPPGET API (spooler items) and internal OS routines (device list items). Depending on the information desired, DEVINFO returns a string, Boolean, or an integer.

 

Syntax

 

DEVINFO (DeviceID, item[,status])

 

Parameters

 

DEVINFO accepts three parameters :

·         A device ID, the logical device number of the device about which information is returned.

·         An item indicating what information is desired.

·         An optional status parameter to return the status of the function call.

 

Device ID

 

The device ID identifies a device via its LDEV number. For ease of use, the LDEV number can be a numeric string or an integer. There are cases (calls to DEVINFO that return a list of LDEV numbers) when this parameter is not required. In such cases, the device ID can be set to the empty string (“”), the string “0” or an integer 0.

 

Item

 

This parameter is a key word that indicates what information about an LDEV is desired. It is a string parameter. A list of supported items and their description can be found in a separate section below. The list includes the item name, its aliases, return type of DEVINFO and a description of the item.

 

Status

 

Status is an optional 32 bit integer parameter. It is the CI variable name where a DEVINFO error number can be returned. Zero indicates success. Non-zero indicates a failure.  Error values returned in 'status' are the same  as the CIERROR value when an error occurs.  If the 'status' parm is passed, the CI will not set CIERROR and will not report an error message.  If 'status' is not specified the CI performs its normal error handling.                     

 

Description of DEVINFO Items                      

                                                                       

The following table summarizes the items of the DEVINFO CI function. The description includes the item string, one or more aliases, the return type, and a brief description of the item. 

 

Item Name

Type

Description

AllPrinterDevList                    

string         

List of printer LDEVs separated by a space Format:"Total/LDEV1 LDEV2 ... LDEVN" *

AllTermDevList                       

string         

List of terminal LDEVs separated by a space Format:"Total/LDEV1 LDEV2 ... LDEVN" *

AltOwnerPin       

int    

Device's alternate owner PIN

AutoReply                            

bool           

True means device automatically replies to tape requests

Available         

 Up               

bool           

True if the device is available to the System

BlockModeType                        

int            

7=both line and DTC style block mode,  15=PAD terminal supporting page block mode

BOT                                  

bool           

True means tape device is at beginning of tape mark

CommDevList                          

string         

List of data comm devices.

Format: "Total/LDEV1 LDEV2 ... LDEVN" *

DataAccepting     

bool   

True if device accepts DATA logons

DevClass          

string 

IO Device Class: "NOT CONFIG","DISK","TAPE", "TERM","CIPER PRINTER","PRINTER","SPOOLED", "DATA COMM","DS TERM","DS PRINTER",

DevName           

string 

Device name as used in the "adev" SYSGEN command

DevSubType        

int    

Device subtype. See IODEFAULT.PUB.SYS

DevType           

string 

Device type: "DISK","TERM","TAPE","PRINTER"

DiscDevList        

 DiskDevList      

string 

List of disk LDEVs separated by a space.

Format:"Total/LDEV1 LDEV2 ... LDEVN" *

DiskSizeMB         

 DiscSizeMB

int    

Disk size in megabytes

DiskSizePages      

 DiscSizePages    

int    

Disk size in 2k pages (8 sectors per physical page)

Down                                 

bool   

True if device is unavailable to the system (not up) and no down pending

DownPend          

bool   

True if device has a down request pending

DSPrinterDevList                     

string 

List of DS printer LDEVs separated by a space. Format:"Total/LDEV1 LDEV2 ... LDEVN" *

DSTermDevList                        

string 

List of DS terminal LDEVs separated by a space. Format:"Total/LDEV1 LDEV2 ... LDEVN" *

Duplicative                           

bool   

True all input operations are automatically Echoed

EOT                                  

bool   

True if tape is positioned at the end of Tape

Exists             

 Exist

bool   

True if the device is configured

FileName                             

string 

Formal device file designator, eg $STDIN. Will be blanks for non-terminal devices

FormsMounted                         

bool   

True if special forms are mounted for this Device

HeaderDisabled                       

bool   

True if the header pages are suppressed in Printing

IntDevClass       

int    

0=not config,1=disk,2=tape,3=terminal, 4=CIPER printer, 5=printer(non-ciper), 6=spooled, 7=data comm, 8=DS teminal, 9=DS printer, 10=user-defined

IntDevType        

int    

0-7=disk, 16=terminal, 24=tape, 32=printer

Interactive                          

bool   

True if device requires human intervention for all input operations

IntSpoolerState   

int    

Spooler process state for LDEV: 0=initializing, 1=release, 2=start, 3=stop, 4=stop pending, 5=suspend, 6=suspend pending, 7=resume, 8=active, 9=shut pending, 10=idle

IntSubClass       

int    

Device subclass: 0=unknown,1=connected to TMUX, 2=terminal,3=printer,4=virtual terminal,5=virtual printer,6=PAD terminal,7=PAD printer,12=null terminal,13=DHCF terminal,14=pseudo terminal, 15=pseudo null terminal. For tape: 1=tape. For disk: 1=disk

IntTapeError      

int    

Fatal tape error value: 0=No fatal error, 1= tape runaway, 2=multiple tracks in error, 3= timing error, 4=command reject, 5=unit failure, 6=data parity error, 7=command

parity error

IntTermType       

int    

Terminal Type: 10=TT10, 18=TT18, 21=TT21, 22=TT22, 24=TT24, 26=TT26

InvalidLogonCnt   

int    

Invalid logon counts for interactive device **

JobAccepting      

bool   

True if device accepts HELLO or JOB logons

LineSpeed         

int    

Terminal line speed setting: 30, 120, 480, 960, 19200, 38400

NotConfigDevList  

string 

List of unconfigured LDEVs separated by a space. Format:"Total/LDEV1 LDEV2 ... LDEVN" *

Opened            

bool   

True means device exists and is opened/owned

OwnerJobNum                          

string 

Device's owner's job/session number, "J|Snnn"

OwnerPIN                             

int    

PIN for device's owner process, which is a JSMAIN process

Ownership         

string 

Device's ownership state: "OWNED"=owned by a process, "OS"=temporarily owned by the operating system, ""=not owned by a process

PrinterDevList    

string 

List of printers which are not DS nor serial Format:"Total/LDEV1 LDEV2 ... LDEVN" *

ReadTimeOut       

int    

Number of seconds for next (timed) read, 0 or negative means timeout is disabled

RecWidth          

int    

Device record width in bytes

SecurityDown      

bool   

True if the device is downed by HP Security Monitor **

SerialPrinterDevList                  

str    

List of serial printers separated by a space.Format:"Total/LDEV1 LDEV2 ... LDEVN" *

SpoolerDevList                       

string 

List of spooler device separated by a space. Format:"Total/LDEV1 LDEV2 ... LDEVN" *

SpoolerOutfence                      

int    

Current outfence for the output spooler device, 0..14

SpoolerState      

string 

Spooler process state for LDEV: "INIT",

"RELEASE","START","STOP","STOP PEND","SUSP",

"SUSP PEND", "RESUME","ACTIVE","SHUT PEND",

"IDLE"

SpoolFileID       

string 

"Onnn" ID of the spoolfile currently being

printed on the device

SpoolingEnabled   

bool   

True if spooling has been enabled for this

Device

SpoolType         

string