1*d6910058SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
21da177e4SLinus Torvalds /* -*- linux-c -*- --------------------------------------------------------- *
31da177e4SLinus Torvalds *
41da177e4SLinus Torvalds * linux/include/linux/devpts_fs.h
51da177e4SLinus Torvalds *
61da177e4SLinus Torvalds * Copyright 1998-2004 H. Peter Anvin -- All Rights Reserved
71da177e4SLinus Torvalds *
81da177e4SLinus Torvalds * ------------------------------------------------------------------------- */
91da177e4SLinus Torvalds
101da177e4SLinus Torvalds #ifndef _LINUX_DEVPTS_FS_H
111da177e4SLinus Torvalds #define _LINUX_DEVPTS_FS_H
121da177e4SLinus Torvalds
131da177e4SLinus Torvalds #include <linux/errno.h>
141da177e4SLinus Torvalds
151da177e4SLinus Torvalds #ifdef CONFIG_UNIX98_PTYS
161da177e4SLinus Torvalds
17eedf265aSEric W. Biederman struct pts_fs_info;
18eedf265aSEric W. Biederman
19311fc65cSEric W. Biederman struct vfsmount *devpts_mntget(struct file *, struct pts_fs_info *);
20143c97ccSLinus Torvalds struct pts_fs_info *devpts_acquire(struct file *);
21eedf265aSEric W. Biederman void devpts_release(struct pts_fs_info *);
2267245ff3SLinus Torvalds
2367245ff3SLinus Torvalds int devpts_new_index(struct pts_fs_info *);
2467245ff3SLinus Torvalds void devpts_kill_index(struct pts_fs_info *, int);
2567245ff3SLinus Torvalds
2615f1a633SSukadev Bhattiprolu /* mknod in devpts */
278ead9dd5SLinus Torvalds struct dentry *devpts_pty_new(struct pts_fs_info *, int, void *);
288fcbaa2bSJiri Slaby /* get private structure */
298ead9dd5SLinus Torvalds void *devpts_get_priv(struct dentry *);
3015f1a633SSukadev Bhattiprolu /* unlink */
318ead9dd5SLinus Torvalds void devpts_pty_kill(struct dentry *);
321da177e4SLinus Torvalds
33311fc65cSEric W. Biederman /* in pty.c */
34311fc65cSEric W. Biederman int ptm_open_peer(struct file *master, struct tty_struct *tty, int flags);
35311fc65cSEric W. Biederman
36311fc65cSEric W. Biederman #else
37311fc65cSEric W. Biederman static inline int
ptm_open_peer(struct file * master,struct tty_struct * tty,int flags)38311fc65cSEric W. Biederman ptm_open_peer(struct file *master, struct tty_struct *tty, int flags)
39311fc65cSEric W. Biederman {
40311fc65cSEric W. Biederman return -EIO;
41311fc65cSEric W. Biederman }
421da177e4SLinus Torvalds #endif
431da177e4SLinus Torvalds
441da177e4SLinus Torvalds
451da177e4SLinus Torvalds #endif /* _LINUX_DEVPTS_FS_H */
46