XSGIvcQueryChannelInfo(3)
XSGIvcQueryChannelInfo - Query video channel information
Showing IRIX 6.5.30 (default release). Unchanged since 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