]>
git.cameronkatri.com Git - mandoc.git/blob - ml.h
1 /* $Id: ml.h,v 1.12 2008/12/10 00:52:46 kristaps Exp $ */
3 * Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the
7 * above copyright notice and this permission notice appear in all
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17 * PERFORMANCE OF THIS SOFTWARE.
26 #define INDENT(x) ((x) > MAXINDENT ? MAXINDENT : (x))
45 int (*ml_begin
)(struct md_mbuf
*,
46 const struct md_args
*,
48 const char *, const char *,
49 enum roffmsec
, const char *);
50 int (*ml_end
)(struct md_mbuf
*,
51 const struct md_args
*);
52 ssize_t (*ml_beginstring
)(struct md_mbuf
*,
53 const struct md_args
*,
54 const char *, size_t);
55 ssize_t (*ml_endstring
)(struct md_mbuf
*,
56 const struct md_args
*,
57 const char *, size_t);
58 ssize_t (*ml_endtag
)(struct md_mbuf
*,
59 void *, const struct md_args
*,
61 ssize_t (*ml_begintag
)(struct md_mbuf
*,
62 void *, const struct md_args
*,
64 const int *, const char **);
65 int (*ml_alloc
)(void **);
66 void (*ml_free
)(void *);
71 int ml_putstring(struct md_mbuf
*,
72 const char *, size_t *);
73 int ml_nputstring(struct md_mbuf
*,
74 const char *, size_t, size_t *);
75 int ml_nputs(struct md_mbuf
*,
76 const char *, size_t, size_t *);
77 int ml_puts(struct md_mbuf
*, const char *, size_t *);
78 int ml_putchars(struct md_mbuf
*,
79 char, size_t, size_t *);
81 /* FIXME: move into mlg.h or private.h. */
82 struct md_mlg
*mlg_alloc(const struct md_args
*,
83 const struct md_rbuf
*, struct md_mbuf
*,
84 const struct ml_cbs
*);
85 int mlg_exit(struct md_mlg
*, int);
86 int mlg_line(struct md_mlg
*, char *);
88 int ml_tagput(struct md_mbuf
*,
89 enum ml_scope
, const char *, size_t *);