1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /* -*- linux-c -*- --------------------------------------------------------- *
3  *
4  * linux/include/linux/devpts_fs.h
5  *
6  *  Copyright 1998-2004 H. Peter Anvin -- All Rights Reserved
7  *
8  * ------------------------------------------------------------------------- */
9 
10 #ifndef _LINUX_DEVPTS_FS_H
11 #define _LINUX_DEVPTS_FS_H
12 
13 #include <linux/errno.h>
14 
15 #ifdef CONFIG_UNIX98_PTYS
16 
17 struct pts_fs_info;
18 
19 struct vfsmount *devpts_mntget(struct file *, struct pts_fs_info *);
20 struct pts_fs_info *devpts_acquire(struct file *);
21 void devpts_release(struct pts_fs_info *);
22 
23 int devpts_new_index(struct pts_fs_info *);
24 void devpts_kill_index(struct pts_fs_info *, int);
25 
26 /* mknod in devpts */
27 struct dentry *devpts_pty_new(struct pts_fs_info *, int, void *);
28 /* get private structure */
29 void *devpts_get_priv(struct dentry *);
30 /* unlink */
31 void devpts_pty_kill(struct dentry *);
32 
33 /* in pty.c */
34 int ptm_open_peer(struct file *master, struct tty_struct *tty, int flags);
35 
36 #else
37 static inline int
ptm_open_peer(struct file * master,struct tty_struct * tty,int flags)38 ptm_open_peer(struct file *master, struct tty_struct *tty, int flags)
39 {
40 	return -EIO;
41 }
42 #endif
43 
44 
45 #endif /* _LINUX_DEVPTS_FS_H */
46