11de3ac1eb5c787512b4c1a71f6ac1a16cd6725b
2 * Copyright (C) 2001 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL
10 #include "chan_user.h"
11 #include "user_util.h"
21 static void *tty_chan_init(char *str
, int device
, const struct chan_opts
*opts
)
23 struct tty_chan
*data
;
26 printk("tty_init : channel type 'tty' must specify "
32 data
= um_kmalloc(sizeof(*data
));
35 *data
= ((struct tty_chan
) { .dev
= str
,
41 static int tty_open(int input
, int output
, int primary
, void *d
,
44 struct tty_chan
*data
= d
;
47 fd
= os_open_file(data
->dev
, of_set_rw(OPENFLAGS(), input
, output
), 0);
52 CATCH_EINTR(err
= tcgetattr(fd
, &data
->tt
));
65 const struct chan_ops tty_ops
= {
67 .init
= tty_chan_init
,
69 .close
= generic_close
,
71 .write
= generic_write
,
72 .console_write
= generic_console_write
,
73 .window_size
= generic_window_size
,
This page took 0.125384 seconds and 4 git commands to generate.