1#ifndef NC_GENLIB_H
2#define NC_GENLIB_H
3/*********************************************************************
4 *   Copyright 1993, UCAR/Unidata
5 *   See netcdf/COPYRIGHT file for copying and redistribution conditions.
6 *   $Header: /upc/share/CVS/netcdf-3/ncgen3/genlib.h,v 1.15 2009/12/29 18:42:35 dmh Exp $
7 *********************************************************************/
8#include <config.h>
9#include <stdlib.h>
10#include <limits.h>
11
12extern const char *progname; /* for error messages */
13extern const char *cdlname; /* for error messages */
14
15#define FORT_MAX_LINES 20 /* max lines in FORTRAN statement */
16#define FORT_MAX_STMNT 66*FORT_MAX_LINES /* max chars in FORTRAN statement */
17#define C_MAX_STMNT FORT_MAX_STMNT /* until we fix to break up C lines */
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23extern void cline ( const char* stmnt );
24extern void fline ( const char* stmnt );
25extern const char* nctype ( nc_type  type );
26extern const char* ncctype ( nc_type  type );
27extern const char* ncstype ( nc_type  type );
28extern const char* ncatype ( nc_type  type );
29extern const char* nfstype ( nc_type  type );
30extern const char* nfftype ( nc_type  type );
31extern char* fstring ( nc_type  type, void* valp, int num );
32extern char* cstrstr ( const char* valp, size_t len );
33extern char* fstrstr ( const char* str, size_t ilen );
34extern size_t nctypesizenc_type type );
35
36extern void derror ( const char *fmt, ... )
37#ifdef _GNUC_
38       __attribute__ ((format (printf, 1, 2)))
39#endif
40;
41extern void check_err ( int status );
42extern void *emalloc ( size_t size );
43extern void *ecalloc ( size_t size );
44extern void *erealloc ( void *ptr, size_t size );
45extern void expe2d ( char *ptr );
46extern void grow_iarray ( int narray, int **array );
47extern void grow_varray ( int narray, struct vars **array );
48extern void grow_darray ( int narray, struct dims **array );
49extern void grow_aarray ( int narray, struct atts **array );
50extern char* decodify (const char *name);
51extern void deescapify (char *name);
52
53extern int put_variable ( void* rec_start );
54
55/* initializes netcdf counts (e.g. nvars), defined in init.c */
56extern void init_netcdf ( void );
57
58/* generates all define mode stuff, defined in genlib.c */
59extern void define_netcdf(const char *netcdfname);
60
61/* generates variable puts, defined in load.c */
62extern void load_netcdf ( void* rec_start );
63
64/* generates close, defined in close.c */
65extern void close_netcdf ( void );
66
67/* defined in escapes.c */
68extern void expand_escapes ( char* termstring, char* yytext, int yyleng );
69
70/* to get fill value for various types, defined in getfill.c */
71extern void nc_getfill ( nc_type  type, union genericgval );
72
73/* to put fill value for various types, defined in getfill.c */
74extern void nc_putfill ( nc_type  type, void* val, union genericgval );
75
76/* fills a generic array with a value, defined in getfill.c */
77extern void nc_fill ( nc_type  type, size_t num, void* datp,
78 union generic fill_val );
79
80/* reset symbol table to empty, defined in ncgen.y */
81extern void clearout(void);
82
83/* In case we are missing strlcat */
84#ifndef HAVE_STRLCAT
85extern size_t strlcat(char *dst, const char *src, size_t siz);
86#endif
87
88#ifdef __cplusplus
89}
90#endif
91#endif /*!NC_GENLIB_H*/


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed