src/drivers/tty/tty.c File Reference

#include "../drivers.h"
#include <termios.h>
#include <sys/ioc_tty.h>
#include <signal.h>
#include <minix/callnr.h>
#include <minix/sys_config.h>
#include <minix/tty.h>
#include <minix/keymap.h>
#include <minix/endpoint.h>
#include "tty.h"
#include <sys/time.h>
#include <sys/select.h>

Go to the source code of this file.

Defines

#define tty_addr(line)   (&tty_table[line])
#define isconsole(tp)   ((tp) < tty_addr(NR_CONS))
#define ispty(tp)   ((tp) >= tty_addr(NR_CONS+NR_RS_LINES))
#define FIRST_TTY   tty_addr(0)
#define END_TTY   tty_addr(sizeof(tty_table) / sizeof(tty_table[0]))
#define tty_active(tp)   ((tp)->tty_devread != NULL)
#define rs_init(tp)   ((void) 0)
#define pty_init(tp)   ((void) 0)
#define do_pty(tp, mp)   ((void) 0)

Functions

FORWARD _PROTOTYPE (void got_signal,(void))
FORWARD _PROTOTYPE (void tty_timed_out,(timer_t *tp))
FORWARD _PROTOTYPE (void settimer,(tty_t *tty_ptr, int enable))
FORWARD _PROTOTYPE (void do_cancel,(tty_t *tp, message *m_ptr))
FORWARD _PROTOTYPE (void do_ioctl,(tty_t *tp, message *m_ptr, int s))
FORWARD _PROTOTYPE (void do_status,(message *m_ptr))
FORWARD _PROTOTYPE (void in_transfer,(tty_t *tp))
FORWARD _PROTOTYPE (int tty_echo,(tty_t *tp, int ch))
FORWARD _PROTOTYPE (void rawecho,(tty_t *tp, int ch))
FORWARD _PROTOTYPE (int back_over,(tty_t *tp))
FORWARD _PROTOTYPE (int sef_cb_init_fresh,(int type, sef_init_info_t *info))
PUBLIC int main (void)
PRIVATE void sef_local_startup ()
PRIVATE int sef_cb_init_fresh (int type, sef_init_info_t *info)
PRIVATE void got_signal ()
PRIVATE void do_status (message *m_ptr)
PRIVATE void do_read (tty_t *tp, message *m_ptr, int safe)
PRIVATE void do_write (tty_t *tp, message *m_ptr, int safe)
PRIVATE void do_ioctl (tty_t *tp, message *m_ptr, int safe)
PRIVATE void do_open (tty_t *tp, message *m_ptr)
PRIVATE void do_close (tty_t *tp, message *m_ptr)
PRIVATE void do_cancel (tty_t *tp, message *m_ptr)
PUBLIC int select_try (struct tty *tp, int ops)
PUBLIC int select_retry (struct tty *tp)
PUBLIC void handle_events (tty_t *tp)
PRIVATE void in_transfer (tty_t *tp)
PUBLIC int in_process (tty_t *tp, char *buf, int count)
PRIVATE int tty_echo (tty_t *tp, int ch)
PRIVATE void rawecho (tty_t *tp, int ch)
PRIVATE int back_over (tty_t *tp)
PRIVATE void reprint (tty_t *tp)
PUBLIC void out_process (tty_t *tp, char *bstart, char *bpos, char *bend, int *icount, int *ocount)
PRIVATE void dev_ioctl (tty_t *tp)
PRIVATE void setattr (tty_t *tp)
PUBLIC void tty_reply_f (char *file, int line, int code, int replyee, int proc_nr, int status)
PUBLIC void sigchar (tty_t *tp, int sig, int mayflush)
PRIVATE void tty_icancel (tty_t *tp)
PRIVATE void tty_init ()
PRIVATE void tty_timed_out (timer_t *tp)
PRIVATE void expire_timers (void)
PRIVATE void settimer (tty_t *tty_ptr, int enable)
PUBLIC int tty_devnop (tty_t *tp, int try)
PRIVATE void do_select (tty_t *tp, message *m_ptr)

