user_config.h (1438B)
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 unsigned int failed_login_count; 22}; 23 24static inline bool user_guest(struct ksmbd_user *user) 25{ 26 return user->flags & KSMBD_USER_FLAG_GUEST_ACCOUNT; 27} 28 29static inline void set_user_flag(struct ksmbd_user *user, int flag) 30{ 31 user->flags |= flag; 32} 33 34static inline int test_user_flag(struct ksmbd_user *user, int flag) 35{ 36 return user->flags & flag; 37} 38 39static inline void set_user_guest(struct ksmbd_user *user) 40{ 41} 42 43static inline char *user_passkey(struct ksmbd_user *user) 44{ 45 return user->passkey; 46} 47 48static inline char *user_name(struct ksmbd_user *user) 49{ 50 return user->name; 51} 52 53static inline unsigned int user_uid(struct ksmbd_user *user) 54{ 55 return user->uid; 56} 57 58static inline unsigned int user_gid(struct ksmbd_user *user) 59{ 60 return user->gid; 61} 62 63struct ksmbd_user *ksmbd_login_user(const char *account); 64struct ksmbd_user *ksmbd_alloc_user(struct ksmbd_login_response *resp); 65void ksmbd_free_user(struct ksmbd_user *user); 66int ksmbd_anonymous_user(struct ksmbd_user *user); 67bool ksmbd_compare_user(struct ksmbd_user *u1, struct ksmbd_user *u2); 68#endif /* __USER_CONFIG_MANAGEMENT_H__ */