cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

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__ */