File Index
Files and directories
Sign in
FILE

user_config.h

File preview with syntax highlighting.

linux-6.19.14/fs/smb/server/mgmt/user_config.h C
 1/* SPDX-License-Identifier: GPL-2.0-or-later */
 2/*
 3 *   Copyright (C) 2018 Samsung Electronics Co., Ltd.
 4 */
 5
 6#ifndef __USER_CONFIG_MANAGEMENT_H__
 7#define __USER_CONFIG_MANAGEMENT_H__
 8
 9#include "../glob.h"
10
11struct ksmbd_user {
12	unsigned short		flags;
13
14	unsigned int		uid;
15	unsigned int		gid;
16
17	char			*name;
18
19	size_t			passkey_sz;
20	char			*passkey;
21	int			ngroups;
22	gid_t			*sgid;
23};
24
25static inline bool user_guest(struct ksmbd_user *user)
26{
27	return user->flags & KSMBD_USER_FLAG_GUEST_ACCOUNT;
28}
29
30static inline void set_user_flag(struct ksmbd_user *user, int flag)
31{
32	user->flags |= flag;
33}
34
35static inline int test_user_flag(struct ksmbd_user *user, int flag)
36{
37	return user->flags & flag;
38}
39
40static inline void set_user_guest(struct ksmbd_user *user)
41{
42}
43
44static inline char *user_passkey(struct ksmbd_user *user)
45{
46	return user->passkey;
47}
48
49static inline char *user_name(struct ksmbd_user *user)
50{
51	return user->name;
52}
53
54static inline unsigned int user_uid(struct ksmbd_user *user)
55{
56	return user->uid;
57}
58
59static inline unsigned int user_gid(struct ksmbd_user *user)
60{
61	return user->gid;
62}
63
64struct ksmbd_user *ksmbd_login_user(const char *account);
65struct ksmbd_user *ksmbd_alloc_user(struct ksmbd_login_response *resp,
66		struct ksmbd_login_response_ext *resp_ext);
67void ksmbd_free_user(struct ksmbd_user *user);
68int ksmbd_anonymous_user(struct ksmbd_user *user);
69bool ksmbd_compare_user(struct ksmbd_user *u1, struct ksmbd_user *u2);
70#endif /* __USER_CONFIG_MANAGEMENT_H__ */
~/ Read-only file preview.