XSGIvcSetOutputSync(3)

XSGIvcSetOutputSync, XSGIvcQueryOutputSync - Set and query the sync status of a sync port

As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.

     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
        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.
        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 */
          #define XSGIVC_SFVerticalTriLevel  8   /* Vertical sync, tri-level */
          #define XSGIVC_SFCompositeTriLevel 9   /* Composite sync, tri-level */


     SEE ALSO
          XSGIvc, XSGIvcQueryChannelInfo