![]() ![]() | ![]() |
version 1.11, 2009/04/12 19:45:26 | version 1.17, 2009/08/13 11:45:29 | ||
---|---|---|---|
|
|
||
/* $Id$ */ | /* $Id$ */ | ||
/* | /* | ||
* Copyright (c) 2009 Kristaps Dzonsons <kristaps@openbsd.org> | * Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se> | ||
* | * | ||
* Permission to use, copy, modify, and distribute this software for any | * Permission to use, copy, modify, and distribute this software for any | ||
* purpose with or without fee is hereby granted, provided that the above | * purpose with or without fee is hereby granted, provided that the above | ||
|
|
||
#include <time.h> | #include <time.h> | ||
#define MAN___ 0 | #define MAN_br 0 | ||
#define MAN_TH 1 | #define MAN_TH 1 | ||
#define MAN_SH 2 | #define MAN_SH 2 | ||
#define MAN_SS 3 | #define MAN_SS 3 | ||
|
|
||
#define MAN_I 18 | #define MAN_I 18 | ||
#define MAN_IR 19 | #define MAN_IR 19 | ||
#define MAN_RI 20 | #define MAN_RI 20 | ||
#define MAN_br 21 | #define MAN_na 21 | ||
#define MAN_na 22 | #define MAN_i 22 | ||
#define MAN_i 23 | #define MAN_sp 23 | ||
#define MAN_MAX 24 | #define MAN_nf 24 | ||
#define MAN_fi 25 | |||
#define MAN_r 26 | |||
#define MAN_MAX 27 | |||
enum man_type { | enum man_type { | ||
MAN_TEXT, | MAN_TEXT, | ||
MAN_ELEM, | MAN_ELEM, | ||
MAN_ROOT | MAN_ROOT, | ||
MAN_BLOCK, | |||
MAN_HEAD, | |||
MAN_BODY | |||
}; | }; | ||
struct man_meta { | struct man_meta { | ||
|
|
||
struct man_node *child; | struct man_node *child; | ||
struct man_node *next; | struct man_node *next; | ||
struct man_node *prev; | struct man_node *prev; | ||
int nchild; | |||
int line; | int line; | ||
int pos; | int pos; | ||
int tok; | int tok; | ||
|
|
||
#define MAN_ACTED (1 << 1) | #define MAN_ACTED (1 << 1) | ||
enum man_type type; | enum man_type type; | ||
char *string; | char *string; | ||
struct man_node *head; | |||
struct man_node *body; | |||
}; | }; | ||
#define MAN_IGN_MACRO (1 << 0) /* Ignore unknown macros. */ | #define MAN_IGN_MACRO (1 << 0) | ||
#define MAN_IGN_CHARS (1 << 1) | |||
#define MAN_IGN_ESCAPE (1 << 2) | |||
extern const char *const *man_macronames; | extern const char *const *man_macronames; | ||