diff options
Diffstat (limited to 'pkg/xtools/catquery/cqdef.h')
-rw-r--r-- | pkg/xtools/catquery/cqdef.h | 133 |
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 |