diff --git a/annotated.html b/annotated.html index b628780..9c58939 100644 --- a/annotated.html +++ b/annotated.html @@ -72,65 +72,63 @@
Go to the source code of this file.
diff --git a/bitops_8h__dep__incl.dot b/bitops_8h__dep__incl.dot deleted file mode 100644 index 30a06b7..0000000 --- a/bitops_8h__dep__incl.dot +++ /dev/null @@ -1,9 +0,0 @@ -digraph "include/common/bitops.h" -{ - // LATEX_PDF_SIZE - edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; - node [fontname="Helvetica",fontsize="10",shape=record]; - Node1 [label="include/common/bitops.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; - Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="include/common/log2.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$log2_8h.html",tooltip=" "]; -} diff --git a/bitops_8h__dep__incl.map b/bitops_8h__dep__incl.map new file mode 100644 index 0000000..be8cbea --- /dev/null +++ b/bitops_8h__dep__incl.map @@ -0,0 +1,4 @@ + diff --git a/bitops_8h__dep__incl.md5 b/bitops_8h__dep__incl.md5 new file mode 100644 index 0000000..bc873de --- /dev/null +++ b/bitops_8h__dep__incl.md5 @@ -0,0 +1 @@ +c9015ac5d4696d4e22720efaded32d61 \ No newline at end of file diff --git a/bitops_8h__dep__incl.png b/bitops_8h__dep__incl.png new file mode 100644 index 0000000..b56a3ae Binary files /dev/null and b/bitops_8h__dep__incl.png differ diff --git a/bitops_8h__incl.dot b/bitops_8h__incl.dot deleted file mode 100644 index 4e9112c..0000000 --- a/bitops_8h__incl.dot +++ /dev/null @@ -1,9 +0,0 @@ -digraph "include/common/bitops.h" -{ - // LATEX_PDF_SIZE - edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; - node [fontname="Helvetica",fontsize="10",shape=record]; - Node1 [label="include/common/bitops.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; - Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="sys/param.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; -} diff --git a/bitops_8h__incl.map b/bitops_8h__incl.map new file mode 100644 index 0000000..5a5db7b --- /dev/null +++ b/bitops_8h__incl.map @@ -0,0 +1,4 @@ + diff --git a/bitops_8h__incl.md5 b/bitops_8h__incl.md5 new file mode 100644 index 0000000..309da43 --- /dev/null +++ b/bitops_8h__incl.md5 @@ -0,0 +1 @@ +078a66a7d8f782c722826a19904ebb94 \ No newline at end of file diff --git a/bitops_8h__incl.png b/bitops_8h__incl.png new file mode 100644 index 0000000..76a028f Binary files /dev/null and b/bitops_8h__incl.png differ diff --git a/classes.html b/classes.html index d395d35..4ad037b 100644 --- a/classes.html +++ b/classes.html @@ -74,13 +74,13 @@File in include/kernel | Includes file in include/common |
---|---|
kernel.h | list.h |
kernel.h | util.h |
mutex.h | list.h |
semaphore.h | list.h |
time.h | list.h |
wait.h | list.h |
File in include/kernel | Includes file in include/common |
---|---|
kernel.h | list.h |
kernel.h | util.h |
mutex.h | list.h |
semaphore.h | list.h |
thread.h | list.h |
time.h | list.h |
wait.h | list.h |
+ |
+ Tenok
+
+ A Linux-like Real-Time Operating System for Robotics and Internet of Things
+ |
+
File in kernel/arch | Includes file in include |
---|---|
v7m_port.c | kernel / kernel.h |
v7m_port.c | arch / port.h |
v7m_port.c | kernel / printk.h |
v7m_port.c | tenok / stdio.h |
File in kernel/mm | Includes file in include |
---|---|
mm.c | kernel / kernel.h |
mm.c | common / list.h |
mm.c | arch / port.h |
mm.c | kernel / printk.h |
mm.c | tenok / stdlib.h |
mm.c | kernel / syscall.h |
mm.c | kernel / thread.h |
mm.c | common / util.h |
mpool.c | tenok / mpool.h |
page.c | common / bitops.h |
page.c | common / log2.h |
page.c | mm / page.h |
slab.c | common / bitops.h |
slab.c | common / list.h |
slab.c | mm / page.h |
slab.c | mm / slab.h |
slab.c | common / util.h |
- |
- Tenok
-
- A Linux-like Real-Time Operating System for Robotics and Internet of Things
- |
-
File in kernel/fs | Includes file in include |
---|---|
fs.c | common / bitops.h |
fs.c | fs / fs.h |
fs.c | kernel / interrupt.h |
fs.c | kernel / kernel.h |
fs.c | mm / mm.h |
fs.c | kernel / pipe.h |
fs.c | fs / reg_file.h |
fs.c | mm / slab.h |
fs.c | tenok / sys / stat.h |
fs.c | tenok / stdio.h |
fs.c | tenok / tenok.h |
fs.c | tenok / unistd.h |
null_dev.c | fs / fs.h |
null_dev.c | tenok / sys / types.h |
reg_file.c | fs / fs.h |
reg_file.c | common / list.h |
reg_file.c | fs / reg_file.h |
reg_file.c | tenok / stdio.h |
rom_dev.c | fs / fs.h |
rom_dev.c | kernel / printk.h |
rom_dev.c | tenok / stdio.h |
wrapper.c | tenok / fcntl.h |
wrapper.c | tenok / sys / reent.h |
wrapper.c | tenok / stdio.h |
wrapper.c | tenok / stdlib.h |
wrapper.c | tenok / unistd.h |
- |
- Tenok
-
- A Linux-like Real-Time Operating System for Robotics and Internet of Things
- |
-
File in kernel/mm | Includes file in include |
---|---|
mm.c | kernel / kernel.h |
mm.c | common / list.h |
mm.c | arch / port.h |
mm.c | kernel / printk.h |
mm.c | tenok / stdlib.h |
mm.c | kernel / syscall.h |
mm.c | common / util.h |
mpool.c | tenok / mpool.h |
page.c | common / bitops.h |
page.c | common / log2.h |
page.c | mm / page.h |
slab.c | common / bitops.h |
slab.c | common / list.h |
slab.c | mm / page.h |
slab.c | mm / slab.h |
slab.c | common / util.h |
Create new kernel task.
+Create new kernel thread.
task_func | Task function to run. |
priority | Priority of the task. |
stack_size | Stack size of the task. |
priority | Priority of the kernel thread. |
stack_size | Stack size of the kernel thread. |
int | The function return positive task pid number if success; otherwise it returns a negative error number. |
int | The function returns positive task PID on success; otherwise it returns a negative error number. |
Go to the source code of this file.
@@ -97,10 +119,10 @@Get the object entry by giving its member.
+Get the object entry.
ptr | Pointer to the structure member. |
type | Type of the object. |
member | Name of structure member. |
member | Name of the structure member. |
&obj | Adress pointing to the object. |
&obj | Returning object. |
Get the object entry.
+Get the object entry of a list.
ptr | Pointer to the object list item. |
ptr | Pointer to the list member of the object. |
type | Type of the object. |
member | Structure member name of the list item. |
member | Name of the list member in the structure. |
&obj | Adress pointing to the object. |
&obj | Retuning object. |
Check if the list entry is the list head.
+Check if the list entry is at the end of the list.
pos | Object entry to check. |
member | Structure member name of the list item. |
pos | Position of the object in the list. |
member | Name of the list member in the structure. |
&obj | Adress pointing to the first object. |
&obj | Retunring object. |
Iterate the list item through the whole list.
+Iterate the whole list with list pointer.
pos | Current list item position. |
pos | Current position of the object in the list. |
head | Head of the list. |
Iterate the object entry through the whole list.
+Iterate the whole list with list entry.
pos | Current object entry position. |
pos | Current position of the object in the list. |
head | Head of the list. |
member | Structure member name of the list item. |
member | Name of the list member in the structure. |
Iterate the list item through the whole list safely.
+Safely iterate the whole list with list pointer.
pos | Current list item position. |
pos | Current position of the object in the list. |
head | Head of the list. |
name | Name of the new list head. |
name | Name of the liist head variable. |
Initialize the list head statically.
+Statically initialize the list head.
name | List head to initialize. |
name | Name of the list head variable. |
pos | Current object entry position. |
member | Structure member name of the list item. |
pos | Current position of the object in the list. |
member | Name of the list member in the structure. |
&obj | Adress pointing to the next object. |
&obj | Returning object. |
pos | Current object entry position. |
member | Structure member name of the list item. |
pos | Current position of the object in the list. |
member | Name of the list member in the structure. |
&obj | Adress pointing to the previous object. |
&obj | Returning object. |
Add list item into the list.
+Add new list member to the list.
new | New list item to add. |
new | New list member. |
head | Head of the list. |
Delete a list item from the list.
+Delete a list item from its list.
entry | The list item to delete. |
entry | The list member to delete. |
Delete a list item from the list and reinitialize it.
+Delete and force initialize a list member from its list.
entry | The list item to delete. |
entry | The list member to delete. |
int | 0 as false, else as true. |
int | 0 as false; otherwise true. |
Check if the list item is the last item in the list.
+Check if the list object is the last of the list.
list | List item to check. |
list | List member to check. |
head | Head of the list. |
int | 0 as false, else as true. |
int | 0 as false, otherwise true. |
Move list item from current list to another.
+Move a list member from original list to another.
list | The list item to move. |
list | The list member to move. |
new_head | Head of the new list. |
Go to the source code of this file.
diff --git a/log2_8h__incl.dot b/log2_8h__incl.dot deleted file mode 100644 index 407aee8..0000000 --- a/log2_8h__incl.dot +++ /dev/null @@ -1,11 +0,0 @@ -digraph "include/common/log2.h" -{ - // LATEX_PDF_SIZE - edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; - node [fontname="Helvetica",fontsize="10",shape=record]; - Node1 [label="include/common/log2.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; - Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="common/bitops.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$bitops_8h.html",tooltip=" "]; - Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node3 [label="sys/param.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; -} diff --git a/log2_8h__incl.map b/log2_8h__incl.map new file mode 100644 index 0000000..a48a4bb --- /dev/null +++ b/log2_8h__incl.map @@ -0,0 +1,5 @@ + diff --git a/log2_8h__incl.md5 b/log2_8h__incl.md5 new file mode 100644 index 0000000..4e23ea8 --- /dev/null +++ b/log2_8h__incl.md5 @@ -0,0 +1 @@ +98afad88bce83cda2312c55e37860579 \ No newline at end of file diff --git a/log2_8h__incl.png b/log2_8h__incl.png new file mode 100644 index 0000000..ff85623 Binary files /dev/null and b/log2_8h__incl.png differ diff --git a/md_docs_1_environment_setup.html b/md_docs_1_environment_setup.html index 7adeaeb..aaa4c29 100644 --- a/md_docs_1_environment_setup.html +++ b/md_docs_1_environment_setup.html @@ -67,16 +67,17 @@Build requirement: GNU/Linux x86-64
and python3
Tested with Ubuntu 22.04
.
Recommended distribution: Ubuntu 22.04
Download the pre-built ARM GNU toolchain:
Append the following instruction in the ~/.bashrc
:
Note that Python 3.8
is a hard requirement for running version 12.3
of arm-none-eabi-gdb
.
Execute the following command or restart the terminal:
+++Caveat: rtplot and Gazebo are not yet fully tested on macOS
+
Install libjaylink
:
Install OpenOCD
:
macOS (AArch64):
+Download the pre-built ARM GNU toolchain:
+ Append the following instruction in the ~/.zshrc
:
Execute the following command or restart the terminal:
+macOS (x86-64):
+Download the pre-built ARM GNU toolchain:
+Append the following instruction in the ~/.zshrc
:
Execute the following command or restart the terminal:
+The following instructions demonstrate the procedures of building Tenok with example ROM files:
Type the following command to emulate Tenok with QEMU:
To exit the emulator, use the key combination of <Ctrl-A X> (i.e., press Ctrl-A first, leave the key, then press X.)
To remote debugging with gdb, type:
Type the following command to upload firmware binary to your board:
Now, type the following command to start debugging with gdb:
Additionally, the user can uncomment the following lines in tenok/user/tasks/tasks.mk
to test the example programs located under tenok/user/tasks/examples/
:
Suppose you want to add a new command called XXX
. First, create a source file called tenok/shell/XXX.c
:
Download the example files using:
Install rtplot tool to the system:
First, execute the following command to launch the Tenok with QEMU:
After the rtplot window shows up, select /dev/pts/Y
port, test
message then click the connect button. The user should expect to see some real-time data plotting on the screen.
Tenok uses a metalanguage to define messages for debug visualization, this message prorocol is called the Debug-Link. All message files should named as *.msg
and by default they should be placed in the msg/
directory.
To define a variable, the user can use the following syntax:
@@ -155,11 +155,11 @@The full example code can be found in user/task/debug/debug_task.c
.
Go to the source code of this file.
@@ -103,10 +108,10 @@free the memory space pointed to by ptr, which must have been returned by a previous call to malloc(). The function can be only used in kernel
+Free the memory space pointed to by ptr.
ptr | The memory space to provide. |
ptr | Pointer to the allocated memory. |
Allocate size bytes and returns a pointer to the allocated memory. The function can be only used in kernel.
+Allocate a memory space for using in the kernel.
size | The number of bytes to allocate for the memory. |
size | The size of the memory in bytes. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Go to the source code of this file.
@@ -128,8 +133,8 @@mem_pool | The memory pool object to provide. |
size | The size of the memory space to allocate. |
mem_pool | Pointer to the memory poll object. |
size | The size of the memory to allocate in bytes. |
mem_pool | The memory poll object to provide. |
mem | The contiguous memory space to provide. |
size | The size of the provided memory space. |
mem_pool | Pointer to the memory poll object. |
mem | A contiguous memory space to provide. |
size | The size of the memory poll. |
Go to the source code of this file.
@@ -96,16 +102,16 @@Initialize the given mutex. The function should only be called inside the kernel space.
+Initialize the mutex.
mtx | Mutex object to provide. |
mtx | Pointer to the mutex. |
Returns true if the mutex is locker, otherwise returns false. The function should only be called inside the kernel space.
+Check if the mutex is locked or not.
mtx | Mutex object to be queried. |
mtx | Pointer to the mutex. |
true | if the mutex is locked, false if unlocked. |
bool | true or false. |
Lock the given mutex. The function should only be called inside the kernel space.
+Lock the mutex.
mtx | Mutex object to provide. |
mtx | Pointer to the mutex. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Unlock the given mutex. The function should only be called inside the kernel space.
+Unlock the mutex.
mtx | Mutex object to provide. |
mtx | Pointer to the mutex. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Go to the source code of this file.
@@ -101,7 +105,7 @@ unsigned longvoid | *: Null if the allocation failed; otherwise the function returns the address of the allocated memory page. |
void | *: The function returns NULL if the allocation failed; otherwise it returns the address of the allocated memory page. |
addr | The address of the memory page. |
addr | Pointer to the memory page. |
order | The order of the memory page. |
Calculate the proper page order by giving memory size.
+Calculate the page order by giving the size of a memory.
size | The memory size in bytes. |
Initialze the operating system to split kernel space and user space. More... | |
void * | jump_to_thread (void *stack, bool privileged) |
Jump to the thread given by the stack (context switch) More... | |
Jump to the thread with given stack. More... | |
void | jump_to_kernel (void) |
Jump to the kernel space. More... | |
Get syscall number and arguments. More... | |
void | syscall (unsigned long func, unsigned long *args[4], bool *syscall_pending) |
Execute a syscall handler and handle arguments and return value passing of the thread stack. More... | |
Execute a syscall handler. The function passes syscall arguments and return value to the thread stack. More... | |
void | __idle (void) |
Trigger platform-specific idling. More... |
stack_top | The pointer of the stack pointer. |
stack_top | The pointer to the stack pointer. |
func | The function to execute after context switch. |
return_handler | The return handler function after fuc returned. |
args[4] | The arguments for func. |
bool | true if is returned via systick; otherwise false. |
bool | true if it is returned via systick; otherwise false. |
Jump to the thread given by the stack (context switch)
+Jump to the thread with given stack.
stack | The thread stack to provide. |
stack | Specify the thread privilege. True as kernel thread and false as user thread. |
stack | The thread stack for jumping. |
privileged | The thread privilege; true for kernel thread and false for user thread. |
uint32_t* | New stack pointer after returning back to the kernel. |
uint32_t* | New stack pointer after returning to the kernel. |
Execute a syscall handler and handle arguments and return value passing of the thread stack.
+Execute a syscall handler. The function passes syscall arguments and return value to the thread stack.
func | The syscall handler function to execute. |
Functions | |
void | printk (char *format,...) |
Print kernel message. The function should only be called inside the kernel space. More... | |
Display a kernel message. More... | |
void | panic (char *format,...) |
Display a message, then halt the system. More... |
format | The formatting string. |
Get the scheduling parameters of a thread specified with the thread ID. More... | |
int | pthread_yield (void) |
Cause the calling thread to relinquish the CPU. More... | |
To cause the calling thread to relinquish the CPU. More... | |
int | pthread_kill (pthread_t thread, int sig) |
Send a signal to a thread specified with the thread ID. More... | |
Terminate the calling thread and returns a value via retval. More... | |
int | pthread_mutexattr_init (pthread_mutexattr_t *attr) |
Initialize the given mutex attribute object with default values. More... | |
Initialize the mutex attribute object with default values. More... | |
int | pthread_mutexattr_destroy (pthread_mutexattr_t *attr) |
Destroy the given mutex attribute object. More... | |
Destroy the mutex attribute object. More... | |
int | pthread_mutex_init (pthread_mutex_t *mutex, const pthread_mutexattr_t *attr) |
Initialize a mutex with specified attributes. More... | |
Initialize the mutex with specified attributes. More... | |
int | pthread_mutex_destroy (pthread_mutex_t *mutex) |
Destroy the given mutex object. More... | |
Destroy the mutex. More... | |
int | pthread_mutex_unlock (pthread_mutex_t *mutex) |
Unlock the given mutex. More... | |
Unlock the mutex. More... | |
int | pthread_mutex_lock (pthread_mutex_t *mutex) |
Lock the given mutex. More... | |
Lock the mutex. More... | |
int | pthread_mutex_trylock (pthread_mutex_t *mutex) |
Lock the given mutex. If the mutex object referenced by mutex is currently locked (by any thread, including the current thread), the call shall return immediately. More... | |
Lock the mutex. If the mutex object referenced by mutex is currently locked (by any thread, including the current thread), the call shall return immediately. More... | |
int | pthread_condattr_init (pthread_condattr_t *attr) |
Initialize the given attribute object of conditional variable with default values. More... | |
Initialize the attribute object of conditional variable with default values. More... | |
int | pthread_condattr_destroy (pthread_condattr_t *attr) |
Destroy the given attribute object of conditional variable. More... | |
Destroy the attribute object of the conditional variable. More... | |
int | pthread_cond_init (pthread_cond_t *cond, pthread_condattr_t cond_attr) |
Initializes a conditional variable with specified attributes. More... | |
Initializes the conditional variable with specified attributes. More... | |
int | pthread_cond_destroy (pthread_cond_t *cond) |
Destroy the given conditional variable object. More... | |
Destroy the conditional variable. More... | |
int | pthread_cond_signal (pthread_cond_t *cond) |
Restart one of the threads that are waiting on the condition variable. More... | |
Restart all of the threads that are waiting on the condition variable. More... | |
int | pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex) |
Atomically unlocks the mutex and waits for the condition variable to be signaled. More... | |
Atomically unlock the mutex and wait for the condition variable to be signaled. More... | |
int | pthread_once (pthread_once_t *once_control, void(*init_routine)(void)) |
To ensure that a piece of initialization code is executed at most once. More... | |
To ensure a piece of initialization code is executed at most once. More... | |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
cond | The conditional variable object to signal the state change. |
cond | The conditional variable to signal the state change. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Destroy the given conditional variable object.
+Destroy the conditional variable.
cond | The conditional variable object to destroy. |
cond | The conditional variable to destroy. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Initializes a conditional variable with specified attributes.
+Initializes the conditional variable with specified attributes.
cond | The conditional variable object to be initialized. |
cond | The conditional variable object to initialize. |
cond_attr | The attribute object for initializing the conditional variable. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Atomically unlocks the mutex and waits for the condition variable to be signaled.
+Atomically unlock the mutex and wait for the condition variable to be signaled.
cond | The sonditional variable object for waiting the state change. |
cond | The conditional variable object for waiting the state change. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Destroy the given attribute object of conditional variable.
+Destroy the attribute object of the conditional variable.
attr | The attribute object of conditional variable to destroy. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Initialize the given attribute object of conditional variable with default values.
+Initialize the attribute object of conditional variable with default values.
attr | The attribute object of conditional variable to initialize. |
attr | The attribute object of the conditional variable to initialize. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
thread | The hread ID to provide. |
thread | The thread ID to provide. |
policy | Not used. |
param | For returning the scheduling parameter from the thread. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Destroy the given mutex object.
+Destroy the mutex.
mutex | The mutex object to destroy. |
mutex | The mutex to destroy. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Initialize a mutex with specified attributes.
+Initialize the mutex with specified attributes.
mutex | The mutex object to be initialized. |
mutex | The mutex object to initialize. |
attr | The attribute object for initializing the mutex. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Lock the given mutex.
+Lock the mutex.
mutex | The mutex object to lock. |
mutex | The mutex to lock. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Lock the given mutex. If the mutex object referenced by mutex is currently locked (by any thread, including the current thread), the call shall return immediately.
+Lock the mutex. If the mutex object referenced by mutex is currently locked (by any thread, including the current thread), the call shall return immediately.
mutex | The mutex object to lock. |
mutex | The mutex to lock. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Unlock the given mutex.
+Unlock the mutex.
mutex | The mutex object to unlock. |
mutex | The mutex to unlock. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Destroy the given mutex attribute object.
+Destroy the mutex attribute object.
attr | The mutex attribute object to destroy. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Initialize the given mutex attribute object with default values.
+Initialize the mutex attribute object with default values.
attr | The mutex attribute object to initialize. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
To ensure that a piece of initialization code is executed at most once.
+To ensure a piece of initialization code is executed at most once.
once_control | The object to track the execution state of the init_routine. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
pthread_t | The hread ID. |
pthread_t | The thread ID. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Cause the calling thread to relinquish the CPU.
+To cause the calling thread to relinquish the CPU.
None |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Go to the source code of this file.
diff --git a/reent_8h__dep__incl.dot b/reent_8h__dep__incl.dot deleted file mode 100644 index de22214..0000000 --- a/reent_8h__dep__incl.dot +++ /dev/null @@ -1,11 +0,0 @@ -digraph "include/tenok/sys/reent.h" -{ - // LATEX_PDF_SIZE - edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; - node [fontname="Helvetica",fontsize="10",shape=record]; - Node1 [label="include/tenok/sys/reent.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; - Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="include/tenok/stdio.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$stdio_8h.html",tooltip=" "]; - Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node3 [label="include/kernel/pipe.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pipe_8h.html",tooltip=" "]; -} diff --git a/reent_8h__dep__incl.map b/reent_8h__dep__incl.map new file mode 100644 index 0000000..593f6b1 --- /dev/null +++ b/reent_8h__dep__incl.map @@ -0,0 +1,5 @@ + diff --git a/reent_8h__dep__incl.md5 b/reent_8h__dep__incl.md5 new file mode 100644 index 0000000..c88f003 --- /dev/null +++ b/reent_8h__dep__incl.md5 @@ -0,0 +1 @@ +02de6a466f6654d3d016be59de47f005 \ No newline at end of file diff --git a/reent_8h__dep__incl.png b/reent_8h__dep__incl.png new file mode 100644 index 0000000..d4e5947 Binary files /dev/null and b/reent_8h__dep__incl.png differ diff --git a/reent_8h__incl.dot b/reent_8h__incl.dot deleted file mode 100644 index 63dea89..0000000 --- a/reent_8h__incl.dot +++ /dev/null @@ -1,19 +0,0 @@ -digraph "include/tenok/sys/reent.h" -{ - // LATEX_PDF_SIZE - edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; - node [fontname="Helvetica",fontsize="10",shape=record]; - Node1 [label="include/tenok/sys/reent.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; - Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="pthread.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pthread_8h.html",tooltip=" "]; - Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node3 [label="stdbool.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; - Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node4 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; - Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node5 [label="sys/sched.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$sys_2sched_8h.html",tooltip=" "]; - Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node6 [label="common/list.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$list_8h.html",tooltip=" "]; - Node6 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node7 [label="stddef.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; -} diff --git a/reent_8h__incl.map b/reent_8h__incl.map new file mode 100644 index 0000000..df45c57 --- /dev/null +++ b/reent_8h__incl.map @@ -0,0 +1,9 @@ + diff --git a/reent_8h__incl.md5 b/reent_8h__incl.md5 new file mode 100644 index 0000000..ba3da73 --- /dev/null +++ b/reent_8h__incl.md5 @@ -0,0 +1 @@ +823b29c46c28afb682fc324e05f2dd87 \ No newline at end of file diff --git a/reent_8h__incl.png b/reent_8h__incl.png new file mode 100644 index 0000000..2000f91 Binary files /dev/null and b/reent_8h__incl.png differ diff --git a/reg__file_8h.html b/reg__file_8h.html index 588c392..707371a 100644 --- a/reg__file_8h.html +++ b/reg__file_8h.html @@ -79,6 +79,22 @@ Include dependency graph for reg_file.h:Go to the source code of this file.
diff --git a/reg__file_8h__incl.dot b/reg__file_8h__incl.dot deleted file mode 100644 index 5b95a65..0000000 --- a/reg__file_8h__incl.dot +++ /dev/null @@ -1,36 +0,0 @@ -digraph "include/fs/reg_file.h" -{ - // LATEX_PDF_SIZE - edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; - node [fontname="Helvetica",fontsize="10",shape=record]; - Node1 [label="include/fs/reg_file.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; - Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="fs/fs.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$fs_8h.html",tooltip=" "]; - Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node3 [label="dirent.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$dirent_8h.html",tooltip=" "]; - Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node4 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; - Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node5 [label="sys/limits.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$limits_8h_source.html",tooltip=" "]; - Node5 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node6 [label="sys/syslimits.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$syslimits_8h.html",tooltip=" "]; - Node6 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node7 [label="kconfig.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; - Node3 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node8 [label="stdbool.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; - Node2 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node9 [label="stddef.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; - Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node10 [label="sys/types.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$types_8h.html",tooltip=" "]; - Node10 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node11 [label="common/list.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$list_8h.html",tooltip=" "]; - Node11 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node12 [label="kernel/wait.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$wait_8h.html",tooltip=" "]; - Node12 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node12 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; -} diff --git a/reg__file_8h__incl.map b/reg__file_8h__incl.map new file mode 100644 index 0000000..fb36422 --- /dev/null +++ b/reg__file_8h__incl.map @@ -0,0 +1,16 @@ + diff --git a/reg__file_8h__incl.md5 b/reg__file_8h__incl.md5 new file mode 100644 index 0000000..1986d33 --- /dev/null +++ b/reg__file_8h__incl.md5 @@ -0,0 +1 @@ +06ff0fe2add78f28e71473dbbc776574 \ No newline at end of file diff --git a/reg__file_8h__incl.png b/reg__file_8h__incl.png new file mode 100644 index 0000000..281f4c4 Binary files /dev/null and b/reg__file_8h__incl.png differ diff --git a/resource_8h.html b/resource_8h.html index f9fb654..7a0e7f3 100644 --- a/resource_8h.html +++ b/resource_8h.html @@ -75,6 +75,10 @@ This graph shows which files directly or indirectly include this file:Go to the source code of this file.
diff --git a/resource_8h__dep__incl.dot b/resource_8h__dep__incl.dot deleted file mode 100644 index 5848394..0000000 --- a/resource_8h__dep__incl.dot +++ /dev/null @@ -1,9 +0,0 @@ -digraph "include/tenok/sys/resource.h" -{ - // LATEX_PDF_SIZE - edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; - node [fontname="Helvetica",fontsize="10",shape=record]; - Node1 [label="include/tenok/sys/resource.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; - Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="include/kernel/kernel.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$kernel_8h.html",tooltip=" "]; -} diff --git a/resource_8h__dep__incl.map b/resource_8h__dep__incl.map new file mode 100644 index 0000000..31b9170 --- /dev/null +++ b/resource_8h__dep__incl.map @@ -0,0 +1,4 @@ + diff --git a/resource_8h__dep__incl.md5 b/resource_8h__dep__incl.md5 new file mode 100644 index 0000000..73a8664 --- /dev/null +++ b/resource_8h__dep__incl.md5 @@ -0,0 +1 @@ +ae140da435021da9c2d4e53abea115d6 \ No newline at end of file diff --git a/resource_8h__dep__incl.png b/resource_8h__dep__incl.png new file mode 100644 index 0000000..437f7b1 Binary files /dev/null and b/resource_8h__dep__incl.png differ diff --git a/rom__dev_8h_source.html b/rom__dev_8h_source.html index 6ad8418..3886a1b 100644 --- a/rom__dev_8h_source.html +++ b/rom__dev_8h_source.html @@ -75,10 +75,10 @@ - + - +Go to the source code of this file.
@@ -95,7 +102,7 @@policy | The scheduling policy to provided. Currently, the system only supports SCHED_RR. |
policy | The scheduling policy to provide. Currently, the system only supports SCHED_RR. |
policy | The scheduling policy to provided. Currently, the system only supports SCHED_RR. |
policy | The scheduling policy to provide. Currently, the system only supports SCHED_RR. |
pid | Not used (The whole system shares the same scheduling policy). |
tp | The timespec structure to be provided. |
tp | The timespec structure to provide. |
Cause the calling thread to relinquish the CPU.
+To cause the calling thread to relinquish the CPU.
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Go to the source code of this file.
@@ -106,13 +111,13 @@Allocate a new slab memory. The function should only be called inside the kernel space.
+Allocate a new slab memory.
cache | The cache object for managing the slabs. |
cache | The cache object for managing slabs. |
flags | Not used. |
void | *: Pointer to the allocated memory. |
void | *: Pointer to the allocated slab memory. |
Create a new slab cache. The function should only be called inside the kernel space.
+Create a new slab cache.
name | Name of the cache. |
size | Size of the slab managed by the cache. |
align | Size of the slab memory should align to. |
align | Size of the slab memory should be aligned to. |
flags | Not used. |
ctor | Not used. |
struct | kmem_cache *: Pointer to the new created cache. |
struct | kmem_cache *: Pointer to the new allocated cache. |
Free the allocated slab memory. The function should only be called inside the kernel space.
+Free the allocated slab memory.
cache | The cache object for managing the slabs. |
obj | The pointer to the allocated slab memory. |
cache | The cache object for managing slabs. |
obj | Pointer to the allocated slab memory. |
Initialize the given tasklet.
+Initialize the tasklet.
t | Tasklet to provide. |
t | Pointer to the tasklet. |
func | The tasklet function to execute if scheduled. |
data | The data pass to the tasklet function if scheduled. |
data | The data passed with the tasklet function. |
Schedule the given tasklet to execute by softirqd.
+Schedule the tasklet.
t | Tasklet to provide. |
t | Pointer to the tasklet. |
Go to the source code of this file.
diff --git a/spinlock_8h__incl.dot b/spinlock_8h__incl.dot deleted file mode 100644 index c645b24..0000000 --- a/spinlock_8h__incl.dot +++ /dev/null @@ -1,9 +0,0 @@ -digraph "include/kernel/spinlock.h" -{ - // LATEX_PDF_SIZE - edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; - node [fontname="Helvetica",fontsize="10",shape=record]; - Node1 [label="include/kernel/spinlock.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "]; - Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; - Node2 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled",tooltip=" "]; -} diff --git a/spinlock_8h__incl.map b/spinlock_8h__incl.map new file mode 100644 index 0000000..d022048 --- /dev/null +++ b/spinlock_8h__incl.map @@ -0,0 +1,4 @@ + diff --git a/spinlock_8h__incl.md5 b/spinlock_8h__incl.md5 new file mode 100644 index 0000000..e314ebf --- /dev/null +++ b/spinlock_8h__incl.md5 @@ -0,0 +1 @@ +a6e3d287cec1cf48ed77b52a531287fe \ No newline at end of file diff --git a/spinlock_8h__incl.png b/spinlock_8h__incl.png new file mode 100644 index 0000000..816b588 Binary files /dev/null and b/spinlock_8h__incl.png differ diff --git a/stat_8h.html b/stat_8h.html index 86f203b..46c26b1 100644 --- a/stat_8h.html +++ b/stat_8h.html @@ -80,6 +80,11 @@ Include dependency graph for stat.h:Go to the source code of this file.
@@ -155,7 +160,7 @@int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
int | 0 on sucess and nonzero error number on error. |
int | 0 on success and nonzero error number on error. |
Go to the source code of this file.
@@ -136,7 +152,7 @@