![]() ![]() | ![]() |
version 1.62, 2015/11/07 14:01:16 | version 1.73, 2018/08/23 19:33:27 | ||
---|---|---|---|
|
|
||
/* $Id$ */ | /* $Id$ */ | ||
/* | /* | ||
* Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> | * Copyright (c) 2009, 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> | ||
* Copyright (c) 2013, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org> | * Copyright (c) 2013,2014,2015,2017,2018 Ingo Schwarze <schwarze@openbsd.org> | ||
* | * | ||
* 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 | ||
|
|
||
ROFF_RERUN, /* re-run roff interpreter with offset */ | ROFF_RERUN, /* re-run roff interpreter with offset */ | ||
ROFF_APPEND, /* re-run main parser, appending next line */ | ROFF_APPEND, /* re-run main parser, appending next line */ | ||
ROFF_REPARSE, /* re-run main parser on the result */ | ROFF_REPARSE, /* re-run main parser on the result */ | ||
ROFF_USERCALL, /* dto., calling a user-defined macro */ | |||
ROFF_USERRET, /* abort parsing of user-defined macro */ | |||
ROFF_SO, /* include another file */ | ROFF_SO, /* include another file */ | ||
ROFF_IGN, /* ignore current line */ | ROFF_IGN, /* ignore current line */ | ||
ROFF_TBL, /* a table row was successfully parsed */ | |||
ROFF_EQN /* an equation was successfully parsed */ | |||
}; | }; | ||
struct buf { | struct buf { | ||
char *buf; | char *buf; | ||
size_t sz; | size_t sz; | ||
struct buf *next; | |||
}; | }; | ||
struct mparse; | struct mparse; | ||
struct tbl_span; | |||
struct eqn; | |||
struct roff; | struct roff; | ||
struct roff_man; | struct roff_man; | ||
struct roff_node; | |||
void mandoc_msg(enum mandocerr, struct mparse *, | void mandoc_msg(enum mandocerr, struct mparse *, | ||
int, int, const char *); | int, int, const char *); | ||
#if __GNUC__ - 0 >= 4 | |||
__attribute__((__format__ (__printf__, 5, 6))) | |||
#endif | |||
void mandoc_vmsg(enum mandocerr, struct mparse *, | void mandoc_vmsg(enum mandocerr, struct mparse *, | ||
int, int, const char *, ...); | int, int, const char *, ...) | ||
__attribute__((__format__ (__printf__, 5, 6))); | |||
char *mandoc_getarg(struct mparse *, char **, int, int *); | char *mandoc_getarg(struct mparse *, char **, int, int *); | ||
char *mandoc_normdate(struct mparse *, char *, int, int); | char *mandoc_normdate(struct roff_man *, char *, int, int); | ||
int mandoc_eos(const char *, size_t); | int mandoc_eos(const char *, size_t); | ||
int mandoc_strntoi(const char *, size_t, int); | int mandoc_strntoi(const char *, size_t, int); | ||
const char *mandoc_a2msec(const char*); | const char *mandoc_a2msec(const char*); | ||
void mdoc_hash_init(void); | |||
int mdoc_parseln(struct roff_man *, int, char *, int); | int mdoc_parseln(struct roff_man *, int, char *, int); | ||
void mdoc_endparse(struct roff_man *); | void mdoc_endparse(struct roff_man *); | ||
void man_hash_init(void); | |||
int man_parseln(struct roff_man *, int, char *, int); | int man_parseln(struct roff_man *, int, char *, int); | ||
void man_endparse(struct roff_man *); | void man_endparse(struct roff_man *); | ||
int preconv_cue(const struct buf *, size_t); | int preconv_cue(const struct buf *, size_t); | ||
int preconv_encode(struct buf *, size_t *, | int preconv_encode(const struct buf *, size_t *, | ||
struct buf *, size_t *, int *); | struct buf *, size_t *, int *); | ||
void roff_free(struct roff *); | void roff_free(struct roff *); | ||
|
|
||
const char *, int); | const char *, int); | ||
void roff_man_reset(struct roff_man *); | void roff_man_reset(struct roff_man *); | ||
enum rofferr roff_parseln(struct roff *, int, struct buf *, int *); | enum rofferr roff_parseln(struct roff *, int, struct buf *, int *); | ||
void roff_userret(struct roff *); | |||
void roff_endparse(struct roff *); | void roff_endparse(struct roff *); | ||
void roff_setreg(struct roff *, const char *, int, char sign); | void roff_setreg(struct roff *, const char *, int, char sign); | ||
int roff_getreg(const struct roff *, const char *); | int roff_getreg(struct roff *, const char *); | ||
char *roff_strdup(const struct roff *, const char *); | char *roff_strdup(const struct roff *, const char *); | ||
int roff_getcontrol(const struct roff *, | int roff_getcontrol(const struct roff *, | ||
const char *, int *); | const char *, int *); | ||
int roff_getformat(const struct roff *); | int roff_getformat(const struct roff *); | ||
const struct tbl_span *roff_span(const struct roff *); | |||
const struct eqn *roff_eqn(const struct roff *); |