PatchworkOS  966e257
A non-POSIX operating system.
Loading...
Searching...
No Matches
key.c File Reference
#include <kernel/fs/key.h>
#include <kernel/cpu/syscall.h>
#include <kernel/drivers/rand.h>
#include <kernel/log/panic.h>
#include <kernel/sched/clock.h>
#include <kernel/sched/thread.h>
#include <kernel/sched/timer.h>
#include <kernel/sched/wait.h>
#include <kernel/sync/rwlock.h>
#include <errno.h>
#include <kernel/utils/map.h>
#include <stdlib.h>
Include dependency graph for key.c:

Go to the source code of this file.

Functions

static key_t key_generate (void)
 
static void key_timer_handler (interrupt_frame_t *frame, cpu_t *self)
 
uint64_t key_share (key_t *key, file_t *file, clock_t timeout)
 Generates a key that can be used to retrieve the file within the specified timeout.
 
 SYSCALL_DEFINE (SYS_SHARE, uint64_t, key_t *key, fd_t fd, clock_t timeout)
 
file_tkey_claim (key_t *key)
 Claims a shared file using the provided key.
 
 SYSCALL_DEFINE (SYS_CLAIM, fd_t, key_t *key)
 

Variables

static map_t keyMap = MAP_CREATE()
 
static list_t keyList = LIST_CREATE(keyList)
 
static rwlock_t keyLock = RWLOCK_CREATE()
 

Function Documentation

◆ key_generate()

static key_t key_generate ( void  )
static

Definition at line 20 of file key.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ key_timer_handler()

static void key_timer_handler ( interrupt_frame_t frame,
cpu_t self 
)
static

Definition at line 38 of file key.c.

Here is the call graph for this function:

◆ SYSCALL_DEFINE() [1/2]

SYSCALL_DEFINE ( SYS_SHARE  ,
uint64_t  ,
key_t key,
fd_t  fd,
clock_t  timeout 
)

Definition at line 111 of file key.c.

Here is the call graph for this function:

◆ SYSCALL_DEFINE() [2/2]

SYSCALL_DEFINE ( SYS_CLAIM  ,
fd_t  ,
key_t key 
)

Definition at line 167 of file key.c.

Here is the call graph for this function:

Variable Documentation

◆ keyMap

map_t keyMap = MAP_CREATE()
static

Definition at line 16 of file key.c.

◆ keyList

list_t keyList = LIST_CREATE(keyList)
static

Definition at line 17 of file key.c.

◆ keyLock

rwlock_t keyLock = RWLOCK_CREATE()
static

Definition at line 18 of file key.c.