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 |
|
---|