package NetCDF;

require Exporter;
require AutoLoader;
require DynaLoader;
@ISA = qw(Exporter AutoLoader DynaLoader);
# Items to export into callers namespace by default
# (move infrequently used names to @EXPORT_OK below)
@EXPORT = qw(
    FILL_BYTE
    FILL_CHAR
    FILL_DOUBLE
    FILL_FLOAT
    FILL_LONG
    FILL_SHORT
    MAX_ATTRS
    MAX_DIMS
    MAX_NAME
    MAX_OPEN
    MAX_VARS
    MAX_VAR_DIMS
    BYTE
    CHAR
    CLOBBER
    DOUBLE
    EBADDIM
    EBADID
    EBADTYPE
    EEXIST
    EGLOBAL
    EINDEFINE
    EINVAL
    EINVALCOORDS
    EMAXATTS
    EMAXDIMS
    EMAXNAME
    EMAXVARS
    ENAMEINUSE
    ENFILE
    ENOTATT
    ENOTINDEFINE
    ENOTNC
    ENOTVAR
    ENTOOL
    EPERM
    ESTS
    EUNLIMIT
    EUNLIMPOS
    EXDR
    FATAL
    FILL
    FLOAT
    GLOBAL
    INDEF
    LONG
    NOCLOBBER
    NOERR
    NOFILL
    NOWRITE
    SHORT
    SYSERR
    UNLIMITED
    VERBOSE
    WRITE
);
# Other items we are prepared to export if requested
@EXPORT_OK = qw(
);

sub AUTOLOAD {
    if (@_ > 1) {
	$AutoLoader::AUTOLOAD = $AUTOLOAD;
	goto &AutoLoader::AUTOLOAD;
    }
    local($constname);
    ($constname = $AUTOLOAD) =~ s/.*:://;
    $val = constant($constname, @_ ? $_[0] : 0);
    if ($! != 0) {
	if ($! =~ /Invalid/) {
	    $AutoLoader::AUTOLOAD = $AUTOLOAD;
	    goto &AutoLoader::AUTOLOAD;
	}
	else {
	    ($pack,$file,$line) = caller;
	    die "Your vendor has not defined netCDF macro $constname, used at $file line $line.
";
	}
    }
    eval "sub $AUTOLOAD { $val }";
    goto &$AUTOLOAD;
}

bootstrap NetCDF;

# Preloaded methods go here.  Autoload methods go after __END__, and are
# processed by the autosplit program.

1;
__END__


syntax highlighted by Code2HTML, v. 0.9.1