termiox(4i) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

termiox(4i)

Ioctls for a class of drivers or subsystems                        termiox(4I)



NAME
       termiox - extended general terminal interface

DESCRIPTION
       The extended general terminal interface supplements the termio(4I) gen‐
       eral terminal interface by adding  support  for  asynchronous  hardware
       flow  control,  isochronous  flow  control  and  clock modes, and local
       implementations of additional asynchronous features. Some  systems  may
       not  support  all  of  these capabilities because of either hardware or
       software limitations. Other systems may not permit certain functions to
       be  disabled.  In these cases the appropriate bits will be ignored. See
       <sys/termiox.h> for your system to find out which capabilities are sup‐
       ported.

   Hardware Flow Control Modes
       Hardware  flow  control  supplements  the  termio(4I)  IXON, IXOFF, and
       IXANY character flow control. Character flow control  occurs  when  one
       device controls the data transfer of another device by the insertion of
       control characters in the data stream between  devices.  Hardware  flow
       control  occurs  when  one device controls the data transfer of another
       device using electrical control signals  on  wires  (circuits)  of  the
       asynchronous  interface.  Isochronous hardware flow control occurs when
       one device controls the data transfer of another device by asserting or
       removing the transmit clock signals of that device. Character flow con‐
       trol and hardware flow control may be simultaneously set.


       In asynchronous, full duplex applications, the use  of  the  Electronic
       Industries  Association's  EIA-232-D Request To Send (RTS) and Clear To
       Send (CTS) circuits is the preferred method of hardware  flow  control.
       An interface to other hardware flow control methods is included to pro‐
       vide a standard interface to these existing methods.


       The EIA-232-D standard specified only unidirectional hardware flow con‐
       trol  -  the  Data Circuit-terminating Equipment or Data Communications
       Equipment (DCE) indicates to the Data Terminal Equipment (DTE) to  stop
       transmitting data. The termiox interface allows both unidirectional and
       bidirectional hardware flow control; when bidirectional flow control is
       enabled,  either  the  DCE  or  DTE  can indicate to each other to stop
       transmitting data across the interface. Note: It is  assumed  that  the
       asynchronous  port  is  configured as a DTE. If the connected device is
       also a DTE and not a DCE, then DTE to DTE  (for  example,  terminal  or
       printer  connected  to  computer)  hardware flow control is possible by
       using a null modem to interconnect the  appropriate  data  and  control
       circuits.

   Clock Modes
       Isochronous  communication is a variation of asynchronous communication
       whereby two communicating devices may provide transmit  and/or  receive
       clock  signals to one another. Incoming clock signals can be taken from
       the baud rate generator on the local isochronous port controller,  from
       CCITT  V.24 circuit 114, Transmitter Signal Element Timing - DCE source
       (EIA-232-D pin 15), or from CCITT V.24  circuit  115,  Receiver  Signal
       Element  Timing - DCE source (EIA-232-D pin 17). Outgoing clock signals
       can be sent on CCITT V.24 circuit 113, Transmitter Signal Element  Tim‐
       ing  -  DTE  source  (EIA-232-D  pin  24),  on  CCITT V.24 circuit 128,
       Receiver Signal Element Timing - DTE source (no EIA-232-D pin), or  not
       sent at all.


       In  terms  of  clock  modes,  traditional asynchronous communication is
       implemented simply by using the local baud rate generator as the incom‐
       ing transmit and receive clock source and not outputting any clock sig‐
       nals.

   Terminal Parameters
       The parameters that control  the  behavior  of  devices  providing  the
       termiox interface are specified by the termiox structure defined in the
       <sys/termiox.h> header. Several ioctl(2) system  calls  that  fetch  or
       change these parameters use this structure:

         #define   NFF  5
         struct termiox {
              unsigned short x_hflag;       /* hardware flow control modes */
              unsigned short x_cflag;       /* clock modes */
              unsigned short x_rflag[NFF];  /* reserved modes */
              unsigned short x_sflag;       /* spare local modes */
         };



       The x_hflag field describes hardware flow control modes:


       tab();  lw(1.28i) lw(1.06i) lw(3.17i) RTSXOFF0000001T{ Enable RTS hard‐
       ware flow control on input.  T}  CTSXON0000002T{  Enable  CTS  hardware
       flow  control  on output.  T} DTRXOFF0000004T{ Enable DTR hardware flow
       control on input.  T} CDXON0000010T{ Enable CD hardware flow control on
       output.  T} ISXOFF0000020T{ Enable isochronous hardware flow control on
       input T}



       The EIA-232-D DTR and CD circuits are used to  establish  a  connection
       between  two  systems. The RTS circuit is also used to establish a con‐
       nection with a modem. Thus, both DTR and  RTS  are  activated  when  an
       asynchronous  port is opened. If DTR is used for hardware flow control,
       then RTS must be used for connectivity. If CD is used for hardware flow
       control,  then CTS must be used for connectivity. Thus, RTS and DTR (or
       CTS and CD) cannot both be used for hardware flow control at  the  same
       time.  Other mutual exclusions may apply, such as the simultaneous set‐
       ting of the termio(4I)  HUPCL and the termiox  DTRXOFF bits, which  use
       the DTE ready line for different functions.


       Variations  of  different hardware flow control methods may be selected
       by setting the appropriate bits.  For  example,  bidirectional  RTS/CTS
       flow  control  is  selected by setting both the RTSXOFF and CTSXON bits
       and bidirectional DTR/CTS flow control is selected by setting both  the
       DTRXOFF  and  CTSXON. Modem control or unidirectional CTS hardware flow
       control is selected by setting only the CTSXON bit.


       As previously mentioned, it is assumed that the local asynchronous port
       (for example, computer) is configured as a DTE. If the connected device
       (for example, printer) is also a DTE, it is assumed that the device  is
       connected  to  the computer's asynchronous port using a null modem that
       swaps control circuits (typically  RTS  and  CTS).  The  connected  DTE
       drives  RTS and the null modem swaps RTS and CTS so that the remote RTS
       is received as CTS by the local DTE. In the case that CTSXON is set for
       hardware  flow  control,  printer's lowering of its RTS would cause CTS
       seen by the computer to be lowered. Output to the printer is  suspended
       until  the  printer's raising of its RTS, which would cause CTS seen by
       the computer to be raised.


       If RTSXOFF is set, the Request To Send (RTS)  circuit  (line)  will  be
       raised,  and  if the asynchronous port needs to have its input stopped,
       it will lower the Request To Send (RTS) line. If the RTS line  is  low‐
       ered,  it  is  assumed  that  the connected device will stop its output
       until RTS is raised.


       If CTSXON is set, output will occur only if the  Clear  To  Send  (CTS)
       circuit  (line)  is  raised by the connected device. If the CTS line is
       lowered by the connected device,  output  is  suspended  until  CTS  is
       raised.


       If  DTRXOFF  is set, the DTE Ready (DTR) circuit (line) will be raised,
       and if the asynchronous port needs to have its input stopped,  it  will
       lower  the  DTE  Ready  (DTR)  line.  If the DTR line is lowered, it is
       assumed that the connected device will stop its  output  until  DTR  is
       raised.


       If  CDXON  is  set,  output will occur only if the Received Line Signal
       Detector (CD) circuit (line) is raised by the connected device. If  the
       CD  line  is lowered by the connected device, output is suspended until
       CD is raised.


       If ISXOFF is set, and if the isochronous port needs to have  its  input
       stopped, it will stop the outgoing clock signal. It is assumed that the
       connected device is using this clock signal to create its output. Tran‐
       sit  and receive clock sources are programmed using the x_cflag fields.
       If the port is not programmed for external clock generation, ISXOFF  is
       ignored.  Output  isochronous  flow control is supported by appropriate
       clock source programming using the x_cflag field  and  enabled  at  the
       remote connected device.


       The x_cflag field specifies the system treatment of clock modes.


       tab(); lw(1.5i) lw(0.94i) lw(3.06i) XMTCLK0000007Transmit clock source:
       XCIBRG0000000T{ Get transmit clock from internal baud  rate  generator.
       T}  XCTSET0000001T{  Get transmit clock from transmitter signal element
       timing (DCE source) lead, CCITT V.24 circuit 114, EIA-232-D pin 15.  T}
       XCRSET0000002T{  Get transmit clock from receiver signal element timing
       (DCE source) lead, CCITT V.24 circuit 115, EIA-232-D pin 17.   T}  RCV‐
       CLK0000070Receive  clock source: RCIBRG0000000T{ Get receive clock from
       internal baud rate generator.  T}  RCTSET0000010T{  Get  receive  clock
       from  transmitter  signal  element timing (DCE source) lead, CCITT V.24
       circuit 114, EIA-232-D pin 15.  T} RCRSET0000020T{  Get  receive  clock
       from  receiver signal element timing (DCE source) lead, CCITT V.24 cir‐
       cuit 115, EIA-232-D pin 17.   T}  TSETCLK0000700T{  Transmitter  signal
       element timing (DTE source) lead, CCITT V.24 circuit 113, EIA-232-D pin
       24, clock source: T} TSETCOFF0000000TSET clock not  provided.   TSETCR‐
       BRG0000100T{  Output  receive  baud  rate generator on circuit 113.  T}
       TSETCTBRG0000200T{ Output transmit baud rate generator on  circuit  113
       T}  TSETCTSET0000300T{  Output  transmitter  signal element timing (DCE
       source) on circuit 113.  T} TSETCRSET0000400T{ Output  receiver  signal
       element  timing  (DCE  source)  on  circuit  113.   T} RSETCLK0007000T{
       Receiver signal element timing (DTE source) lead,  CCITT  V.24  circuit
       128,  no  EIA-232-D pin, clock source: T} RSETCOFF0000000RSET clock not
       provided.  RSETCRBRG0001000T{ Output receive  baud  rate  generator  on
       circuit 128.  T} RSETCTBRG0002000T{ Output transmit baud rate generator
       on circuit 128.  T} RSETCTSET0003000T{ Output transmitter  signal  ele‐
       ment  timing (DCE source) on circuit 128.  T} RSETCRSET0004000T{ Output
       receiver signal element timing (DCE) on circuit 128.  T}



       If the XMTCLK field has a value of XCIBRG the transmit clock  is  taken
       from  the hardware internal baud rate generator, as in normal asynchro‐
       nous transmission. If XMTCLK = XCTSET the transmit clock is taken  from
       the Transmitter Signal Element Timing (DCE source) circuit. If XMTCLK =
       XCRSET the transmit clock is taken from  the  Receiver  Signal  Element
       Timing (DCE source) circuit.


       If  the  RCVCLK  field has a value of RCIBRG the receive clock is taken
       from the hardware Internal Baud Rate Generator, as in normal  asynchro‐
       nous  transmission.  If RCVCLK = RCTSET the receive clock is taken from
       the Transmitter Signal Element Timing (DCE source) circuit. If RCVCLK =
       RCRSET the receive clock is taken from the Receiver Signal Element Tim‐
       ing (DCE source) circuit.


       If the TSETCLK field has a value of  TSETCOFF  the  Transmitter  Signal
       Element Timing (DTE source) circuit is not driven. If TSETCLK = TSETCR‐
       BRG the Transmitter Signal  Element  Timing  (DTE  source)  circuit  is
       driven  by  the Receive Baud Rate Generator. If TSETCLK = TSETCTBRG the
       Transmitter Signal Element Timing (DTE source) circuit is driven by the
       Transmit  Baud  Rate  Generator. If TSETCLK = TSETCTSET the Transmitter
       Signal Element Timing (DTE source) circuit is driven by the Transmitter
       Signal  Element  Timing (DCE source). If TSETCLK = TSETCRBRG the Trans‐
       mitter Signal Element Timing (DTE source)  circuit  is  driven  by  the
       Receiver Signal Element Timing (DCE source).


       If  the  RSETCLK field has a value of RSETCOFF the Receiver Signal Ele‐
       ment Timing (DTE source) circuit is not driven. If RSETCLK =  RSETCRBRG
       the  Receiver  Signal  Element Timing (DTE source) circuit is driven by
       the Receive Baud Rate Generator. If RSETCLK =  RSETCTBRG  the  Receiver
       Signal  Element  Timing  (DTE source) circuit is driven by the Transmit
       Baud Rate Generator. If RSETCLK = RSETCTSET the Receiver Signal Element
       Timing (DTE source) circuit is driven by the Transmitter Signal Element
       Timing (DCE source). If RSETCLK = RSETCRBRG the Receiver Signal Element
       Timing  (DTE  source)  circuit is driven by the Receiver Signal Element
       Timing (DCE source).


       The x_rflag is reserved for future interface definitions and should not
       be used by any implementations. The x_sflag may be used by local imple‐
       mentations wishing to customize  their  terminal  interface  using  the
       termiox ioctl system calls.