Variables

int irq_hook_id
unsigned long kbd_irq_set = 0
unsigned long rs_irq_set = 0
struct kmessages kmess
PRIVATE struct termios termios_defaults
PRIVATE struct winsize winsize_defaults
PUBLIC tty_t tty_table [NR_CONS+NR_RS_LINES+NR_PTYS]
PUBLIC int ccurrent
PUBLIC timer_ttty_timers
PUBLIC clock_t tty_next_timeout
PUBLIC struct machine machine
PUBLIC u32_t system_hz
PUBLIC unsigned info_location
PUBLIC phys_bytes vid_size
PUBLIC phys_bytes vid_base


Define Documentation

#define do_pty ( tp,
mp   )     ((void) 0)

Definition at line 100 of file tty.c.

#define END_TTY   tty_addr(sizeof(tty_table) / sizeof(tty_table[0]))

Definition at line 88 of file tty.c.

#define FIRST_TTY   tty_addr(0)

Definition at line 87 of file tty.c.

#define isconsole ( tp   )     ((tp) < tty_addr(NR_CONS))

Definition at line 83 of file tty.c.

#define ispty ( tp   )     ((tp) >= tty_addr(NR_CONS+NR_RS_LINES))

Definition at line 84 of file tty.c.

#define pty_init ( tp   )     ((void) 0)

Definition at line 99 of file tty.c.

#define rs_init ( tp   )     ((void) 0)

Definition at line 95 of file tty.c.

#define tty_active ( tp   )     ((tp)->tty_devread != NULL)

Definition at line 91 of file tty.c.

#define tty_addr ( line   )     (&tty_table[line])

Definition at line 80 of file tty.c.


Function Documentation

