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 void devpts_add_ref(struct inode *ptmx_inode);
23 void devpts_del_ref(struct inode *ptmx_inode);
24 /* mknod in devpts */
25 struct inode *devpts_pty_new(struct inode *ptmx_inode, dev_t device, int index,
26 void *priv);
27 /* get private structure */
28 void *devpts_get_priv(struct inode *pts_inode);
29 /* unlink */
30 void devpts_pty_kill(struct inode *inode);
31
32 #else
33
34 /* Dummy stubs in the no-pty case */
devpts_new_index(struct inode * ptmx_inode)35 static inline int devpts_new_index(struct inode *ptmx_inode) { return -EINVAL; }
devpts_kill_index(struct inode * ptmx_inode,int idx)36 static inline void devpts_kill_index(struct inode *ptmx_inode, int idx) { }
devpts_add_ref(struct inode * ptmx_inode)37 static inline void devpts_add_ref(struct inode *ptmx_inode) { }
devpts_del_ref(struct inode * ptmx_inode)38 static inline void devpts_del_ref(struct inode *ptmx_inode) { }
devpts_pty_new(struct inode * ptmx_inode,dev_t device,int index,void * priv)39 static inline struct inode *devpts_pty_new(struct inode *ptmx_inode,
40 dev_t device, int index, void *priv)
41 {
42 return ERR_PTR(-EINVAL);
43 }
devpts_get_priv(struct inode * pts_inode)44 static inline void *devpts_get_priv(struct inode *pts_inode)
45 {
46 return NULL;
47 }
devpts_pty_kill(struct inode * inode)48 static inline void devpts_pty_kill(struct inode *inode) { }
49
50 #endif
51
52
53 #endif /* _LINUX_DEVPTS_FS_H */
54