/*
* SMAPI; Modified Squish MSGAPI
*
* Squish MSGAPI0 is copyright 1991 by Scott J. Dudley. All rights reserved.
* Modifications released to the public domain.
*
* Use of this file is subject to the restrictions contain in the Squish
* MSGAPI0 licence agreement. Please refer to licence.txt for complete
* details of the licencing restrictions. If you do not find the text
* of this agreement in licence.txt, or if you do not have this file,
* you should contact Scott Dudley at FidoNet node 1:249/106 or Internet
* e-mail Scott.Dudley@f106.n249.z1.fidonet.org.
*
* In no event should you proceed to use any of the source files in this
* archive without having accepted the terms of the MSGAPI0 licensing
* agreement, or such other agreement as you are able to reach with the
* author.
*/
#ifndef __API_BROW_H__
#define __API_BROW_H__
#define BROWSE_ACUR 0x0001 /* Scan current area only */
#define BROWSE_ATAG 0x0002 /* Scan only marked areas */
#define BROWSE_AALL 0x0004 /* Scan ALL areas */
#define BROWSE_ALL 0x0008 /* Scan all messages in area */
#define BROWSE_NEW 0x0010 /* Scan only msgs since lastread */
#define BROWSE_SEARCH 0x0020 /* Search all msgs in area based on criteria */
#define BROWSE_FROM 0x0040 /* Search from msg#XX and up */
#define BROWSE_READ 0x0100 /* Show messages in full form */
#define BROWSE_LIST 0x0200 /* Display msg headers only */
#define BROWSE_QWK 0x0400 /* QWK file format download */
#define BROWSE_GETTXT 0x0800 /* We have to read msg text when scanning */
#define BROWSE_EXACT 0x1000 /* Match search strings EXACTLY, ie. use
* stricmp(), not stristr(). */
#define BROWSE_HASH 0x2000 /* Use hash compare for this one only */
#define BROWSE_AREA (BROWSE_ACUR | BROWSE_ATAG | BROWSE_AALL)
#define BROWSE_TYPE (BROWSE_ALL | BROWSE_NEW | BROWSE_SEARCH | BROWSE_FROM)
#define BROWSE_DISPLAY (BROWSE_READ | BROWSE_LIST | BROWSE_QWK)
#define SF_HAS_ATTR 0x01
#define SF_NOT_ATTR 0x02
#define SF_OR 0x04
#define SF_AND 0x08
#define WHERE_TO 0x01
#define WHERE_FROM 0x02
#define WHERE_SUBJ 0x04
#define WHERE_BODY 0x08
#define WHERE_ALL (WHERE_TO | WHERE_FROM | WHERE_SUBJ | WHERE_BODY)
#define SCAN_BLOCK_SDM 48 /* # of msgs to read in from scanfile at once
* from SCANFILE.DAT. */
#define SCAN_BLOCK_SQUISH 512 /* Same as above, but for xxxxxxxx.SQI */
typedef struct _search
{
struct _search *next;
long attr;
int flag;
char *txt;
char where;
}
SEARCH;
struct _browse;
typedef struct _browse BROWSE;
struct _browse
{
char *path;
word type;
word bflag;
dword bdata;
SEARCH *first;
char *nonstop;
dword msgn;
MSGA *sq;
MSGH *m;
XMSG msg;
word matched;
int (*Begin_Ptr) (BROWSE * b);
int (*Status_Ptr) (BROWSE * b, char *aname, int colour);
int (*Idle_Ptr) (BROWSE * b);
int (*Display_Ptr) (BROWSE * b);
int (*After_Ptr) (BROWSE * b);
int (*End_Ptr) (BROWSE * b);
int (*Match_Ptr) (BROWSE * b);
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1