/usr/include/cdTime/cdunif.h is in libcmor-dev 3.3.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | /* -*-Mode: C;-*-
* Module: cdunif - cdunif uniform I/O include file
*
* Copyright: 1994, Regents of the University of California
* This software may not be distributed to others without
* permission of the author.
*
* Author: Bob Drach, Lawrence Livermore National Laboratory
* drach@llnl.gov
*
* Version: $Id$
*
* Revision History:
*
* $Log: cdunif.h,v $
* Revision 1.1.1.1 1997/12/09 18:57:39 drach
* Copied from cirrus
*
* Revision 1.14 1997/11/24 17:28:04 drach
* - Added QL package to cdunif
* - Added NdimIntersect function to CDMS
*
* Revision 1.13 1997/11/10 19:22:29 drach
* - Added cuvargets to cdunif, cdSlabRead to cdms
*
* Revision 1.12 1997/01/06 17:47:13 drach
* - Added HDF to cdunif
*
* Revision 1.11 1996/02/23 01:21:24 drach
* - Moved most of cdms.h to cdmsint.h (original in cdms_v1.h)
* - Added new time model declarations to cdms.h
* - Added -DNO_DECLARE flag to fcddrs.h
*
* Revision 1.10 1995/10/16 18:56:33 drach
* - Added CuInt datatype, DEC Alpha version
*
* Revision 1.9 1995/03/09 00:35:18 drach
* Added netCDF, upgraded cureadarray with casting, user-specified indices
*
* Revision 1.8 1995/01/18 02:53:38 drach
* - Explicitly set CuFileType enums
*
* Revision 1.7 1994/12/20 01:19:45 drach
* - Added cdrra and cureadarray functions
*
* Revision 1.6 1994/12/17 00:43:02 drach
* - add cugetlu, cufreelu
*
* Revision 1.5 1994/12/16 00:45:42 drach
* - Added invalid CuType
*
* Revision 1.4 1994/12/14 02:33:01 drach
* - Added comment
*
* Revision 1.3 1994/11/23 23:00:06 drach
* *** empty log message ***
*
* Revision 1.2 1994/11/23 22:56:23 drach
* Changed hyperlong to long double.
*
* Revision 1.1 1994/11/18 23:42:27 drach
* Initial version
*
*
*/
#ifndef _CDUNIF_H
#define _CDUNIF_H
/*
* =================================================================
* Macros and Enums
* =================================================================
*/
#define CU_FATAL 1 /* Exit immediately on fatal error */
#define CU_VERBOSE 2 /* Report errors */
#define CU_GLOBAL -1 /* Global varid */
#define CU_MAX_LU 99 /* Max logical unit for Fortran I/O */
#define CU_MAX_NAME 128 /* Max characters in a name */
#define CU_MAX_PATH 256 /* Max characters in a file pathname */
#define CU_MAX_VAR_DIMS 512 /* Max dimensions in a variable */
#define CU_SETRRA(a,id,i,value) a->indices[id][i]=value /* Set a right-ragged array element */
/* Note: integer types must be grouped, also floats (cf cuCast) */
/* IF MODIFIED, SHOULD ALSO MODIFY CDMS.H !!*/
typedef enum CuType {CuInvalidType = -1, CuByte = 1, CuChar, CuShort, CuInt, CuLong, CuFloat, CuDouble, CuLongDouble} CuType;
/* Note: For cuseterropts to work correctly,
* valid formats must begin at 0 and increase
* sequentially, with CuNumberOfFormats the last entry.
*/
typedef enum CuFileType {CuUnknown = -1, CuDrs=0, CuGrads=1, CuNetcdf=2, CuHdf=3, CuQL=4, CuPop=5, CuPP=6, CuNumberOfFormats} CuFileType;
typedef enum CuDimType {CuGlobalDim = 1, CuLocalDim} CuDimType;
typedef struct {
long rank; /* number of dimensions */
long *arraySize; /* vector of lengths of dimensions of base array */
long *dimensionSize; /* vector of lengths of index vectors */
long **indices; /* index vectors; indices[k] is vector of length dimensionSize[k] */
} CuRRA;
/*
* =================================================================
* Function prototypes
* =================================================================
*/
extern int cuopenread(const char* controlpath, const char* datapath);
extern int cuclose(int fileid);
extern int cuinquire(int fileid, int* ngdims, int* nvars, int* natts, int* recdim);
extern int cudimid(int fileid, int varid, const char* name);
extern int cudiminq(int fileid, int dimid, char* dimname, char* dimunits, CuType* dataType, CuDimType* dimtype, int* varid, long* length);
extern int cudimget(int fileid, int dimid, void* values);
extern int cuvarid(int fileid, const char* name);
extern int cuvarinq(int fileid, int varid, char* name, CuType* datatype, int* ndims, int dimids[], int* natts);
extern int cuvarget(int fileid, int varid, const long start[], const long count[], void* value);
extern int cuvargets(int fileid, int varid, const long order[], const long start[], const long count[], const long stride[], CuType usertype, void *values);
extern int cuattinq(int fileid, int varid, const char* name, CuType* datatype, int* len);
extern int cuattget(int fileid, int varid, const char* name, void* value);
extern int cuattname(int fileid, int varid, int attnum, char* name);
extern int cutypelen(CuType datatype);
extern int cusetlu(int lu1, int lu2);
extern int cugetlu(int* lu1, int* lu2);
extern int cufreelu(int lu);
extern void cuseterropts(int erropts);
extern int cugeterropts(void);
extern int cugeterr(void);
extern int cureadarray(int fileid, int varid, CuRRA *vIndices, CuRRA *uIndices,
const long transpose[], CuType usertype, void *userArray);
extern CuRRA *cucreateRRA(long rank, const long arraySize[], const long dimensionSize[]);
extern void cudestroyRRA(CuRRA *);
extern int cusortRRA(CuRRA *, CuRRA *, const long []);
extern void cuprintRRA(CuRRA *);
/*
* =================================================================
* Globals
* =================================================================
*/
extern int cuErrOpts; /* Error options */
extern int cuErrorOccurred; /* True iff cdError was called */
/*
* =================================================================
* Error returns
* =================================================================
*/
#define CU_SERROR -1 /* System error */
#define CU_SUCCESS 0 /* Success */
#define CU_EBADID 1 /* Bad ID passed to driver layer */
#define CU_OPENFILES 2 /* Too many files open */
#define CU_EINVAL 4 /* Invalid Argument */
#define CU_ENOTINDEFINE 6 /* Operation not allowed in data mode (netCDF only) */
#define CU_EINDEFINE 7 /* Operation not allowed in define mode (netCDF only) */
#define CU_EINVALCOORDS 8 /* Coordinates out of Domain */
#define CU_ENOTATT 11 /* Attribute not found */
#define CU_EBADTYPE 13 /* Not a cdunif data type */
#define CU_EBADDIM 14 /* Invalid dimension id */
#define CU_ENOTVAR 17 /* Variable not found */
#define CU_EGLOBAL 18 /* Action prohibited on CU_GLOBAL varid */
#define CU_ENOTCU 19 /* Not a file supported by cdunif*/
#define CU_EMAXNAME 21 /* CU_MAX_NAME exceeded */
#define CU_ENOVARS 51 /* File has no variables */
#define CU_EINTERN 52 /* cdunif internal error */
#define CU_EBADFORM 53 /* Format recognized but not supported */
#define CU_DRIVER 54 /* Driver layer error */
#define CU_EINVLU 55 /* Invalid logical unit (DRS only) */
#define CU_EOPEN 56 /* File open error */
#define CU_ENOCAST 57 /* Cannot cast between user and file datatypes */
#endif
|