#include "user.h"

struct User users[MAX_USERS] = {
    {UID_ROOT, 0,    "root", "/root"},
    {UID_USER, 1000, "user", "/home/user"},
};

int current_uid = UID_ROOT;

void user_init(void)
{
    current_uid = UID_ROOT;
}

struct User *get_current_user(void)
{
    int i;
    for (i = 0; i < MAX_USERS; i++) {
        if (users[i].uid == current_uid) return &users[i];
    }
    return &users[0];
}

int is_root(void)
{
    return current_uid == UID_ROOT;
}

int set_uid(int uid)
{
    int i;
    for (i = 0; i < MAX_USERS; i++) {
        if (users[i].uid == uid) {
            current_uid = uid;
            return 0;
        }
    }
    return -1;
}