Provided by: libg2c-dev_2.3.0-1_amd64 bug

NAME

       util.c - Internal utility functions for the g2c library.

SYNOPSIS

       #include 'grib2_int.h'
       #include <stdarg.h>

   Functions
       EXTERN_MUTEX (m)
           If pthreads are enabled, use externally-defined mutex for thread-safety.
       int g2c_check_msg (unsigned char *cgrib, g2int *lencurr, int verbose, int from)
           Check for 'GRIB' at the beginning of a GRIB message, and check to see if the message is already
           terminated with '7777'.
       int g2c_set_log_level (int new_level)
           Use this to set the global log level.

Detailed Description

       Internal utility functions for the g2c library.

       Author
           Ed Hartnett

       Date
           Nov 11, 2021

       Definition in file util.c.

Function Documentation

   EXTERN_MUTEX (m)
       If pthreads are enabled, use externally-defined mutex for thread-safety.

   int g2c_check_msg (unsigned char * cgrib, g2int * lencurr, int verbose, int from)
       Check for 'GRIB' at the beginning of a GRIB message, and check to see if the message is already
       terminated with '7777'. On rare occasions, the last 4 bytes of section 7 (data section) can be the GRIB
       terminating string of '7777'. This function accommodates for this by tracking which function called
       g2c_check_msg() via the from argument (see below).

       Parameters
           cgrib Buffer that contains the GRIB message.
           lencurr Pointer that gets the length of the GRIB message.
           verbose If non-zero, print any error messages to stdout.
           from Mapping of where this function was called from.

           • 1 = From g2_addlocal()

           • 2 = From g2_addgrid()

           • 3 = From g2_addfield()

           • 4 = From g2_gribend()

       ReturnsG2C_NOERROR No error.

           • G2C_ENOTGRIB GRIB header not found.

           • G2C_EMSGCOMPLETE GRIB message already complete.

       Author
           Ed Hartnett

       Date
           Nov 11, 2021

       Author
           Eric Engle

       Definition at line 41 of file util.c.

       References G2C_EMSGCOMPLETE, G2C_ENOTGRIB, G2C_NOERROR, gbit(), MUTEX_LOCK, and MUTEX_UNLOCK.

       Referenced by g2_addfield(), g2_addgrid(), g2_addlocal(), and g2_gribend().

   int g2c_set_log_level (int new_level)
       Use this to set the global log level. Settings:

       • -1 turn off all logging.

       • 0 show only errors.

       • 1 output useful as verbose to utilities.

       • 2 or 3 shows some/all calls to top-level functions.

       • 4+ ever greater levels of detail.

       If logging is not enabled when building NCEPLIBS-g2c, this function will do nothing.

       Parameters
           new_level The new logging level.

       Returns
           G2C_NOERROR No error.

       Author
           Ed Hartnett

       Definition at line 165 of file util.c.

       References G2C_NOERROR, and LOG.

       Referenced by main().

Author

       Generated automatically by Doxygen for NCEPLIBS-g2c from the source code.

NCEPLIBS-g2c                                      Version 2.3.0                                        util.c(3)