1 /* bit.h -- Public #include File (module.h template V1.0) 2 Copyright (C) 1995 Free Software Foundation, Inc. 3 Contributed by James Craig Burley. 4 5 This file is part of GNU Fortran. 6 7 GNU Fortran is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2, or (at your option) 10 any later version. 11 12 GNU Fortran is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with GNU Fortran; see the file COPYING. If not, write to 19 the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 20 02111-1307, USA. 21 22 Owning Modules: 23 bit.c 24 25 Modifications: 26 */ 27 28 /* Allow multiple inclusion to work. */ 29 30 #ifndef GCC_F_BIT_H 31 #define GCC_F_BIT_H 32 33 /* Simple definitions and enumerations. */ 34 35 36 /* Typedefs. */ 37 38 typedef struct _ffebit_ *ffebit; 39 typedef unsigned long ffebitCount; 40 #define ffebitCount_f "l" 41 42 /* Include files needed by this one. */ 43 44 #include "malloc.h" 45 46 /* Structure definitions. */ 47 48 struct _ffebit_ 49 { 50 mallocPool pool; 51 ffebitCount size; 52 unsigned char bits[1]; 53 }; 54 55 /* Global objects accessed by users of this module. */ 56 57 58 /* Declare functions with prototypes. */ 59 60 void ffebit_count (ffebit b, ffebitCount offset, bool value, ffebitCount range, 61 ffebitCount *number); 62 void ffebit_kill (ffebit b); 63 ffebit ffebit_new (mallocPool pool, ffebitCount size); 64 void ffebit_set (ffebit b, ffebitCount offset, bool value, ffebitCount length); 65 void ffebit_test (ffebit b, ffebitCount offset, bool *value, ffebitCount *length); 66 67 /* Define macros. */ 68 69 #define ffebit_init_0() 70 #define ffebit_init_1() 71 #define ffebit_init_2() 72 #define ffebit_init_3() 73 #define ffebit_init_4() 74 #define ffebit_pool(b) ((b)->pool) 75 #define ffebit_size(b) ((b)->size) 76 #define ffebit_terminate_0() 77 #define ffebit_terminate_1() 78 #define ffebit_terminate_2() 79 #define ffebit_terminate_3() 80 #define ffebit_terminate_4() 81 82 /* End of #include file. */ 83 84 #endif /* ! GCC_F_BIT_H */ 85