fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / um / drivers / pty.c
index c4634b5..829a5ec 100644 (file)
@@ -13,6 +13,7 @@
 #include "user_util.h"
 #include "kern_util.h"
 #include "os.h"
+#include "um_malloc.h"
 
 struct pty_chan {
        void (*announce)(char *dev_name, int dev);
@@ -22,7 +23,7 @@ struct pty_chan {
        char dev_name[sizeof("/dev/pts/0123456\0")];
 };
 
-void *pty_chan_init(char *str, int device, struct chan_opts *opts)
+static void *pty_chan_init(char *str, int device, const struct chan_opts *opts)
 {
        struct pty_chan *data;
 
@@ -34,7 +35,8 @@ void *pty_chan_init(char *str, int device, struct chan_opts *opts)
        return(data);
 }
 
-int pts_open(int input, int output, int primary, void *d, char **dev_out)
+static int pts_open(int input, int output, int primary, void *d,
+                   char **dev_out)
 {
        struct pty_chan *data = d;
        char *dev;
@@ -42,8 +44,9 @@ int pts_open(int input, int output, int primary, void *d, char **dev_out)
 
        fd = get_pty();
        if(fd < 0){
+               err = -errno;
                printk("open_pts : Failed to open pts\n");
-               return(-errno);
+               return err;
        }
        if(data->raw){
                CATCH_EINTR(err = tcgetattr(fd, &data->tt));
@@ -58,11 +61,12 @@ int pts_open(int input, int output, int primary, void *d, char **dev_out)
        dev = ptsname(fd);
        sprintf(data->dev_name, "%s", dev);
        *dev_out = data->dev_name;
-       if(data->announce) (*data->announce)(dev, data->dev);
+       if (data->announce)
+               (*data->announce)(dev, data->dev);
        return(fd);
 }
 
-int getmaster(char *line)
+static int getmaster(char *line)
 {
        char *pty, *bank, *cp;
        int master, err;
@@ -91,7 +95,8 @@ int getmaster(char *line)
        return(-1);
 }
 
-int pty_open(int input, int output, int primary, void *d, char **dev_out)
+static int pty_open(int input, int output, int primary, void *d,
+                   char **dev_out)
 {
        struct pty_chan *data = d;
        int fd, err;
@@ -114,34 +119,27 @@ int pty_open(int input, int output, int primary, void *d, char **dev_out)
        return(fd);
 }
 
-int pty_console_write(int fd, const char *buf, int n, void *d)
-{
-       struct pty_chan *data = d;
-
-       return(generic_console_write(fd, buf, n, &data->tt));
-}
-
-struct chan_ops pty_ops = {
+const struct chan_ops pty_ops = {
        .type           = "pty",
        .init           = pty_chan_init,
        .open           = pty_open,
        .close          = generic_close,
        .read           = generic_read,
        .write          = generic_write,
-       .console_write  = pty_console_write,
+       .console_write  = generic_console_write,
        .window_size    = generic_window_size,
        .free           = generic_free,
        .winch          = 0,
 };
 
-struct chan_ops pts_ops = {
+const struct chan_ops pts_ops = {
        .type           = "pts",
        .init           = pty_chan_init,
        .open           = pts_open,
        .close          = generic_close,
        .read           = generic_read,
        .write          = generic_write,
-       .console_write  = pty_console_write,
+       .console_write  = generic_console_write,
        .window_size    = generic_window_size,
        .free           = generic_free,
        .winch          = 0,