aboutsummaryrefslogtreecommitdiff
path: root/pkg/xtools/catquery/cqdef.h
blob: 6337bd9f868628e3ce462e212ccbeb91b10ed236 (plain) (blame)
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
# Private definitions file for the catalog query interface.


# Miscellaneous definitions mostly concerning buffer sizes.

#define CQ_SZ_LINE    SZ_LINE           # The text storage size in chars
define CQ_SZFNAME    (1+SZ_FNAME) / 2   # The file name storage size in structs
define CQ_SZLINE     (1+SZ_LINE) / 2    # The text storage size in structs
define CQ_ALLOC       20		# The record allocation block size

define USE_URLGET	TRUE


# The catalog record map descriptor (borrowed from dttext interface). 

define	CQ_LEN	     (8 + 2 * CQ_SZFNAME)

define	CQ_FD	      Memi[$1]		        # The database FIO channel
define	CQ_MODE	      Memi[$1+1]	        # The database access mode
define	CQ_NRECS      Memi[$1+2]		# The number of records
define	CQ_MAP	      Memi[$1+3]		# The pointer to record names
define	CQ_NAMES      Memi[$1+4]		# The pointer to name indices
define	CQ_OFFSETS    Memi[$1+5]		# The pointer to record offsets
define	CQ_CATNO      Memi[$1+6]		# The current catalog number
define	CQ_CAT	      Memi[$1+7]  		# The current catalog descriptor
define	CQ_CATDB      Memc[P2C($1+8)]           # The database file name
define	CQ_CATNAME    Memc[P2C($1+8+CQ_SZFNAME)]# The current catalog name

define	CQ_NAMEI      Memi[CQ_NAMES($1)+$2-1]
define	CQ_NAME	      Memc[CQ_MAP($1)+CQ_NAMEI($1,$2)]
define	CQ_OFFSET     Meml[CQ_OFFSETS($1)+$2-1]


# The current catalog desciptor. 

define	CQ_LEN_CC    (15 + 2 * CQ_SZLINE) 
define	QOFFSET	      P2C($1+15+$2*CQ_SZLINE)

define	CQ_NQPARS     Memi[$1]	                # The no of query params
define	CQ_PQPNAMES   Memi[$1+1]	        # The query param names ptr
define	CQ_PQPDVALUES Memi[$1+2]	        # The query param defaults ptr
define	CQ_PQPVALUES  Memi[$1+3]	        # The query param values ptr
define	CQ_PQPUNITS   Memi[$1+4]	        # The query param units ptr
define	CQ_PQPFMTS    Memi[$1+5]                # The query param format ptr
define	CQ_HFMT	      Memi[$1+6]		# The header format 
define	CQ_ADDRESS    Memc[QOFFSET($1,0)]       # The catalog address
define	CQ_QUERY      Memc[QOFFSET($1,1)]       # The network query

# The catalog results descriptor.

define	CQ_LEN_RES	(30+2*CQ_SZFNAME+2*CQ_SZLINE)
define	ROFFSET	        P2C($1+30+$2*CQ_SZFNAME+$3*CQ_SZLINE)

define	CQ_RNQPARS	Memi[$1]        # The number of query params
define	CQ_RQPNAMES     Memi[$1+1]      # The query param names ptr
define	CQ_RQPVALUES    Memi[$1+2]      # The query param values ptr
define	CQ_RQPUNITS     Memi[$1+3]      # The query param units ptr

define	CQ_RTYPE	Memi[$1+4]	# The results data format
define	CQ_RECSIZE	Memi[$1+5]      # The results record size 
define	CQ_RHSKIP	Memi[$1+6]      # The number of header records to skip
define	CQ_RTRIML	Memi[$1+7]      # The beginning of record trim 
define	CQ_RTRIMR	Memi[$1+8]      # The end of record trim 
define	CQ_RTSKIP	Memi[$1+9]      # The number of trailer records to skip

define	CQ_NHEADER	Memi[$1+10]	# The number of header keywords
define	CQ_HKNAMES	Memi[$1+11]     # The results keyword names
define	CQ_HKVALUES	Memi[$1+12]     # The result keyword values

