/* * $Id: wavevars.h 53606 2010-09-30 08:47:59Z allanw $ */ /*************************************************************************** * * * ALL RIGHTS RESERVED * * * Copyright 1992 Precision Visuals, Inc. This media contains information which is proprietary to and a trade secret of Precision Visuals, Inc. and its licensors. It is not to be disclosed to anyone outside of this organization. * * * Restricted Rights Legend * * * Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at 252.227-7013. Contractor: Precision Visuals, Inc. 6230 Lookout Rd., Boulder, CO 80301 ******************************************************************************/ #ifndef __cplusplus #include "alib.h" #endif #ifndef WAVEVAR_H #define WAVEVAR_H #ifndef TYP_UNDEF #define TYP_UNDEF 0x00 #define TYP_BYTE 0x01 #define TYP_INT 0x02 #define TYP_LONG 0x03 #define TYP_FLOAT 0x04 #define TYP_DOUBLE 0x05 #define TYP_COMPLEX 0x06 #define TYP_STRING 0x07 #define TYP_STRUCT 0x08 #define TYP_DCOMPLEX 0x0c #define TYP_INT32 0x0d #define MAXIDLEN 127 /* NOTE: MAXIDLEN must match MAXIDLEN definition in config.h */ #endif #ifndef TYP_ARRAY #define TYP_ARRAY 0x80 #endif typedef struct WaveVariable { /* similar to SIZE() in TRM */ int type; /* see TYP_* above */ int read_only; /* non-zero if user can't alter */ int numdims; /* zero if scalar */ int dims[8]; /* dimension sizes */ int numelems; /* total number of elements in 1D array */ void * *data; /* 1D array of data OR array of WaveVariable * if type */ /* is TYP_STRUCT */ char name[MAXIDLEN+1]; /* defined when TYP_STRUCT, NULL otherwise */ } WaveVariable; #ifdef __cplusplus extern int wavevars(int*, char***, WaveVariable**); extern int free_wavevars(int*, char***, WaveVariable**); #else extern int wavevars(); extern int free_wavevars(); #endif #endif