source: branches/samba-3.3.x/source/include/smb_macros.h@ 411

Last change on this file since 411 was 206, checked in by Herwig Bauernfeind, 17 years ago

Import Samba 3.3 branch at 3.0.0 level (psmedley's port)

File size: 15.3 KB
Line 
1/*
2 Unix SMB/CIFS implementation.
3 SMB parameters and setup
4 Copyright (C) Andrew Tridgell 1992-1999
5 Copyright (C) John H Terpstra 1996-1999
6 Copyright (C) Luke Kenneth Casson Leighton 1996-1999
7 Copyright (C) Paul Ashton 1998 - 1999
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
21*/
22
23#ifndef _SMB_MACROS_H
24#define _SMB_MACROS_H
25
26/* Misc bit macros */
27#define BOOLSTR(b) ((b) ? "Yes" : "No")
28#define BITSETW(ptr,bit) ((SVAL(ptr,0) & (1<<(bit)))!=0)
29
30/* for readability... */
31#define IS_DOS_READONLY(test_mode) (((test_mode) & aRONLY) != 0)
32#define IS_DOS_DIR(test_mode) (((test_mode) & aDIR) != 0)
33#define IS_DOS_ARCHIVE(test_mode) (((test_mode) & aARCH) != 0)
34#define IS_DOS_SYSTEM(test_mode) (((test_mode) & aSYSTEM) != 0)
35#define IS_DOS_HIDDEN(test_mode) (((test_mode) & aHIDDEN) != 0)
36
37#ifndef SAFE_FREE /* Oh no this is also defined in tdb.h */
38
39/**
40 * Free memory if the pointer and zero the pointer.
41 *
42 * @note You are explicitly allowed to pass NULL pointers -- they will
43 * always be ignored.
44 **/
45#define SAFE_FREE(x) do { if ((x) != NULL) {free(x); x=NULL;} } while(0)
46#endif
47