home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / g77-0.5.15-src.tgz / tar.out / fsf / g77 / f / bit.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  2KB  |  84 lines

  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 (burley@gnu.ai.mit.edu).
  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, 675 Mass Ave, Cambridge, MA 02139, USA.
  20.  
  21.    Owning Modules:
  22.       bit.c
  23.  
  24.    Modifications:
  25. */
  26.  
  27. /* Allow multiple inclusion to work. */
  28.  
  29. #ifndef _H_f_bit
  30. #define _H_f_bit
  31.  
  32. /* Simple definitions and enumerations. */
  33.  
  34.  
  35. /* Typedefs. */
  36.  
  37. typedef struct _ffebit_ *ffebit;
  38. typedef unsigned long ffebitCount;
  39. #define ffebitCount_f "l"
  40.  
  41. /* Include files needed by this one. */
  42.  
  43. #include "malloc.h"
  44.  
  45. /* Structure definitions. */
  46.  
  47. struct _ffebit_
  48.   {
  49.     mallocPool pool;
  50.     ffebitCount size;
  51.     unsigned char bits[1];
  52.   };
  53.  
  54. /* Global objects accessed by users of this module. */
  55.  
  56.  
  57. /* Declare functions with prototypes. */
  58.  
  59. void ffebit_count (ffebit b, ffebitCount offset, bool value, ffebitCount range,
  60.            ffebitCount *number);
  61. void ffebit_kill (ffebit b);
  62. ffebit ffebit_new (mallocPool pool, ffebitCount size);
  63. void ffebit_set (ffebit b, ffebitCount offset, bool value, ffebitCount length);
  64. void ffebit_test (ffebit b, ffebitCount offset, bool *value, ffebitCount *length);
  65.  
  66. /* Define macros. */
  67.  
  68. #define ffebit_init_0()
  69. #define ffebit_init_1()
  70. #define ffebit_init_2()
  71. #define ffebit_init_3()
  72. #define ffebit_init_4()
  73. #define ffebit_pool(b) ((b)->pool)
  74. #define ffebit_size(b) ((b)->size)
  75. #define ffebit_terminate_0()
  76. #define ffebit_terminate_1()
  77. #define ffebit_terminate_2()
  78. #define ffebit_terminate_3()
  79. #define ffebit_terminate_4()
  80.  
  81. /* End of #include file. */
  82.  
  83. #endif
  84.