[3] | 1 | /*******************************************************************************
|
---|
| 2 | * *
|
---|
| 3 | * mcf_nTupleDescript.h -- Include file for mcfast generalized nTuple *
|
---|
| 4 | * descriptors. This is a genric structres that can hold info about *
|
---|
| 5 | * specficic instances of a generalized nTuple. *
|
---|
| 6 | * *
|
---|
| 7 | * P. Lebrun, September 1995. *
|
---|
| 8 | * *
|
---|
| 9 | *******************************************************************************/
|
---|
| 10 | /*
|
---|
| 11 | ** Information concerning a generic variable within an Ntuple
|
---|
| 12 | */
|
---|
| 13 | enum varTypes {BYTE_NTU, CHARACTER_NTU, INTEGER2_NTU, LOGICAL_NTU,
|
---|
| 14 | INTEGER_NTU, REAL_NTU,
|
---|
| 15 | DBL_PRECISION_NTU, COMPLEX_NTU, DBL_COMPLEX_NTU, POINTER_NTU};
|
---|
| 16 |
|
---|
| 17 | enum orgStyles {PARALLEL_ARRAY_NTU, DATA_STRUCT_NTU};
|
---|
| 18 |
|
---|
| 19 | #define N_VAR_TYPES 10
|
---|
| 20 | #define MAX_VAR_NAME 31
|
---|
| 21 | #define MAX_NTU_TITLE 80
|
---|
| 22 | #define MAX_VAR_DESCRIP 1023
|
---|
| 23 | #define MAX_VAR_DIMENSIONS 4
|
---|
| 24 | #define NUM_START_VARIABLES 10
|
---|
| 25 | #define NTU_MAX_TITLE_LENGTH 80
|
---|
| 26 | #define NTU_MAX_CATEGORY_LENGTH 255
|
---|
| 27 | #define NTU_MAX_CATEGORY_DEPTH 40
|
---|
| 28 | #define NTU_START_LIST_SIZE 20
|
---|
| 29 |
|
---|
| 30 | typedef struct {
|
---|
| 31 | char nameBlank; /* flag indicating that the variable does not exist. */
|
---|
| 32 | char *name; /* Mnemonic name of the variable. */
|
---|
| 33 | char *description;/* description for the variable */
|
---|
| 34 | int type; /* Variable type (int, ...) see above enum varTypes */
|
---|
| 35 | char isFixedSize; /* Variable is or is not indexed by nTuple multiplicity*/
|
---|
| 36 | int numDim; /* The variable dimensions, not counting mult. one */
|
---|
| 37 | int dimensions[MAX_VAR_DIMENSIONS+1];
|
---|
| 38 | /* Variable dims, not counting the multiplicity one*/
|
---|
| 39 | size_t lengthW; /* Used in XDR filtering, length in words */
|
---|
| 40 | size_t lengthB; /* Used in XDR filtering, length in byte */
|
---|
| 41 | long offset; /* The variable virtual address for a given instance */
|
---|
| 42 | u_int offsetXDR; /* The variable relative address within the struct. */
|
---|
| 43 | } varGenNtuple;
|
---|
| 44 |
|
---|
| 45 | typedef struct {
|
---|
| 46 | int numVariables; /* The total number of variables in the structure */
|
---|
| 47 | int numAvailable; /* The number of available var. in var. array */
|
---|
| 48 | char nameIndex[32]; /* The name for the Ntuple single index */
|
---|
| 49 | int maxMultiplicity; /* The maximum multiplicity for any instances */
|
---|
| 50 | char *title; /* Title for the structure */
|
---|
| 51 | char *description; /* Description of this structure. */
|
---|
| 52 | char version[8]; /* The version string */
|
---|
| 53 | int orgStyle; /* The organization of the indexed variables */
|
---|
| 54 | void *address; /* Virtual address of a particular instance */
|
---|
| 55 | long multOffset; /* Offset for the multiplicity offset */
|
---|
| 56 | u_int multXDROffset; /* Adress for the multiplicity offset */
|
---|
| 57 | long fenceOffset; /* Offset for the fence */
|
---|
| 58 | u_int fenceXDROffset; /* XDR offset for the fence */
|
---|
| 59 | long *subOffset; /* Offset for the sub structures */
|
---|
| 60 | u_int *subXDROffset; /* XDR offset for the sub structures */
|
---|
| 61 | varGenNtuple **variables; /* The variable descriptions */
|
---|
| 62 | int *varOrdering; /* Ordering of the variables for the dbin, .h.. file*/
|
---|
| 63 | int firstIndexed; /* Once ordered, the first indexed for indexed part */
|
---|
| 64 | } descrGenNtuple;
|
---|
| 65 |
|
---|
| 66 | /*
|
---|
| 67 | ** A Data structure to hold a DDL, without MOTIF widget, to be used in
|
---|
| 68 | ** stand alone mode in mcfio.
|
---|
| 69 | */
|
---|
| 70 |
|
---|
| 71 | typedef struct nTuDDLRec {
|
---|
| 72 | int id; /* The id of the NTuple, as returned to the user */
|
---|
| 73 | int seqNTuId; /* The sequential number for this particular stream */
|
---|
| 74 | int uid; /* The user Id, Unique (within a Category) id */
|
---|
| 75 | char *category;
|
---|
| 76 | char *title;
|
---|
| 77 | char *dbinFileName; /* dbin filename, not guarantted to be there. */
|
---|
| 78 | int streamId; /* The stream on which this ddl is assigned to */
|
---|
| 79 | int referenceId;
|
---|
| 80 | struct nTuDDLRec *reference;
|
---|
| 81 | /* the reference in case a similar ddl has already
|
---|
| 82 | been installed in the running image. */
|
---|
| 83 |
|
---|
| 84 | descrGenNtuple *descrNtu; /* The Ntuple Descriptor */
|
---|
| 85 | } nTuDDL;
|
---|
| 86 |
|
---|