1  /* Copyright (C) 2000-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 "vismod.h"
      19  
      20  int
      21  protlocal (void)
      22  {
      23    return 0x4;
      24  }
      25  asm (".protected protlocal");
      26  
      27  
      28  int
      29  calllocal1 (void)
      30  {
      31    return protlocal () + 0x10;
      32  }
      33  
      34  int
      35  (*getlocal1 (void)) (void)
      36  {
      37    return protlocal;
      38  }
      39  
      40  int
      41  protinmod (void)
      42  {
      43    return 0x400;
      44  }
      45  asm (".protected protinmod");
      46  
      47  int
      48  callinmod1 (void)
      49  {
      50    return protinmod () + 0x1000;
      51  }
      52  
      53  int
      54  (*getinmod1 (void)) (void)
      55  {
      56    return protinmod;
      57  }
      58  
      59  int
      60  protitcpt (void)
      61  {
      62    return 0x40000;
      63  }
      64  asm (".protected protitcpt");
      65  
      66  int
      67  callitcpt1 (void)
      68  {
      69    return protitcpt () + 0x100000;
      70  }
      71  
      72  int
      73  (*getitcpt1 (void)) (void)
      74  {
      75    return protitcpt;
      76  }
      77  
      78  const char *protvarlocal = __FILE__;
      79  asm (".protected protvarlocal");
      80  
      81  const char **
      82  getvarlocal1 (void)
      83  {
      84    return &protvarlocal;
      85  }
      86  
      87  const char *protvarinmod = __FILE__;
      88  asm (".protected protvarinmod");
      89  
      90  const char **
      91  getvarinmod1 (void)
      92  {
      93    return &protvarinmod;
      94  }
      95  
      96  const char *protvaritcpt = __FILE__;
      97  asm (".protected protvaritcpt");
      98  
      99  const char **
     100  getvaritcpt1 (void)
     101  {
     102    return &protvaritcpt;
     103  }