XSGIvcSetOutputSync(3)XSGIvcSetOutputSync(3)
NAME
XSGIvcSetOutputSync, XSGIvcQueryOutputSync - Set and query
the sync status of a sync port
SYNOPSIS
#include <X11/extensions/XSGIvc.h>
void XSGIvcSetOutputSync(Display *display,
int screen,
int channel,
int syncPortIndex,
int syncType)
Status XSGIvcQueryOutputSync(Display *display,
int screen,
int channel,
int syncPortIndex,
int *syncTypeReturn)
PARAMETERS
display Specifies the connection to the X server.
screen Specifies the screen of the X server.
channel Specifies the channel number.
syncPortIndex Specifies which sync port. Use one of the
following constants for the color
components sync outputs: XSGIVC_SPRed,
XSGIVC_SPGreen, XSGIVC_SPBlue, and
XSGIVC_SPAlpha. For the auxiliary sync
ports, use one of the following constants:
XSGIVC_SPAux0, XSGIVC_SPAux1, and
XSGIVC_SPAux2. Alternatively, for the
auxiliary sync ports, you may use one of
the constants defined in an include file
that may be supplied that is specific to
your hardware. Not all sync ports have
uniform characteristics; use the function
XSGIvcQueryChannelInfo to determine
characteristics for each sync port.
syncType The sync type to enable on this port.
Specify one of the values in the set
XSGIVC_SF...
DESCRIPTION
Page 1 (printed 7/20/06)
XSGIvcSetOutputSync(3)XSGIvcSetOutputSync(3)
Terminology
The synchronization signal (or sync signal) is a series of
pulses that communicate raster geometry to a display device.
The horizontal sync (or H-sync) pulse typically indicates
the termination of one scan line and the start of another,
visually lower, line. The vertical sync (or V-sync) pulse
typically indicates the display device should reset its
downward drawing of lines and start the next horizontal line
at the top of the screen. When horizontal and vertical sync
are combined in the same signal, the result is called
composite sync (sometimes referred to as H + V-sync).
A synchronization pulse is a variation from one level to
another. The output voltage can be generated at different
voltages: nominal video level or TTL levels. In some video
formats (e.g., some HDTV formats) a third level of excursion
is required during some sync pulse sequences; this third
level is employed in tri-level sync.
Server Configurations
These functions deal with the synchronization signal's
presence on one of the channel's sync output ports.
Different servers may have different hardware available for
sync output: some ports may be separate connectors
(auxiliary sync outputs) on which sync is delivered; the
red, green, and blue color component signals may contain
sync; some servers provide an alpha channel output
connector, and sync may also be available on that port.
Sync output may be unique to a channel - and servers may not
provide sync outputs uniformly, so each channel's ports must
be considered separately.
Sync is available in different forms, depending on server
hardware. Servers may permit a specific port to generate
none, one or both of horizontal and vertical sync;
capabilities of the ports may not be uniform among channels,
or even among ports for a single channel.
Especially for sync on the color components, a server may
support independent adjustment of each component's sync, or
may support only a global change such that sync is enabled
or disabled for all color components simultaneously. Refer
to hardware documentation for information on server support.
Applications written for use on more than one type of
hardware should query all color component values after
setting one to determine whether the sync change was
independently adjusted.
The entire set of all sync ports and sync types available
for that port may be determined from the structure returned
from the function XSGIvcQueryChannelInfo.
Page 2 (printed 7/20/06)
XSGIvcSetOutputSync(3)XSGIvcSetOutputSync(3)
Functions
XSGIvcSetOutputSync() enables and disables sync on one of
the sync output ports.
XSGIvcQueryOutputSync() returns the current settings for
sync on one of the output ports.
Interaction With Screen Saver Programs
Some screen savers may use these functions to alter sync
output to trigger power-saving measures on monitors which
have the capability to run with reduced power during periods
of inactivity. Alteration of output sync may interfere with
normal operation of these screen savers and monitors.
EVENTS
When this control is altered, the server generates a
OutputSyncNotify event.
RETURNED VALUE
XSGIvcQueryOutputSync returns TRUE if successful, FALSE upon
failure. Specification of non-existent port number returns
FALSE.
Other errors are reported via standard X protocol error
mechanism. Parameter errors are reported via BadValue or
BadMatch.
STRUCTURES
/* Special sync port IDs */
#define XSGIVC_SPRed -1
#define XSGIVC_SPGreen -2
#define XSGIVC_SPBlue -3
#define XSGIVC_SPAlpha -4
#define XSGIVC_SPAux0 0
#define XSGIVC_SPAux1 1
#define XSGIVC_SPAux2 2
/* See syncType in XSGIvcSyncInfo */
#define XSGIVC_SFNone 0 /* No sync */
#define XSGIVC_SFHorizontalVideo 1 /* Horizontal sync, video level */
#define XSGIVC_SFVerticalVideo 2 /* Vertical sync, video level */
#define XSGIVC_SFCompositeVideo 3 /* Composite sync, video level */
#define XSGIVC_SFHorizontalTTL 4 /* Horizontal sync, TTL level */
#define XSGIVC_SFVerticalTTL 5 /* Vertical sync, TTL level */
#define XSGIVC_SFCompositeTTL 6 /* Composite sync, TTL level */
#define XSGIVC_SFHorizontalTriLevel 7 /* Horizontal sync, tri-level */
Page 3 (printed 7/20/06)
XSGIvcSetOutputSync(3)XSGIvcSetOutputSync(3)
#define XSGIVC_SFVerticalTriLevel 8 /* Vertical sync, tri-level */
#define XSGIVC_SFCompositeTriLevel 9 /* Composite sync, tri-level */
SEE ALSO
XSGIvc, XSGIvcQueryChannelInfo
Page 4 (printed 7/20/06)