/* public functions - the api */
SMB_ACL_T tru64acl_sys_acl_get_file(vfs_handle_struct *handle,
- const char *path_p,
- SMB_ACL_TYPE_T type,
- TALLOC_CTX *mem_ctx)
+ const struct smb_filename *smb_fname,
+ SMB_ACL_TYPE_T type,
+ TALLOC_CTX *mem_ctx)
{
struct smb_acl_t *result;
acl_type_t the_acl_type;
return NULL;
}
- tru64_acl = acl_get_file((char *)path_p, the_acl_type);
+ tru64_acl = acl_get_file((char *)smb_fname->base_name, the_acl_type);
if (tru64_acl == NULL) {
return NULL;
}
int tru64acl_sys_acl_set_file(vfs_handle_struct *handle,
- const char *name,
+ const struct smb_filename *smb_fname,
SMB_ACL_TYPE_T type,
SMB_ACL_T theacl)
{
acl_t tru64_acl;
DEBUG(10, ("tru64acl_sys_acl_set_file called with name %s, type %d\n",
- name, type));
+ smb_fname->base_name, type));
switch(type) {
case SMB_ACL_TYPE_ACCESS:
goto fail;
}
DEBUG(10, ("got tru64 acl...\n"));
- res = acl_set_file((char *)name, the_acl_type, tru64_acl);
+ res = acl_set_file((char *)smb_fname->base_name,
+ the_acl_type, tru64_acl);
acl_free(tru64_acl);
if (res != 0) {
DEBUG(10, ("acl_set_file failed: %s\n", strerror(errno)));
}
int tru64acl_sys_acl_delete_def_file(vfs_handle_struct *handle,
- const char *path)
+ const struct smb_filename *smb_fname)
{
- return acl_delete_def_file((char *)path);
+ return acl_delete_def_file((char *)smb_fname->base_name);
}
.sys_acl_delete_def_file_fn = tru64acl_sys_acl_delete_def_file,
};
-NTSTATUS vfs_tru64acl_init(void);
-NTSTATUS vfs_tru64acl_init(void)
+NTSTATUS vfs_tru64acl_init(TALLOC_CTX *);
+NTSTATUS vfs_tru64acl_init(TALLOC_CTX *ctx)
{
return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "tru64acl",
&tru64acl_fns);