PR sim/14540
[external/binutils.git] / sim / arm / bag.h
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
6     the Free Software Foundation; either version 2 of the License, or
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
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
17
18 /********************************************************************/
19 /* bag.h:                                                           */
20 /* Header file for bag.c                                            */
21 /* Offers a data structure for storing and getting pairs of number. */
22 /* The numbers are stored together, put one can be looked up by     */
23 /* quoting the other.  If a new pair is entered and one of the      */
24 /* numbers is a repeat of a previous pair, then the previos pair    */
25 /* is deleted.                                                      */
26 /********************************************************************/
27
28 typedef enum
29 {
30   NO_ERROR,
31   DELETED_OLD_PAIR,
32   NO_SUCH_PAIR,
33 }
34 Bag_error;
35
36 void BAG_putpair (long first, long second);
37
38 void BAG_newbag (void);
39 Bag_error BAG_killpair_byfirst (long first);
40 Bag_error BAG_killpair_bysecond (long second);
41
42 Bag_error BAG_getfirst (long *first, long second);
43 Bag_error BAG_getsecond (long first, long *second);