{"id":50312904,"url":"https://github.com/simonefelici/pipex","last_synced_at":"2026-05-28T22:02:28.422Z","repository":{"id":279432611,"uuid":"938791549","full_name":"SimoneFelici/pipex","owner":"SimoneFelici","description":"Redirections and pipes","archived":false,"fork":false,"pushed_at":"2025-03-10T15:03:22.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T16:29:27.162Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SimoneFelici.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-02-25T14:06:59.000Z","updated_at":"2025-03-10T15:03:26.000Z","dependencies_parsed_at":"2025-02-25T15:33:39.017Z","dependency_job_id":null,"html_url":"https://github.com/SimoneFelici/pipex","commit_stats":null,"previous_names":["simonefelici/pipex"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SimoneFelici/pipex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimoneFelici%2Fpipex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimoneFelici%2Fpipex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimoneFelici%2Fpipex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimoneFelici%2Fpipex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimoneFelici","download_url":"https://codeload.github.com/SimoneFelici/pipex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimoneFelici%2Fpipex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33627950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"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":[],"created_at":"2026-05-28T22:02:16.445Z","updated_at":"2026-05-28T22:02:28.388Z","avatar_url":"https://github.com/SimoneFelici.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pipex\nRedirections and pipes\n\n# NOTES\n\n- perror: stdio.h | print a system error message.\n\n- strerror: string.h | return string describing error number.\n\n- access: unistd.h | check user's permissions for a file.\n\n- dup: unistd.h | creates a copy of the file descriptor, using the lowest-numbered unused file descriptor for the new descriptor.\n\n- dup2: unistd.h | performs the same as dup(), but instead of using the lowest-numbered unused file descriptor, it uses the specified file descriptor number.\n\n- execve: unistd.h | execute program.\n\n- fork: sys/types.h, unistd.h | creates a new process by duplicating the calling process.\n\n- pipe: unistd.h | creates a pipe, a unidirectional data channel that can be used for interprocess communication.\n\n- unlink: unistd.h, fcntl.h |  delete a name and possibly the file it refers to.\n\n- wait sys/types.h, sys/wait.h | suspends execution of the calling thread until one of its children terminates.\n\n- waitpid sys/types.h, sys/wait.h | suspends execution of the calling thread until a child specified by pid argument has changed state.\n\n# MAIN FLOW\n\n\"open\": get FD of infile, if outfile exists, get FD of outfile, else crete outfile and get FD.\n\n\"access\": check file permissions.\n\n[...]\n\n(I forgot to updated it💀)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonefelici%2Fpipex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonefelici%2Fpipex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonefelici%2Fpipex/lists"}