1 /*
2 Copyright (C) 2015-2021, Dirk Krause
3 SPDX-License-Identifier: BSD-3-Clause
4 */
5 
6 /*
7 	WARNING: This file was generated by the dkct program (see
8 	http://dktools.sourceforge.net/ for details).
9 	Changes you make here will be lost if dkct is run again!
10 	You should modify the original source and run dkct on it.
11 	Original source: dk4tspdk.ctr
12 */
13 
14 /**	@file dk4tspdk.c The dk4tspdk module.
15 */
16 
17 
18 
19 
20 #include "dk4conf.h"
21 #include <libdk4c/dk4tspdk.h>
22 #include <libdk4base/dk4unused.h>
23 
24 #if DK4_HAVE_ASSERT_H
25 #ifndef	ASSERT_H_INCLUDED
26 #include <assert.h>
27 #define	ASSERT_H_INCLUDED 1
28 #endif
29 #endif
30 
31 
32 int
dk4tspdk_setup_char(dk4_tspdk_t * tsp,void * obj,dk4_dk_handler_t * fct,int pre,int eie,dk4_er_t * erp)33 dk4tspdk_setup_char(
34   dk4_tspdk_t		*tsp,
35   void			*obj,
36   dk4_dk_handler_t	*fct,
37 #if 1 == DK4_CHAR_SIZE
38   int			 pre,
39 #else
40   int			 DK4_ARG_UNUSED(pre),
41 #endif
42   int			 eie,
43   dk4_er_t		*erp
44 )
45 {
46 #if DK4_CHAR_SIZE > 1
47   DK4_UNUSED_ARG(pre)
48 #endif
49 #if	DK4_USE_ASSERT
50 	assert(NULL != tsp);
51 #endif
52 #if DK4_CHAR_SIZE > 1
53 #if DK4_CHAR_SIZE > 2
54   return (dk4tsp32_setup_char(tsp, obj, fct, eie, erp));
55 #else
56   return (dk4tsp16_setup_char(tsp, obj, fct, eie, erp));
57 #endif
58 #else
59   return (dk4tsp08_setup_char(tsp, obj, fct, pre, eie, erp));
60 #endif
61 }
62 
63 
64 
65 int
dk4tspdk_setup_line(dk4_tspdk_t * tsp,void * obj,dk4_dk_line_handler_t * fct,dkChar * inbuf,size_t szin,int pre,int eie,dk4_er_t * erp)66 dk4tspdk_setup_line(
67   dk4_tspdk_t		*tsp,
68   void			*obj,
69   dk4_dk_line_handler_t	*fct,
70   dkChar		*inbuf,
71   size_t		 szin,
72 #if 1 == DK4_CHAR_SIZE
73   int			 pre,
74 #else
75   int			 DK4_ARG_UNUSED(pre),
76 #endif
77   int			 eie,
78   dk4_er_t		*erp
79 )
80 {
81 #if DK4_CHAR_SIZE > 1
82   DK4_UNUSED_ARG(pre)
83 #endif
84 #if	DK4_USE_ASSERT
85 	assert(NULL != tsp);
86 	assert(NULL != inbuf);
87 	assert(0 < szin);
88 #endif
89 #if DK4_CHAR_SIZE > 1
90 #if DK4_CHAR_SIZE > 2
91   return (dk4tsp32_setup_line(tsp, obj, fct, inbuf, szin, eie, erp));
92 #else
93   return (dk4tsp16_setup_line(tsp, obj, fct, inbuf, szin, eie, erp));
94 #endif
95 #else
96   return (dk4tsp08_setup_line(tsp, obj, fct, inbuf, szin, pre, eie, erp));
97 #endif
98 }
99 
100 
101 
102 int
dk4tspdk_add_one_byte(dk4_tspdk_t * tsp,unsigned char inbyte)103 dk4tspdk_add_one_byte(
104   dk4_tspdk_t	*tsp,
105   unsigned char	 inbyte
106 )
107 {
108 #if	DK4_USE_ASSERT
109 	assert(NULL != tsp);
110 #endif
111 #if DK4_CHAR_SIZE > 1
112 #if DK4_CHAR_SIZE > 2
113   return (dk4tsp32_add_one_byte(tsp, inbyte));
114 #else
115   return (dk4tsp16_add_one_byte(tsp, inbyte));
116 #endif
117 #else
118   return (dk4tsp08_add_one_byte(tsp, inbyte));
119 #endif
120 }
121 
122 
123 
124 int
dk4tspdk_add_bytes(dk4_tspdk_t * tsp,const unsigned char * buffer,size_t sz)125 dk4tspdk_add_bytes(
126   dk4_tspdk_t		*tsp,
127   const unsigned char	*buffer,
128   size_t		 sz
129 )
130 {
131 #if	DK4_USE_ASSERT
132 	assert(NULL != tsp);
133 	assert(NULL != buffer);
134 	assert(0 < sz);
135 #endif
136 #if DK4_CHAR_SIZE > 1
137 #if DK4_CHAR_SIZE > 2
138   return (dk4tsp32_add_bytes(tsp, buffer, sz));
139 #else
140   return (dk4tsp16_add_bytes(tsp, buffer, sz));
141 #endif
142 #else
143   return (dk4tsp08_add_bytes(tsp, buffer, sz));
144 #endif
145 }
146 
147 
148 
149 int
dk4tspdk_finish(dk4_tspdk_t * tsp)150 dk4tspdk_finish(dk4_tspdk_t *tsp)
151 {
152 #if	DK4_USE_ASSERT
153 	assert(NULL != tsp);
154 #endif
155 #if DK4_CHAR_SIZE > 1
156 #if DK4_CHAR_SIZE > 2
157   return (dk4tsp32_finish(tsp));
158 #else
159   return (dk4tsp16_finish(tsp));
160 #endif
161 #else
162   return (dk4tsp08_finish(tsp));
163 #endif
164 }
165 
166 
167 
168 void
dk4tspdk_get_errors(dk4_er_t * er_en,dk4_er_t * er_pr,dk4_tspdk_t const * tsp)169 dk4tspdk_get_errors(dk4_er_t *er_en, dk4_er_t *er_pr, dk4_tspdk_t const *tsp)
170 {
171 #if	DK4_USE_ASSERT
172 	assert(NULL != tsp);
173 #endif
174 #if DK4_CHAR_SIZE > 1
175 #if DK4_CHAR_SIZE > 2
176   dk4tsp32_get_errors(er_en, er_pr, tsp);
177 #else
178   dk4tsp16_get_errors(er_en, er_pr, tsp);
179 #endif
180 #else
181   dk4tsp08_get_errors(er_en, er_pr, tsp);
182 #endif
183 }
184 
185 
186 
187 void
dk4tspdk_enable_utf8_pass_through(dk4_tspdk_t * tsp,int fl)188 dk4tspdk_enable_utf8_pass_through(
189 #if 1 == DK4_CHAR_SIZE
190 	dk4_tspdk_t *tsp,
191 	int fl
192 #else
193 	dk4_tspdk_t * DK4_ARG_UNUSED(tsp),
194 	int DK4_ARG_UNUSED(fl)
195 #endif
196 )
197 {
198 #if DK4_CHAR_SIZE > 1
199   DK4_UNUSED_ARG(tsp)
200   DK4_UNUSED_ARG(fl)
201 #endif
202 #if	DK4_USE_ASSERT
203 	assert(NULL != tsp);
204 #endif
205 #if DK4_CHAR_SIZE == 1
206   dk4tsp08_enable_utf8_pass_through(tsp, fl);
207 #endif
208 }
209 
210 
211