/*------------------------------------------------------------------------

     B U F R   E N C O D I N G   A N D   D E C O D I N G   S O F T W A R E 

FILE:          BUFR.H
IDENT:         $Id: bufr.h 17473 2006-08-11 18:41:04Z sip $

AUTHOR:        Konrad Koeck
               Institute of Communication and Wave Propagation, 
               Technical University Graz, Austria

VERSION NUMBER:2.3

DATE CREATED:  18-DEC-2001

STATUS:        DEVELOPMENT FINISHED


FUNCTIONAL DESCRIPTION:
-----------------------
Includefile for BUFR.C. More details can be found there.

AMENDMENT RECORD:

ISSUE       DATE            SCNREF      CHANGE DETAILS
-----       ----            ------      --------------
V2.0        18-DEC-2001     Koeck       Initial Issue

$Log$
Revision 810.1  2006/08/11 18:41:03  sip
Upgrade BUFR library to version 2.3

Revision 1.4  2005/04/04 14:56:09  helmutp
update to version 2.3

Revision 1.3  2003/03/27 17:17:39  helmutp
update to version 2.2

Revision 1.2  2003/03/06 17:12:32  helmutp
update to version 2.1

Revision 1.1  2003/02/28 13:41:12  helmutp
Initial revision

--------------------------------------------------------------------------- */

/*===========================================================================*/
/* protypes of functions in BUFR.C                                           */
/*===========================================================================*/

#ifndef BUFR_H_INCLUDED
#define BUFR_H_INCLUDED

void bufr_clean (P0);
int bufr_create_msg (P7(dd *descs, int ndescs, varfl *vals, void **datasec, 
                        void **ddsec, size_t *datasecl, size_t *ddescl));
int bufr_read_msg (P8(void *datasec, void *ddsec, size_t datasecl, size_t ddescl,
                      dd **desc, int *ndescs, varfl **vals, size_t *nvals));
int val_to_array (P3(varfl **vals, varfl v, size_t *nvals));
int bufr_parse (P6(dd *descs, int start, int end, varfl *vals, unsigned *vali,
                   int (*userfkt) (P2(varfl val, int ind))));
void bufr_get_date_time (P5(long *_year, long *_mon, long *_day, long *_hour,
                            long *_min));
int setup_sec0125 (P3(char *sec[], size_t secl[], sect_1_t s1));
int save_sections (P3(char *sec[], size_t secl[], char *buffile));

#endif

/* end of file */
