unit at a time
[platform/upstream/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 3 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, see <http://www.gnu.org/licenses/>. */
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
27 typedef enum
28 {
29   NO_ERROR,
30   DELETED_OLD_PAIR,
31   NO_SUCH_PAIR,
32 }
33 Bag_error;
34
35 void BAG_putpair (long first, long second);
36
37 void BAG_newbag (void);
38 Bag_error BAG_killpair_byfirst (long first);
39 Bag_error BAG_killpair_bysecond (long second);
40
41 Bag_error BAG_getfirst (long *first, long second);
42 Bag_error BAG_getsecond (long first, long *second);