diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/include/ntvfs.h | 1 | ||||
-rw-r--r-- | source4/ntvfs/ntvfs_base.c | 17 |
2 files changed, 11 insertions, 7 deletions
diff --git a/source4/include/ntvfs.h b/source4/include/ntvfs.h index b972a4ef99..af23f10607 100644 --- a/source4/include/ntvfs.h +++ b/source4/include/ntvfs.h @@ -82,6 +82,7 @@ struct ntvfs_ops { /* this structure is used by backends to determine the size of some critical types */ struct ntvfs_critical_sizes { + int interface_version; int sizeof_ntvfs_ops; int sizeof_SMB_OFF_T; int sizeof_tcon_context; diff --git a/source4/ntvfs/ntvfs_base.c b/source4/ntvfs/ntvfs_base.c index 11f39c5d59..ad1b3ae671 100644 --- a/source4/ntvfs/ntvfs_base.c +++ b/source4/ntvfs/ntvfs_base.c @@ -88,14 +88,17 @@ struct ntvfs_ops *ntvfs_backend_byname(const char *name, enum ntvfs_type type) This can be used by backends to either detect compilation errors, or provide multiple implementations for different smbd compilation options in one module */ -int ntvfs_interface_version(struct ntvfs_critical_sizes *sizes) +const struct ntvfs_critical_sizes *ntvfs_interface_version(void) { - sizes->sizeof_ntvfs_ops = sizeof(struct ntvfs_ops); - sizes->sizeof_SMB_OFF_T = sizeof(SMB_OFF_T); - sizes->sizeof_tcon_context = sizeof(struct tcon_context); - sizes->sizeof_request_context = sizeof(struct request_context); - - return NTVFS_INTERFACE_VERSION; + static const struct ntvfs_critical_sizes critical_sizes = { + NTVFS_INTERFACE_VERSION, + sizeof(struct ntvfs_ops), + sizeof(SMB_OFF_T), + sizeof(struct tcon_context), + sizeof(struct request_context), + }; + + return &critical_sizes; } |