|
Packit |
f574b8 |
/*
|
|
Packit |
f574b8 |
* $LynxId: LYStructs.h,v 1.31 2013/10/03 08:56:47 tom Exp $
|
|
Packit |
f574b8 |
*/
|
|
Packit |
f574b8 |
#ifndef LYSTRUCTS_H
|
|
Packit |
f574b8 |
#define LYSTRUCTS_H
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#ifndef HTANCHOR_H
|
|
Packit |
f574b8 |
#include <HTAnchor.h>
|
|
Packit |
f574b8 |
#endif /* HTANCHOR_H */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#ifdef __cplusplus
|
|
Packit |
f574b8 |
extern "C" {
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
typedef struct {
|
|
Packit |
f574b8 |
char *hl_text;
|
|
Packit |
f574b8 |
short hl_x;
|
|
Packit |
f574b8 |
} HiliteInfo;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef struct {
|
|
Packit |
f574b8 |
HiliteInfo *hl_info;
|
|
Packit |
f574b8 |
HiliteInfo hl_base;
|
|
Packit |
f574b8 |
short hl_len; /* number of strings in this struct */
|
|
Packit |
f574b8 |
} HiliteList;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef struct {
|
|
Packit |
f574b8 |
char *lname;
|
|
Packit |
f574b8 |
char *target;
|
|
Packit |
f574b8 |
char *l_hightext;
|
|
Packit |
f574b8 |
BOOL inUnderline; /* TRUE when this link is in underlined context. */
|
|
Packit |
f574b8 |
int lx;
|
|
Packit |
f574b8 |
int ly;
|
|
Packit |
f574b8 |
int type; /* Type of link, Forms, WWW, etc. */
|
|
Packit |
f574b8 |
int sgml_offset; /* document offset used in reparsing */
|
|
Packit |
f574b8 |
int anchor_number; /* The anchor number within the HText structure. */
|
|
Packit |
f574b8 |
int anchor_line_num; /* The anchor line number in the HText structure. */
|
|
Packit |
f574b8 |
HiliteList list;
|
|
Packit |
f574b8 |
struct _FormInfo *l_form; /* Pointer to form info. */
|
|
Packit |
f574b8 |
} LinkInfo;
|
|
Packit |
f574b8 |
extern LinkInfo links[MAXLINKS];
|
|
Packit |
f574b8 |
extern int nlinks;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef struct {
|
|
Packit |
f574b8 |
/* FIXME: see DocAddress */
|
|
Packit |
f574b8 |
char *title;
|
|
Packit |
f574b8 |
char *address;
|
|
Packit |
f574b8 |
bstring *post_data;
|
|
Packit |
f574b8 |
char *post_content_type;
|
|
Packit |
f574b8 |
char *bookmark;
|
|
Packit |
f574b8 |
BOOL isHEAD;
|
|
Packit |
f574b8 |
BOOL safe;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
int link;
|
|
Packit |
f574b8 |
int line;
|
|
Packit |
f574b8 |
BOOL internal_link; /* whether doc was reached via an internal
|
|
Packit |
f574b8 |
(fragment) link. - kw */
|
|
Packit |
f574b8 |
#ifdef USE_COLOR_STYLE
|
|
Packit |
f574b8 |
char *style;
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
} DocInfo;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef struct {
|
|
Packit |
f574b8 |
DocInfo hdoc;
|
|
Packit |
f574b8 |
int intern_seq_start; /* indicates which element on the history
|
|
Packit |
f574b8 |
is the start of this sequence of
|
|
Packit |
f574b8 |
"internal links", otherwise -1 */
|
|
Packit |
f574b8 |
} HistInfo;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define HDOC(n) history[n].hdoc
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern int Visited_Links_As;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define VISITED_LINKS_AS_FIRST_V 0
|
|
Packit |
f574b8 |
#define VISITED_LINKS_AS_TREE 1
|
|
Packit |
f574b8 |
#define VISITED_LINKS_AS_LATEST 2
|
|
Packit |
f574b8 |
#define VISITED_LINKS_REVERSE 4
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef struct _VisitedLink {
|
|
Packit |
f574b8 |
char *title;
|
|
Packit |
f574b8 |
char *address;
|
|
Packit |
f574b8 |
int level;
|
|
Packit |
f574b8 |
struct _VisitedLink *next_tree;
|
|
Packit |
f574b8 |
struct _VisitedLink *prev_latest;
|
|
Packit |
f574b8 |
struct _VisitedLink *next_latest;
|
|
Packit |
f574b8 |
struct _VisitedLink *prev_first;
|
|
Packit |
f574b8 |
} VisitedLink;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern HistInfo *history;
|
|
Packit |
f574b8 |
extern int nhist;
|
|
Packit |
f574b8 |
extern int size_history;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/******************************************************************************/
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef struct _lynx_list_item_type {
|
|
Packit |
f574b8 |
struct _lynx_list_item_type *next; /* the next item in the linked list */
|
|
Packit |
f574b8 |
char *name; /* a description of the item */
|
|
Packit |
f574b8 |
char *menu_name; /* menu-name for EXTERNAL / EXTERNAL_MENU */
|
|
Packit |
f574b8 |
char *command; /* the command to execute */
|
|
Packit |
f574b8 |
BOOL always_enabled; /* a constant to tell whether or
|
|
Packit |
f574b8 |
* not to disable the printer
|
|
Packit |
f574b8 |
* when the no_print option is on
|
|
Packit |
f574b8 |
*/
|
|
Packit |
f574b8 |
/* HTML lists: */
|
|
Packit |
f574b8 |
BOOL override_action; /* whether primary action will be
|
|
Packit |
f574b8 |
* overridden by this - e.g. this
|
|
Packit |
f574b8 |
* allows invoking user's MUA when
|
|
Packit |
f574b8 |
* mailto: link is activated using
|
|
Packit |
f574b8 |
* normal "activate" command. This
|
|
Packit |
f574b8 |
* field is only examined by code that
|
|
Packit |
f574b8 |
* handles EXTERNAL command.
|
|
Packit |
f574b8 |
*/
|
|
Packit |
f574b8 |
/* PRINTER lists: */
|
|
Packit |
f574b8 |
int pagelen; /* an integer to store the printer's
|
|
Packit |
f574b8 |
* page length
|
|
Packit |
f574b8 |
*/
|
|
Packit |
f574b8 |
} lynx_list_item_type;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern lynx_list_item_type *printers;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/* for download commands */
|
|
Packit |
f574b8 |
extern lynx_list_item_type *downloaders;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/* for upload commands */
|
|
Packit |
f574b8 |
extern lynx_list_item_type *uploaders;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#ifdef USE_EXTERNALS
|
|
Packit |
f574b8 |
/* for external commands */
|
|
Packit |
f574b8 |
extern lynx_list_item_type *externals;
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/******************************************************************************/
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef struct {
|
|
Packit |
f574b8 |
const char *name;
|
|
Packit |
f574b8 |
int value;
|
|
Packit |
f574b8 |
} Config_Enum;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef int (*ParseFunc) (char *);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define ParseUnionMembers \
|
|
Packit |
f574b8 |
lynx_list_item_type** add_value; \
|
|
Packit |
f574b8 |
BOOLEAN * set_value; \
|
|
Packit |
f574b8 |
int * int_value; \
|
|
Packit |
f574b8 |
char ** str_value; \
|
|
Packit |
f574b8 |
ParseFunc fun_value; \
|
|
Packit |
f574b8 |
long def_value; \
|
|
Packit |
f574b8 |
HTList** lst_value
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef union {
|
|
Packit |
f574b8 |
ParseUnionMembers;
|
|
Packit |
f574b8 |
} ParseUnion;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define PARSE_DEBUG 1
|
|
Packit |
f574b8 |
#ifdef PARSE_DEBUG
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define ParseUnionPtr Config_Type *
|
|
Packit |
f574b8 |
#define ParseUnionOf(tbl) tbl
|
|
Packit |
f574b8 |
#define ParseData ParseUnionMembers
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define UNION_ADD(v) &v, 0, 0, 0, 0, 0, 0
|
|
Packit |
f574b8 |
#define UNION_SET(v) 0, &v, 0, 0, 0, 0, 0
|
|
Packit |
f574b8 |
#define UNION_INT(v) 0, 0, &v, 0, 0, 0, 0
|
|
Packit |
f574b8 |
#define UNION_STR(v) 0, 0, 0, &v, 0, 0, 0
|
|
Packit |
f574b8 |
#define UNION_ENV(v) 0, 0, 0, v, 0, 0, 0
|
|
Packit |
f574b8 |
#define UNION_FUN(v) 0, 0, 0, 0, v, 0, 0
|
|
Packit |
f574b8 |
#define UNION_DEF(v) 0, 0, 0, 0, 0, v, 0
|
|
Packit |
f574b8 |
#define UNION_LST(v) 0, 0, 0, 0, 0, 0, &v
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#else
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef void *ParseType;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define ParseUnionPtr ParseUnion *
|
|
Packit |
f574b8 |
#define ParseUnionOf(tbl) (ParseUnionPtr)(&(tbl->value))
|
|
Packit |
f574b8 |
#define ParseData ParseType value
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define UNION_ADD(v) (ParseType)&(v)
|
|
Packit |
f574b8 |
#define UNION_SET(v) (ParseType)&(v)
|
|
Packit |
f574b8 |
#define UNION_INT(v) (ParseType)&(v)
|
|
Packit |
f574b8 |
#define UNION_STR(v) (ParseType)&(v)
|
|
Packit |
f574b8 |
#define UNION_ENV(v) (ParseType) (v)
|
|
Packit |
f574b8 |
#define UNION_FUN(v) (ParseType) (v)
|
|
Packit |
f574b8 |
#define UNION_DEF(v) (ParseType) (v)
|
|
Packit |
f574b8 |
#define UNION_LST(v) (ParseType)&(v)
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#ifdef __cplusplus
|
|
Packit |
f574b8 |
}
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
#endif /* LYSTRUCTS_H */
|