From 6e6aaacedb96ea45a5b8a9237915525a87189001 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Thu, 7 Jul 2011 21:04:31 +1000 Subject: [PATCH] lib/util Move bitmap.c to lib/util --- {source3/lib => lib/util}/bitmap.c | 5 +++-- lib/util/bitmap.h | 32 ++++++++++++++++++++++++++++++ lib/util/wscript_build | 8 +++++++- source3/Makefile.in | 2 +- source3/include/proto.h | 9 --------- source3/include/smb.h | 5 ----- source3/modules/vfs_acl_common.c | 1 + source3/modules/vfs_full_audit.c | 1 + source3/param/loadparm.c | 1 + source3/passdb/pdb_get_set.c | 1 + source3/smbd/conn.c | 1 + source3/smbd/dir.c | 1 + source3/smbd/files.c | 1 + source3/smbd/smb2_server.c | 1 + source3/wscript_build | 5 ----- 15 files changed, 51 insertions(+), 23 deletions(-) rename {source3/lib => lib/util}/bitmap.c (96%) create mode 100644 lib/util/bitmap.h diff --git a/source3/lib/bitmap.c b/lib/util/bitmap.c similarity index 96% rename from source3/lib/bitmap.c rename to lib/util/bitmap.c index a58b9e953b03..7defd778409f 100644 --- a/source3/lib/bitmap.c +++ b/lib/util/bitmap.c @@ -18,6 +18,7 @@ */ #include "includes.h" +#include "lib/util/bitmap.h" /* these functions provide a simple way to allocate integers from a pool without repetition */ @@ -34,7 +35,7 @@ struct bitmap *bitmap_talloc(TALLOC_CTX *mem_ctx, int n) if (!bm) return NULL; bm->n = n; - bm->b = talloc_zero_array(bm, uint32, (n+31)/32); + bm->b = talloc_zero_array(bm, uint32_t, (n+31)/32); if (!bm->b) { TALLOC_FREE(bm); return NULL; @@ -51,7 +52,7 @@ int bitmap_copy(struct bitmap * const dst, const struct bitmap * const src) int count = MIN(dst->n, src->n); SMB_ASSERT(dst->b != src->b); - memcpy(dst->b, src->b, sizeof(uint32)*((count+31)/32)); + memcpy(dst->b, src->b, sizeof(uint32_t)*((count+31)/32)); return count; } diff --git a/lib/util/bitmap.h b/lib/util/bitmap.h new file mode 100644 index 000000000000..cf7aa1b0bdd3 --- /dev/null +++ b/lib/util/bitmap.h @@ -0,0 +1,32 @@ +/* + Unix SMB/CIFS implementation. + simple bitmap functions + Copyright (C) Andrew Tridgell 1992-1998 + + 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 3 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, see . +*/ + +/* The following definitions come from lib/bitmap.c */ + +struct bitmap { + uint32_t *b; + unsigned int n; +}; + +struct bitmap *bitmap_talloc(TALLOC_CTX *mem_ctx, int n); +int bitmap_copy(struct bitmap * const dst, const struct bitmap * const src); +bool bitmap_set(struct bitmap *bm, unsigned i); +bool bitmap_clear(struct bitmap *bm, unsigned i); +bool bitmap_query(struct bitmap *bm, unsigned i); +int bitmap_find(struct bitmap *bm, unsigned ofs); diff --git a/lib/util/wscript_build b/lib/util/wscript_build index bdc9d1015096..f8386fa73f4c 100755 --- a/lib/util/wscript_build +++ b/lib/util/wscript_build @@ -84,5 +84,11 @@ bld.SAMBA_LIBRARY('tdb-wrap', deps='tdb_compat talloc samba-util', private_library=True, local_include=False - ) + ) + +bld.SAMBA_LIBRARY('bitmap', + source='bitmap.c', + deps='talloc samba-util', + local_include=False, + private_library=True) diff --git a/source3/Makefile.in b/source3/Makefile.in index 92613abdfde5..e348509655f1 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -456,7 +456,7 @@ LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) $(LIBTSOCKET_OBJ) \ lib/username.o \ ../libds/common/flag_mapping.o \ lib/access.o lib/smbrun.o \ - lib/bitmap.o ../lib/util/dprintf.o $(UTIL_REG_OBJ) \ + ../lib/util/bitmap.o ../lib/util/dprintf.o $(UTIL_REG_OBJ) \ lib/wins_srv.o lib/string_init.o \ lib/util_str.o ../lib/util/util_str_common.o \ ../lib/util/util_str.o \ diff --git a/source3/include/proto.h b/source3/include/proto.h index d719bd908967..daa7490d55ac 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -61,15 +61,6 @@ const char *audit_description_str(uint32 category); bool get_audit_category_from_param(const char *param, uint32 *audit_category); const char *audit_policy_str(TALLOC_CTX *mem_ctx, uint32 policy); -/* The following definitions come from lib/bitmap.c */ - -struct bitmap *bitmap_talloc(TALLOC_CTX *mem_ctx, int n); -int bitmap_copy(struct bitmap * const dst, const struct bitmap * const src); -bool bitmap_set(struct bitmap *bm, unsigned i); -bool bitmap_clear(struct bitmap *bm, unsigned i); -bool bitmap_query(struct bitmap *bm, unsigned i); -int bitmap_find(struct bitmap *bm, unsigned ofs); - /* The following definitions come from lib/charcnv.c */ void gfree_charcnv(void); diff --git a/source3/include/smb.h b/source3/include/smb.h index d41d36342d01..0c1a76eaf716 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -705,11 +705,6 @@ struct connections_data { uint32 unused_compatitibility_field; }; -struct bitmap { - uint32 *b; - unsigned int n; -}; - /* offsets into message for common items */ #define smb_com 8 #define smb_rcls 9 diff --git a/source3/modules/vfs_acl_common.c b/source3/modules/vfs_acl_common.c index bee7966dfc93..b01fd18b9b58 100644 --- a/source3/modules/vfs_acl_common.c +++ b/source3/modules/vfs_acl_common.c @@ -23,6 +23,7 @@ #include "system/filesys.h" #include "../libcli/security/security.h" #include "../librpc/gen_ndr/ndr_security.h" +#include "../lib/util/bitmap.h" static NTSTATUS create_acl_blob(const struct security_descriptor *psd, DATA_BLOB *pblob, diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c index 362749a90fa3..19092c4df0b7 100644 --- a/source3/modules/vfs_full_audit.c +++ b/source3/modules/vfs_full_audit.c @@ -65,6 +65,7 @@ #include "auth.h" #include "ntioctl.h" #include "lib/param/loadparm.h" +#include "lib/util/bitmap.h" static int vfs_full_audit_debug_level = DBGC_VFS; diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index e143726f66b3..e162ab960f2c 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -67,6 +67,7 @@ #include "smb_signing.h" #include "dbwrap.h" #include "smbldap.h" +#include "../lib/util/bitmap.h" #ifdef HAVE_SYS_SYSCTL_H #include diff --git a/source3/passdb/pdb_get_set.c b/source3/passdb/pdb_get_set.c index eec82f9c9840..4ff13808c368 100644 --- a/source3/passdb/pdb_get_set.c +++ b/source3/passdb/pdb_get_set.c @@ -25,6 +25,7 @@ #include "passdb.h" #include "../libcli/auth/libcli_auth.h" #include "../libcli/security/security.h" +#include "../lib/util/bitmap.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_PASSDB diff --git a/source3/smbd/conn.c b/source3/smbd/conn.c index a3f66b36be7f..f9ccfd96f564 100644 --- a/source3/smbd/conn.c +++ b/source3/smbd/conn.c @@ -22,6 +22,7 @@ #include "includes.h" #include "smbd/smbd.h" #include "smbd/globals.h" +#include "lib/util/bitmap.h" /* The connections bitmap is expanded in increments of BITMAP_BLOCK_SZ. The * maximum size of the bitmap is the largest positive integer, but you will hit diff --git a/source3/smbd/dir.c b/source3/smbd/dir.c index fda7c34c5783..fc74eea76cdb 100644 --- a/source3/smbd/dir.c +++ b/source3/smbd/dir.c @@ -23,6 +23,7 @@ #include "smbd/smbd.h" #include "smbd/globals.h" #include "libcli/security/security.h" +#include "lib/util/bitmap.h" /* This module implements directory related functions for Samba. diff --git a/source3/smbd/files.c b/source3/smbd/files.c index b8a25c1d5b6f..66ccb288da17 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -23,6 +23,7 @@ #include "libcli/security/security.h" #include "util_tdb.h" #include +#include "lib/util/bitmap.h" #define VALID_FNUM(fnum) (((fnum) >= 0) && ((fnum) < real_max_open_files)) diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index 58825721624e..ca03c8d76223 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -26,6 +26,7 @@ #include "../lib/tsocket/tsocket.h" #include "../lib/util/tevent_ntstatus.h" #include "smbprofile.h" +#include "../lib/util/bitmap.h" #define OUTVEC_ALLOC_SIZE (SMB2_HDR_BODY + 9) diff --git a/source3/wscript_build b/source3/wscript_build index 3ae7759796c9..b471445c94cb 100755 --- a/source3/wscript_build +++ b/source3/wscript_build @@ -1039,11 +1039,6 @@ bld.SAMBA3_LIBRARY('util_sec', deps='samba-util', private_library=True) -bld.SAMBA3_LIBRARY('bitmap', - source='lib/bitmap.c', - deps='samba-util', - private_library=True) - bld.SAMBA3_LIBRARY('namearray', source='lib/namearray.c', deps='samba-util', -- 2.34.1