Src of The Linux Programming Interface and its Rust implementation (Exercise included)
GPL-3.0 License
Src of The Linux Programming Interface and its Rust implementation (Exercise included)
Chapter | Src Directory | Exercise Directory |
---|---|---|
3 System Programming Concepts | lib | Ch3 |
4 File I/O: The Universal I/O Model | fileio | Ch4 |
5 File I/O: Further Details | fileio | Ch5 |
6 Processes | proc | Ch6 |
7 Memory Allocation | memalloc | Ch7 |
8 Users and Groups | users_groups | Ch8 |
9 Process Credentials | proccred | Ch9 |
10 Time | time | Ch10 |
11 System Limits And Options | syslim | Ch11 |
12 System And Process Information | sysinfo | Ch12 |
13 File I/O Buffering | filebuff | Ch13 |
14 File Systems | filesys | Ch14 |
15 File Attributes | files | Ch15 |
16 Extended Attributes | xattr | Ch16 |
17 Access Control Lists | acl | Ch17 |
18 Directories and Links | dirs_links | Ch18 |
19 Monitoring File Events | inotify | Ch19 |
20 Signals: Fundamental Concepts | inotify | Ch20 |
Chapter | Name | Reason | Relevant Issue |
---|---|---|---|
6 | mem_segments.rs | Rust does not allow global variables to be unitialized, thus we can not allocate variable in .bss segment | None |
6 | longjmp.rs | Relevant syscalls are missing in libc
|
#1 |
6 | setjmp_vars.rs | Relevant syscalls are missing in libc
|
#1 |
8 | check_passwords-rs |
crypt(3) is not exposed in libc
|
#3 |
10 | calendar_time-rs |
ctime(3) and asctime(3) are not exposed in libc
|
#4 |
10 | strtime-rs |
strftime(3) and strptime(3) are not exposed in libc
|
#5 |
10 | showtime-rs |
strftime(3) and asctime(3) are not exposed in libc
|
None |
10 | process_time-rs |
clock(3) is not exposed in libc
|
None |
Chapter | Exercise | language | Reason | Relevant Issue |
---|---|---|---|---|
4 | 4-2 | C and Rust | Currently I am not sure about what is a hole and how to create it, for more info, you can check this post | None |
6 | 6-2 | Rust |
setjmp and longjmp are missing in libc
|
#1 |
6 | 6-3 | Rust | We can not directly access environ in Rust whereas this is necessary to unset the environment variables that are defined multiple times |
#2 |
15 | 15-7 | Rust |
FS_* constants are missing from libc
|
None |
17 | 17-1 | C | I don' want to touch those acl_xxx_xxx() functions |
None |
Chapter | Exercise | Description | Relevant Issue |
---|---|---|---|
7 | 7-2 | The implementation of free() can be improved by merging memory fragments |
None |