linux/fs/smb/server/mgmt/share_config.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *   Copyright (C) 2018 Samsung Electronics Co., Ltd.
 */

#include <linux/list.h>
#include <linux/jhash.h>
#include <linux/slab.h>
#include <linux/rwsem.h>
#include <linux/parser.h>
#include <linux/namei.h>
#include <linux/sched.h>
#include <linux/mm.h>

#include "share_config.h"
#include "user_config.h"
#include "user_session.h"
#include "../transport_ipc.h"
#include "../misc.h"

#define SHARE_HASH_BITS
static DEFINE_HASHTABLE(shares_table, SHARE_HASH_BITS);
static DECLARE_RWSEM(shares_table_lock);

struct ksmbd_veto_pattern {};

static unsigned int share_name_hash(const char *name)
{}

static void kill_share(struct ksmbd_share_config *share)
{}

void ksmbd_share_config_del(struct ksmbd_share_config *share)
{}

void __ksmbd_share_config_put(struct ksmbd_share_config *share)
{}

static struct ksmbd_share_config *
__get_share_config(struct ksmbd_share_config *share)
{}

static struct ksmbd_share_config *__share_lookup(const char *name)
{}

static int parse_veto_list(struct ksmbd_share_config *share,
			   char *veto_list,
			   int veto_list_sz)
{}

static struct ksmbd_share_config *share_config_request(struct unicode_map *um,
						       const char *name)
{}

struct ksmbd_share_config *ksmbd_share_config_get(struct unicode_map *um,
						  const char *name)
{}

bool ksmbd_share_veto_filename(struct ksmbd_share_config *share,
			       const char *filename)
{}