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