define	CQ_NFIELDS	Memi[$1+13]	# The number of record fields
define	CQ_FNAMES	Memi[$1+14]     # The record field names
define	CQ_FTYPES	Memi[$1+15]     # The record field data types ptr
define	CQ_FOFFSETS	Memi[$1+16]     # The record field offsets ptr
define	CQ_FSIZES	Memi[$1+17]     # The record field sizes ptr
define	CQ_FUNITS	Memi[$1+18]     # The record field units
define	CQ_FFMTS	Memi[$1+19]     # The record field formats

define	CQ_RFD		Memi[$1+20]     # The results file descriptor
define	CQ_RBUF		Memi[$1+21]     # The results data descriptor
define	CQ_RNRECS	Memi[$1+22]     # The number of results records
define	CQ_RINDEX	Memi[$1+23]	# The results record index pointer

define	CQ_RECPTR	Memi[$1+24] 	# The current record
define	CQ_FNFIELDS	Memi[$1+25]     # The number of fields in current record
define	CQ_FINDICES	Memi[$1+26]     # The current record indices pointer

define	CQ_RCATDB	Memc[ROFFSET($1,0,0)] # The catalog database name
define	CQ_RCATNAME	Memc[ROFFSET($1,1,0)] # The catalog name

define	CQ_RADDRESS	Memc[ROFFSET($1,2,0)] # Query address
define	CQ_RQUERY	Memc[ROFFSET($1,2,1)] # Query string

# The image survey descriptor. May need to extend this structure as more
# experience with different image formats is obtained. May not need wcs and
# keyword default value strings ...

define	CQ_LEN_IM	(30+3*CQ_SZFNAME+2*CQ_SZLINE)
define	IOFFSET	        P2C($1+30+$2*CQ_SZFNAME+$3*CQ_SZLINE)

define	CQ_INQPARS	Memi[$1]        # The number of query params
define	CQ_IQPNAMES     Memi[$1+1]      # The query param names ptr
define	CQ_IQPVALUES    Memi[$1+2]      # The query param values ptr
define	CQ_IQPUNITS     Memi[$1+3]      # The query param units ptr
define	CQ_IMTYPE	Memi[$1+4]	# The image data format

define	CQ_WCS		Memi[$1+10]      # The image wcs type
define	CQ_NWCS		Memi[$1+11]	# The number of wcs keywords
define	CQ_WPNAMES	Memi[$1+12]     # The wcs parameter names
define	CQ_WKNAMES	Memi[$1+13]	# The wcs keyword names	
define	CQ_WKDVALUES	Memi[$1+14]	# The wcs keyword default values
define	CQ_WKVALUES	Memi[$1+15]	# The wcs keyword values
define	CQ_WKTYPES	Memi[$1+16]	# The wcs keyword data types
define	CQ_WKUNITS	Memi[$1+17]	# The wcs keyword value units

define	CQ_NIMPARS	Memi[$1+19]	# The number of header keywords
define	CQ_IPNAMES	Memi[$1+20]     # The results keyword names
define	CQ_IKNAMES	Memi[$1+21]     # The result keyword values
define	CQ_IKDVALUES	Memi[$1+22]     # The result keyword values
define	CQ_IKVALUES	Memi[$1+23]     # The result keyword values
define	CQ_IKTYPES	Memi[$1+24]     # The result keyword values
define	CQ_IKUNITS	Memi[$1+25]     # The result keyword values

define	CQ_IMCATDB	Memc[IOFFSET($1,0,0)] # The survey database name
define	CQ_IMCATNAME	Memc[IOFFSET($1,1,0)] # The survey name
define	CQ_IMNAME	Memc[IOFFSET($1,2,0)] # The image name

define	CQ_IMADDRESS	Memc[IOFFSET($1,3,0)] # Query address
define	CQ_IMQUERY	Memc[IOFFSET($1,3,1)] # Query string


define	CQ_HFMTSTR	"|none|http|"
define	CQ_HNONE	1
define	CQ_HHTTP	2