]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/ff-unicode.h
Opt: Documented opt and its interaction with conf
[libucw.git] / ucw / ff-unicode.h
index 58c75d8581e135168264648cebc7be9f98ad22f1..4570d3baf2a359f24d8f3362e053beead6c16654 100644 (file)
 #ifndef _UCW_FF_UNICODE_H
 #define _UCW_FF_UNICODE_H
 
-#include "ucw/fastbuf.h"
-#include "ucw/unicode.h"
+#include <ucw/fastbuf.h>
+#include <ucw/unicode.h>
+
+#ifdef CONFIG_UCW_CLEAN_ABI
+#define bget_utf16_be_slow ucw_bget_utf16_be_slow
+#define bget_utf16_le_slow ucw_bget_utf16_le_slow
+#define bget_utf8_32_slow ucw_bget_utf8_32_slow
+#define bget_utf8_slow ucw_bget_utf8_slow
+#define bput_utf16_be_slow ucw_bput_utf16_be_slow
+#define bput_utf16_le_slow ucw_bput_utf16_le_slow
+#define bput_utf8_32_slow ucw_bput_utf8_32_slow
+#define bput_utf8_slow ucw_bput_utf8_slow
+#endif
 
-/*** UTF-8 ***/
+/* ** UTF-8 ** */
 
 int bget_utf8_slow(struct fastbuf *b, uns repl);
 int bget_utf8_32_slow(struct fastbuf *b, uns repl);
 void bput_utf8_slow(struct fastbuf *b, uns u);
 void bput_utf8_32_slow(struct fastbuf *b, uns u);
 
-static inline int
-bget_utf8_repl(struct fastbuf *b, uns repl)
+static inline int bget_utf8_repl(struct fastbuf *b, uns repl)
 {
   uns u;
   if (bavailr(b) >= 3)
@@ -35,8 +45,7 @@ bget_utf8_repl(struct fastbuf *b, uns repl)
     return bget_utf8_slow(b, repl);
 }
 
-static inline int
-bget_utf8_32_repl(struct fastbuf *b, uns repl)
+static inline int bget_utf8_32_repl(struct fastbuf *b, uns repl)
 {
   uns u;
   if (bavailr(b) >= 6)
@@ -48,20 +57,17 @@ bget_utf8_32_repl(struct fastbuf *b, uns repl)
     return bget_utf8_32_slow(b, repl);
 }
 
-static inline int
-bget_utf8(struct fastbuf *b)
+static inline int bget_utf8(struct fastbuf *b) /** Read a single utf8 character from range [0, 0xffff]. **/
 {
   return bget_utf8_repl(b, UNI_REPLACEMENT);
 }
 
-static inline int
-bget_utf8_32(struct fastbuf *b)
+static inline int bget_utf8_32(struct fastbuf *b) /** Read a single utf8 character (from the whole unicode range). **/
 {
   return bget_utf8_32_repl(b, UNI_REPLACEMENT);
 }
 
-static inline void
-bput_utf8(struct fastbuf *b, uns u)
+static inline void bput_utf8(struct fastbuf *b, uns u) /** Write a single utf8 character from range [0, 0xffff]. **/
 {
   if (bavailw(b) >= 3)
     b->bptr = utf8_put(b->bptr, u);
@@ -69,8 +75,7 @@ bput_utf8(struct fastbuf *b, uns u)
     bput_utf8_slow(b, u);
 }
 
-static inline void
-bput_utf8_32(struct fastbuf *b, uns u)
+static inline void bput_utf8_32(struct fastbuf *b, uns u) /** Write a single utf8 character (from the whole unicode range). **/
 {
   if (bavailw(b) >= 6)
     b->bptr = utf8_32_put(b->bptr, u);
@@ -78,15 +83,14 @@ bput_utf8_32(struct fastbuf *b, uns u)
     bput_utf8_32_slow(b, u);
 }
 
-/*** UTF-16 ***/
+/* ** UTF-16 ** */
 
 int bget_utf16_be_slow(struct fastbuf *b, uns repl);
 int bget_utf16_le_slow(struct fastbuf *b, uns repl);
 void bput_utf16_be_slow(struct fastbuf *b, uns u);
 void bput_utf16_le_slow(struct fastbuf *b, uns u);
 
-static inline int
-bget_utf16_be_repl(struct fastbuf *b, uns repl)
+static inline int bget_utf16_be_repl(struct fastbuf *b, uns repl)
 {
   uns u;
   if (bavailr(b) >= 4)
@@ -98,8 +102,7 @@ bget_utf16_be_repl(struct fastbuf *b, uns repl)
     return bget_utf16_be_slow(b, repl);
 }
 
-static inline int
-bget_utf16_le_repl(struct fastbuf *b, uns repl)
+static inline int bget_utf16_le_repl(struct fastbuf *b, uns repl)
 {
   uns u;
   if (bavailr(b) >= 4)
@@ -111,20 +114,29 @@ bget_utf16_le_repl(struct fastbuf *b, uns repl)
     return bget_utf16_le_slow(b, repl);
 }
 
-static inline int
-bget_utf16_be(struct fastbuf *b)
+/**
+ * Read an utf16 character from fastbuf.
+ * Big endian version.
+ **/
+static inline int bget_utf16_be(struct fastbuf *b)
 {
   return bget_utf16_be_repl(b, UNI_REPLACEMENT);
 }
 
-static inline int
-bget_utf16_le(struct fastbuf *b)
+/**
+ * Read an utf16 character from fastbuf.
+ * Little endian version.
+ **/
+static inline int bget_utf16_le(struct fastbuf *b)
 {
   return bget_utf16_le_repl(b, UNI_REPLACEMENT);
 }
 
-static inline void
-bput_utf16_be(struct fastbuf *b, uns u)
+/**
+ * Write an utf16 character to fastbuf.
+ * Big endian version.
+ **/
+static inline void bput_utf16_be(struct fastbuf *b, uns u)
 {
   if (bavailw(b) >= 4)
     b->bptr = utf16_be_put(b->bptr, u);
@@ -132,8 +144,11 @@ bput_utf16_be(struct fastbuf *b, uns u)
     bput_utf16_be_slow(b, u);
 }
 
-static inline void
-bput_utf16_lbe(struct fastbuf *b, uns u)
+/**
+ * Write an utf16 character to fastbuf.
+ * Little endian version.
+ **/
+static inline void bput_utf16_le(struct fastbuf *b, uns u)
 {
   if (bavailw(b) >= 4)
     b->bptr = utf16_le_put(b->bptr, u);