diff options
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 4 | ||||
-rw-r--r-- | source3/include/smb.h | 4 | ||||
-rw-r--r-- | source3/include/vfs.h | 4 |
3 files changed, 8 insertions, 4 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index e5dbe60e11..1a1f8bef69 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -7317,7 +7317,9 @@ void sys_utmp_claim(const char *username, const char *hostname, NTSTATUS smb_register_vfs(int version, const char *name, const vfs_op_tuple *vfs_op_tuples); bool vfs_init_custom(connection_struct *conn, const char *vfs_object); -void *vfs_add_fsp_extension_notype(vfs_handle_struct *handle, files_struct *fsp, size_t ext_size); +void *vfs_add_fsp_extension_notype(vfs_handle_struct *handle, + files_struct *fsp, size_t ext_size, + void (*destroy_fn)(void *p_data)); void vfs_remove_fsp_extension(vfs_handle_struct *handle, files_struct *fsp); void *vfs_memctx_fsp_extension(vfs_handle_struct *handle, files_struct *fsp); void *vfs_fetch_fsp_extension(vfs_handle_struct *handle, files_struct *fsp); diff --git a/source3/include/smb.h b/source3/include/smb.h index 3da63cfc2b..100ec21031 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -373,7 +373,9 @@ struct rpc_cli_smbd_conn; struct vfs_fsp_data { struct vfs_fsp_data *next; struct vfs_handle_struct *owner; - /* NOTE: This structure contains two pointers so that we can guarantee + void (*destroy)(void *p_data); + void *_dummy_; + /* NOTE: This structure contains four pointers so that we can guarantee * that the end of the structure is always both 4-byte and 8-byte aligned. */ }; diff --git a/source3/include/vfs.h b/source3/include/vfs.h index e9115ab807..228f090600 100644 --- a/source3/include/vfs.h +++ b/source3/include/vfs.h @@ -679,8 +679,8 @@ typedef struct vfs_statvfs_struct { /* Add a new FSP extension of the given type. Returns a pointer to the * extenstion data. */ -#define VFS_ADD_FSP_EXTENSION(handle, fsp, type) \ - vfs_add_fsp_extension_notype(handle, (fsp), sizeof(type)) +#define VFS_ADD_FSP_EXTENSION(handle, fsp, type, destroy_fn) \ + vfs_add_fsp_extension_notype(handle, (fsp), sizeof(type), (destroy_fn)) /* Return a pointer to the existing FSP extension data. */ #define VFS_FETCH_FSP_EXTENSION(handle, fsp) \ |