1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

r12528: Add seperate proto headers for ntvfs, tdr, smb_server and nbt_server.

(This used to be commit 87f665a1d5)
This commit is contained in:
Jelmer Vernooij 2005-12-27 22:51:30 +00:00 committed by Gerald (Jerry) Carter
parent 7285e102f0
commit 0a3c167f6b
38 changed files with 60 additions and 27 deletions

View File

@ -11,3 +11,4 @@
- utility function for 'init mutex' - utility function for 'init mutex'
- install shared modules - install shared modules
- improve (un)install scripts (rewrite in perl?) - improve (un)install scripts (rewrite in perl?)
- proper #include dependencies

View File

@ -101,7 +101,6 @@ struct ipv4_addr {
#include "smb_macros.h" #include "smb_macros.h"
#include "smb.h" #include "smb.h"
#include "byteorder.h" #include "byteorder.h"
#include "lib/tdr/tdr.h"
#include "librpc/ndr/libndr.h" #include "librpc/ndr/libndr.h"
#include "librpc/gen_ndr/misc.h" #include "librpc/gen_ndr/misc.h"
#include "librpc/gen_ndr/dcerpc.h" #include "librpc/gen_ndr/dcerpc.h"
@ -109,13 +108,13 @@ struct ipv4_addr {
#include "librpc/gen_ndr/orpc.h" #include "librpc/gen_ndr/orpc.h"
#include "librpc/rpc/dcerpc.h" #include "librpc/rpc/dcerpc.h"
#include "smb_interfaces.h" #include "smb_interfaces.h"
#include "ntvfs/ntvfs.h"
#include "cli_context.h" #include "cli_context.h"
#include "auth/credentials/credentials.h" #include "auth/credentials/credentials.h"
/***** automatically generated prototypes *****/ /***** automatically generated prototypes *****/
#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2) #define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
#include "include/proto.h" #include "include/proto.h"
#include "basic.h"
#undef _PRINTF_ATTRIBUTE #undef _PRINTF_ATTRIBUTE
#define _PRINTF_ATTRIBUTE(a1, a2) #define _PRINTF_ATTRIBUTE(a1, a2)

View File

@ -157,7 +157,6 @@ struct request_buffer;
struct smb2srv_request; struct smb2srv_request;
struct smb2_request_buffer; struct smb2_request_buffer;
struct ntvfs_context;
struct ntvfs_module_context; struct ntvfs_module_context;
struct pvfs_dir; struct pvfs_dir;
@ -267,14 +266,10 @@ struct task_server;
struct model_ops; struct model_ops;
struct stream_server_ops; struct stream_server_ops;
struct nbtd_server;
struct nbtd_interface;
struct nbtd_iface_name;
struct wins_server; struct wins_server;
struct nbtd_proxy_wins_challenge; struct nbtd_proxy_wins_challenge;
struct nbtd_proxy_wins_release_demand; struct nbtd_proxy_wins_release_demand;
struct nbt_iface_name;
struct nbt_dc_name; struct nbt_dc_name;
struct wb_sid_object; struct wb_sid_object;
struct wb_dom_info; struct wb_dom_info;
@ -373,3 +368,6 @@ struct IUnknown_vtable;
struct MprVar; struct MprVar;
struct registry_context; struct registry_context;
struct nbtd_interface;
struct nbtd_iface_name;
struct nbtd_server;

View File

@ -32,6 +32,7 @@ MAJOR_VERSION = 0
MINOR_VERSION = 0 MINOR_VERSION = 0
RELEASE_VERSION = 1 RELEASE_VERSION = 1
DESCRIPTION = Simple marshall/unmarshall library DESCRIPTION = Simple marshall/unmarshall library
PRIVATE_PROTO_HEADER = tdr/tdr_proto.h
OBJ_FILES = tdr/tdr.o OBJ_FILES = tdr/tdr.o
############################## ##############################
@ -62,6 +63,7 @@ OBJ_FILES = \
############################## ##############################
# Start SUBSYSTEM LIBBASIC # Start SUBSYSTEM LIBBASIC
[SUBSYSTEM::LIBBASIC] [SUBSYSTEM::LIBBASIC]
PRIVATE_PROTO_HEADER = basic.h
OBJ_FILES = version.o \ OBJ_FILES = version.o \
xfile.o \ xfile.o \
debug.o \ debug.o \

View File

@ -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); static struct reg_init_function_entry *reg_find_backend_entry(const char *name);
/* Register new backend */ /* 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; const struct hive_operations *hive_ops = _hive_ops;
struct reg_init_function_entry *entry = backends; 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; return NULL;
} }
NTSTATUS registry_init(void) _PUBLIC_ NTSTATUS registry_init(void)
{ {
init_module_fn static_init[] = STATIC_REGISTRY_MODULES; init_module_fn static_init[] = STATIC_REGISTRY_MODULES;
init_module_fn *shared_init = load_samba_modules(NULL, "registry"); init_module_fn *shared_init = load_samba_modules(NULL, "registry");
@ -101,7 +101,7 @@ static struct {
{ 0, NULL } { 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; int i;
*predefs = talloc_array(mem_ctx, char *, ARRAY_SIZE(predef_names)); *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 */ /* 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_hive *rethive;
struct registry_key *retkey = NULL; 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 * 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 * 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; WERROR error;
@ -251,7 +251,7 @@ WERROR reg_open_key(TALLOC_CTX *mem_ctx, struct registry_key *parent, const char
return WERR_OK; 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; 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; 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 */ /* A 'real' set function has preference */
if (key->hive->functions->set_value) 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; 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; WERROR ret = WERR_OK;
if(!key->hive->functions->del_value) if(!key->hive->functions->del_value)

View File

@ -173,7 +173,7 @@ static WERROR reg_generate_diff_key(struct reg_diff *diff, struct registry_key *
/* /*
* Generate diff between two registry contexts * 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); struct reg_diff *diff = talloc_zero(mem_ctx, struct reg_diff);
int i; int i;
@ -202,7 +202,7 @@ struct reg_diff *reg_generate_diff(TALLOC_CTX *mem_ctx, struct registry_context
/* /*
* Save registry diff * 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; 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 * 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"); TALLOC_CTX *mem_ctx = talloc_init("apply_cmd_file");
struct registry_key *tmp = NULL; struct registry_key *tmp = NULL;

View File

@ -24,6 +24,7 @@
#include "includes.h" #include "includes.h"
#include "system/network.h" #include "system/network.h"
#include "system/filesys.h" #include "system/filesys.h"
#include "tdr/tdr.h"
#define TDR_BASE_MARSHALL_SIZE 1024 #define TDR_BASE_MARSHALL_SIZE 1024

View File

@ -54,3 +54,5 @@ struct tdr_print {
typedef NTSTATUS (*tdr_push_fn_t) (struct tdr_push *, const void *); typedef NTSTATUS (*tdr_push_fn_t) (struct tdr_push *, const void *);
typedef NTSTATUS (*tdr_pull_fn_t) (struct tdr_pull *, TALLOC_CTX *, void *); typedef NTSTATUS (*tdr_pull_fn_t) (struct tdr_pull *, TALLOC_CTX *, void *);
#include "tdr/tdr_proto.h"

View File

@ -215,9 +215,9 @@ clean_pch:
basics: include/config.h \ basics: include/config.h \
include/proto.h \ include/proto.h \
$(PROTO_HEADERS) \
idl \ idl \
heimdal_basics \ heimdal_basics
$(PROTO_HEADERS)
clean: heimdal_clean clean: heimdal_clean
@echo Removing headers @echo Removing headers

View File

@ -47,6 +47,7 @@ OBJ_FILES = \
defense.o \ defense.o \
packet.o \ packet.o \
irpc.o irpc.o
PRIVATE_PROTO_HEADER = nbt_server_proto.h
REQUIRED_SUBSYSTEMS = \ REQUIRED_SUBSYSTEMS = \
LIBCLI_NBT NBTD_WINS NBTD_DGRAM LIBCLI_NBT NBTD_WINS NBTD_DGRAM
# End SUBSYSTEM NBTD # End SUBSYSTEM NBTD

View File

@ -86,3 +86,5 @@ struct nbtd_server {
return; \ return; \
} \ } \
} while (0) } while (0)
#include "nbt_server/nbt_server_proto.h"

View File

@ -33,6 +33,7 @@
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "smbd/service_stream.h" #include "smbd/service_stream.h"
#include "auth/auth.h" #include "auth/auth.h"
#include "ntvfs/ntvfs.h"
/* this is stored in ntvfs_private */ /* this is stored in ntvfs_private */
struct cvfs_private { struct cvfs_private {

View File

@ -77,6 +77,7 @@ PUBLIC_HEADERS = ntvfs.h
MAJOR_VERSION = 0 MAJOR_VERSION = 0
MINOR_VERSION = 0 MINOR_VERSION = 0
DESCRIPTION = Virtual File System with NTFS semantics DESCRIPTION = Virtual File System with NTFS semantics
PRIVATE_PROTO_HEADER = ntvfs_proto.h
RELEASE_VERSION = 1 RELEASE_VERSION = 1
OBJ_FILES = \ OBJ_FILES = \
ntvfs_base.o \ ntvfs_base.o \

View File

@ -29,6 +29,7 @@
#include "system/filesys.h" #include "system/filesys.h"
#include "dlinklist.h" #include "dlinklist.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "ntvfs/ntvfs.h"
#define IPC_BASE_FNUM 0x400 #define IPC_BASE_FNUM 0x400

View File

@ -27,6 +27,7 @@
#include "includes.h" #include "includes.h"
#include "system/filesys.h" #include "system/filesys.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "ntvfs/ntvfs.h"
/* this is stored in ntvfs_private */ /* this is stored in ntvfs_private */
struct nbench_private { struct nbench_private {

View File

@ -180,3 +180,5 @@ struct ntvfs_critical_sizes {
int sizeof_smbsrv_tcon; int sizeof_smbsrv_tcon;
int sizeof_smbsrv_request; int sizeof_smbsrv_request;
}; };
#include "ntvfs/ntvfs_proto.h"

View File

@ -27,6 +27,7 @@
#include "dlinklist.h" #include "dlinklist.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "smb_build.h" #include "smb_build.h"
#include "ntvfs/ntvfs.h"
/* the list of currently registered NTVFS backends, note that there /* the list of currently registered NTVFS backends, note that there
* can be more than one backend with the same name, as long as they * can be more than one backend with the same name, as long as they

View File

@ -34,6 +34,7 @@
#include "includes.h" #include "includes.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "librpc/gen_ndr/ndr_security.h" #include "librpc/gen_ndr/ndr_security.h"
#include "ntvfs/ntvfs.h"
/* a second stage function converts from the out parameters of the generic /* a second stage function converts from the out parameters of the generic
call onto the out parameters of the specific call made */ call onto the out parameters of the specific call made */

View File

@ -21,7 +21,7 @@
#include "includes.h" #include "includes.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "ntvfs/ntvfs.h"
/* connect/disconnect */ /* connect/disconnect */
NTSTATUS ntvfs_connect(struct smbsrv_request *req, const char *sharename) NTSTATUS ntvfs_connect(struct smbsrv_request *req, const char *sharename)

View File

@ -24,6 +24,7 @@
#include "includes.h" #include "includes.h"
#include "dlinklist.h" #include "dlinklist.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "ntvfs/ntvfs.h"
NTSTATUS ntvfs_async_state_push(struct smbsrv_request *req, NTSTATUS ntvfs_async_state_push(struct smbsrv_request *req,

View File

@ -25,6 +25,7 @@
#include "system/filesys.h" #include "system/filesys.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "ntvfs/ntvfs.h"
/* this is the private structure for the posix vfs backend. It is used /* this is the private structure for the posix vfs backend. It is used
to hold per-connection (per tree connect) state information */ to hold per-connection (per tree connect) state information */

View File

@ -25,6 +25,7 @@
#include "includes.h" #include "includes.h"
#include "ioctl.h" #include "ioctl.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "ntvfs/ntvfs.h"
/* /*
connect to a share - used when a tree_connect operation comes connect to a share - used when a tree_connect operation comes

View File

@ -28,6 +28,7 @@
#include "svfs.h" #include "svfs.h"
#include "system/time.h" #include "system/time.h"
#include "system/dir.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 convert a windows path to a unix path - don't do any manging or case sensitive handling

View File

@ -33,6 +33,7 @@
#include "system/time.h" #include "system/time.h"
#include "dlinklist.h" #include "dlinklist.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "ntvfs/ntvfs.h"
#ifndef O_DIRECTORY #ifndef O_DIRECTORY
#define O_DIRECTORY 0 #define O_DIRECTORY 0

View File

@ -27,6 +27,7 @@
#include "auth/auth.h" #include "auth/auth.h"
#include "librpc/gen_ndr/ndr_security.h" #include "librpc/gen_ndr/ndr_security.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "ntvfs/ntvfs.h"
struct unixuid_private { struct unixuid_private {
struct sidmap_context *sidmap; struct sidmap_context *sidmap;

View File

@ -242,6 +242,7 @@ sub Parser($$$)
pidl ""; pidl "";
pidl_hdr "/* autogenerated by pidl */"; pidl_hdr "/* autogenerated by pidl */";
pidl_hdr "#include \"$baseheader\""; pidl_hdr "#include \"$baseheader\"";
pidl_hdr "#include \"tdr/tdr.h\"";
pidl_hdr ""; pidl_hdr "";
foreach (@$idl) { ParserInterface($_) if ($_->{TYPE} eq "INTERFACE"); } foreach (@$idl) { ParserInterface($_) if ($_->{TYPE} eq "INTERFACE"); }

View File

@ -56,14 +56,14 @@ if (not defined($private_define) and defined($private_file)) {
} }
if (defined($public_file)) { if (defined($public_file)) {
open PUBLIC, ">$public_file"; open PUBLIC, ">$public_file" or die("Can't open `$public_file': $!");
$public_fd = \*PUBLIC; $public_fd = \*PUBLIC;
} }
if ($private_file eq $public_file) { if ($private_file eq $public_file) {
$private_fd = $public_fd; $private_fd = $public_fd;
} elsif (defined($private_file)) { } elsif (defined($private_file)) {
open PRIVATE, ">$private_file"; open PRIVATE, ">$private_file" or die("Can't open `$private_file': $!"); ;
$private_fd = \*PRIVATE; $private_fd = \*PRIVATE;
} }
@ -128,6 +128,10 @@ sub process_file($$$)
next if ($line =~ /^\/|[;]/); next if ($line =~ /^\/|[;]/);
if ($line =~ s/^_PUBLIC_[\t ]//) {
$target = $public_file;
}
next unless ( $line =~ / next unless ( $line =~ /
^void|^BOOL|^int|^struct|^char|^const|^\w+_[tT]\s|^uint|^unsigned|^long| ^void|^BOOL|^int|^struct|^char|^const|^\w+_[tT]\s|^uint|^unsigned|^long|
^NTSTATUS|^ADS_STATUS|^enum\s.*\(|^DATA_BLOB|^WERROR|^XFILE|^FILE|^DIR| ^NTSTATUS|^ADS_STATUS|^enum\s.*\(|^DATA_BLOB|^WERROR|^XFILE|^FILE|^DIR|
@ -142,10 +146,6 @@ sub process_file($$$)
next; next;
} }
if ($line =~ s/_PUBLIC_//xo) {
$target = $public_file;
}
if ( $line =~ /\(.*\)\s*$/o ) { if ( $line =~ /\(.*\)\s*$/o ) {
chomp $line; chomp $line;
print $target "$line;\n"; print $target "$line;\n";

View File

@ -8,6 +8,7 @@ OBJ_FILES = \
tcon.o \ tcon.o \
session.o \ session.o \
management.o management.o
PRIVATE_PROTO_HEADER = smb_server_proto.h
REQUIRED_SUBSYSTEMS = \ REQUIRED_SUBSYSTEMS = \
LIBPACKET \ LIBPACKET \
SMB_PROTOCOL \ SMB_PROTOCOL \

View File

@ -25,6 +25,7 @@
#include "includes.h" #include "includes.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "librpc/gen_ndr/ndr_security.h" #include "librpc/gen_ndr/ndr_security.h"
#include "ntvfs/ntvfs.h"

View File

@ -25,6 +25,7 @@
#include "smbd/service_stream.h" #include "smbd/service_stream.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "lib/stream/packet.h" #include "lib/stream/packet.h"
#include "ntvfs/ntvfs.h"
/* /*

View File

@ -26,6 +26,7 @@
#include "includes.h" #include "includes.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "libcli/nbt/libnbt.h" #include "libcli/nbt/libnbt.h"
#include "ntvfs/ntvfs.h"
/* useful way of catching wct errors with file and line number */ /* useful way of catching wct errors with file and line number */

View File

@ -28,6 +28,7 @@
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "smbd/service_stream.h" #include "smbd/service_stream.h"
#include "lib/stream/packet.h" #include "lib/stream/packet.h"
#include "ntvfs/ntvfs.h"
/* we over allocate the data buffer to prevent too many realloc calls */ /* we over allocate the data buffer to prevent too many realloc calls */

View File

@ -24,6 +24,7 @@
#include "includes.h" #include "includes.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "ntvfs/ntvfs.h"
/* check req->async.status and if not OK then send an error reply */ /* check req->async.status and if not OK then send an error reply */

View File

@ -21,6 +21,7 @@
#include "includes.h" #include "includes.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "smbd/service_stream.h" #include "smbd/service_stream.h"
#include "ntvfs/ntvfs.h"
/** /**

View File

@ -25,6 +25,7 @@
#include "dlinklist.h" #include "dlinklist.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "librpc/gen_ndr/ndr_misc.h" #include "librpc/gen_ndr/ndr_misc.h"
#include "ntvfs/ntvfs.h"
#define CHECK_MIN_BLOB_SIZE(blob, size) do { \ #define CHECK_MIN_BLOB_SIZE(blob, size) do { \
if ((blob)->length < (size)) { \ if ((blob)->length < (size)) { \

View File

@ -301,3 +301,5 @@ struct smbsrv_connection {
BOOL nt_status_support; BOOL nt_status_support;
} config; } config;
}; };
#include "smb_server/smb_server_proto.h"

View File

@ -24,6 +24,7 @@
#include "dlinklist.h" #include "dlinklist.h"
#include "smb_server/smb_server.h" #include "smb_server/smb_server.h"
#include "smbd/service_stream.h" #include "smbd/service_stream.h"
#include "ntvfs/ntvfs.h"
/**************************************************************************** /****************************************************************************

View File

@ -32,6 +32,7 @@
#include "system/kerberos.h" #include "system/kerberos.h"
#include "smb_build.h" #include "smb_build.h"
#include "registry/registry.h" #include "registry/registry.h"
#include "ntvfs/ntvfs.h"
/* /*
recursively delete a directory tree recursively delete a directory tree