Release and update docs.
[lms] / www / api / group__LMS__CHARSET.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>Light Media Scanner: Charset Conversion</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.6 -->
8 <div class="navigation" id="top">
9   <div class="tabs">
10     <ul>
11       <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12       <li><a href="modules.html"><span>Modules</span></a></li>
13       <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
14       <li><a href="files.html"><span>Files</span></a></li>
15     </ul>
16   </div>
17 </div>
18 <div class="contents">
19 <h1>Charset Conversion</h1><table border="0" cellpadding="0" cellspacing="0">
20 <tr><td></td></tr>
21 <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
22 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct lms_charset_conv&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a></td></tr>
23
24 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
25 <tr><td class="memItemLeft" nowrap align="right" valign="top">API <a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__CHARSET.html#g893421821eacaa0fd2020c872361af15">lms_charset_conv_new_full</a> (int use_check, int use_fallback) GNUC_MALLOC GNUC_WARN_UNUSED_RESULT</td></tr>
26
27 <tr><td class="memItemLeft" nowrap align="right" valign="top">API <a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__CHARSET.html#g0120c222a55e6d7d9bb24300300561ab">lms_charset_conv_new</a> (void) GNUC_MALLOC GNUC_WARN_UNUSED_RESULT</td></tr>
28
29 <tr><td class="memItemLeft" nowrap align="right" valign="top">API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__CHARSET.html#g960ce31bca428212abdd60c12b878091">lms_charset_conv_free</a> (<a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *lcc) GNUC_NON_NULL(1)</td></tr>
30
31 <tr><td class="memItemLeft" nowrap align="right" valign="top">API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__CHARSET.html#gfc1aad4c212b5fa1ce7280d2b7df3ef7">lms_charset_conv_add</a> (<a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *lcc, const char *charset) GNUC_NON_NULL(1</td></tr>
32
33 <tr><td class="memItemLeft" nowrap align="right" valign="top">API int API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__CHARSET.html#gc364c502a4a4a64ea9f092a61074a90a">lms_charset_conv_del</a> (<a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *lcc, const char *charset) GNUC_NON_NULL(1</td></tr>
34
35 <tr><td class="memItemLeft" nowrap align="right" valign="top">API int API int API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__CHARSET.html#gd843f59abac208048f13437534d589fc">lms_charset_conv</a> (<a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *lcc, char **p_str, unsigned int *p_len) GNUC_NON_NULL(1</td></tr>
36
37 <tr><td class="memItemLeft" nowrap align="right" valign="top">API int API int API int API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__CHARSET.html#g9a610040a6380c745277effc5c4c9112">lms_charset_conv_force</a> (<a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *lcc, char **p_str, unsigned int *p_len) GNUC_NON_NULL(1</td></tr>
38
39 <tr><td class="memItemLeft" nowrap align="right" valign="top">API int API int API int API <br>
40 int API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__CHARSET.html#gbc8903e67c3c7eefa902cbb2bd5e3338">lms_charset_conv_check</a> (<a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *lcc, const char *str, unsigned int len) GNUC_NON_NULL(1</td></tr>
41
42 </table>
43 <hr><a name="_details"></a><h2>Detailed Description</h2>
44 Utilities to convert strings to UTF-8, the charset used in database. <hr><h2>Typedef Documentation</h2>
45 <a class="anchor" name="g50e57a19bb3d062fe7eea437a8b8e949"></a><!-- doxytag: member="lightmediascanner_charset_conv.h::lms_charset_conv_t" ref="g50e57a19bb3d062fe7eea437a8b8e949" args="" -->
46 <div class="memitem">
47 <div class="memproto">
48       <table class="memname">
49         <tr>
50           <td class="memname">typedef struct lms_charset_conv <a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a>          </td>
51         </tr>
52       </table>
53 </div>
54 <div class="memdoc">
55
56 <p>
57
58 <p>Definition at line <a class="el" href="lightmediascanner__charset__conv_8h-source.html#l00072">72</a> of file <a class="el" href="lightmediascanner__charset__conv_8h-source.html">lightmediascanner_charset_conv.h</a>.</p>
59
60 </div>
61 </div><p>
62 <hr><h2>Function Documentation</h2>
63 <a class="anchor" name="gd843f59abac208048f13437534d589fc"></a><!-- doxytag: member="lightmediascanner_charset_conv.h::lms_charset_conv" ref="gd843f59abac208048f13437534d589fc" args="(lms_charset_conv_t *lcc, char **p_str, unsigned int *p_len) GNUC_NON_NULL(1" -->
64 <div class="memitem">
65 <div class="memproto">
66       <table class="memname">
67         <tr>
68           <td class="memname">API int API int API int lms_charset_conv           </td>
69           <td>(</td>
70           <td class="paramtype"><a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *&nbsp;</td>
71           <td class="paramname"> <em>lcc</em>, </td>
72         </tr>
73         <tr>
74           <td class="paramkey"></td>
75           <td></td>
76           <td class="paramtype">char **&nbsp;</td>
77           <td class="paramname"> <em>p_str</em>, </td>
78         </tr>
79         <tr>
80           <td class="paramkey"></td>
81           <td></td>
82           <td class="paramtype">unsigned int *&nbsp;</td>
83           <td class="paramname"> <em>p_len</em></td><td>&nbsp;</td>
84         </tr>
85         <tr>
86           <td></td>
87           <td>)</td>
88           <td></td><td></td><td></td>
89         </tr>
90       </table>
91 </div>
92 <div class="memdoc">
93
94 <p>
95
96 </div>
97 </div><p>
98 <a class="anchor" name="gfc1aad4c212b5fa1ce7280d2b7df3ef7"></a><!-- doxytag: member="lightmediascanner_charset_conv.h::lms_charset_conv_add" ref="gfc1aad4c212b5fa1ce7280d2b7df3ef7" args="(lms_charset_conv_t *lcc, const char *charset) GNUC_NON_NULL(1" -->
99 <div class="memitem">
100 <div class="memproto">
101       <table class="memname">
102         <tr>
103           <td class="memname">API int lms_charset_conv_add           </td>
104           <td>(</td>
105           <td class="paramtype"><a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *&nbsp;</td>
106           <td class="paramname"> <em>lcc</em>, </td>
107         </tr>
108         <tr>
109           <td class="paramkey"></td>
110           <td></td>
111           <td class="paramtype">const char *&nbsp;</td>
112           <td class="paramname"> <em>charset</em></td><td>&nbsp;</td>
113         </tr>
114         <tr>
115           <td></td>
116           <td>)</td>
117           <td></td><td></td><td></td>
118         </tr>
119       </table>
120 </div>
121 <div class="memdoc">
122
123 <p>
124
125 </div>
126 </div><p>
127 <a class="anchor" name="gbc8903e67c3c7eefa902cbb2bd5e3338"></a><!-- doxytag: member="lightmediascanner_charset_conv.h::lms_charset_conv_check" ref="gbc8903e67c3c7eefa902cbb2bd5e3338" args="(lms_charset_conv_t *lcc, const char *str, unsigned int len) GNUC_NON_NULL(1" -->
128 <div class="memitem">
129 <div class="memproto">
130       <table class="memname">
131         <tr>
132           <td class="memname">API int API int API int API int API int lms_charset_conv_check           </td>
133           <td>(</td>
134           <td class="paramtype"><a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *&nbsp;</td>
135           <td class="paramname"> <em>lcc</em>, </td>
136         </tr>
137         <tr>
138           <td class="paramkey"></td>
139           <td></td>
140           <td class="paramtype">const char *&nbsp;</td>
141           <td class="paramname"> <em>str</em>, </td>
142         </tr>
143         <tr>
144           <td class="paramkey"></td>
145           <td></td>
146           <td class="paramtype">unsigned int&nbsp;</td>
147           <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
148         </tr>
149         <tr>
150           <td></td>
151           <td>)</td>
152           <td></td><td></td><td></td>
153         </tr>
154       </table>
155 </div>
156 <div class="memdoc">
157
158 <p>
159
160 </div>
161 </div><p>
162 <a class="anchor" name="gc364c502a4a4a64ea9f092a61074a90a"></a><!-- doxytag: member="lightmediascanner_charset_conv.h::lms_charset_conv_del" ref="gc364c502a4a4a64ea9f092a61074a90a" args="(lms_charset_conv_t *lcc, const char *charset) GNUC_NON_NULL(1" -->
163 <div class="memitem">
164 <div class="memproto">
165       <table class="memname">
166         <tr>
167           <td class="memname">API int API int lms_charset_conv_del           </td>
168           <td>(</td>
169           <td class="paramtype"><a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *&nbsp;</td>
170           <td class="paramname"> <em>lcc</em>, </td>
171         </tr>
172         <tr>
173           <td class="paramkey"></td>
174           <td></td>
175           <td class="paramtype">const char *&nbsp;</td>
176           <td class="paramname"> <em>charset</em></td><td>&nbsp;</td>
177         </tr>
178         <tr>
179           <td></td>
180           <td>)</td>
181           <td></td><td></td><td></td>
182         </tr>
183       </table>
184 </div>
185 <div class="memdoc">
186
187 <p>
188
189 </div>
190 </div><p>
191 <a class="anchor" name="g9a610040a6380c745277effc5c4c9112"></a><!-- doxytag: member="lightmediascanner_charset_conv.h::lms_charset_conv_force" ref="g9a610040a6380c745277effc5c4c9112" args="(lms_charset_conv_t *lcc, char **p_str, unsigned int *p_len) GNUC_NON_NULL(1" -->
192 <div class="memitem">
193 <div class="memproto">
194       <table class="memname">
195         <tr>
196           <td class="memname">API int API int API int API int lms_charset_conv_force           </td>
197           <td>(</td>
198           <td class="paramtype"><a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *&nbsp;</td>
199           <td class="paramname"> <em>lcc</em>, </td>
200         </tr>
201         <tr>
202           <td class="paramkey"></td>
203           <td></td>
204           <td class="paramtype">char **&nbsp;</td>
205           <td class="paramname"> <em>p_str</em>, </td>
206         </tr>
207         <tr>
208           <td class="paramkey"></td>
209           <td></td>
210           <td class="paramtype">unsigned int *&nbsp;</td>
211           <td class="paramname"> <em>p_len</em></td><td>&nbsp;</td>
212         </tr>
213         <tr>
214           <td></td>
215           <td>)</td>
216           <td></td><td></td><td></td>
217         </tr>
218       </table>
219 </div>
220 <div class="memdoc">
221
222 <p>
223
224 </div>
225 </div><p>
226 <a class="anchor" name="g960ce31bca428212abdd60c12b878091"></a><!-- doxytag: member="lightmediascanner_charset_conv.h::lms_charset_conv_free" ref="g960ce31bca428212abdd60c12b878091" args="(lms_charset_conv_t *lcc) GNUC_NON_NULL(1)" -->
227 <div class="memitem">
228 <div class="memproto">
229       <table class="memname">
230         <tr>
231           <td class="memname">API void lms_charset_conv_free           </td>
232           <td>(</td>
233           <td class="paramtype"><a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *&nbsp;</td>
234           <td class="paramname"> <em>lcc</em>          </td>
235           <td>&nbsp;)&nbsp;</td>
236           <td></td>
237         </tr>
238       </table>
239 </div>
240 <div class="memdoc">
241
242 <p>
243 Free existing charset conversion tool.<p>
244 <dl compact><dt><b>Parameters:</b></dt><dd>
245   <table border="0" cellspacing="2" cellpadding="0">
246     <tr><td valign="top"></td><td valign="top"><em>lcc</em>&nbsp;</td><td>existing Light Media Scanner charset conversion. </td></tr>
247   </table>
248 </dl>
249
250 <p>Definition at line <a class="el" href="lightmediascanner__charset__conv_8c-source.html#l00112">112</a> of file <a class="el" href="lightmediascanner__charset__conv_8c-source.html">lightmediascanner_charset_conv.c</a>.</p>
251
252 <p>Referenced by <a class="el" href="lightmediascanner_8c-source.html#l00157">lms_free()</a>, and <a class="el" href="lightmediascanner_8c-source.html#l00119">lms_new()</a>.</p>
253
254 </div>
255 </div><p>
256 <a class="anchor" name="g0120c222a55e6d7d9bb24300300561ab"></a><!-- doxytag: member="lightmediascanner_charset_conv.h::lms_charset_conv_new" ref="g0120c222a55e6d7d9bb24300300561ab" args="(void) GNUC_MALLOC GNUC_WARN_UNUSED_RESULT" -->
257 <div class="memitem">
258 <div class="memproto">
259       <table class="memname">
260         <tr>
261           <td class="memname">API <a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a>* lms_charset_conv_new           </td>
262           <td>(</td>
263           <td class="paramtype">void&nbsp;</td>
264           <td class="paramname">          </td>
265           <td>&nbsp;)&nbsp;</td>
266           <td></td>
267         </tr>
268       </table>
269 </div>
270 <div class="memdoc">
271
272 <p>
273 Create a new charset conversion tool.<p>
274 Conversion tool will try to convert provided strings to UTF-8, just need to register known charsets with <a class="el" href="lightmediascanner__charset__conv_8c.html#0a3006beae6fc8c59eca75468c1bc000">lms_charset_conv_add()</a> and then call <a class="el" href="lightmediascanner__charset__conv_8c.html#35b728d3c5cb940027ebc47589971b25">lms_charset_conv()</a>.<p>
275 <dl class="return" compact><dt><b>Returns:</b></dt><dd>newly allocated conversion tool or NULL on error. </dd></dl>
276
277 <p>Definition at line <a class="el" href="lightmediascanner__charset__conv_8c-source.html#l00101">101</a> of file <a class="el" href="lightmediascanner__charset__conv_8c-source.html">lightmediascanner_charset_conv.c</a>.</p>
278
279 <p>References <a class="el" href="lightmediascanner__charset__conv_8c-source.html#l00047">lms_charset_conv_new_full()</a>.</p>
280
281 <p>Referenced by <a class="el" href="lightmediascanner_8c-source.html#l00119">lms_new()</a>.</p>
282
283 <p>
284 <div class="dynheader">
285 Here is the call graph for this function:</div>
286 <div class="dynsection">
287 <p><center><img src="group__LMS__CHARSET_g0120c222a55e6d7d9bb24300300561ab_cgraph.png" border="0" usemap="#group__LMS__CHARSET_g0120c222a55e6d7d9bb24300300561ab_cgraph_map" alt=""></center>
288 <map name="group__LMS__CHARSET_g0120c222a55e6d7d9bb24300300561ab_cgraph_map">
289 <area shape="rect" href="group__LMS__CHARSET.html#g893421821eacaa0fd2020c872361af15" title="lms_charset_conv_new_full" alt="" coords="233,5,436,32"></map>
290 </div>
291
292 </div>
293 </div><p>
294 <a class="anchor" name="g893421821eacaa0fd2020c872361af15"></a><!-- doxytag: member="lightmediascanner_charset_conv.h::lms_charset_conv_new_full" ref="g893421821eacaa0fd2020c872361af15" args="(int use_check, int use_fallback) GNUC_MALLOC GNUC_WARN_UNUSED_RESULT" -->
295 <div class="memitem">
296 <div class="memproto">
297       <table class="memname">
298         <tr>
299           <td class="memname">API <a class="el" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a>* lms_charset_conv_new_full           </td>
300           <td>(</td>
301           <td class="paramtype">int&nbsp;</td>
302           <td class="paramname"> <em>use_check</em>, </td>
303         </tr>
304         <tr>
305           <td class="paramkey"></td>
306           <td></td>
307           <td class="paramtype">int&nbsp;</td>
308           <td class="paramname"> <em>use_fallback</em></td><td>&nbsp;</td>
309         </tr>
310         <tr>
311           <td></td>
312           <td>)</td>
313           <td></td><td></td><td></td>
314         </tr>
315       </table>
316 </div>
317 <div class="memdoc">
318
319 <p>
320 Create a new charset conversion tool controlling its behavior.<p>
321 Conversion tool will try to convert provided strings to UTF-8, just need to register known charsets with <a class="el" href="lightmediascanner__charset__conv_8c.html#0a3006beae6fc8c59eca75468c1bc000">lms_charset_conv_add()</a> and then call <a class="el" href="lightmediascanner__charset__conv_8c.html#35b728d3c5cb940027ebc47589971b25">lms_charset_conv()</a>.<p>
322 <dl class="return" compact><dt><b>Returns:</b></dt><dd>newly allocated conversion tool or NULL on error. </dd></dl>
323
324 <p>Definition at line <a class="el" href="lightmediascanner__charset__conv_8c-source.html#l00047">47</a> of file <a class="el" href="lightmediascanner__charset__conv_8c-source.html">lightmediascanner_charset_conv.c</a>.</p>
325
326 <p>Referenced by <a class="el" href="lightmediascanner__charset__conv_8c-source.html#l00101">lms_charset_conv_new()</a>.</p>
327
328 </div>
329 </div><p>
330 </div>
331 <hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 5 12:24:58 2008 for Light Media Scanner by&nbsp;
332 <a href="http://www.doxygen.org/index.html">
333 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
334 </body>
335 </html>