/* * mexcdf.h Include-file for mexcdf.c. * * Copyright (C) 1992-5 Charles R. Denham, ZYDECO. * * All Rights Reserved. * */ # if !defined MEXCDF_H # define MEXCDF_H # if defined __STDC__ # if !defined HAS_VOID # define HAS_VOID # endif # endif # if defined HAS_VOID # define VOID void # define VOIDP void * # define VOIDPP void ** # else # define VOID # define VOIDP char * # define VOIDPP char ** # endif # if !defined DOUBLE # define DOUBLE double # define INT int # endif # undef VERBOSE /* Generic usage information. */ # define VERBOSE /* Verbose usage information. */ # define MAX_BUFFER 32 /* NetCDF Operations. */ typedef enum s_opcode { USAGE = 1, CREATE, OPEN, REDEF, ENDEF, INQUIRE, CLOSE, SYNC, ABORT, DIMDEF, DIMID, DIMINQ, DIMRENAME, VARDEF, VARID, VARINQ, VARPUT1, VARGET1, VARPUT, VARGET, VARPUTG, VARGETG, VARRENAME, ATTPUT, ATTINQ, ATTGET, ATTCOPY, ATTNAME, ATTRENAME, ATTDEL, RECPUT, RECGET, RECINQ, TYPELEN, SETFILL, SETOPTS, ERR, PARAMETER, NONE } OPCODE; typedef struct s_op { OPCODE opcode; char * opname; int nrhs; /* Required nrhs. */ int nlhs; /* Maximum nlhs. */ } op; op ops[] = { USAGE, "usage", 1, 0, CREATE, "create", 2, 1, OPEN, "open", 2, 1, REDEF, "redef", 1, 1, ENDEF, "endef", 1, 1, INQUIRE, "inquire", 2, 5, CLOSE, "close", 2, 1, SYNC, "sync", 2, 1, ABORT, "abort", 2, 1, DIMDEF, "dimdef", 4, 1, DIMID, "dimid", 3, 1, DIMINQ, "diminq", 3, 3, DIMRENAME, "dimrename", 4, 1, VARDEF, "vardef", 6, 1, VARID, "varid", 3, 1, VARINQ, "varinq", 3, 5, VARPUT1, "varput1", 5, 1, VARGET1, "varget1", 4, 2, VARPUT, "varput", 6, 1, VARGET, "varget", 5, 2, VARPUTG, "varputg", 7, 1, VARGETG, "vargetg", 6, 2, VARRENAME, "varrename", 4, 1, ATTPUT, "attput", 7, 1, ATTINQ, "attinq", 4, 3, ATTGET, "attget", 4, 2, ATTCOPY, "attcopy", 6, 1, ATTNAME, "attname", 4, 2, ATTRENAME, "attrename", 5, 1, ATTDEL, "attdel", 4, 1, RECPUT, "recput", 4, 1, RECGET, "recget", 3, 2, RECINQ, "recinq", 2, 3, TYPELEN, "typelen", 2, 1, SETFILL, "setfill", 3, 1, SETOPTS, "setopts", 2, 1, ERR, "err", 1, 1, PARAMETER, "parameter", 1, 1, NONE, "none", 0, 0 }; /* NetCDF Parameters. */ typedef struct s_parm { int code; char * name; int len; /* Minimal unique length. */ } parm; parm parms[] = { MAX_NC_NAME, "MAX_NC_NAME", 8, MAX_NC_DIMS, "MAX_NC_DIMS", 8, MAX_VAR_DIMS, "MAX_VAR_DIMS", 9, NC_BYTE, "BYTE", 1, NC_CHAR, "CHAR", 2, NC_CLOBBER, "CLOBBER", 2, NC_DOUBLE, "DOUBLE", 1, NC_FATAL, "FATAL", 2, NC_FILL, "FILL", 2, NC_FLOAT, "FLOAT", 2, NC_GLOBAL, "GLOBAL", 1, NC_LONG, "LONG", 1, NC_NOCLOBBER, "NOCLOBBER", 3, NC_NOFILL, "NOFILL", 3, NC_NOWRITE, "NOWRITE", 3, NC_SHORT, "SHORT", 1, NC_UNLIMITED, "UNLIMITED", 1, NC_VERBOSE, "VERBOSE", 1, NC_WRITE, "WRITE", 1, 0, "NONE", 0 }; # endif MEXCDF_H