summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2016-05-30 11:20:15 +0100
committerVincent Sanders <vince@kyllikki.org>2016-05-30 11:20:15 +0100
commitaa5090c85b6890f79d340ad2de6219237f2d6c4c (patch)
tree065a334d7072e08423801e149256e704df06eef0 /include
parentc821ed2bbd91e1b4fe2b74c01cce1a4106f37655 (diff)
downloadnetsurf-aa5090c85b6890f79d340ad2de6219237f2d6c4c.tar.gz
netsurf-aa5090c85b6890f79d340ad2de6219237f2d6c4c.tar.bz2
move utf8 header into public API
Diffstat (limited to 'include')
-rw-r--r--include/netsurf/utf8.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/include/netsurf/utf8.h b/include/netsurf/utf8.h
new file mode 100644
index 000000000..c40c4c1b3
--- /dev/null
+++ b/include/netsurf/utf8.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2014 Vincent Sanders <vince@netsurf-browser.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * \file
+ *
+ * Interface to platform-specific utf8 operations.
+ */
+
+#ifndef _NETSURF_DESKTOP_GUI_UTF8_H_
+#define _NETSURF_DESKTOP_GUI_UTF8_H_
+
+/**
+ * User interface utf8 characterset conversion routines.
+ */
+struct gui_utf8_table {
+ /**
+ * Convert a UTF-8 encoded string into the system local encoding
+ *
+ * \param string The string to convert
+ * \param len The length (in bytes) of the string, or 0
+ * \param result Pointer to location in which to store result
+ * \return An nserror code
+ */
+ nserror (*utf8_to_local)(const char *string, size_t len, char **result);
+
+ /**
+ * Convert a string encoded in the system local encoding to UTF-8
+ *
+ * \param string The string to convert
+ * \param len The length (in bytes) of the string, or 0
+ * \param result Pointer to location in which to store result
+ * \return An nserror code
+ */
+ nserror (*local_to_utf8)(const char *string, size_t len, char **result);
+};
+
+#endif