summaryrefslogtreecommitdiff
path: root/amiga_lib/include/interfaces/hubbub.h
blob: efd4227de96c80d4245844da5d91ddf621171193 (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
#ifndef HUBBUB_INTERFACE_DEF_H
#define HUBBUB_INTERFACE_DEF_H

/*
** This file was machine generated by idltool 53.1.
** Do not edit
*/ 

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef EXEC_EXEC_H
#include <exec/exec.h>
#endif
#ifndef EXEC_INTERFACES_H
#include <exec/interfaces.h>
#endif

#include "hubbub/parser.h"

#ifdef __cplusplus
#ifdef __USE_AMIGAOS_NAMESPACE__
namespace AmigaOS {
#endif
extern "C" {
#endif

struct HubbubIFace
{
	struct InterfaceData Data;

	uint32 APICALL (*HubbubObtain)(struct HubbubIFace *Self);
	uint32 APICALL (*HubbubRelease)(struct HubbubIFace *Self);
	void APICALL (*HubbubExpunge)(struct HubbubIFace *Self);
	struct Interface * APICALL (*HubbubClone)(struct HubbubIFace *Self);

	/* hubbub/errors.h */
	const char *(*hubbub_error_to_string)(hubbub_error error);

	/* hubbub/hubbub.h */
	/* lib private
	hubbub_error (*hubbub_initialise)(const char *aliases_file,
		hubbub_allocator_fn alloc, void *pw);

	hubbub_error (*hubbub_finalise)(hubbub_allocator_fn alloc, void *pw);
	*/

	/* hubbub/parser.h */
	hubbub_error (*hubbub_parser_create)(const char *enc, bool fix_enc,
		hubbub_allocator_fn alloc, void *pw, hubbub_parser **parser);
	hubbub_error (*hubbub_parser_destroy)(hubbub_parser *parser);
	hubbub_error (*hubbub_parser_setopt)(hubbub_parser *parser,
		hubbub_parser_opttype type, hubbub_parser_optparams *params);
	hubbub_error (*hubbub_parser_parse_chunk)(hubbub_parser *parser,
		const uint8_t *data, size_t len);
	hubbub_error (*hubbub_parser_completed)(hubbub_parser *parser);
	const char *(*hubbub_parser_read_charset)(hubbub_parser *parser,
		hubbub_charset_source *source);

	/* v2 */
	hubbub_error (*hubbub_parser_insert_chunk)(hubbub_parser *parser,
		const uint8_t *data, size_t len);
};

#ifdef __cplusplus
}
#ifdef __USE_AMIGAOS_NAMESPACE__
}
#endif
#endif

#endif /* HUBBUB_INTERFACE_DEF_H */