XSGIvcQueryChannelInfo(3)XSGIvcQueryChannelInfo(3)
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 */
Page 1 (printed 7/20/06)
XSGIvcQueryChannelInfo(3)XSGIvcQueryChannelInfo(3)
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
Page 2 (printed 7/20/06)
XSGIvcQueryChannelInfo(3)XSGIvcQueryChannelInfo(3)
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.
Page 3 (printed 7/20/06)
XSGIvcQueryChannelInfo(3)XSGIvcQueryChannelInfo(3)
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:
Page 4 (printed 7/20/06)
XSGIvcQueryChannelInfo(3)XSGIvcQueryChannelInfo(3)
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
Page 5 (printed 7/20/06)