mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-11-21 03:13:42 +08:00
84 lines
1.7 KiB
C
84 lines
1.7 KiB
C
/*********************************************************************
|
|
* Copyright 2010, UCAR/Unidata
|
|
* See netcdf/COPYRIGHT file for copying and redistribution conditions.
|
|
*********************************************************************/
|
|
|
|
#include "config.h"
|
|
#include "ncdispatch.h"
|
|
|
|
extern int NC3_initialize(void);
|
|
|
|
extern int NCSUBSTRATE_initialize(void);
|
|
|
|
#ifdef USE_NETCDF4
|
|
extern int NC4_initialize(void);
|
|
#endif
|
|
|
|
#ifdef USE_DAP
|
|
extern int NCD3_initialize(void);
|
|
#ifdef USE_NETCDF4
|
|
extern int NCD4_initialize(void);
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef USE_CDMREMOTE
|
|
extern int NCCR_initialize(void);
|
|
#endif
|
|
|
|
#ifdef USE_PNETCDF
|
|
extern int NC5_initialize(void);
|
|
#endif
|
|
|
|
/**
|
|
This procedure invokes all defined
|
|
initializers, and there is an initializer
|
|
for every known dispatch table.
|
|
So if you modify the format of NC_Dispatch,
|
|
then you need to fix it everywhere.
|
|
*/
|
|
|
|
int
|
|
NC_initialize(void)
|
|
{
|
|
int stat = NC_NOERR;
|
|
|
|
/* Allow libdispatch to do initialization */
|
|
if((stat = NCDISPATCH_initialize())) return stat;
|
|
|
|
/* Initialize each active protocol */
|
|
|
|
if((stat = NC3_initialize())) return stat;
|
|
|
|
#ifdef USE_DAP
|
|
if((stat = NCD3_initialize())) return stat;
|
|
#endif
|
|
|
|
#ifdef USE_PNETCDF
|
|
if((stat = NC5_initialize())) return stat;
|
|
#endif
|
|
|
|
#ifdef USE_NETCDF4
|
|
if((stat = NC4_initialize())) return stat;
|
|
|
|
/* if((stat = NCD_initialize())) return stat; */
|
|
|
|
#ifdef USE_DAP
|
|
#ifdef NOTUSED
|
|
if((stat = NCD4_initialize())) return stat;
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef USE_CDMREMOTE
|
|
if((stat = NCCR_initialize())) return stat;
|
|
#endif
|
|
|
|
#endif /* USE_NETCDF4 */
|
|
|
|
/* Finally, initialize the SUBSTRATE table (dsubstrate.c) */
|
|
if((stat = NCSUBSTRATE_initialize())) return stat;
|
|
|
|
return NC_NOERR;
|
|
}
|
|
|
|
|