1 /* $Id: aliaslist.h,v 1.1.1.1 2003/06/04 00:25:34 marka Exp $ */
3 * Copyright (c) 2002 Japan Network Information Center. All rights reserved.
5 * By using this file, you agree to the terms and conditions set forth bellow.
7 * LICENSE TERMS AND CONDITIONS
9 * The following License Terms and Conditions apply, unless a different
10 * license is obtained from Japan Network Information Center ("JPNIC"),
11 * a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda,
12 * Chiyoda-ku, Tokyo 101-0047, Japan.
14 * 1. Use, Modification and Redistribution (including distribution of any
15 * modified or derived work) in source and/or binary forms is permitted
16 * under this License Terms and Conditions.
18 * 2. Redistribution of source code must retain the copyright notices as they
19 * appear in each source code file, this License Terms and Conditions.
21 * 3. Redistribution in binary form must reproduce the Copyright Notice,
22 * this License Terms and Conditions, in the documentation and/or other
23 * materials provided with the distribution. For the purposes of binary
24 * distribution the "Copyright Notice" refers to the following language:
25 * "Copyright (c) 2000-2002 Japan Network Information Center. All rights reserved."
27 * 4. The name of JPNIC may not be used to endorse or promote products
28 * derived from this Software without specific prior written approval of
31 * 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
34 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE
35 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
36 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
37 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
38 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
39 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
40 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
41 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
44 #ifndef IDN_ALIASLIST_H
45 #define IDN_ALIASLIST_H 1
47 #include <idn/result.h>
53 typedef struct idn__aliaslist *idn__aliaslist_t;
60 * idn_nomemory -- malloc failed.
63 idn__aliaslist_create(idn__aliaslist_t *listp);
66 * Delete a list created by 'idn__aliaslist_create'.
69 idn__aliaslist_destroy(idn__aliaslist_t list);
72 * Parse alias information file and set items to the list.
76 * idn_nofile -- no such file.
77 * idn_invalid_syntax -- file is malformed.
78 * idn_nomemory -- malloc failed.
81 idn__aliaslist_aliasfile(idn__aliaslist_t list, const char *path);
84 * Add an item to the list.
86 * If top is 0, item is placed as the last item of the alias list.
87 * Otherwise, it is done as the first item.
91 * idn_nomemory -- malloc failed.
94 idn__aliaslist_additem(idn__aliaslist_t list,
95 const char *pattern, const char *encoding,
99 * Find the encoding name with the specified pattern by wildcard
103 * idn_success -- ok. found.
104 * idn_noentry -- not found.
107 idn__aliaslist_find(idn__aliaslist_t list,
108 const char *pattern, char **encodingp);
114 #endif /* IDN_ALIASLIST_H */