LCOV - code coverage report
Current view: top level - drivers/tty - n_null.c (source / functions) Hit Total Coverage
Test: landlock.info Lines: 3 16 18.8 %
Date: 2021-04-22 12:43:58 Functions: 1 7 14.3 %

          Line data    Source code
       1             : // SPDX-License-Identifier: GPL-2.0
       2             : #include <linux/types.h>
       3             : #include <linux/errno.h>
       4             : #include <linux/tty.h>
       5             : #include <linux/module.h>
       6             : 
       7             : /*
       8             :  *  n_null.c - Null line discipline used in the failure path
       9             :  *
      10             :  *  Copyright (C) Intel 2017
      11             :  */
      12             : 
      13           0 : static int n_null_open(struct tty_struct *tty)
      14             : {
      15           0 :         return 0;
      16             : }
      17             : 
      18           0 : static void n_null_close(struct tty_struct *tty)
      19             : {
      20           0 : }
      21             : 
      22           0 : static ssize_t n_null_read(struct tty_struct *tty, struct file *file,
      23             :                            unsigned char *buf, size_t nr,
      24             :                            void **cookie, unsigned long offset)
      25             : {
      26           0 :         return -EOPNOTSUPP;
      27             : }
      28             : 
      29           0 : static ssize_t n_null_write(struct tty_struct *tty, struct file *file,
      30             :                             const unsigned char *buf, size_t nr)
      31             : {
      32           0 :         return -EOPNOTSUPP;
      33             : }
      34             : 
      35           0 : static void n_null_receivebuf(struct tty_struct *tty,
      36             :                                  const unsigned char *cp, char *fp,
      37             :                                  int cnt)
      38             : {
      39           0 : }
      40             : 
      41             : static struct tty_ldisc_ops null_ldisc = {
      42             :         .owner          =       THIS_MODULE,
      43             :         .magic          =       TTY_LDISC_MAGIC,
      44             :         .name           =       "n_null",
      45             :         .open           =       n_null_open,
      46             :         .close          =       n_null_close,
      47             :         .read           =       n_null_read,
      48             :         .write          =       n_null_write,
      49             :         .receive_buf    =       n_null_receivebuf
      50             : };
      51             : 
      52           1 : static int __init n_null_init(void)
      53             : {
      54           1 :         BUG_ON(tty_register_ldisc(N_NULL, &null_ldisc));
      55           1 :         return 0;
      56             : }
      57             : 
      58           0 : static void __exit n_null_exit(void)
      59             : {
      60           0 :         tty_unregister_ldisc(N_NULL);
      61           0 : }
      62             : 
      63             : module_init(n_null_init);
      64             : module_exit(n_null_exit);
      65             : 
      66             : MODULE_LICENSE("GPL");
      67             : MODULE_AUTHOR("Alan Cox");
      68             : MODULE_ALIAS_LDISC(N_NULL);
      69             : MODULE_DESCRIPTION("Null ldisc driver");

Generated by: LCOV version 1.14