aboutsummaryrefslogtreecommitdiff
path: root/sys/ki/kfioty.x
blob: 4726f5c3f00995d320cc935bba01ef11fba1c0b0 (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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.

include	<mach.h>
include	<config.h>
include	"ki.h"

# KFIOTY -- Terminal driver.

procedure kopnty (osfn, mode, chan)

char	osfn[ARB]		# packed os filename
int	mode			# access mode
int	chan			# receives channel code

int	server
int	ki_connect(), ki_getchan()
include	"kii.com"

begin
	server = ki_connect (osfn)

	if (server == NULL) {
	    call strpak (p_sbuf[p_arg[1]], p_sbuf, SZ_SBUF)
	    call zopnty (p_sbuf, mode, chan)
	    if (chan != ERR)
		chan = ki_getchan (server, chan)
	} else
	    call kt_zopn (KI_ZFIOTY, osfn, mode, chan)
end


procedure kclsty (chan, status)

int	chan
int	status
include	"kichan.com"

begin
	# Possible if an abort occurs during the open.
	if (chan <= 0) {
	    status = OK
	    return
	}

	if (k_node[chan] == NULL) {
	    call zclsty (k_oschan[chan], status)
	    call ki_freechan (chan)
	} else
	    call kt_zcls (KI_ZFIOTY, chan, status)
end


procedure kgetty (chan, text, maxch, status)

int	chan
char	text[maxch]
int	maxch, status
include	"kichan.com"

begin
	if (k_node[chan] == NULL)
	    call zgetty (k_oschan[chan], text, maxch, status)
	else
	    call kt_zget (KI_ZFIOTY, chan, text, maxch, status)
end


procedure kputty (chan, text, nchars, status)

int	chan
char	text[nchars]
int	nchars, status
include	"kichan.com"

begin
	if (k_node[chan] == NULL)
	    call zputty (k_oschan[chan], text, nchars, status)
	else
	    call kt_zput (KI_ZFIOTY, chan, text, nchars, status)
end


procedure kflsty (chan, status)

int	chan
int	status
include	"kichan.com"

begin
	if (k_node[chan] == NULL)
	    call zflsty (k_oschan[chan], status)
	else
	    call kt_zfls (KI_ZFIOTY, chan, status)
end


procedure ksekty (chan, loffset, status)

int	chan
long	loffset
int	status
include	"kichan.com"

begin
	if (k_node[chan] == NULL)
	    call zsekty (k_oschan[chan], loffset, status)
	else
	    call kt_zsek (KI_ZFIOTY, chan, loffset, status)
end


procedure knotty (chan, loffset)

int	chan
long	loffset
include	"kichan.com"

begin
	if (k_node[chan] == NULL)
	    call znotty (k_oschan[chan], loffset)
	else
	    call kt_znot (KI_ZFIOTY, chan, loffset)
end


procedure ksttty (chan, what, lvalue)

int	chan
int	what
long	lvalue
include	"kichan.com"

begin
	if (k_node[chan] == NULL)
	    call zsttty (k_oschan[chan], what, lvalue)
	else
	    call kt_zstt (KI_ZFIOTY, chan, what, lvalue)
end