FORWARD _PROTOTYPE ( int  sef_cb_init_fresh,
(int type, sef_init_info_t *info  
)

FORWARD _PROTOTYPE ( int  back_over,
(tty_t *tp)   
)

FORWARD _PROTOTYPE ( void  rawecho,
(tty_t *tp, int ch)   
)

FORWARD _PROTOTYPE ( int  tty_echo,
(tty_t *tp, int ch)   
)

FORWARD _PROTOTYPE ( void  in_transfer,
(tty_t *tp)   
)

FORWARD _PROTOTYPE ( void  do_status,
(message *m_ptr)   
)

FORWARD _PROTOTYPE ( void  do_ioctl,
(tty_t *tp, message *m_ptr, int s  
)

FORWARD _PROTOTYPE ( void  do_cancel,
(tty_t *tp, message *m_ptr)   
)

FORWARD _PROTOTYPE ( void  settimer,
(tty_t *tty_ptr, int enable)   
)

FORWARD _PROTOTYPE ( void  tty_timed_out,
(timer_t *tp)   
)

FORWARD _PROTOTYPE ( void  got_signal,
(void)   
)

PRIVATE int back_over ( tty_t tp  ) 

Definition at line 1286 of file tty.c.

PRIVATE void dev_ioctl ( tty_t tp  ) 

Definition at line 1439 of file tty.c.

PRIVATE void do_cancel ( tty_t tp,
message m_ptr 
)

Definition at line 830 of file tty.c.

PRIVATE void do_close ( tty_t tp,
message m_ptr 
)

Definition at line 809 of file tty.c.

PRIVATE void do_ioctl ( tty_t tp,
message m_ptr,
int  safe 
)

Definition at line 583 of file tty.c.

PRIVATE void do_open ( tty_t tp,
message m_ptr 
)

Definition at line 783 of file tty.c.

PRIVATE void do_read ( tty_t tp,
message m_ptr,
int  safe 
)

Definition at line 471 of file tty.c.

PRIVATE void do_select ( tty_t tp,
message m_ptr 
)

Definition at line 1732 of file tty.c.

PRIVATE void do_status ( message m_ptr  ) 

Definition at line 384 of file tty.c.

PRIVATE void do_write ( tty_t tp,
message m_ptr,
int  safe 
)

Definition at line 540 of file tty.c.

PRIVATE void expire_timers ( void   ) 

Definition at line 1658 of file tty.c.

PRIVATE void got_signal ( void   ) 

Definition at line 366 of file tty.c.

PUBLIC void handle_events ( tty_t tp  ) 

Definition at line 910 of file tty.c.

PUBLIC int in_process ( tty_t tp,
char *  buf,
int  count 
)

Definition at line 1052 of file tty.c.

PRIVATE void in_transfer ( tty_t tp  ) 

Definition at line 967 of file tty.c.

PUBLIC int main ( void   ) 

Definition at line 157 of file tty.c.

PUBLIC void out_process ( tty_t tp,
char *  bstart,
char *  bpos,
char *  bend,
int *  icount,
int *  ocount 
)

Definition at line 1354 of file tty.c.

PRIVATE void rawecho ( tty_t tp,
int  ch 
)

Definition at line 1273 of file tty.c.

PRIVATE void reprint ( tty_t tp  ) 

Definition at line 1315 of file tty.c.

PRIVATE int sef_cb_init_fresh ( int  type,
sef_init_info_t info 
)

Definition at line 344 of file tty.c.

PRIVATE void sef_local_startup ( void   ) 

Definition at line 329 of file tty.c.

PUBLIC int select_retry ( struct tty tp  ) 

Definition at line 900 of file tty.c.

PUBLIC int select_try ( struct tty tp,
int  ops 
)

Definition at line 866 of file tty.c.

PRIVATE void setattr ( tty_t tp  ) 

Definition at line 1472 of file tty.c.

PRIVATE void settimer ( tty_t tty_ptr,
int  enable 
)

Definition at line 1685 of file tty.c.

PUBLIC void sigchar ( tty_t tp,
int  sig,
int  mayflush 
)

Definition at line 1560 of file tty.c.

PUBLIC int tty_devnop ( tty_t tp,
int  try 
)

Definition at line 1721 of file tty.c.

PRIVATE int tty_echo ( tty_t tp,
int  ch 
)

Definition at line 1212 of file tty.c.

PRIVATE void tty_icancel ( tty_t tp  ) 

Definition at line 1590 of file tty.c.

PRIVATE void tty_init ( void   ) 

Definition at line 1603 of file tty.c.

PUBLIC void tty_reply_f ( char *  file,
int  line,
int  code,
int  replyee,
int  proc_nr,
int  status 
)

Definition at line 1526 of file tty.c.

PRIVATE void tty_timed_out ( timer_t tp  ) 

Definition at line 1646 of file tty.c.


Variable Documentation

PUBLIC int ccurrent

Definition at line 140 of file tty.c.

PUBLIC unsigned info_location

Definition at line 74 of file audio_fw.c.

unsigned long kbd_irq_set = 0

Definition at line 76 of file tty.c.

struct kmessages kmess

Definition at line 103 of file tty.c.

PUBLIC struct machine machine

Definition at line 143 of file tty.c.

unsigned long rs_irq_set = 0

Definition at line 77 of file tty.c.

PUBLIC u32_t system_hz

Definition at line 144 of file tty.c.

PRIVATE struct termios termios_defaults

Initial value:

Definition at line 128 of file tty.c.

Definition at line 142 of file tty.c.

PUBLIC tty_t tty_table[NR_CONS+NR_RS_LINES+NR_PTYS]

Definition at line 139 of file tty.c.

Definition at line 141 of file tty.c.

Definition at line 42 of file console.c.

Definition at line 41 of file console.c.

PRIVATE struct winsize winsize_defaults

Definition at line 136 of file tty.c.


Generated on Tue Mar 9 04:36:43 2010 for Minix by  doxygen 1.5.8