summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/build/smb_build/TODO1
-rw-r--r--source4/include/includes.h3
-rw-r--r--source4/include/structs.h8
-rw-r--r--source4/lib/basic.mk2
-rw-r--r--source4/lib/registry/common/reg_interface.c16
-rw-r--r--source4/lib/registry/patchfile.c6
-rw-r--r--source4/lib/tdr/tdr.c1
-rw-r--r--source4/lib/tdr/tdr.h2
-rw-r--r--source4/main.mk4
-rw-r--r--source4/nbt_server/config.mk1
-rw-r--r--source4/nbt_server/nbt_server.h2
-rw-r--r--source4/ntvfs/cifs/vfs_cifs.c1
-rw-r--r--source4/ntvfs/config.mk1
-rw-r--r--source4/ntvfs/ipc/vfs_ipc.c1
-rw-r--r--source4/ntvfs/nbench/vfs_nbench.c1
-rw-r--r--source4/ntvfs/ntvfs.h2
-rw-r--r--source4/ntvfs/ntvfs_base.c1
-rw-r--r--source4/ntvfs/ntvfs_generic.c1
-rw-r--r--source4/ntvfs/ntvfs_interface.c2
-rw-r--r--source4/ntvfs/ntvfs_util.c1
-rw-r--r--source4/ntvfs/posix/vfs_posix.h1
-rw-r--r--source4/ntvfs/print/vfs_print.c1
-rw-r--r--source4/ntvfs/simple/svfs_util.c1
-rw-r--r--source4/ntvfs/simple/vfs_simple.c1
-rw-r--r--source4/ntvfs/unixuid/vfs_unixuid.c1
-rw-r--r--source4/pidl/lib/Parse/Pidl/Samba4/TDR.pm1
-rwxr-xr-xsource4/script/mkproto.pl12
-rw-r--r--source4/smb_server/config.mk1
-rw-r--r--source4/smb_server/smb/nttrans.c1
-rw-r--r--source4/smb_server/smb/receive.c1
-rw-r--r--source4/smb_server/smb/reply.c1
-rw-r--r--source4/smb_server/smb/request.c1
-rw-r--r--source4/smb_server/smb/search.c1
-rw-r--r--source4/smb_server/smb/service.c1
-rw-r--r--source4/smb_server/smb/trans2.c1
-rw-r--r--source4/smb_server/smb_server.h2
-rw-r--r--source4/smb_server/tcon.c1
-rw-r--r--source4/smbd/server.c1
38 files changed, 60 insertions, 27 deletions
diff --git a/source4/build/smb_build/TODO b/source4/build/smb_build/TODO
index 1c2e6c2f61..6c45e6e6b2 100644
--- a/source4/build/smb_build/TODO
+++ b/source4/build/smb_build/TODO
@@ -11,3 +11,4 @@
- utility function for 'init mutex'
- install shared modules
- improve (un)install scripts (rewrite in perl?)
+- proper #include dependencies
diff --git a/source4/include/includes.h b/source4/include/includes.h
index 2222b4ff43..a8aecc3610 100644
--- a/source4/include/includes.h
+++ b/source4/include/includes.h
@@ -101,7 +101,6 @@ struct ipv4_addr {
#include "smb_macros.h"
#include "smb.h"
#include "byteorder.h"
-#include "lib/tdr/tdr.h"
#include "librpc/ndr/libndr.h"
#include "librpc/gen_ndr/misc.h"
#include "librpc/gen_ndr/dcerpc.h"
@@ -109,13 +108,13 @@ struct ipv4_addr {
#include "librpc/gen_ndr/orpc.h"
#include "librpc/rpc/dcerpc.h"
#include "smb_interfaces.h"
-#include "ntvfs/ntvfs.h"
#include "cli_context.h"
#include "auth/credentials/credentials.h"
/***** automatically generated prototypes *****/
#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
#include "include/proto.h"
+#include "basic.h"
#undef _PRINTF_ATTRIBUTE
#define _PRINTF_ATTRIBUTE(a1, a2)
diff --git a/source4/include/structs.h b/source4/include/structs.h
index 153902d13a..2187fcd8ba 100644
--- a/source4/include/structs.h
+++ b/source4/include/structs.h
@@ -157,7 +157,6 @@ struct request_buffer;
struct smb2srv_request;
struct smb2_request_buffer;
-struct ntvfs_context;
struct ntvfs_module_context;
struct pvfs_dir;
@@ -267,14 +266,10 @@ struct task_server;
struct model_ops;
struct stream_server_ops;
-struct nbtd_server;
-struct nbtd_interface;
-struct nbtd_iface_name;
struct wins_server;
struct nbtd_proxy_wins_challenge;
struct nbtd_proxy_wins_release_demand;
-struct nbt_iface_name;
struct nbt_dc_name;
struct wb_sid_object;
struct wb_dom_info;
@@ -373,3 +368,6 @@ struct IUnknown_vtable;
struct MprVar;
struct registry_context;
+struct nbtd_interface;
+struct nbtd_iface_name;
+struct nbtd_server;
diff --git a/source4/lib/basic.mk b/source4/lib/basic.mk
index 4d2d1b08fd..b4bde76d3f 100644
--- a/source4/lib/basic.mk
+++ b/source4/lib/basic.mk
@@ -32,6 +32,7 @@ MAJOR_VERSION = 0
MINOR_VERSION = 0
RELEASE_VERSION = 1
DESCRIPTION = Simple marshall/unmarshall library
+PRIVATE_PROTO_HEADER = tdr/tdr_proto.h
OBJ_FILES = tdr/tdr.o
##############################
@@ -62,6 +63,7 @@ OBJ_FILES = \
##############################
# Start SUBSYSTEM LIBBASIC
[SUBSYSTEM::LIBBASIC]
+PRIVATE_PROTO_HEADER = basic.h
OBJ_FILES = version.o \
xfile.o \
debug.o \
diff --git a/source4/lib/registry/common/reg_interface.c b/source4/lib/registry/common/reg_interface.c
index b0540c1ba4..00fa42d342 100644
--- a/source4/lib/registry/common/reg_interface.c
+++ b/source4/lib/registry/common/reg_interface.c
@@ -29,7 +29,7 @@ static struct reg_init_function_entry *backends = NULL;
static struct reg_init_function_entry *reg_find_backend_entry(const char *name);
/* Register new backend */
-NTSTATUS registry_register(const void *_hive_ops)
+_PUBLIC_ NTSTATUS registry_register(const void *_hive_ops)
{
const struct hive_operations *hive_ops = _hive_ops;
struct reg_init_function_entry *entry = backends;
@@ -65,7 +65,7 @@ static struct reg_init_function_entry *reg_find_backend_entry(const char *name)
return NULL;
}
-NTSTATUS registry_init(void)
+_PUBLIC_ NTSTATUS registry_init(void)
{
init_module_fn static_init[] = STATIC_REGISTRY_MODULES;
init_module_fn *shared_init = load_samba_modules(NULL, "registry");
@@ -101,7 +101,7 @@ static struct {
{ 0, NULL }
};
-int reg_list_predefs(TALLOC_CTX *mem_ctx, char ***predefs, uint32_t **hkeys)
+_PUBLIC_ int reg_list_predefs(TALLOC_CTX *mem_ctx, char ***predefs, uint32_t **hkeys)
{
int i;
*predefs = talloc_array(mem_ctx, char *, ARRAY_SIZE(predef_names));
@@ -151,7 +151,7 @@ WERROR reg_get_predefined_key(struct registry_context *ctx, uint32_t hkey, struc
}
/* Open a registry file/host/etc */
-WERROR reg_open_hive(TALLOC_CTX *parent_ctx, const char *backend, const char *location, const char *credentials, struct registry_key **root)
+_PUBLIC_ WERROR reg_open_hive(TALLOC_CTX *parent_ctx, const char *backend, const char *location, const char *credentials, struct registry_key **root)
{
struct registry_hive *rethive;
struct registry_key *retkey = NULL;
@@ -200,7 +200,7 @@ WERROR reg_open_hive(TALLOC_CTX *parent_ctx, const char *backend, const char *lo
* First tries to use the open_key function from the backend
* then falls back to get_subkey_by_name and later get_subkey_by_index
*/
-WERROR reg_open_key(TALLOC_CTX *mem_ctx, struct registry_key *parent, const char *name, struct registry_key **result)
+_PUBLIC_ WERROR reg_open_key(TALLOC_CTX *mem_ctx, struct registry_key *parent, const char *name, struct registry_key **result)
{
WERROR error;
@@ -251,7 +251,7 @@ WERROR reg_open_key(TALLOC_CTX *mem_ctx, struct registry_key *parent, const char
return WERR_OK;
}
-WERROR reg_key_get_value_by_index(TALLOC_CTX *mem_ctx, const struct registry_key *key, int idx, struct registry_value **val)
+_PUBLIC_ WERROR reg_key_get_value_by_index(TALLOC_CTX *mem_ctx, const struct registry_key *key, int idx, struct registry_value **val)
{
if(!key) return WERR_INVALID_PARAM;
@@ -434,7 +434,7 @@ WERROR reg_key_add_name(TALLOC_CTX *mem_ctx, const struct registry_key *parent,
return WERR_OK;
}
-WERROR reg_val_set(struct registry_key *key, const char *value, uint32_t type, DATA_BLOB data)
+_PUBLIC_ WERROR reg_val_set(struct registry_key *key, const char *value, uint32_t type, DATA_BLOB data)
{
/* A 'real' set function has preference */
if (key->hive->functions->set_value)
@@ -455,7 +455,7 @@ WERROR reg_get_sec_desc(TALLOC_CTX *ctx, const struct registry_key *key, struct
return WERR_NOT_SUPPORTED;
}
-WERROR reg_del_value(const struct registry_key *key, const char *valname)
+_PUBLIC_ WERROR reg_del_value(const struct registry_key *key, const char *valname)
{
WERROR ret = WERR_OK;
if(!key->hive->functions->del_value)
diff --git a/source4/lib/registry/patchfile.c b/source4/lib/registry/patchfile.c
index dd118c780f..21c9c26b21 100644
--- a/source4/lib/registry/patchfile.c
+++ b/source4/lib/registry/patchfile.c
@@ -173,7 +173,7 @@ static WERROR reg_generate_diff_key(struct reg_diff *diff, struct registry_key *
/*
* Generate diff between two registry contexts
*/
-struct reg_diff *reg_generate_diff(TALLOC_CTX *mem_ctx, struct registry_context *ctx1, struct registry_context *ctx2)
+_PUBLIC_ struct reg_diff *reg_generate_diff(TALLOC_CTX *mem_ctx, struct registry_context *ctx1, struct registry_context *ctx2)
{
struct reg_diff *diff = talloc_zero(mem_ctx, struct reg_diff);
int i;
@@ -202,7 +202,7 @@ struct reg_diff *reg_generate_diff(TALLOC_CTX *mem_ctx, struct registry_context
/*
* Save registry diff
*/
-WERROR reg_diff_save(const struct reg_diff *diff, const char *filename)
+_PUBLIC_ WERROR reg_diff_save(const struct reg_diff *diff, const char *filename)
{
int xf, i, j;
@@ -363,7 +363,7 @@ struct reg_diff *reg_diff_load(TALLOC_CTX *ctx, const char *fn)
/*
* Apply diff to a registry context
*/
-BOOL reg_diff_apply (const struct reg_diff *diff, struct registry_context *ctx)
+_PUBLIC_ BOOL reg_diff_apply (const struct reg_diff *diff, struct registry_context *ctx)
{
TALLOC_CTX *mem_ctx = talloc_init("apply_cmd_file");
struct registry_key *tmp = NULL;
diff --git a/source4/lib/tdr/tdr.c b/source4/lib/tdr/tdr.c
index 4a8d05a8ab..5ebe3f0852 100644
--- a/source4/lib/tdr/tdr.c
+++ b/source4/lib/tdr/tdr.c
@@ -24,6 +24,7 @@
#include "includes.h"
#include "system/network.h"
#include "system/filesys.h"
+#include "tdr/tdr.h"
#define TDR_BASE_MARSHALL_SIZE 1024
diff --git a/source4/lib/tdr/tdr.h b/source4/lib/tdr/tdr.h
index f882a63275..8ca6717cee 100644
--- a/source4/lib/tdr/tdr.h
+++ b/source4/lib/tdr/tdr.h
@@ -54,3 +54,5 @@ struct tdr_print {
typedef NTSTATUS (*tdr_push_fn_t) (struct tdr_push *, const void *);
typedef NTSTATUS (*tdr_pull_fn_t) (struct tdr_pull *, TALLOC_CTX *, void *);
+
+#include "tdr/tdr_proto.h"
diff --git a/source4/main.mk b/source4/main.mk
index b185ec97e4..d21d57b790 100644
--- a/source4/main.mk
+++ b/source4/main.mk
@@ -215,9 +215,9 @@ clean_pch:
basics: include/config.h \
include/proto.h \
+ $(PROTO_HEADERS) \
idl \
- heimdal_basics \
- $(PROTO_HEADERS)
+ heimdal_basics
clean: heimdal_clean
@echo Removing headers
diff --git a/source4/nbt_server/config.mk b/source4/nbt_server/config.mk
index 24e69eb52e..61d2a7a3d6 100644
--- a/source4/nbt_server/config.mk
+++ b/source4/nbt_server/config.mk
@@ -47,6 +47,7 @@ OBJ_FILES = \
defense.o \
packet.o \
irpc.o
+PRIVATE_PROTO_HEADER = nbt_server_proto.h
REQUIRED_SUBSYSTEMS = \
LIBCLI_NBT NBTD_WINS NBTD_DGRAM
# End SUBSYSTEM NBTD
diff --git a/source4/nbt_server/nbt_server.h b/source4/nbt_server/nbt_server.h
index 71e384bd2c..9203f20fd9 100644
--- a/source4/nbt_server/nbt_server.h
+++ b/source4/nbt_server/nbt_server.h
@@ -86,3 +86,5 @@ struct nbtd_server {
return; \
} \
} while (0)
+
+#include "nbt_server/nbt_server_proto.h"
diff --git a/source4/ntvfs/cifs/vfs_cifs.c b/source4/ntvfs/cifs/vfs_cifs.c
index b0d0d06552..16a472104b 100644
--- a/source4/ntvfs/cifs/vfs_cifs.c
+++ b/source4/ntvfs/cifs/vfs_cifs.c
@@ -33,6 +33,7 @@
#include "smb_server/smb_server.h"
#include "smbd/service_stream.h"
#include "auth/auth.h"
+#include "ntvfs/ntvfs.h"
/* this is stored in ntvfs_private */
struct cvfs_private {
diff --git a/source4/ntvfs/config.mk b/source4/ntvfs/config.mk
index bc39d82156..74b62809f7 100644
--- a/source4/ntvfs/config.mk
+++ b/source4/ntvfs/config.mk
@@ -77,6 +77,7 @@ PUBLIC_HEADERS = ntvfs.h
MAJOR_VERSION = 0
MINOR_VERSION = 0
DESCRIPTION = Virtual File System with NTFS semantics
+PRIVATE_PROTO_HEADER = ntvfs_proto.h
RELEASE_VERSION = 1
OBJ_FILES = \
ntvfs_base.o \
diff --git a/source4/ntvfs/ipc/vfs_ipc.c b/source4/ntvfs/ipc/vfs_ipc.c
index 3f91323fe5..3a643d7145 100644
--- a/source4/ntvfs/ipc/vfs_ipc.c
+++ b/source4/ntvfs/ipc/vfs_ipc.c
@@ -29,6 +29,7 @@
#include "system/filesys.h"
#include "dlinklist.h"
#include "smb_server/smb_server.h"
+#include "ntvfs/ntvfs.h"
#define IPC_BASE_FNUM 0x400
diff --git a/source4/ntvfs/nbench/vfs_nbench.c b/source4/ntvfs/nbench/vfs_nbench.c
index acfa6313d3..3c95621694 100644
--- a/source4/ntvfs/nbench/vfs_nbench.c
+++ b/source4/ntvfs/nbench/vfs_nbench.c
@@ -27,6 +27,7 @@
#include "includes.h"
#include "system/filesys.h"
#include "smb_server/smb_server.h"
+#include "ntvfs/ntvfs.h"
/* this is stored in ntvfs_private */
struct nbench_private {
diff --git a/source4/ntvfs/ntvfs.h b/source4/ntvfs/ntvfs.h
index 3a6a78c032..4ec8926ebc 100644
--- a/source4/ntvfs/ntvfs.h
+++ b/source4/ntvfs/ntvfs.h
@@ -180,3 +180,5 @@ struct ntvfs_critical_sizes {
int sizeof_smbsrv_tcon;
int sizeof_smbsrv_request;
};
+
+#include "ntvfs/ntvfs_proto.h"
diff --git a/source4/ntvfs/ntvfs_base.c b/source4/ntvfs/ntvfs_base.c
index 1b021527de..d20904737f 100644
--- a/source4/ntvfs/ntvfs_base.c
+++ b/source4/ntvfs/ntvfs_base.c
@@ -27,6 +27,7 @@
#include "dlinklist.h"
#include "smb_server/smb_server.h"
#include "smb_build.h"
+#include "ntvfs/ntvfs.h"
/* the list of currently registered NTVFS backends, note that there
* can be more than one backend with the same name, as long as they
diff --git a/source4/ntvfs/ntvfs_generic.c b/source4/ntvfs/ntvfs_generic.c
index 8d2809cf6b..dc638ade5f 100644
--- a/source4/ntvfs/ntvfs_generic.c
+++ b/source4/ntvfs/ntvfs_generic.c
@@ -34,6 +34,7 @@
#include "includes.h"
#include "smb_server/smb_server.h"
#include "librpc/gen_ndr/ndr_security.h"
+#include "ntvfs/ntvfs.h"
/* a second stage function converts from the out parameters of the generic
call onto the out parameters of the specific call made */
diff --git a/source4/ntvfs/ntvfs_interface.c b/source4/ntvfs/ntvfs_interface.c
index 6a711bc3bd..788dcafaca 100644
--- a/source4/ntvfs/ntvfs_interface.c
+++ b/source4/ntvfs/ntvfs_interface.c
@@ -21,7 +21,7 @@
#include "includes.h"
#include "smb_server/smb_server.h"
-
+#include "ntvfs/ntvfs.h"
/* connect/disconnect */
NTSTATUS ntvfs_connect(struct smbsrv_request *req, const char *sharename)
diff --git a/source4/ntvfs/ntvfs_util.c b/source4/ntvfs/ntvfs_util.c
index e360321882..ad31865425 100644
--- a/source4/ntvfs/ntvfs_util.c
+++ b/source4/ntvfs/ntvfs_util.c
@@ -24,6 +24,7 @@
#include "includes.h"
#include "dlinklist.h"
#include "smb_server/smb_server.h"
+#include "ntvfs/ntvfs.h"
NTSTATUS ntvfs_async_state_push(struct smbsrv_request *req,
diff --git a/source4/ntvfs/posix/vfs_posix.h b/source4/ntvfs/posix/vfs_posix.h
index 9eec368157..dd2bf74543 100644
--- a/source4/ntvfs/posix/vfs_posix.h
+++ b/source4/ntvfs/posix/vfs_posix.h
@@ -25,6 +25,7 @@
#include "system/filesys.h"
#include "smb_server/smb_server.h"
+#include "ntvfs/ntvfs.h"
/* this is the private structure for the posix vfs backend. It is used
to hold per-connection (per tree connect) state information */
diff --git a/source4/ntvfs/print/vfs_print.c b/source4/ntvfs/print/vfs_print.c
index c04cf76f33..e933f5502b 100644
--- a/source4/ntvfs/print/vfs_print.c
+++ b/source4/ntvfs/print/vfs_print.c
@@ -25,6 +25,7 @@
#include "includes.h"
#include "ioctl.h"
#include "smb_server/smb_server.h"
+#include "ntvfs/ntvfs.h"
/*
connect to a share - used when a tree_connect operation comes
diff --git a/source4/ntvfs/simple/svfs_util.c b/source4/ntvfs/simple/svfs_util.c
index ac5cf69e9a..d332abb091 100644
--- a/source4/ntvfs/simple/svfs_util.c
+++ b/source4/ntvfs/simple/svfs_util.c
@@ -28,6 +28,7 @@
#include "svfs.h"
#include "system/time.h"
#include "system/dir.h"
+#include "ntvfs/ntvfs.h"
/*
convert a windows path to a unix path - don't do any manging or case sensitive handling
diff --git a/source4/ntvfs/simple/vfs_simple.c b/source4/ntvfs/simple/vfs_simple.c
index e9063c38c5..1198cafbe9 100644
--- a/source4/ntvfs/simple/vfs_simple.c
+++ b/source4/ntvfs/simple/vfs_simple.c
@@ -33,6 +33,7 @@
#include "system/time.h"
#include "dlinklist.h"
#include "smb_server/smb_server.h"
+#include "ntvfs/ntvfs.h"
#ifndef O_DIRECTORY
#define O_DIRECTORY 0
diff --git a/source4/ntvfs/unixuid/vfs_unixuid.c b/source4/ntvfs/unixuid/vfs_unixuid.c
index 928ff8241b..8bdf732735 100644
--- a/source4/ntvfs/unixuid/vfs_unixuid.c
+++ b/source4/ntvfs/unixuid/vfs_unixuid.c
@@ -27,6 +27,7 @@
#include "auth/auth.h"
#include "librpc/gen_ndr/ndr_security.h"
#include "smb_server/smb_server.h"
+#include "ntvfs/ntvfs.h"
struct unixuid_private {
struct sidmap_context *sidmap;
diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/TDR.pm b/source4/pidl/lib/Parse/Pidl/Samba4/TDR.pm
index 789fb7adbe..3bdb701526 100644
--- a/source4/pidl/lib/Parse/Pidl/Samba4/TDR.pm
+++ b/source4/pidl/lib/Parse/Pidl/Samba4/TDR.pm
@@ -242,6 +242,7 @@ sub Parser($$$)
pidl "";
pidl_hdr "/* autogenerated by pidl */";
pidl_hdr "#include \"$baseheader\"";
+ pidl_hdr "#include \"tdr/tdr.h\"";
pidl_hdr "";
foreach (@$idl) { ParserInterface($_) if ($_->{TYPE} eq "INTERFACE"); }
diff --git a/source4/script/mkproto.pl b/source4/script/mkproto.pl
index 479d53da32..1b2a9d355a 100755
--- a/source4/script/mkproto.pl
+++ b/source4/script/mkproto.pl
@@ -56,14 +56,14 @@ if (not defined($private_define) and defined($private_file)) {
}
if (defined($public_file)) {
- open PUBLIC, ">$public_file";
+ open PUBLIC, ">$public_file" or die("Can't open `$public_file': $!");
$public_fd = \*PUBLIC;
}
if ($private_file eq $public_file) {
$private_fd = $public_fd;
} elsif (defined($private_file)) {
- open PRIVATE, ">$private_file";
+ open PRIVATE, ">$private_file" or die("Can't open `$private_file': $!"); ;
$private_fd = \*PRIVATE;
}
@@ -128,6 +128,10 @@ sub process_file($$$)
next if ($line =~ /^\/|[;]/);
+ if ($line =~ s/^_PUBLIC_[\t ]//) {
+ $target = $public_file;
+ }
+
next unless ( $line =~ /
^void|^BOOL|^int|^struct|^char|^const|^\w+_[tT]\s|^uint|^unsigned|^long|
^NTSTATUS|^ADS_STATUS|^enum\s.*\(|^DATA_BLOB|^WERROR|^XFILE|^FILE|^DIR|
@@ -142,10 +146,6 @@ sub process_file($$$)
next;
}
- if ($line =~ s/_PUBLIC_//xo) {
- $target = $public_file;
- }
-
if ( $line =~ /\(.*\)\s*$/o ) {
chomp $line;
print $target "$line;\n";
diff --git a/source4/smb_server/config.mk b/source4/smb_server/config.mk
index 0810c29998..d41ec24aca 100644
--- a/source4/smb_server/config.mk
+++ b/source4/smb_server/config.mk
@@ -8,6 +8,7 @@ OBJ_FILES = \
tcon.o \
session.o \
management.o
+PRIVATE_PROTO_HEADER = smb_server_proto.h
REQUIRED_SUBSYSTEMS = \
LIBPACKET \
SMB_PROTOCOL \
diff --git a/source4/smb_server/smb/nttrans.c b/source4/smb_server/smb/nttrans.c
index 215b378283..7d5398671d 100644
--- a/source4/smb_server/smb/nttrans.c
+++ b/source4/smb_server/smb/nttrans.c
@@ -25,6 +25,7 @@
#include "includes.h"
#include "smb_server/smb_server.h"
#include "librpc/gen_ndr/ndr_security.h"
+#include "ntvfs/ntvfs.h"
diff --git a/source4/smb_server/smb/receive.c b/source4/smb_server/smb/receive.c
index 806244ee12..a7dde2163f 100644
--- a/source4/smb_server/smb/receive.c
+++ b/source4/smb_server/smb/receive.c
@@ -25,6 +25,7 @@
#include "smbd/service_stream.h"
#include "smb_server/smb_server.h"
#include "lib/stream/packet.h"
+#include "ntvfs/ntvfs.h"
/*
diff --git a/source4/smb_server/smb/reply.c b/source4/smb_server/smb/reply.c
index d780cb1a75..644a5dd1a4 100644
--- a/source4/smb_server/smb/reply.c
+++ b/source4/smb_server/smb/reply.c
@@ -26,6 +26,7 @@
#include "includes.h"
#include "smb_server/smb_server.h"
#include "libcli/nbt/libnbt.h"
+#include "ntvfs/ntvfs.h"
/* useful way of catching wct errors with file and line number */
diff --git a/source4/smb_server/smb/request.c b/source4/smb_server/smb/request.c
index 5491089c8e..08e3eb74a5 100644
--- a/source4/smb_server/smb/request.c
+++ b/source4/smb_server/smb/request.c
@@ -28,6 +28,7 @@
#include "smb_server/smb_server.h"
#include "smbd/service_stream.h"
#include "lib/stream/packet.h"
+#include "ntvfs/ntvfs.h"
/* we over allocate the data buffer to prevent too many realloc calls */
diff --git a/source4/smb_server/smb/search.c b/source4/smb_server/smb/search.c
index 3ec66a0f33..e214d23e18 100644
--- a/source4/smb_server/smb/search.c
+++ b/source4/smb_server/smb/search.c
@@ -24,6 +24,7 @@
#include "includes.h"
#include "smb_server/smb_server.h"
+#include "ntvfs/ntvfs.h"
/* check req->async.status and if not OK then send an error reply */
diff --git a/source4/smb_server/smb/service.c b/source4/smb_server/smb/service.c
index 6032e5a20d..f5ba1254d8 100644
--- a/source4/smb_server/smb/service.c
+++ b/source4/smb_server/smb/service.c
@@ -21,6 +21,7 @@
#include "includes.h"
#include "smb_server/smb_server.h"
#include "smbd/service_stream.h"
+#include "ntvfs/ntvfs.h"
/**
diff --git a/source4/smb_server/smb/trans2.c b/source4/smb_server/smb/trans2.c
index 6e4322d7b3..ef7fa40b20 100644
--- a/source4/smb_server/smb/trans2.c
+++ b/source4/smb_server/smb/trans2.c
@@ -25,6 +25,7 @@
#include "dlinklist.h"
#include "smb_server/smb_server.h"
#include "librpc/gen_ndr/ndr_misc.h"
+#include "ntvfs/ntvfs.h"
#define CHECK_MIN_BLOB_SIZE(blob, size) do { \
if ((blob)->length < (size)) { \
diff --git a/source4/smb_server/smb_server.h b/source4/smb_server/smb_server.h
index 7f38119f2b..d0df15e022 100644
--- a/source4/smb_server/smb_server.h
+++ b/source4/smb_server/smb_server.h
@@ -301,3 +301,5 @@ struct smbsrv_connection {
BOOL nt_status_support;
} config;
};
+
+#include "smb_server/smb_server_proto.h"
diff --git a/source4/smb_server/tcon.c b/source4/smb_server/tcon.c
index 0cb6738d31..01194d1ea1 100644
--- a/source4/smb_server/tcon.c
+++ b/source4/smb_server/tcon.c
@@ -24,6 +24,7 @@
#include "dlinklist.h"
#include "smb_server/smb_server.h"
#include "smbd/service_stream.h"
+#include "ntvfs/ntvfs.h"
/****************************************************************************
diff --git a/source4/smbd/server.c b/source4/smbd/server.c
index a753a1668b..7174084f13 100644
--- a/source4/smbd/server.c
+++ b/source4/smbd/server.c
@@ -32,6 +32,7 @@
#include "system/kerberos.h"
#include "smb_build.h"
#include "registry/registry.h"
+#include "ntvfs/ntvfs.h"
/*
recursively delete a directory tree