PatchworkOS
Loading...
Searching...
No Matches
const.c File Reference
#include <kernel/drivers/const.h>
#include <kernel/fs/sysfs.h>
#include <kernel/fs/vfs.h>
#include <kernel/log/log.h>
#include <kernel/log/panic.h>
#include <kernel/mem/vmm.h>
#include <kernel/proc/process.h>
#include <kernel/sched/sched.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>

Go to the source code of this file.

Functions

static uint64_t const_one_read (file_t *file, void *buffer, uint64_t count, uint64_t *offset)
 
static void * const_one_mmap (file_t *file, void *addr, uint64_t length, uint64_t *offset, pml_flags_t flags)
 
static uint64_t const_zero_read (file_t *file, void *buffer, uint64_t count, uint64_t *offset)
 
static void * const_zero_mmap (file_t *file, void *addr, uint64_t length, uint64_t *offset, pml_flags_t flags)
 
static uint64_t const_null_read (file_t *file, void *buffer, uint64_t count, uint64_t *offset)
 
static uint64_t const_null_write (file_t *file, const void *buffer, uint64_t count, uint64_t *offset)
 
void const_init (void)
 

Variables

static dentry_toneFile
 
static dentry_tzeroFile
 
static dentry_tnullFile
 
static file_ops_t oneOps
 
static file_ops_t zeroOps
 
static file_ops_t nullOps
 

Function Documentation

◆ const_init()

void const_init ( void  )

Definition at line 100 of file const.c.

References DEREF, NULL, nullFile, nullOps, oneFile, oneOps, panic(), sysfs_file_new(), zeroFile, and zeroOps.

Referenced by init_finalize().

◆ const_null_read()

static uint64_t const_null_read ( file_t file,
void *  buffer,
uint64_t  count,
uint64_t offset 
)
static

Definition at line 77 of file const.c.

References buffer, count, and file.

◆ const_null_write()

static uint64_t const_null_write ( file_t file,
const void *  buffer,
uint64_t  count,
uint64_t offset 
)
static

Definition at line 86 of file const.c.

References buffer, count, and file.

◆ const_one_mmap()

static void * const_one_mmap ( file_t file,
void *  addr,
uint64_t  length,
uint64_t offset,
pml_flags_t  flags 
)
static

Definition at line 28 of file const.c.

References file, memset(), NULL, sched_process(), vmm_alloc(), and VMM_ALLOC_NONE.

◆ const_one_read()

static uint64_t const_one_read ( file_t file,
void *  buffer,
uint64_t  count,
uint64_t offset 
)
static

Definition at line 19 of file const.c.

References buffer, count, file, and memset().

◆ const_zero_mmap()

static void * const_zero_mmap ( file_t file,
void *  addr,
uint64_t  length,
uint64_t offset,
pml_flags_t  flags 
)
static

Definition at line 57 of file const.c.

References file, memset(), NULL, sched_process(), vmm_alloc(), and VMM_ALLOC_NONE.

◆ const_zero_read()

static uint64_t const_zero_read ( file_t file,
void *  buffer,
uint64_t  count,
uint64_t offset 
)
static

Definition at line 48 of file const.c.

References buffer, count, file, and memset().

Variable Documentation

◆ nullFile

dentry_t* nullFile
static

Definition at line 17 of file const.c.

Referenced by const_init().

◆ nullOps

file_ops_t nullOps
static
Initial value:
= {
.read = const_null_read,
.write = const_null_write,
}
static uint64_t const_null_write(file_t *file, const void *buffer, uint64_t count, uint64_t *offset)
Definition const.c:86
static uint64_t const_null_read(file_t *file, void *buffer, uint64_t count, uint64_t *offset)
Definition const.c:77

Definition at line 95 of file const.c.

Referenced by const_init().

◆ oneFile

dentry_t* oneFile
static

Definition at line 15 of file const.c.

Referenced by const_init().

◆ oneOps

file_ops_t oneOps
static
Initial value:
= {
.read = const_one_read,
.mmap = const_one_mmap,
}
static void * const_one_mmap(file_t *file, void *addr, uint64_t length, uint64_t *offset, pml_flags_t flags)
Definition const.c:28
static uint64_t const_one_read(file_t *file, void *buffer, uint64_t count, uint64_t *offset)
Definition const.c:19

Definition at line 43 of file const.c.

Referenced by const_init().

◆ zeroFile

dentry_t* zeroFile
static

Definition at line 16 of file const.c.

Referenced by const_init().

◆ zeroOps

file_ops_t zeroOps
static
Initial value:
= {
.read = const_zero_read,
.mmap = const_zero_mmap,
}
static uint64_t const_zero_read(file_t *file, void *buffer, uint64_t count, uint64_t *offset)
Definition const.c:48
static void * const_zero_mmap(file_t *file, void *addr, uint64_t length, uint64_t *offset, pml_flags_t flags)
Definition const.c:57

Definition at line 72 of file const.c.

Referenced by const_init().