Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TERMINFO(3)		 BSD Library Functions Manual		   TERMINFO(3)

NAME
     setupterm,	set_curterm, del_curterm, termname, longname, tigetflag,
     tigetnum, tigetstr, tparm,	tputs, putp -- terminal	independent operation
     routines

LIBRARY
     Terminal Information Library (libterminfo,	-lterminfo)

SYNOPSIS
     #include <term.h>

     char PC;
     short ospeed;
     TERMINAL *cur_term;

     int
     setupterm(const char *name, int fildes, int *errret);

     TERMINAL *
     set_curterm(TERMINAL *nterm);

     int
     del_curterm(TERMINAL *oterm);

     char *
     termname(void);

     char *
     longname(void);

     int
     tigetnum(const char *id);

     int
     tigetflag(const char *id);

     char *
     tigetstr(const char *id);

     char *
     tparm(const char *cm, long	p1, long p2, long p3, long p4, long p5,
	 long p6, long p7, long	p8, long p9);

     int
     tputs(const char *cp, int affcnt, int (*outc)(int));

     int
     putp(const	char *cp);

     int
     ti_setupterm(TERMINAL **, const char *name, int fildes, int *error);

     int
     ti_getflag(const TERMINAL *, const	char *id);

     int
     ti_getnum(const TERMINAL *, const char *id);

     const char	*
     ti_getstr(const TERMINAL *, const char *id);

     char *
     tiparm(const char *cm, ...);

     char *
     ti_tiparm(TERMINAL	*, const char *cm, ...);

     int
     ti_puts(const TERMINAL *term, const char *str, int	affcnt,
	 int (*outc)(int, void *));

     int
     ti_putp(const TERMINAL *term, const char *str);

DESCRIPTION
     These functions extract and use capabilities from a terminal capability
     database, usually /usr/share/misc/terminfo, the format of which is	de-
     scribed in	terminfo(5).  These are	low level routines; see	curses(3) for
     a higher level package.

     The setupterm() function extracts the entry for terminal name and then
     calls set_curterm() to set	cur_term to it.	 If name is NULL then it is
     replaced by the environment variable TERM.	 The setupterm() function re-
     turns 0 on	success	and -1 on error.  errret is set	to -1 if the terminfo
     database could not	be opened, 0 if	the terminal could not be found	in the
     database, and 1 if	all went well.

     The set_curterm() function	sets the variable cur_term to nterm and	makes
     all of the	terminfo boolean, numeric and string variables use the values
     from nterm.  The global variables PC and ospeed are then set.  The	old
     value of cur_term is returned.  The del_curterm() function	frees space
     pointed to	by oterm.

     The termname() function returns the name of cur_term.  The	longname()
     function returns the description of cur_term.

     The tigetflag() function gets the boolean value of	capability id, return-
     ing -1 if it is not a valid capability.  The tigetnum() function gets the
     numeric value of the capability id, returning -2 if it is not a valid ca-
     pability.	The tigetstr() function	returns	the string value of the	capa-
     bility id,	returning (char	*)-1 if	it is not a valid capability.

     The tparm() function returns a string decoded from	cm with	the parameters
     p1	...  p9	applied.  Some capabilities require string parameters and only
     platforms that can	fit a char * pointer inside a long can use them.  The
     string encoding and parameter application is described in terminfo(5).

     The tputs() function applies padding information to the string cp;	affcnt
     gives the number of lines affected	by the operation, or 1 if this is not
     applicable; outc is a function which is called by each character in turn.
     The external variable ospeed controls how many padding characters are
     sent in relation to the terminal speed.  The putp() function calls
     tputs(str,	1, putchar).  The output from putp() always goes to stdout.

   NetBSD Extensions To	Terminfo
     The tiparm() function allows variadic parameters instead of 9 fixed
     longs.  Numeric parameters	must be	integers (int) instead of longs.
     String parameters can be used even	if the platform	cannot fit a char *
     into a long.

     The ti_*()	functions correspond to	the standard t*() functions but	take
     an	additional TERMINAL * parameter	so that	the terminal can be specified
     instead of	assuming cur_term.  These functions use	private	variables to
     the TERMINAL instead of the global	variables, such	as PC and ospeed.

SEE ALSO
     ex(1), curses(3), terminfo(5)

AUTHORS
     Roy Marples <roy@NetBSD.org>

BSD				October	4, 2011				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=terminfo&sektion=3&manpath=NetBSD+6.0>

home | help