IOCTLS
       The ioctl(2) system calls have the form:

         ioctl (fildes, command, arg) struct termiox * arg;



       The commands using this form are:

       TCGETX     The  argument  is a pointer to a termiox structure. The cur‐
                  rent terminal parameters are fetched and  stored  into  that
                  structure.


       TCSETX     The  argument  is a pointer to a termiox structure. The cur‐
                  rent terminal parameters are set from the values  stored  in
                  that structure. The change is immediate.


       TCSETXW    The  argument  is a pointer to a termiox structure. The cur‐
                  rent terminal parameters are set from the values  stored  in
                  that  structure.  The  change  occurs  after  all characters
                  queued for output have been transmitted. This form should be
                  used when changing parameters that will affect output.


       TCSETXF    The  argument  is a pointer to a termiox structure. The cur‐
                  rent terminal parameters are set from the values  stored  in
                  that  structure.  The  change  occurs  after  all characters
                  queued for output  have  been  transmitted;  all  characters
                  queued for input are discarded and then the change occurs.


FILES
       /dev/*

SEE ALSO
       stty(1), ioctl(2), termio(4I)

NOTES
       The termiox(4I) system call is provided for compatibility with previous
       releases and its use is discouraged.  Instead,  the  termio(4I)  system
       call is recommended. See termio(4I) for usage information.



Oracle Solaris 11.4               15 Apr 2019                      termiox(4I)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3