aboutsummaryrefslogtreecommitdiff
path: root/pkg/xtools/catquery/cqdef.h
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/xtools/catquery/cqdef.h')
-rw-r--r--pkg/xtools/catquery/cqdef.h133
1 files changed, 133 insertions, 0 deletions
diff --git a/pkg/xtools/catquery/cqdef.h b/pkg/xtools/catquery/cqdef.h
new file mode 100644
index 00000000..6337bd9f
--- /dev/null
+++ b/pkg/xtools/catquery/cqdef.h
@@ -0,0 +1,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