Commit | Line | Data |
---|---|---|
c906108c SS |
1 | /* bag.h -- ARMulator support code: ARM6 Instruction Emulator. |
2 | Copyright (C) 1994 Advanced RISC Machines Ltd. | |
3 | ||
4 | This program is free software; you can redistribute it and/or modify | |
5 | it under the terms of the GNU General Public License as published by | |
3fd725ef | 6 | the Free Software Foundation; either version 3 of the License, or |
c906108c SS |
7 | (at your option) any later version. |
8 | ||
9 | This program 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 | |
12 | GNU General Public License for more details. | |
13 | ||
14 | You should have received a copy of the GNU General Public License | |
51b318de | 15 | along with this program; if not, see <http://www.gnu.org/licenses/>. */ |
c906108c SS |
16 | |
17 | /********************************************************************/ | |
18 | /* bag.h: */ | |
19 | /* Header file for bag.c */ | |
20 | /* Offers a data structure for storing and getting pairs of number. */ | |
21 | /* The numbers are stored together, put one can be looked up by */ | |
22 | /* quoting the other. If a new pair is entered and one of the */ | |
23 | /* numbers is a repeat of a previous pair, then the previos pair */ | |
24 | /* is deleted. */ | |
25 | /********************************************************************/ | |
26 | ||
dfcd3bfb JM |
27 | typedef enum |
28 | { | |
c906108c SS |
29 | NO_ERROR, |
30 | DELETED_OLD_PAIR, | |
31 | NO_SUCH_PAIR, | |
dfcd3bfb JM |
32 | } |
33 | Bag_error; | |
c906108c | 34 | |
dfcd3bfb | 35 | void BAG_putpair (long first, long second); |
c906108c | 36 | |
dfcd3bfb JM |
37 | void BAG_newbag (void); |
38 | Bag_error BAG_killpair_byfirst (long first); | |
39 | Bag_error BAG_killpair_bysecond (long second); | |
c906108c | 40 | |
dfcd3bfb JM |
41 | Bag_error BAG_getfirst (long *first, long second); |
42 | Bag_error BAG_getsecond (long first, long *second); |