summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2010-06-25 21:51:23 +0200
committerJelmer Vernooij <jelmer@samba.org>2010-06-25 22:48:59 +0200
commite40afe975accd8199ffe54ea9f3c4dedd02edb02 (patch)
tree3a6b82867c30203b215471707e036403baf0b1d7
parentafc6d2f46d6aed07f828ef2f0aa6b62250468132 (diff)
downloadsamba-e40afe975accd8199ffe54ea9f3c4dedd02edb02.tar.gz
samba-e40afe975accd8199ffe54ea9f3c4dedd02edb02.tar.bz2
samba-e40afe975accd8199ffe54ea9f3c4dedd02edb02.zip
Move UCS2 macros to common code
-rw-r--r--lib/util/charset/charset.h23
-rw-r--r--source3/include/smb.h21
2 files changed, 23 insertions, 21 deletions
diff --git a/lib/util/charset/charset.h b/lib/util/charset/charset.h
index cc57b3eb54..68907aa593 100644
--- a/lib/util/charset/charset.h
+++ b/lib/util/charset/charset.h
@@ -40,6 +40,29 @@ typedef enum {CH_UTF16LE=0, CH_UTF16=0, CH_UNIX, CH_DISPLAY, CH_DOS, CH_UTF8, CH
typedef uint16_t smb_ucs2_t;
/*
+ * SMB UCS2 (16-bit unicode) internal type.
+ * smb_ucs2_t is *always* in little endian format.
+ */
+
+#ifdef WORDS_BIGENDIAN
+#define UCS2_SHIFT 8
+#else
+#define UCS2_SHIFT 0
+#endif
+
+/* turn a 7 bit character into a ucs2 character */
+#define UCS2_CHAR(c) ((c) << UCS2_SHIFT)
+
+/* return an ascii version of a ucs2 character */
+#define UCS2_TO_CHAR(c) (((c) >> UCS2_SHIFT) & 0xff)
+
+/* Copy into a smb_ucs2_t from a possibly unaligned buffer. Return the copied smb_ucs2_t */
+#define COPY_UCS2_CHAR(dest,src) (((unsigned char *)(dest))[0] = ((unsigned char *)(src))[0],\
+ ((unsigned char *)(dest))[1] = ((unsigned char *)(src))[1], (dest))
+
+
+
+/*
* for each charset we have a function that pulls from that charset to
* a ucs2 buffer, and a function that pushes to a ucs2 buffer
* */
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 3cbd0c082d..defecd7c88 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -144,27 +144,6 @@ typedef union unid_t {
gid_t gid;
} unid_t;
-/*
- * SMB UCS2 (16-bit unicode) internal type.
- * smb_ucs2_t is *always* in little endian format.
- */
-
-#ifdef WORDS_BIGENDIAN
-#define UCS2_SHIFT 8
-#else
-#define UCS2_SHIFT 0
-#endif
-
-/* turn a 7 bit character into a ucs2 character */
-#define UCS2_CHAR(c) ((c) << UCS2_SHIFT)
-
-/* return an ascii version of a ucs2 character */
-#define UCS2_TO_CHAR(c) (((c) >> UCS2_SHIFT) & 0xff)
-
-/* Copy into a smb_ucs2_t from a possibly unaligned buffer. Return the copied smb_ucs2_t */
-#define COPY_UCS2_CHAR(dest,src) (((unsigned char *)(dest))[0] = ((unsigned char *)(src))[0],\
- ((unsigned char *)(dest))[1] = ((unsigned char *)(src))[1], (dest))
-
/* pipe string names */
#define PIPE_LANMAN "\\PIPE\\LANMAN"