{"id":31768907,"url":"https://github.com/jianping-duan/unix_programming","last_synced_at":"2025-10-10T02:19:54.517Z","repository":{"id":287205056,"uuid":"963669459","full_name":"Jianping-Duan/unix_programming","owner":"Jianping-Duan","description":"UNIX programming cases based on FreeBSD environment","archived":false,"fork":false,"pushed_at":"2025-09-23T12:01:22.000Z","size":316,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-23T13:34:09.392Z","etag":null,"topics":["c","freebsd","unix"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jianping-Duan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-10T03:16:53.000Z","updated_at":"2025-09-23T12:01:26.000Z","dependencies_parsed_at":"2025-04-10T14:52:27.170Z","dependency_job_id":"e9f7a23b-ee50-4634-ab83-4761ee07e62b","html_url":"https://github.com/Jianping-Duan/unix_programming","commit_stats":null,"previous_names":["jianping-duan/bsd_man2_cases","jianping-duan/unix_programming"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jianping-Duan/unix_programming","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jianping-Duan%2Funix_programming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jianping-Duan%2Funix_programming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jianping-Duan%2Funix_programming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jianping-Duan%2Funix_programming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jianping-Duan","download_url":"https://codeload.github.com/Jianping-Duan/unix_programming/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jianping-Duan%2Funix_programming/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002537,"owners_count":26083399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","freebsd","unix"],"created_at":"2025-10-10T02:19:53.512Z","updated_at":"2025-10-10T02:19:54.511Z","avatar_url":"https://github.com/Jianping-Duan.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"UNIX Programming cases based on FreeBSD environment\n--------------------------------------------------------------------------------\n\nThe project takes the FreeBSD operating system as an example to describe\nprogramming based on the unix environment in the form of programming cases.\n\nFor the consideration of readability, the submodules in the project are divided\nby several system calls of unix, and each .c source file in the project will\ngenerate a corresponding executable file after compilation. \n\nThe system call function or library function used in the source file can be used\nto view the introduction of the function using man(2) or man(3).\n\nSource RoadMap:\n--------------------------------------------------------------------------------\n|   Directory     |         Description         |\n|-----------------|-----------------------------|\n| include         | Encapsulated common header file |\n| file            | Several operations of files on unix, includes Attribute, IO, Directory and Lock |\n| signals         | signal processing in unix operation system |\n| process         | unix process, includes create, daemon, execution, groups, sessions, job control, monitor, priority and schedule, resource, termination |\n| threads         | POSIX threads, includes basic operation, cancel, safety and synchronization |\n| pipefifo        | pipe and FIFO |\n| ipckey          | create a ipc key for SYSV |\n| msgqueue        | Message Queue, includes SYSV and POSIX |\n| semaphore       | UNIX semaphore, includes SYSV and POSIX |\n| shmem           | Shared memory, includes SYSV and POSIX |\n| socket          | unix domain socket, internet domain socket, server design demo |\n| advio           | Advance IO, includes select, poll and kqueue/kevent |\n| terminals       | Several functions related to the terminal |\n| time            | including most of time funcitons |\n| tmrslp          | timer and sleep |\n| vmmap           | Virtual memory and memery mapping |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjianping-duan%2Funix_programming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjianping-duan%2Funix_programming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjianping-duan%2Funix_programming/lists"}