[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAFf+5zgHTkern=oZznsn3S6HKWYuC3vW086AXe+Gy5GKtzr=Ow@mail.gmail.com>
Date: Fri, 12 Sep 2025 12:48:10 +0530
From: Amit <amitchoudhary0523@...il.com>
To: linux-kernel@...r.kernel.org
Subject: List of more C programs.
------------------------
List of more C programs.
------------------------
* Shared condition variable across processes on the same machine example - make
condition variable shareable across processes by setting condition variable's
attribute to PTHREAD_PROCESS_SHARED -
pthread_condattr_setpshared(&condAttr, PTHREAD_PROCESS_SHARED);
* Shared condition variable (library?) across remote processes on different
machines.
* Generic dynamic key-value store library (in memory).
* Generic dynamic key-value store library (on disk).
* Generic dynamic key-value store library (on disk + cache in memory).
* Parse command line options (library?) and store as key-value pairs.
* Program to dump function names in a C program.
* Multi-line grep (call it mgrep) (search pattern will be interpreted as a regex
by default, unless -F option is given).
* Only one function to get a list of IP addresses for a host name and only one
function for getting the host name for an IP address (these functions can call
other library functions / other functions).
* Program to discover all devices on LAN (IP addresses and host names) (see
source code of nmap).
* Create a 1-50 GB empty file and create a (self developed) file system in that
file.
* Give linux command line programs as functions (implement them as functions)?
* String library (more) functions: convert_num_to_words() (USA format),
get_random_alphabetical_string(int length) - the returned string can be used
as a file/directory name for a temporary file/directory,
get_random_alphanumeric_string(int length) - the returned string can be used
as a file/directory name for a temporary file/directory,
get_file_name_from_path(), get_directory_name_from_path().
* File library? - get_file_size(), get_number_of_lines_in_file(),
get_file_permissions(), get_file_checksum(), copy_file(),
move_file(), rename_all_files_in_folder(),
replace_string_in_file(int create_backup, int case),
replace_regex_match_in_file(int create_backup, int case),
find_string_in_file(int case), find_regex_in_file(int case),
does_file_exist(), is_file_empty(),
create_temp_dir_and_get_name(),
create_temp_file_and_get_name(),
replace_line_in_file(long line_num),
replace_first_matching_line_in_file(),
replace_last_matching_line_in_file(),
replace_all_matching_lines_in_file(),
replace_regex_first_matching_line_in_file(),
replace_regex_last_matching_line_in_file(),
replace_regex_all_matching_lines_in_file(), is_regular_file(),
is_directory(), is_symlink().
copy_all_lines_from_first_match_to_last_match_to_new_file(
char *intput_file_path, char *output_file_path,
int regex_1, char *str_or_regex_1, int regex_2,
char *str_or_regex_2, int case-sensitive).
* Linux kernel - Character device driver example (See LDD examples on
github.com).
* Linux kernel - /proc fs example.
* Linux kernel - PCI/PCIe device driver example (See LDD examples on
github.com).
* Graphical apps using SDL:
** Personal expenses management.
** Flatmates expenses management.
** Task management (with reminders).
** Notes.
** Project management.
** Stock portfolio.
** Shared folder between linux machines.
** File transfer on LAN.
** Chat on LAN (send files also).
Powered by blists - more mailing lists