VFS module in HEAD
REYNAUD Jean-Samuel
reynaud at nantes.inra.fr
Thu Aug 2 10:37:47 GMT 2001
I've modifie the skel module to use it with the HEAD branche.
I've used the SMB_VFS_INTERFACE_VERSION 2. So the vfs_init function
become:
struct vfs_ops *vfs_init(int *vfs_version,struct vfs_ops *conn_vfs_ops)
{
default_vfs_ops = *conn_vfs_ops;
*vfs_version = SMB_VFS_INTERFACE_VERSION;
return(&skel_ops);
}
But the compilation don't work:
$ make skel.so
libtool gcc -I../../source -I../../source/include -I../../source/ubiqx
-I../../source/smbwrapper -Wall -g -c skel.c
gcc -I../../source -I../../source/include -I../../source/ubiqx
-I../../source/smbwrapper -Wall -g -c skel.c -fPIC -DPIC -o
.libs/skel.o
skel.c:154: conflicting types for `vfs_init'
../../source/include/proto.h:4483: previous declaration of `vfs_init'
make: *** [skel.lo] Erreur 1
the module's vfs_init prototype conflict with the proto.h's vfs_init
prototype.
In fact, the smbd/vfs.c's vfs_init function had the prototype:
BOOL vfs_init(connection_struct *conn)
Perhaps, the solution is to change the vfs_init function name for
modules (example : vfs_init_module...)
So the vfs.c's loading become:
init_fptr = (struct vfs_ops *(*)(int *, struct vfs_ops
*))sys_dlsym(conn->dl_handle, "vfs_init_module");
--
REYNAUD Jean-Samuel
More information about the samba-technical
mailing list