brintos

brintos / linux-shallow public Read only

0
0
Text · 1.4 KiB · 8c227b8 Raw
71 lines · 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__ */71