#include #include #include #include #include "geminc.h" #include "gemprm.h" #include "bridge.h" #include "dccmn.h" /* contains prototype for dc_wclg */ #include "decod_ut.h" /* contains prototypes for ut_prvs and ut_wbfr */ #include "rsl.h" /* ** Define the "missing" value for output from the RSL library. */ #define MISSING_VALUE ( 131072 ) /* ** Define the maximum number of data bins along each radial line. */ #define MAX_DATABINS ( 1000 ) /* ** Define the BUFR "missing value" */ #define BMISS ( 10E10 ) /* ** Macro for determining the number of elements in an array. */ #define NUMELEM(array) ( sizeof(array) / sizeof(array[0])) /* ** On certain operating systems, the FORTRAN compiler appends an underscore ** to subprogram names in its object namespace. Therefore, on such systems, ** a matching underscore must be appended to any C language references to the ** same subprogram names so that the linker can correctly resolve such ** references across the C <-> FORTRAN interface at link time. */ #ifdef UNDERSCORE #define cr_pnbf cr_pnbf_ #define openmb openmb_ #define ufbint ufbint_ #define ufbseq ufbseq_ #endif /* ** Define function prototypes. */ void cr_dcod ( char *, int ); Ray *cr_gswr ( Radar *, Ray * ); void cr_pnbf ( char *, int *, int *, size_t ); #ifdef F77_INTSIZE_8 /* borrowing this typedef block from NCEPLIBS-bufr bufrlib.h */ typedef long f77int; #else typedef int f77int; #endif typedef double f77r8; /* define the C object type that is equivalent to a REAL*8 in FORTRAN */ void openmb ( int *, char *, int *, size_t ); void ufbint( f77int *, f77r8 *, f77int *, f77int *, f77int *, char *, size_t ); void ufbseq( f77int *, f77r8 *, f77int *, f77int *, f77int *, char *, size_t );