OpenVAS Libraries
4.0+rc3.SVN
|
00001 /* 00002 Unix SMB/CIFS implementation. 00003 charset defines 00004 Copyright (C) Andrew Tridgell 2001 00005 Copyright (C) Jelmer Vernooij 2002 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 2 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program; if not, write to the Free Software 00019 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00020 */ 00021 00022 /* MODIFICATION: This has only those functions that cater to the requirements of OpenVAS, remaining functions are removed*/ 00023 #ifndef __CHARSET_H__ 00024 #define __CHARSET_H__ 00025 00026 #include "smb.h" 00027 00028 00029 /* this defines the charset types used in samba */ 00030 typedef enum {CH_UTF16LE=0, CH_UTF16=0, CH_UNIX=1, CH_DISPLAY=2, CH_DOS=3, CH_UTF8=4, CH_UTF16BE=5} charset_t; 00031 00032 #define NUM_CHARSETS 6 00033 /* 00034 * for each charset we have a function that pushes from that charset to a ucs2 00035 * buffer, and a function that pulls from ucs2 buffer to that charset. 00036 */ 00037 00038 struct charset_functions_ntlmssp { 00039 const char *name; 00040 size_t (*pull)(void *, const char **inbuf, size_t *inbytesleft, 00041 char **outbuf, size_t *outbytesleft); 00042 size_t (*push)(void *, const char **inbuf, size_t *inbytesleft, 00043 char **outbuf, size_t *outbytesleft); 00044 struct charset_functions_ntlmssp *prev, *next; 00045 }; 00046 #endif