/***********************************************************************\

	Product Number: SC-02-5.7

	Version: rev5.7

	Product Name: Spelling Components basic code

	Filename: query.h


	This document contains private and confidential information and
	its disclosure does not constitute publication.  Some of the
	information herein also may appear in United States and or
	Foreign Patents Pending.  All rights are reserved by Proximity
	Technology Inc., except those specifically granted by license.

\***********************************************************************/

#ifndef SC_QUERY
#define SC_QUERY

#ifndef _PROXLIB
#include <proxlib.h>
#endif

#ifndef SC_SCDEF
#include "scdef.h"
#endif

/* QUERY.qu_info codes */

#define QU_WORD         0x01    /* Query segment is a word. */
#define QU_PREFIX       0x02    /* Query segment is a apostrophe prefix. */
#define QU_SEP          0x03    /* Query segment is a hyphen or apos sep. */
#define QU_ERROR        0x80    /* Query segment is in error. */

/* This structure contains information about the current query. */

typedef struct {
	int     qu_flags;       /* The flags for the query */
	int     qu_len;         /* The length of the doflagged query */
	int     qu_wlist;       /* Wordlist idenitifier */
	int     qu_wflags;      /* Wordlist flags */
	UCHAR   qu_word[MAXWORD];/* The query itself */
	UCHAR   qu_info[MAXWORD];/* Info about the query segments */
	UCHAR   qu_lookup[LONGWORD];/* The lookup form of the query */
} QUERY;

/* Defines for Query structure fields */

#define Quflags  Query.qu_flags
#define Qulen    Query.qu_len
#define Quwlist  Query.qu_wlist
#define Quwflags Query.qu_wflags
#define Quword   Query.qu_word
#define Quinfo   Query.qu_info
#define Qulookup Query.qu_lookup

extern QUERY Query;             /* The current query information. */

#endif
