Merge branch 'master' of git://git.samba.org/samba into convenience
[amitay/samba.git] / source3 / include / smb.h
index 59c3c32346de3ff5f71a7c101b7b1dce3274846d..5c2bd12df0c33ebac7ed031317fd94d1c5cfb01b 100644 (file)
@@ -165,6 +165,10 @@ typedef union unid_t {
 #define COPY_UCS2_CHAR(dest,src) (((unsigned char *)(dest))[0] = ((unsigned char *)(src))[0],\
                                ((unsigned char *)(dest))[1] = ((unsigned char *)(src))[1], (dest))
 
+/* Large data type for manipulating uint32 unicode codepoints */
+typedef uint32 codepoint_t;
+#define INVALID_CODEPOINT ((codepoint_t)-1)
+
 /* pipe string names */
 #define PIPE_LANMAN   "\\PIPE\\LANMAN"
 
@@ -1825,6 +1829,18 @@ struct unix_error_map {
 
 #define SAFE_NETBIOS_CHARS ". -_"
 
+/* generic iconv conversion structure */
+typedef struct _smb_iconv_t {
+       size_t (*direct)(void *cd, const char **inbuf, size_t *inbytesleft,
+                        char **outbuf, size_t *outbytesleft);
+       size_t (*pull)(void *cd, const char **inbuf, size_t *inbytesleft,
+                      char **outbuf, size_t *outbytesleft);
+       size_t (*push)(void *cd, const char **inbuf, size_t *inbytesleft,
+                      char **outbuf, size_t *outbytesleft);
+       void *cd_direct, *cd_pull, *cd_push;
+       char *from_name, *to_name;
+} *smb_iconv_t;
+
 /* The maximum length of a trust account password.
    Used when we randomly create it, 15 char passwords
    exceed NT4's max password length */