| /* Copyright (C) 2000 Free Software Foundation, Inc. |
| This file is part of the GNU C Library. |
| |
| The GNU C Library is free software; you can redistribute it and/or |
| modify it under the terms of the GNU Lesser General Public |
| License as published by the Free Software Foundation; either |
| version 2.1 of the License, or (at your option) any later version. |
| |
| The GNU C Library is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| Lesser General Public License for more details. |
| |
| You should have received a copy of the GNU Lesser General Public |
| License along with the GNU C Library; if not, write to the Free |
| Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA |
| 02111-1307 USA. */ |
| |
| #include <stdlib.h> |
| #include "vismod.h" |
| |
| int |
| protlocal (void) |
| { |
| return 0x40; |
| } |
| asm (".protected protlocal"); |
| |
| |
| int |
| calllocal2 (void) |
| { |
| return protlocal () + 0x100; |
| } |
| |
| int |
| (*getlocal2 (void)) (void) |
| { |
| return protlocal; |
| } |
| |
| int |
| protinmod (void) |
| { |
| return 0x4000; |
| } |
| asm (".protected protinmod"); |
| |
| int |
| callinmod2 (void) |
| { |
| return protinmod () + 0x10000; |
| } |
| |
| int |
| (*getinmod2 (void)) (void) |
| { |
| return protinmod; |
| } |
| |
| int |
| protitcpt (void) |
| { |
| return 0x400000; |
| } |
| asm (".protected protitcpt"); |
| |
| int |
| callitcpt2 (void) |
| { |
| return protitcpt () + 0x1000000; |
| } |
| |
| int |
| (*getitcpt2 (void)) (void) |
| { |
| return protitcpt; |
| } |
| |
| const char *protvarlocal = __FILE__; |
| asm (".protected protvarlocal"); |
| |
| const char ** |
| getvarlocal2 (void) |
| { |
| return &protvarlocal; |
| } |
| |
| const char *protvarinmod = __FILE__; |
| asm (".protected protvarinmod"); |
| |
| const char ** |
| getvarinmod2 (void) |
| { |
| return &protvarinmod; |
| } |
| |
| const char *protvaritcpt = __FILE__; |
| asm (".protected protvaritcpt"); |
| |
| const char ** |
| getvaritcpt2 (void) |
| { |
| return &protvaritcpt; |
| } |
| |
| /* We must never call these functions. */ |
| int |
| callitcpt3 (void) |
| { |
| abort (); |
| } |
| |
| int |
| (*getitcpt3 (void)) (void) |
| { |
| abort (); |
| } |
| |
| const char ** |
| getvaritcpt3 (void) |
| { |
| abort (); |
| } |