XSGIvcQueryChannelInfo(3)

XSGIvcQueryChannelInfo - Query video channel information

As shipped in IRIX 6.5. First release of IRIX 6.5.

     NAME
          XSGIvcQueryChannelInfo - Query video channel information

     SYNOPSIS
          #include <X11/extensions/XSGIvc.h>

          Status XSGIvcQueryChannelInfo(Display *display,
              int screen,
              int channel,
              XSGIvcChannelInfo **cinfo_return)

     PARAMETER
          display        Specifies the connection to the X server.

          screen         Specifies the screen of the X server.

          channel        The channel number about which information
                         should be returned

          cinfo_return   A pointer to the XSGIvcChannelInfo variable
                         which is to receive the pointer to the
                         corresponding information.  Use XFree to
                         return the memory allocated for this
                         structure.


     DESCRIPTION
          XSGIvcQueryChannelInfo returns a structure containing
          channel information for a specified channel.


        Channel Numbers
          Channel numbers are assigned numbers starting at zero.
          Subsequent channel numbers increase monotonically by one;
          thus, each one is unique.  Because of this ordering
          constraint, the channel number may not correspond to
          physical channel numbers as labeled on the hardware chassis.
          The physicalID field of the XSGIvcChannelInfo structure
          contains the number of the physical channel.


     STRUCTURES
          The XSGIvcChannelInfo contains the following fields:

          typedef struct {
              float           x, y;
              float           height, width;
          }               XSGIvcRectangle;

          /* See channelFlags in XSGIvcChannelInfo */
          #define XSGIVC_CIFCompositeVideo   (1L << 0)   /* Composite video output */
          #define XSGIVC_CIFPerComponentGain (1L << 1)   /* Independent gain adjustment */
          typedef struct {
              Bool            active;        /* channel is operating */
              XSGIvcRectangle source;        /* Position on display surface */
              XSGIvcVideoFormatInfo vfinfo;  /* Video format details */
              long            channelFlags;  /* See XSGIVC_CIF... masks */
              int            *gammaMaps;          /* Assignable gamma maps (ptr to array) */
              int             gammaCount;         /* Returned count of gammaMaps */
              Bool            blankingOp;         /* XSGIvcSetOutputBlanking usable */
              Bool            gainOp;        /* XSGIvcSetOutputGain usable */
              Bool            pedestalOp;         /* XSGIvcSetOutputPedestal usable */
              Bool            phaseHOp;      /* XSGIvcSetOutputPhaseH usable */
              int             phaseHMin;          /* Range of OutputPhaseH */
              int             phaseHMax;
              Bool            phaseVOp;      /* XSGIvcSetOutputPhaseV usable */
              int             phaseVMin;          /* Range of OutputPhaseV */
              int             phaseVMax;
              Bool            phaseSCHOp;         /* XSGIvcSetOutputPhaseSCH usable */
              int             phaseSCHMin;   /* Range of OutputPhaseSCH */
              int             phaseSCHMax;
              Bool      syncOp;         /* XSGIvcSetOutputSync usable */
              int             syncPortCount; /* Number of sync ports */
              XSGIvcChannelSyncInfo *syncInfo;    /* Information on all sync ports */
              int            physicalID;         /* Physical port */
          }               XSGIvcChannelInfo;

          /* Used in XSGIvcChannelInfo structure */
          typedef struct {
              int            syncPort;       /* One of XSGIVC_SP... values */
              int           *syncTypeList;   /* The list of XSGIVC_SF... */
              int            syncTypeListCount;   /* Count of items in syncTypeList */
          }         XSGIvcChannelSyncInfo;

          In the XSGIvcChannelInfo structure, the fields are defined
          in the following manner:


          active
               field is TRUE if the queried channel is operational.
               Servers with multiple channels may be programmed to run
               only some of the output channels.  If the value of this
               field is FALSE, the remaining fields in the structure
               are undefined.


          source
               is a XSGIvcRectangle structure that contains the
               portion of the frame buffer that this channel displays.
               The XSGIvcRectangle structure describes a rectangle
               whose origin is at x,y and whose size is described by
               height and width.  On graphics hardware platforms with
               only one channel, this source rectangle is frequently
               the entire managed area of the Screen. However, on
               graphics hardware platforms that have more than one
               channel for output, each channel may display a
               different portion of the frame buffer.


          vfinfo
               contains the detailed information that describes the
               video format.  This information is valid only if active
               is true.


          channelFlags
               is a set of flags that indicates information about the
               channel.


          gammaMaps
               is an array of items, each item contains the index of a
               gamma map which may be assigned to this channel.  The
               number of items is returned in gammaCount.


          blankingOp
               is TRUE if the operations of the function
               XSGIvcSetOutputBlanking are supported on this channel.


          gainOp
               is TRUE if the operations of the function
               XSGIvcSetOutputGain are supported on this channel.


          phaseHMinReturn
               Returns the minimum value to which horizontal phase may
               be set.


          phaseHMaxReturn
               Returns the maximum value to which horizontal phase may
               be set.


          phaseVMinReturn
               Returns the minimum value to which vertical phase may
               be set.


          phaseVMaxReturn
               Returns the maximum value to which vertical phase may
               be set.

          phaseSCHMinReturn
               Returns the minimum value to which SCH phase may be
               set.


          phaseSCHMaxReturn
               Returns the maximum value to which SCH phase may be
               set.


          syncOp
               Operations to set output sync are permitted on this
               channel.  See the function XSGIvcSetOutputSync.


          syncPortCount
               is the number of sync ports available for this channel.
               This count includes the standard sync ports of
               XSGIVC_SPRed, XSGIVC_SPGreen, XSGIVC_SPBlue, and
               XSGIVC_SPAlpha (if the ports are present and their
               output can be altered) as well as the auxiliary ports.


          syncInfo
               This is a pointer to an array of XSGIvcChannelSyncInfo
               structures.  Each channel may have zero, one or more
               sync ports for which the sync may be altered; each
               mutable sync port is represented by one
               XSGIvcChannelSyncInfo structure in the array.  There
               are syncPortCount items in the array.  All ports which
               can have its sync characteristics altered are included.
               See below for a description of each of the fields.


          physicalID
               This identifies the physical port number of this
               channel.  This is the number as labeled on the chassis
               or cable of the video output.  Servers may take
               liberties in numbering output ports which are not
               strictly numbered (e.g., an encoder channel) such as
               using negative numbers or impossibly high numbers.
               This value is to be used only as a correlation to
               chassis number; you should use the other values in this
               structure to determine characteristics instead of
               relying on some special decoding of physical channel
               number.


          In the XSGIvcChannelSyncInfo structure, the fields are
          defined in the following manner:

          syncPort
               Identifies the sync port.  This can be one of the
               standard color components of XSGIVC_SPRed,
               XSGIVC_SPGreen, XSGIVC_SPBlue, and XSGIVC_SPAlpha;
               these values are all defined with negative numbers.
               Alternatively, this idenfier can refer to one of the
               auxiliary sync ports; the auxiliary sync ports are
               numbered increasingly from zero (0) and can be also
               identified using the constants XSGIVC_SPAux0,
               XSGIVC_SPAux1, and XSGIVC_SPAux2.


          syncTypeList
               This is a pointer to an array of items defined as int.
               Each item represents one of the different sync output
               modes to which this sync port can be set, and contains
               one of:  XSGIVC_None, XSGIVC_SFHorizontalVideo,
               XSGIVC_SFVerticalVideo, XSGIVC_SFCompositeVideo,
               XSGIVC_SFHorizontalTTL, XSGIVC_SFVerticalTTL,
               XSGIVC_SFCompositeTTL, XSGIVC_SFHorizontalTriLevel,
               XSGIVC_SFVerticalTriLevel, or
               XSGIVC_SFCompositeTriLevel.



          syncTypeListCount
               The number of items in the syncTypeList array.


     RETURN VALUE
          This function returns TRUE if successful , FALSE upon
          failure.

          Parameter errors are reported via BadValue or BadMatch.


     SEE ALSO
          XSGIvc , XSGIvcListVideoFormats , XSGIvcSetChannelGammaMap