diff options
| author | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
|---|---|---|
| committer | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
| commit | 268a53de823a6750d6256ee1fb1e7707b4b45740 (patch) | |
| tree | 42c1799a9a82b2f7d9790ee9fe181d72a7274751 /support/sdbinutils/include/cgen/bitset.h | |
| download | sdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz | |
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'support/sdbinutils/include/cgen/bitset.h')
| -rw-r--r-- | support/sdbinutils/include/cgen/bitset.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/support/sdbinutils/include/cgen/bitset.h b/support/sdbinutils/include/cgen/bitset.h new file mode 100644 index 0000000..c95766b --- /dev/null +++ b/support/sdbinutils/include/cgen/bitset.h @@ -0,0 +1,56 @@ +/* Header file the type CGEN_BITSET. + Copyright (C) 2002-2018 Free Software Foundation, Inc. + + This file is part of the GNU opcodes library. + + This library is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + It 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this library; see the file COPYING3. If not, write to the + Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ + +#ifndef CGEN_BITSET_H +#define CGEN_BITSET_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* A bitmask represented as a string. + Each member of the set is represented as a bit + in the string. Bytes are indexed from left to right in the string and + bits from most significant to least within each byte. + + For example, the bit representing member number 6 is (set->bits[0] & 0x02). +*/ +typedef struct cgen_bitset +{ + unsigned length; + char *bits; +} CGEN_BITSET; + +extern CGEN_BITSET *cgen_bitset_create (unsigned); +extern void cgen_bitset_init (CGEN_BITSET *, unsigned); +extern void cgen_bitset_clear (CGEN_BITSET *); +extern void cgen_bitset_add (CGEN_BITSET *, unsigned); +extern void cgen_bitset_set (CGEN_BITSET *, unsigned); +extern int cgen_bitset_compare (CGEN_BITSET *, CGEN_BITSET *); +extern void cgen_bitset_union (CGEN_BITSET *, CGEN_BITSET *, CGEN_BITSET *); +extern int cgen_bitset_intersect_p (CGEN_BITSET *, CGEN_BITSET *); +extern int cgen_bitset_contains (CGEN_BITSET *, unsigned); +extern CGEN_BITSET *cgen_bitset_copy (CGEN_BITSET *); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif |
