[an error occurred while processing this directive]

HP OpenVMS Systems

Ask the Wizard
» 

HP OpenVMS Systems

OpenVMS information

» What's new on our site
» Upcoming events
» Configuration and buying assistance
» Send us your comments

HP OpenVMS systems

» OpenVMS software
» Supported Servers
» OpenVMS virtualization
» OpenVMS solutions and partners
» OpenVMS success stories
» OpenVMS service and support
» OpenVMS resources and information
» OpenVMS documentation
» Education and training

Quick Links

» Non-javascript page
» Ask the Wizard
» OpenVMS FAQ

Test Drive OpenVMS

» OpenVMS I64 test drive
» Java test drive

Other information resources available to you include:

» OpenVMS freeware
» ECO kits, software and hardware support, prior version support
» Alpha SRM, ARC, and AlphaBIOS firmware updates
» ENCOMPASS - HP user group
» OpenVMS software downloads, OpenVMS freeware CD-ROM
» OpenVMS firmware locations
» DECconnect passive adaptor charts
» Cables reference guide
» MicroVAX console commands
» OpenVMS student research

Select a topic below to see Questions Frequently Asked by partners

» Using the online documentation library(installing BNU from the asap SDK)
» Global sections(how to create and use.)
» xx$CREATE_BUFOBJ system service(usage)
» Ethernet address(methods of determination)
» Shareable images(cookbook approach to creating one)
» Sharing data/code at absolute addresses(a guide with examples)
» Determining the Alpha microprocessor
» Using GETSYI to get hardware status

Evolving business value

» Business Systems Evolution
» AlphaServer systems transition planning
» Alpha RetainTrust program

Related links

» HP Integrity servers
» HP Alpha systems
» HP storage
» HP software
» HP products and services
» HP solutions
» HP support
disaster proof
HP Integrity server animation
HP Integrity server animation
Content starts here

Ask the Wizard Questions

DECwindows: Access DISPLAY info

The Question is:

I am looking for a utility which can get me the characteristics
of the DECWINDOWsDISPLAY (i.e. transport mode) from a
program written in C or FORTRAN. The logical DECW$DISPLAY
does not give enough information. It is inconvenient to
use a DCL-procedure since that will not work when the program
has to be run in detached mode.

Thanks


The Answer is:

/*
//  The DECwindows IO$M_WS_DISPLAY I/O codes are neither documented
//  nor supported.
//
//  $ CC/DECC DECW$SHOW_DISPLAY
//  $ LINK DECW$SHOW_DISPLAY
//  $ RUN DECW$SHOW_DISPLAY
*/
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define IO$M_WS_DISPLAY         64
#define DECW$C_WS_DSP_NODE       1
#define DECW$C_WS_DSP_TRANSPORT  2
#define DECW$C_WS_DSP_SERVER     3
#define DECW$C_WS_DSP_SCREEN     4

#define RETBUFSIZ 80

main()
    {
    int RetStat;
    short IOChan;
    unsigned short int IOSB[2];
    short int RetLen;
    char RetBuf[RETBUFSIZ];
    $DESCRIPTOR( DECwDevice, "DECW$DISPLAY" );

    RetStat = sys$assign( &DECwDevice, &IOChan, 0, 0 );
    if ( !$VMS_STATUS_SUCCESS( RetStat ))
	lib$signal( RetStat );

    RetStat = sys$qiow( 0, IOChan,
	IO$_SENSEMODE | IO$M_WS_DISPLAY,
        IOSB, 0, 0, RetBuf, RETBUFSIZ - 1,
	DECW$C_WS_DSP_TRANSPORT, 0, 0, 0 );
    if ( !$VMS_STATUS_SUCCESS( RetStat ))
	lib$signal( RetStat );
    if ( !$VMS_STATUS_SUCCESS( IOSB[0] ))
	lib$signal( IOSB[0] );

    RetLen = IOSB[2];
    printf( "Transport:  %*.*s\n", RetLen, RetLen, RetBuf );

    return SS$_NORMAL;
    }