Unix/Linux Go Back    


Linux 2.6 - man page for cfgetispeed (linux section 3posix)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


CFGETISPEED(P)			    POSIX Programmer's Manual			   CFGETISPEED(P)

NAME
       cfgetispeed - get input baud rate

SYNOPSIS
       #include <termios.h>

       speed_t cfgetispeed(const struct termios *termios_p);

DESCRIPTION
       The cfgetispeed() function shall extract the input baud rate from the termios structure to
       which the termios_p argument points.

       This function shall return exactly the value in the termios data structure, without inter-
       pretation.

RETURN VALUE
       Upon  successful completion, cfgetispeed() shall return a value of type speed_t represent-
       ing the input baud rate.

ERRORS
       No errors are defined.

       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       None.

RATIONALE
       The term "baud" is used historically here, but is not technically correct. This	is  prop-
       erly  "bits  per  second",  which  may  not be the same as baud. However, the term is used
       because of the historical usage and understanding.

       The cfgetospeed(), cfgetispeed(), cfsetospeed(), and cfsetispeed() functions do	not  take
       arguments as numbers, but rather as symbolic names. There are two reasons for this:

	1. Historically, numbers were not used because of the way the rate was stored in the data
	   structure. This is retained even though a function is now used.

	2. More importantly, only a limited set of possible rates is at all  portable,	and  this
	   constrains the application to that set.

       There  is nothing to prevent an implementation accepting as an extension a number (such as
       126), and since the encoding of the Bxxx symbols is not specified, this	can  be  done  to
       avoid introducing ambiguity.

       Setting	the input baud rate to zero was a mechanism to allow for split baud rates. Clari-
       fications in this volume of  IEEE Std 1003.1-2001  have	made  it  possible  to	determine
       whether	split  rates  are supported and to support them without having to treat zero as a
       special case. Since this functionality is also confusing, it has  been  declared  obsoles-
       cent.  The 0 argument referred to is the literal constant 0, not the symbolic constant B0.
       This volume of IEEE Std 1003.1-2001 does not preclude B0 from being defined as  the  value
       0; in fact, implementations would likely benefit from the two being equivalent.	This vol-
       ume of IEEE Std 1003.1-2001 does not fully  specify  whether  the  previous  cfsetispeed()
       value  is retained after a tcgetattr() as the actual value or as zero. Therefore, conform-
       ing applications should always set both the input speed	and  output  speed  when  setting
       either.

       In historical implementations, the baud rate information is traditionally kept in c_cflag.
       Applications should be written to presume that this  might  be  the  case  (and	thus  not
       blindly	copy  c_cflag),  but  not  to rely on it in case it is in some other field of the
       structure. Setting the c_cflag field absolutely after setting a baud rate is a  non-porta-
       ble  action because of this. In general, the unused parts of the flag fields might be used
       by the implementation and should not be blindly copied from the descriptions of one termi-
       nal device to another.

FUTURE DIRECTIONS
       None.

SEE ALSO
       cfgetospeed()  , cfsetispeed() , cfsetospeed() , tcgetattr() , the Base Definitions volume
       of IEEE Std 1003.1-2001, Chapter 11, General Terminal Interface, <termios.h>

COPYRIGHT
       Portions of this text are reprinted and	reproduced  in	electronic  form  from	IEEE  Std
       1003.1,	2003  Edition,	Standard  for Information Technology -- Portable Operating System
       Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003  by
       the  Institute  of  Electrical  and  Electronics Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE  and  The  Open  Group
       Standard, the original IEEE and The Open Group Standard is the referee document. The orig-
       inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group			       2003				   CFGETISPEED(P)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 09:05 AM.