~ubuntu-branches/ubuntu/oneiric/psi/oneiric

« back to all changes in this revision

Viewing changes to iris/libidn/internal.h

  • Committer: Bazaar Package Importer
  • Author(s): Jan Niehusmann
  • Date: 2005-01-10 17:41:43 UTC
  • mfrom: (1.2.1 upstream) (2.1.2 hoary)
  • Revision ID: james.westby@ubuntu.com-20050110174143-ltocv5zapl6blf5d
Tags: 0.9.3-1
* New upstream release
* Cleaned up debian/rules (some things are done by upstream Makefiles now)
* Fixed some lintian warnings:
  - removed executable bit from some .png files
  - moved psi.desktop to /usr/share/applications
* Updated menu files

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* internal.h   Internal header file for libidn.
 
2
 * Copyright (C) 2002, 2003  Simon Josefsson
 
3
 *
 
4
 * This file is part of GNU Libidn.
 
5
 *
 
6
 * GNU Libidn is free software; you can redistribute it and/or
 
7
 * modify it under the terms of the GNU Lesser General Public
 
8
 * License as published by the Free Software Foundation; either
 
9
 * version 2.1 of the License, or (at your option) any later version.
 
10
 *
 
11
 * GNU Libidn is distributed in the hope that it will be useful,
 
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
14
 * Lesser General Public License for more details.
 
15
 *
 
16
 * You should have received a copy of the GNU Lesser General Public
 
17
 * License along with GNU Libidn; if not, write to the Free Software
 
18
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
19
 *
 
20
 */
 
21
 
 
22
#ifndef _INTERNAL_H
 
23
#define _INTERNAL_H
 
24
 
 
25
#define STDC_HEADERS 1
 
26
 
 
27
#ifdef _LIBC
 
28
 
 
29
# include <stdio.h>
 
30
# include <stdlib.h>
 
31
# include <string.h>
 
32
# include <errno.h>
 
33
# include <string.h>
 
34
 
 
35
//# define HAVE_ICONV 1
 
36
//# define LOCALE_WORKS 1
 
37
//# define ICONV_CONST
 
38
 
 
39
#else /* _LIBC */
 
40
 
 
41
# if HAVE_CONFIG_H
 
42
#  include "config.h"
 
43
# endif
 
44
 
 
45
# if STDC_HEADERS
 
46
#  include <stdio.h>
 
47
#  include <stdlib.h>
 
48
#  include <stdarg.h>
 
49
#  include <ctype.h>
 
50
#  include <string.h>
 
51
# endif
 
52
 
 
53
# if HAVE_UNISTD_H
 
54
#  include <unistd.h>
 
55
# endif
 
56
 
 
57
# if HAVE_ERRNO_H
 
58
#  include <errno.h>
 
59
# endif
 
60
 
 
61
# if defined(WITH_DMALLOC) && WITH_DMALLOC
 
62
#  include <dmalloc.h>
 
63
# endif
 
64
 
 
65
#endif /* _LIBC */
 
66
 
 
67
#include "stringprep.h"
 
68
#include "punycode.h"
 
69
#include "idna.h"
 
70
 
 
71
/*! \mainpage GNU Internationalized Domain Name Library
 
72
 *
 
73
 * \section intro Introduction
 
74
 *
 
75
 * GNU Libidn is an implementation of the Stringprep, Punycode and IDNA
 
76
 * specifications defined by the IETF Internationalized Domain Names
 
77
 * (IDN) working group, used for internationalized domain names.  The
 
78
 * package is available under the GNU Lesser General Public License.
 
79
 *
 
80
 * The library contains a generic Stringprep implementation that does
 
81
 * Unicode 3.2 NFKC normalization, mapping and prohibitation of
 
82
 * characters, and bidirectional character handling.  Profiles for iSCSI,
 
83
 * Kerberos 5, Nameprep, SASL and XMPP are included.  Punycode and ASCII
 
84
 * Compatible Encoding (ACE) via IDNA are supported.
 
85
 *
 
86
 * The Stringprep API consists of two main functions, one for converting
 
87
 * data from the system's native representation into UTF-8, and one
 
88
 * function to perform the Stringprep processing.  Adding a new
 
89
 * Stringprep profile for your application within the API is
 
90
 * straightforward.  The Punycode API consists of one encoding function
 
91
 * and one decoding function.  The IDNA API consists of the ToASCII and
 
92
 * ToUnicode functions, as well as an high-level interface for converting
 
93
 * entire domain names to and from the ACE encoded form.
 
94
 *
 
95
 * The library is used by, e.g., GNU SASL and Shishi to process user
 
96
 * names and passwords.  Libidn can be built into GNU Libc to enable a
 
97
 * new system-wide getaddrinfo() flag for IDN processing.
 
98
 *
 
99
 * Libidn is developed for the GNU/Linux system, but runs on over 20 Unix
 
100
 * platforms (including Solaris, IRIX, AIX, and Tru64) and Windows.
 
101
 * Libidn is written in C and (parts of) the API is accessible from C,
 
102
 * C++, Emacs Lisp, Python and Java.
 
103
 *
 
104
 * The project web page:\n
 
105
 * http://www.gnu.org/software/libidn/
 
106
 *
 
107
 * The software archive:\n
 
108
 * ftp://alpha.gnu.org/pub/gnu/libidn/
 
109
 *
 
110
 * For more information see:\n
 
111
 * http://www.ietf.org/html.charters/idn-charter.html\n
 
112
 * http://www.ietf.org/rfc/rfc3454.txt (stringprep specification)\n
 
113
 * http://www.ietf.org/rfc/rfc3490.txt (idna specification)\n
 
114
 * http://www.ietf.org/rfc/rfc3491.txt (nameprep specification)\n
 
115
 * http://www.ietf.org/rfc/rfc3492.txt (punycode specification)\n
 
116
 * http://www.ietf.org/internet-drafts/draft-ietf-ips-iscsi-string-prep-04.txt\n
 
117
 * http://www.ietf.org/internet-drafts/draft-ietf-krb-wg-utf8-profile-01.txt\n
 
118
 * http://www.ietf.org/internet-drafts/draft-ietf-sasl-anon-00.txt\n
 
119
 * http://www.ietf.org/internet-drafts/draft-ietf-sasl-saslprep-00.txt\n
 
120
 * http://www.ietf.org/internet-drafts/draft-ietf-xmpp-nodeprep-01.txt\n
 
121
 * http://www.ietf.org/internet-drafts/draft-ietf-xmpp-resourceprep-01.txt\n
 
122
 *
 
123
 * Further information and paid contract development:\n
 
124
 * Simon Josefsson <simon@josefsson.org>
 
125
 *
 
126
 * \section examples Examples
 
127
 *
 
128
 * \include example.c
 
129
 * \include example3.c
 
130
 * \include example4.c
 
131
 */
 
132
 
 
133
#endif /* _INTERNAL_H */