voidgribGetDoubleArray(grib_handle*gribHandle,constchar*key,double*array);//The caller is responsible to ensure a sufficiently large buffer.
voidgribGetLongArray(grib_handle*gribHandle,constchar*key,long*array);//The caller is responsible to ensure a sufficiently large buffer.
longgribEditionNumber(grib_handle*gh);
char*gribMakeTimeString(grib_handle*gh,boolgetEndTime);//For statistical fields, setting getEndTime produces the time of the end of the integration period, otherwise the time of the start of the integration period is returned. Returns NULL if getEndTime is set and the field does not have an integration period.
char*myStrDup(constchar*string);//This exactly implements the standardized behavior of strdup().
char*myAsprintf(char*format,...)__attribute__((format(printf,1,2)));//This implementation differs from standard asprintf() function in the way the resulting string pointer is returned.