source: trunk/mcfio/mcf_nTupleDescript.h@ 22

Last change on this file since 22 was 2, checked in by Pavel Demin, 16 years ago

first commit

File size: 3.9 KB
RevLine 
[2]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*/
13enum 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
17enum 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
30typedef 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
45typedef 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
71typedef 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
Note: See TracBrowser for help on using the repository browser.