summaryrefslogtreecommitdiff
path: root/support/dktools/hbhtml.h
blob: 1f94bcfc0e38c537091b49c0b51fb50cc5081cdf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/*
Copyright (C) 2013-2020, Dirk Krause
SPDX-License-Identifier: BSD-3-Clause
*/

/*
	WARNING: This file was generated by the dkct program (see
	http://dktools.sourceforge.net/ for details).
	Changes you make here will be lost if dkct is run again!
	You should modify the original source and run dkct on it.
	Original source: hbhtml.ctr
*/

/**	@file hbhtml.h Header file for the hbhtml module.
*/

#ifndef HBHTML_H_INCLUDED
/** Avoid multiple inclusions. */
#define HBHTML_H_INCLUDED 1


#line 9 "hbhtml.ctr"

#ifdef __cplusplus
extern "C" {
#endif

/**	Write one HTML file.
	@param	job		Job structure.
	@param	nodeptr		Node for file to write.
	@param	p		Previous node.
	@param	n		Next node.
*/
void
hbhtml_write_file(hb_job_t *job,hb_node_t *nodeptr,hb_node_t *p,hb_node_t *n);

/**	Write one 32-bit character to HTML output.
	@param	job	Job structure.
	@param	c32	Character to write.
*/
void
hbhtml_c32(hb_job_t *job, dk3_c32_t c32);

/**	Write some text as HTML.
	@param	job	Job structure.
	@param	text	Text to write.
	@return	1 on success, 0 on error.
*/
int
hbhtml_output_for_text(hb_job_t *job, dkChar const *text);

/**	Write some URL text as HTML.
	@param	job	Job structure.
	@param	text	Text to write.
	@return	1 on success, 0 on error.
*/
int
hbhtml_url_output_for_text(hb_job_t *job, dkChar const *text);

/**	Handle one input line, either from template or from text file.
	@param	obj	Line processor structure.
	@param	il	Input line to process.
	@return	1 on success, 0 on error (continue), -1 on error (exit).
*/
int
hbhtml_line_handler(void *obj, dkChar *il);

/**	Construct output file name.
	@param	dptr	Destination buffer pointer.
	@param	sz	Destination buffer size.
	@param	job	Job structure.
	@param	nptr	Node to process.
	@return	1 on success, 0 on error.
*/
int
hbhtml_create_output_filename(
  dkChar	*dptr,
  size_t 	 sz,
  hb_job_t	*job,
  hb_node_t	*nptr
);

/**	Check whether a link is an external link (http:// or ftp://
	at start).
	@param	link	Link to check.
	@return	1 for external links, 0 for internal links.
*/
int
hbhtml_check_link_for_external(dkChar const *link);

/**	Find HTML doctype for a node.
	@param	job	Htmlbook job.
	@param	nodeptr	Node to start search.
	@return	Doctype for node or job.
*/
int
hbhtml_get_doctype(
  hb_job_t	*job,
  hb_node_t	*nodeptr
);

#ifdef __cplusplus
}
#endif



#endif