NCEPLIBS-bufr
11.7.0
|
Define signatures and declare variables for internal storage of master Table B and Table D entries. More...
Go to the source code of this file.
Macros | |
#define | MSTABS_BASE(var) mstabs_newCarr_ ## var |
Functions | |
void | cpmstabs (f77int *, f77int *, char(*)[4], char(*)[12], char(*)[4], char(*)[24], char(*)[8], char(*)[120], f77int *, f77int *, char(*)[120], char(*)[8], f77int *, f77int *, f77int *) |
This subroutine copies relevant information from the Fortran module MODA_MSTABS arrays to new arrays within C, for use whenever arrays are dynamically allocated at run time and in which case we can't directly access the Fortran module MODA_MSTABS arrays from within C. More... | |
f77int | MSTABS_BASE (nmtb) |
f77int * | MSTABS_BASE (ibfxyn) |
char(* | MSTABS_BASE (cbscl))[4] |
char(* | MSTABS_BASE (cbsref))[12] |
char(* | MSTABS_BASE (cbbw))[4] |
char(* | MSTABS_BASE (cbunit))[24] |
char(* | MSTABS_BASE (cbmnem))[8] |
char(* | MSTABS_BASE (cbelem))[120] |
f77int | MSTABS_BASE (nmtd) |
f77int * | MSTABS_BASE (idfxyn) |
char(* | MSTABS_BASE (cdseq))[120] |
char(* | MSTABS_BASE (cdmnem))[8] |
f77int * | MSTABS_BASE (ndelem) |
f77int * | MSTABS_BASE (idefxy) |
Define signatures and declare variables for internal storage of master Table B and Table D entries.
Since the arrays in Fortran module MODA_MSTABS are dynamically allocated and their size isn't known at compile time, then we can't directly access them from within C. Instead, we need to allocate separate array space in C and then use subroutine cpmstabs() to copy the relevant information from the Fortran module MODA_MSTABS arrays to these C arrays at run time, in order to be able to access this information from within C.
Definition in file mstabs.h.
void cpmstabs | ( | f77int * | pnmtb, |
f77int * | pibfxyn, | ||
char(*) | pcbscl[4], | ||
char(*) | pcbsref[12], | ||
char(*) | pcbbw[4], | ||
char(*) | pcbunit[24], | ||
char(*) | pcbmnem[8], | ||
char(*) | pcbelem[120], | ||
f77int * | pnmtd, | ||
f77int * | pidfxyn, | ||
char(*) | pcdseq[120], | ||
char(*) | pcdmnem[8], | ||
f77int * | pndelem, | ||
f77int * | pidefxy, | ||
f77int * | maxcd | ||
) |
This subroutine copies relevant information from the Fortran module MODA_MSTABS arrays to new arrays within C, for use whenever arrays are dynamically allocated at run time and in which case we can't directly access the Fortran module MODA_MSTABS arrays from within C.
[in] | pnmtb | – f77int*: Number of master Table B entries |
[in] | pibfxyn | – f77int*: Bit-wise representations of master Table B FXY numbers |
[in] | pcbscl | – char(*)[4]: Master Table B scale factors |
[in] | pcbsref | – char(*)[12]: Master Table B reference values |
[in] | pcbbw | – char(*)[4]: Master Table B bit widths |
[in] | pcbunit | – char(*)[24]: Master Table B units |
[in] | pcbmnem | – char(*)[8]: Master Table B mnemonics |
[in] | pcbelem | – char(*)[120]: Master Table B element names |
[in] | pnmtd | – f77int*: Number of master Table D entries |
[in] | pidfxyn | – f77int*: Bit-wise representations of master Table D FXY numbers |
[in] | pcdseq | – char(*)[120]: Master Table D sequence names |
[in] | pcdmnem | – char(*)[8]: Master Table D mnemonics |
[in] | pndelem | – f77int*: Number of child descriptors for master Table D sequence |
[in] | pidefxy | – f77int*: Bit-wise representations of child descriptors for master Table D sequence |
[in] | maxcd | – f77int*: Maximum number of child descriptors for a master Table D sequence |
Program history log:
Date | Programmer | Comments |
---|---|---|
2014-12-04 | J. Ator | Original author |
2021-05-17 | J. Ator | Allow up to 24 characters in cbunit |
Definition at line 47 of file cpmstabs.c.
References icvidx().
Referenced by ireadmt().