const struct share_mode_data *data,
void *private_data),
void *private_data);
-int share_entry_forall(int (*fn)(const struct share_mode_entry *, const char *,
+int share_entry_forall(int (*fn)(const struct share_mode_entry *,
+ const char *, const char *,
const char *, void *),
void *private_data);
bool share_mode_cleanup_disconnected(struct file_id id,
struct share_entry_forall_state {
int (*fn)(const struct share_mode_entry *e,
- const char *service_path, const char *base_name,
+ const char *service_path,
+ const char *base_name,
+ const char *stream_name,
void *private_data);
void *private_data;
};
int ret;
ret = state->fn(&data->share_modes[i],
- data->servicepath, data->base_name,
+ data->servicepath,
+ data->base_name,
+ data->stream_name,
state->private_data);
if (ret != 0) {
return ret;
********************************************************************/
int share_entry_forall(int (*fn)(const struct share_mode_entry *,
- const char *, const char *, void *),
+ const char *, const char *,
+ const char *, void *),
void *private_data)
{
struct share_entry_forall_state state = {
********************************************************************/
static int enum_file_fn(const struct share_mode_entry *e,
- const char *sharepath, const char *fname,
+ const char *sharepath,
+ const char *fname,
+ const char *sname,
void *private_data)
{
struct file_enum_count *fenum =
if ( strcmp( fname, "." ) == 0 ) {
fullpath = talloc_asprintf(fenum->ctx, "C:%s", sharepath );
} else {
- fullpath = talloc_asprintf(fenum->ctx, "C:%s/%s",
- sharepath, fname );
+ fullpath = talloc_asprintf(fenum->ctx, "C:%s/%s%s",
+ sharepath, fname,
+ sname ? sname : "");
}
if (!fullpath) {
return 0;
**********************************************************************/
static int count_sess_files_fn(const struct share_mode_entry *e,
- const char *sharepath, const char *fname,
+ const char *sharepath,
+ const char *fname,
+ const char *sname,
void *data)
{
struct sess_file_info *info = data;
********************************************************************/
static int share_file_fn(const struct share_mode_entry *e,
- const char *sharepath, const char *fname,
+ const char *sharepath,
+ const char *fname,
+ const char *sname,
void *data)
{
struct share_file_stat *sfs = data;
};
static int enum_file_close_fn(const struct share_mode_entry *e,
- const char *sharepath, const char *fname,
+ const char *sharepath,
+ const char *fname,
+ const char *sname,
void *private_data)
{
char msg[MSG_SMB_SHARE_MODE_ENTRY_SIZE];
static int print_share_mode(const struct share_mode_entry *e,
const char *sharepath,
const char *fname,
+ const char *sname,
void *dummy)
{
static int count;
d_printf("NONE ");
}
- d_printf(" %s %s %s",sharepath, fname, time_to_asc((time_t)e->time.tv_sec));
+ d_printf(" %s %s%s %s",
+ sharepath, fname,
+ sname ? sname : "",
+ time_to_asc((time_t)e->time.tv_sec));
}
return 0;