{"id":44057246,"url":"https://github.com/oliwer/syscall","last_synced_at":"2026-02-08T00:37:25.191Z","repository":{"id":151072222,"uuid":"96142865","full_name":"oliwer/syscall","owner":"oliwer","description":"Run system calls from your shell","archived":false,"fork":false,"pushed_at":"2025-04-02T10:07:18.000Z","size":12,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T11:23:03.233Z","etag":null,"topics":["c","linux","syscall","syscalls","unix"],"latest_commit_sha":null,"homepage":null,"language":"Roff","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oliwer.png","metadata":{"files":{"readme":"README.pod","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}},"created_at":"2017-07-03T19:13:39.000Z","updated_at":"2025-04-02T10:07:22.000Z","dependencies_parsed_at":"2023-12-29T22:13:35.723Z","dependency_job_id":null,"html_url":"https://github.com/oliwer/syscall","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oliwer/syscall","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliwer%2Fsyscall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliwer%2Fsyscall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliwer%2Fsyscall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliwer%2Fsyscall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oliwer","download_url":"https://codeload.github.com/oliwer/syscall/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oliwer%2Fsyscall/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29214398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T00:10:47.190Z","status":"ssl_error","status_checked_at":"2026-02-08T00:10:43.589Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","linux","syscall","syscalls","unix"],"created_at":"2026-02-08T00:37:24.324Z","updated_at":"2026-02-08T00:37:25.181Z","avatar_url":"https://github.com/oliwer.png","language":"Roff","readme":"=encoding utf8\n\n=head1 NAME\n\nsyscall - send system calls from your shell\n\n=head1 SYNOPSIS\n\n  syscall [-\u003cn\u003e] name [args...] [, name [args...]]...\n\n  syscall [-h|--help]\n\n  syscall [-v|--version]\n\nTo replicate the following C fragment:\n\n  int fd = open(\"/my/file\", O_WRONLY, 0755);\n  write(fd, \"hello\", strlen(\"hello\"));\n  close(fd);\n\nyou would use L\u003csyscall\u003e like this:\n\n  syscall open /my/file 1 0755 , write \\$0 hello \\#hello , close \\$0\n\nTo print the return code of a system call, use C\u003cecho\u003e:\n\n  syscall open /dev/random 0 , echo \\$0\n\n=head1 DESCRIPTION\n\nExecute a list of raw system calls. All the system calls listed in your\nsystem's unistd.h are supported, with up to 5 arguments. A maximum of 20\ncalls can be executed per invocation, each separated by a comma.\n\nArguments starting by a C\u003c#\u003e symbol are used to give a string length. For\ninstance, C\u003c#hello\u003e would be evaluated as 5.\n\nArguments starting by a C\u003c$\u003e followed by a number from 0 to 19 refer to a\nprevious system call return code. For instance, C\u003c$0\u003e refers to to the return\ncode of the first system call executed. To display those values, use the\nC\u003cecho\u003e built-in command.\n\nThe C\u003cecho\u003e command can be used like any other system call to easily\ndisplay C\u003c$\u003e or C\u003c#\u003e values, or any string or number.\n\n=head1 OPTIONS\n\n=over 4\n\n=item B\u003c-\u003cn\u003e\u003e\n\n  # print \"foo\" 10 times\n  syscall -10 write 1 \"foo\\n\" 4\n\nExecute the given commands I\u003cn\u003e times, where I\u003cn\u003e is an integer between 0\nand C\u003cINT_MAX\u003e.\n\n=item B\u003c-h --help\u003e\n\n=item B\u003c-v --version\u003e\n\n=back\n\n=head1 EXIT STATUS\n\nC\u003c0\u003e if all syscalls were successful, C\u003c1\u003e on error.\n\nNote that if any system returns -1, the program will exit immediately after\nprinting the associated error message.\n\n=head1 COPYRIGHT\n\nCopyright 2017 Olivier Duclos.\n\nThis program is distributed under the ISC license.\n\nHeavily inspired by the syscall command from AIX.\n\n=head1 SEE ALSO\n\nLinux Programmer's manual : L\u003csyscall(2)\u003e\n\nThis project's homepage: L\u003chttps://github.com/oliwer/syscall\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foliwer%2Fsyscall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foliwer%2Fsyscall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foliwer%2Fsyscall/lists"}