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

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

#ifndef __SHARE_CONFIG_MANAGEMENT_H__
#define __SHARE_CONFIG_MANAGEMENT_H__

#include <linux/workqueue.h>
#include <linux/hashtable.h>
#include <linux/path.h>
#include <linux/unicode.h>

struct ksmbd_share_config {};

#define KSMBD_SHARE_INVALID_UID
#define KSMBD_SHARE_INVALID_GID

static inline umode_t
share_config_create_mode(struct ksmbd_share_config *share,
			 umode_t posix_mode)
{}

static inline umode_t
share_config_directory_mode(struct ksmbd_share_config *share,
			    umode_t posix_mode)
{}

static inline int test_share_config_flag(struct ksmbd_share_config *share,
					 int flag)
{}

void ksmbd_share_config_del(struct ksmbd_share_config *share);
void __ksmbd_share_config_put(struct ksmbd_share_config *share);

static inline void ksmbd_share_config_put(struct ksmbd_share_config *share)
{}

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);
#endif /* __SHARE_CONFIG_MANAGEMENT_H__ */