devpts_fs.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /* -*- linux-c -*- --------------------------------------------------------- *
  2.  *
  3.  * linux/include/linux/devpts_fs.h
  4.  *
  5.  *  Copyright 1998 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.  * Prototypes for the pty driver <-> devpts filesystem interface.  Most
  14.  * of this is really just a hack so we can exclude it or build it as a
  15.  * module, and probably should go away eventually.
  16.  */
  17. #ifndef _LINUX_DEVPTS_FS_H
  18. #define _LINUX_DEVPTS_FS_H 1
  19. #include <linux/config.h>
  20. #include <linux/kdev_t.h>
  21. #include <linux/tty.h>
  22. #ifdef CONFIG_DEVPTS_FS
  23. void devpts_pty_new(int, kdev_t);
  24. void devpts_pty_kill(int);
  25. #define unix98_max_ptys               NR_PTYS * UNIX98_NR_MAJORS;
  26. #elif defined(CONFIG_DEVPTS_FS_MODULE)
  27. #ifdef BUILDING_PTY_C
  28. void (*devpts_upcall_new)(int,kdev_t) = NULL;
  29. void (*devpts_upcall_kill)(int)       = NULL;
  30. unsigned int unix98_max_ptys          = NR_PTYS * UNIX98_NR_MAJORS;
  31. EXPORT_SYMBOL(devpts_upcall_new);
  32. EXPORT_SYMBOL(devpts_upcall_kill);
  33. EXPORT_SYMBOL(unix98_max_ptys);
  34. #else
  35. extern void (*devpts_upcall_new)(int,kdev_t);
  36. extern void (*devpts_upcall_kill)(int);
  37. extern unsigned int unix98_max_ptys;
  38. #endif
  39. #ifndef BUILDING_DEVPTS
  40. static inline void
  41. devpts_pty_new(int line, kdev_t device)
  42. {
  43. if ( devpts_upcall_new )
  44. return devpts_upcall_new(line,device);
  45. }
  46. static inline void
  47. devpts_pty_kill(int line)
  48. {
  49. if ( devpts_upcall_kill )
  50. return devpts_upcall_kill(line);
  51. }
  52. #endif
  53. #else  /* No /dev/pts filesystem at all */
  54. static inline void
  55. devpts_pty_new(int line, kdev_t device) { }
  56. static inline void
  57. devpts_pty_kill(int line) { }
  58. #endif
  59. #endif /* _LINUX_DEVPTS_FS_H */