Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-update
[linux-2.6] / 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 int devpts_new_index(struct inode *ptmx_inode);
21 void devpts_kill_index(struct inode *ptmx_inode, int idx);
22 /* mknod in devpts */
23 int devpts_pty_new(struct inode *ptmx_inode, struct tty_struct *tty);
24 /* get tty structure */
25 struct tty_struct *devpts_get_tty(struct inode *pts_inode, int number);
26 /* unlink */
27 void devpts_pty_kill(struct tty_struct *tty);
28
29 #else
30
31 /* Dummy stubs in the no-pty case */
32 static inline int devpts_new_index(struct inode *ptmx_inode) { return -EINVAL; }
33 static inline void devpts_kill_index(struct inode *ptmx_inode, int idx) { }
34 static inline int devpts_pty_new(struct inode *ptmx_inode,
35                                 struct tty_struct *tty)
36 {
37         return -EINVAL;
38 }
39 static inline struct tty_struct *devpts_get_tty(struct inode *pts_inode,
40                 int number)
41 {
42         return NULL;
43 }
44 static inline void devpts_pty_kill(struct tty_struct *tty) { }
45
46 #endif
47
48
49 #endif /* _LINUX_DEVPTS_FS_H */