Initial git release
[ZeXOS.git] / include / tty.h
blob9b096730bc7294c12cbecd328a37c98c34423a2d
1 /*
2 * ZeX/OS
3 * Copyright (C) 2007 Tomas 'ZeXx86' Jedrzejek (zexx86@gmail.com)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef _TTY_H
21 #define _TTY_H
23 #include <user.h>
25 /* Device structure */
26 typedef struct tty_context {
27 struct tty_context *next, *prev;
29 char *name;
30 char screen[4000];
31 unsigned screen_len;
32 user_t *user;
33 char shell[64];
34 unsigned shell_len;
35 bool logged;
36 char pwd[64];
37 } tty_t;
39 /* externs */
40 extern unsigned int init_tty ();
41 extern bool tty_write (tty_t *tty, char *str, unsigned len);
42 extern bool tty_putch (char c);
43 extern bool tty_change (tty_t *tty);
45 #endif