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