PatchworkOS  28a9544
A non-POSIX operating system.
Loading...
Searching...
No Matches
Constant Devices

Constant devices. More...

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)
 
static uint64_t const_init (void)
 
static void const_deinit (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
 

Detailed Description

Constant devices.

This module provides the constant devices which provide user space with its primary means of allocating memory and obtaining constant data.

The constant devices are exposed under the /dev directory:

Function Documentation

◆ const_deinit()

static void const_deinit ( void  )
static

Definition at line 143 of file const.c.

References DEREF, nullFile, oneFile, and zeroFile.

Referenced by _module_procedure().

◆ const_init()

static uint64_t const_init ( void  )
static

Definition at line 114 of file const.c.

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

Referenced by _module_procedure().

◆ const_null_read()

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

Definition at line 91 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 100 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 42 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 33 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 71 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 62 of file const.c.

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

Variable Documentation

◆ nullFile

dentry_t* nullFile
static

Definition at line 31 of file const.c.

Referenced by const_deinit(), and 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:100
static uint64_t const_null_read(file_t *file, void *buffer, uint64_t count, uint64_t *offset)
Definition const.c:91

Definition at line 109 of file const.c.

Referenced by const_init().

◆ oneFile

dentry_t* oneFile
static

Definition at line 29 of file const.c.

Referenced by const_deinit(), and 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:42
static uint64_t const_one_read(file_t *file, void *buffer, uint64_t count, uint64_t *offset)
Definition const.c:33

Definition at line 57 of file const.c.

Referenced by const_init().

◆ zeroFile

dentry_t* zeroFile
static

Definition at line 30 of file const.c.

Referenced by const_deinit(), and 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:62
static void * const_zero_mmap(file_t *file, void *addr, uint64_t length, uint64_t *offset, pml_flags_t flags)
Definition const.c:71

Definition at line 86 of file const.c.

Referenced by const_init().