linux/arch/um/include/chan_kern.h
<<
>>
Prefs
   1/* 
   2 * Copyright (C) 2000, 2001 Jeff Dike (jdike@karaya.com)
   3 * Licensed under the GPL
   4 */
   5
   6#ifndef __CHAN_KERN_H__
   7#define __CHAN_KERN_H__
   8
   9#include "linux/tty.h"
  10#include "linux/list.h"
  11#include "linux/console.h"
  12#include "chan_user.h"
  13#include "line.h"
  14
  15struct chan {
  16        struct list_head list;
  17        struct list_head free_list;
  18        struct line *line;
  19        char *dev;
  20        unsigned int primary:1;
  21        unsigned int input:1;
  22        unsigned int output:1;
  23        unsigned int opened:1;
  24        unsigned int enabled:1;
  25        int fd;
  26        const struct chan_ops *ops;
  27        void *data;
  28};
  29
  30extern void chan_interrupt(struct list_head *chans, struct delayed_work *task,
  31                           struct tty_struct *tty, int irq);
  32extern int parse_chan_pair(char *str, struct line *line, int device,
  33                           const struct chan_opts *opts, char **error_out);
  34extern int open_chan(struct list_head *chans);
  35extern int write_chan(struct list_head *chans, const char *buf, int len,
  36                             int write_irq);
  37extern int console_write_chan(struct list_head *chans, const char *buf, 
  38                              int len);
  39extern int console_open_chan(struct line *line, struct console *co);
  40extern void deactivate_chan(struct list_head *chans, int irq);
  41extern void reactivate_chan(struct list_head *chans, int irq);
  42extern void chan_enable_winch(struct list_head *chans, struct tty_struct *tty);
  43extern int enable_chan(struct line *line);
  44extern void close_chan(struct list_head *chans, int delay_free_irq);
  45extern int chan_window_size(struct list_head *chans, 
  46                             unsigned short *rows_out, 
  47                             unsigned short *cols_out);
  48extern int chan_out_fd(struct list_head *chans);
  49extern int chan_config_string(struct list_head *chans, char *str, int size,
  50                              char **error_out);
  51
  52#endif
  53