1  /* Copyright (C) 1998-2023 Free Software Foundation, Inc.
       2     This file is part of the GNU C Library.
       3  
       4     The GNU C Library is free software; you can redistribute it and/or
       5     modify it under the terms of the GNU Lesser General Public
       6     License as published by the Free Software Foundation; either
       7     version 2.1 of the License, or (at your option) any later version.
       8  
       9     The GNU C Library is distributed in the hope that it will be useful,
      10     but WITHOUT ANY WARRANTY; without even the implied warranty of
      11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12     Lesser General Public License for more details.
      13  
      14     You should have received a copy of the GNU Lesser General Public
      15     License along with the GNU C Library.  If not, see
      16     <https://www.gnu.org/licenses/>.  */
      17  
      18  #include <shlib-compat.h>
      19  
      20  #if SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_30)
      21  # include <errno.h>
      22  
      23  int
      24  ioperm (unsigned long int from, unsigned long int num, int turn_on)
      25  {
      26    __set_errno (ENOSYS);
      27    return -1;
      28  }
      29  compat_symbol (libc, ioperm, ioperm, GLIBC_2_4);
      30  
      31  int
      32  iopl (unsigned int level)
      33  {
      34    __set_errno (ENOSYS);
      35    return -1;
      36  }
      37  compat_symbol (libc, iopl, iopl, GLIBC_2_4);
      38  
      39  
      40  /* The remaining functions do not have any way to indicate failure.
      41     However, it is only valid to call them after calling ioperm/iopl,
      42     which will have indicated failure.  */
      43  
      44  void
      45  outb (unsigned char b, unsigned long int port)
      46  {
      47  }
      48  compat_symbol (libc, outb, outb, GLIBC_2_4);
      49  
      50  void
      51  outw (unsigned short b, unsigned long int port)
      52  {
      53  }
      54  compat_symbol (libc, outw, outw, GLIBC_2_4);
      55  
      56  void
      57  outl (unsigned int b, unsigned long int port)
      58  {
      59  }
      60  compat_symbol (libc, outl, outl, GLIBC_2_4);
      61  
      62  unsigned int
      63  inb (unsigned long int port)
      64  {
      65    return 0;
      66  }
      67  compat_symbol (libc, inb, inb, GLIBC_2_4);
      68  
      69  
      70  unsigned int
      71  inw (unsigned long int port)
      72  {
      73    return 0;
      74  }
      75  compat_symbol (libc, inw, inw, GLIBC_2_4);
      76  
      77  
      78  unsigned int
      79  inl (unsigned long int port)
      80  {
      81    return 0;
      82  }
      83  compat_symbol (libc, inl, inl, GLIBC_2_4);
      84  
      85  #endif /* SHLIB_COMAT */