Scroll to navigation

util.c(3) Library Functions Manual util.c(3)

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()

Returns

  • G2C_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.

Version 2.3.0 NCEPLIBS-g2c