/* Unix SMB/CIFS implementation. SMB parameters and setup, plus a whole lot more. Copyright (C) Andrew Tridgell 1992-2000 Copyright (C) John H Terpstra 1996-2002 Copyright (C) Luke Kenneth Casson Leighton 1996-2000 Copyright (C) Paul Ashton 1998-2000 Copyright (C) Simo Sorce 2001-2002 Copyright (C) Martin Pool 2002 This program 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; either version 2 of the License, or (at your option) any later version. This program 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, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _REWRITE_H #define _REWRITE_H #define False (0) #define True (1) #define Auto (2) #ifndef _BOOL typedef int BOOL; #define _BOOL /* So we don't typedef BOOL again in vfs.h */ #endif /* string manipulation flags - see clistr.c and srvstr.c */ #define STR_TERMINATE 1 #define STR_UPPER 2 #define STR_ASCII 4 #define STR_UNICODE 8 #define STR_NOALIGN 16 #define STR_NO_RANGE_CHECK 32 #define STR_LEN8BIT 64 #define STR_TERMINATE_ASCII 128 /* only terminate if ascii */ #define STR_LEN_NOTERM 256 /* the length field is the unterminated length */ /* Debugging stuff */ #include "debug.h" #include "doserr.h" #include "enums.h" /* * Loopback command offsets. */ #define OPBRK_CMD_LEN_OFFSET 0 #define OPBRK_CMD_PORT_OFFSET 4 #define OPBRK_CMD_HEADER_LEN 6 #define OPBRK_MESSAGE_CMD_OFFSET 0 /* Message types */ #define OPLOCK_BREAK_CMD 0x1 #define KERNEL_OPLOCK_BREAK_CMD 0x2 #define LEVEL_II_OPLOCK_BREAK_CMD 0x3 #define ASYNC_LEVEL_II_OPLOCK_BREAK_CMD 0x4 #define CMD_REPLY 0x8000 #include "smb_macros.h" #include "rpc_secdes.h" #define SAFE_NETBIOS_CHARS ". -_" /* generic iconv conversion structure */ typedef struct { 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; } *smb_iconv_t; #endif /* _REWRITE_H */