Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[linux-2.6-microblaze.git] / include / linux / devpts_fs.h
1 /* -*- linux-c -*- --------------------------------------------------------- *
2  *
3  * linux/include/linux/devpts_fs.h
4  *
5  *  Copyright 1998-2004 H. Peter Anvin -- All Rights Reserved
6  *
7  * This file is part of the Linux kernel and is made available under
8  * the terms of the GNU General Public License, version 2, or at your
9  * option, any later version, incorporated herein by reference.
10  *
11  * ------------------------------------------------------------------------- */
12
13 #ifndef _LINUX_DEVPTS_FS_H
14 #define _LINUX_DEVPTS_FS_H
15
16 #include <linux/errno.h>
17
18 #ifdef CONFIG_UNIX98_PTYS
19
20 struct pts_fs_info;
21
22 struct vfsmount *devpts_mntget(struct file *, struct pts_fs_info *);
23 struct pts_fs_info *devpts_acquire(struct file *);
24 void devpts_release(struct pts_fs_info *);
25
26 int devpts_new_index(struct pts_fs_info *);
27 void devpts_kill_index(struct pts_fs_info *, int);
28
29 /* mknod in devpts */
30 struct dentry *devpts_pty_new(struct pts_fs_info *, int, void *);
31 /* get private structure */
32 void *devpts_get_priv(struct dentry *);
33 /* unlink */
34 void devpts_pty_kill(struct dentry *);
35
36 /* in pty.c */
37 int ptm_open_peer(struct file *master, struct tty_struct *tty, int flags);
38
39 #else
40 static inline int
41 ptm_open_peer(struct file *master, struct tty_struct *tty, int flags)
42 {
43         return -EIO;
44 }
45 #endif
46
47
48 #endif /* _LINUX_DEVPTS_FS_H */