aboutsummaryrefslogtreecommitdiff
path: root/sys/libc/cttset.c
blob: ab252ea2933ad232e3c85c4326a67b4d708ebc8d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/* Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
*/

#define import_spp
#define	import_libc
#define	import_xnames
#include <iraf.h>


/* C_STTYCO -- Set terminal driver options via a command string.
*/
void
c_sttyco (
  char	*args,
  XINT	ttin, 
  XINT  ttout,
  XINT	outfd
)
{
	XCHAR	x_args[SZ_COMMAND];
	XINT    x_ttin = ttin, x_ttout = ttout, x_outfd = outfd;

	c_strupk (args, x_args, SZ_COMMAND);
	STTYCO (x_args, &x_ttin, &x_ttout, &x_outfd);
}


/* C_TTSETI -- FIO set integer terminal driver parameter.
*/
void
c_ttseti (
  XINT	fd,			/* FIO file descriptor		*/
  int	param,			/* param to be set		*/
  int	value			/* new value			*/
)
{
	XINT  x_fd = fd, x_param = param, x_value = value;

	TTSETI (&x_fd, &x_param, &x_value);
}


/* C_TTSTATI -- FIO stat integer terminal driver parameter.
*/
int
c_ttstati (
  XINT	fd,			/* FIO file descriptor		*/
  int	param			/* param to be set		*/
)
{
	XINT  x_fd = fd, x_param = param;

	return (TTSTATI (&x_fd, &x_param));
}

/* C_TTSETS -- FIO set string terminal driver parameter.
*/
void
c_ttsets (
  XINT	fd,			/* FIO file descriptor		*/
  int	param,			/* param to be set		*/
  char	*value			/* new value			*/
)
{
	XINT  x_fd = fd, x_param = param;

	TTSETS (&x_fd, &x_param, c_sppstr (value));
}


/* C_TTSTATS -- FIO stat string terminal driver parameter.
*/
int
c_ttstats (
  XINT	fd,			/* FIO file descriptor		*/
  int	param,			/* param to be set		*/
  char	*outstr,		/* receives string value	*/
  int	maxch
)
{
	XCHAR	x_sval[SZ_LINE+1];
	XINT	x_fd = fd, x_param = param, x_maxch = SZ_LINE;
	int	nchars;

	nchars = TTSTATS (&x_fd, &x_param, x_sval, &x_maxch);
	c_strpak (x_sval, outstr, maxch);
	return (maxch < nchars ? maxch : nchars);
}