diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 2a00b2e..590b1d6 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,4 +1,3 @@ # These are supported funding model platforms github: [hugsy,] - diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 9b73619..e35cede 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -6,20 +6,22 @@ labels: triage assignees: '' --- +## Bug Report + +brackets if done/agreed) --> -* [ ] Is your bug specific to GEF (not GDB)? - Try to reproduce it running `gdb -nx` -* [ ] Did you search through the [documentation](https://github.com/hugsy/gef/) first? -* [ ] Did you check [issues](https://github.com/hugsy/gef/issues) (including +* [ ] Is your bug specific to GEF (not GDB)? - Try to reproduce it running `gdb -nx` +* [ ] Did you search through the [documentation](https://github.com/hugsy/gef/) first? +* [ ] Did you check [issues](https://github.com/hugsy/gef/issues) (including the closed ones) - and the [PR](https://github.com/hugsy/gef/pulls)? ### Step 1: Describe your environment -* Operating System / Distribution: -* Architecture: -* GEF version (including the Python library version) run `version` in GEF. +* Operating System / Distribution: +* Architecture: +* GEF version (including the Python library version) run `version` in GEF. ### Step 2: Describe your problem @@ -42,12 +44,12 @@ int main(){ return 0; } #### Observed Results -* What happened? This could be a description, log output, etc. +* What happened? This could be a description, log output, etc. #### Expected results -* What did you expect to happen? +* What did you expect to happen? #### Traces diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index fc0cee9..2e7525f 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -11,20 +11,22 @@ "Tested" indicates that the PR works *and* the unit test (i.e. `make test`) run passes without issue. - * [ ] x86-32 - * [ ] x86-64 - * [ ] ARM - * [ ] AARCH64 - * [ ] MIPS - * [ ] POWERPC - * [ ] SPARC - * [ ] RISC-V +* [ ] x86-32 +* [ ] x86-64 +* [ ] ARM +* [ ] AARCH64 +* [ ] MIPS +* [ ] POWERPC +* [ ] SPARC +* [ ] RISC-V ## Checklist -- [ ] My code follows the code style of this project. -- [ ] My change includes a change to the documentation, if required. -- [ ] If my change adds new code, [adequate tests](https://hugsy.github.io/gef/testing) have been added. -- [ ] I have read and agree to the [CONTRIBUTING](https://github.com/hugsy/gef/blob/main/.github/CONTRIBUTING.md) document. +* [ ] My code follows the code style of this project. +* [ ] My change includes a change to the documentation, if required. +* [ ] If my change adds new code, + [adequate tests](https://hugsy.github.io/gef/testing) have been added. +* [ ] I have read and agree to the + [CONTRIBUTING](https://github.com/hugsy/gef/blob/main/.github/CONTRIBUTING.md) document. diff --git a/.github/stale.yml b/.github/stale.yml index 76c5bf0..7925b77 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -20,6 +20,6 @@ closeComment: > complete description; or create a new issue. Thank you for your contributions. # Set to true to ignore issues in a milestone (defaults to false) -exemptMilestones: true +exemptMilestones: true # Set to true to ignore issues with an assignee (defaults to false) exemptAssignees: true diff --git a/.github/workflows/docs-link-check.yml b/.github/workflows/docs-link-check.yml index 41acf0b..b5b72ec 100644 Binary files a/.github/workflows/docs-link-check.yml and b/.github/workflows/docs-link-check.yml differ diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..e44baa7 --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,30 @@ +name: Validation + +on: + pull_request: + + +jobs: + pre_commit: + name: Check formatting + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v3 + - uses: pre-commit/action@v3.0.0 + + docs_link_check: + name: Check URLs in docs + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: checkout + uses: actions/checkout@v2 + - name: Check links + uses: lycheeverse/lychee-action@v1.4.1 + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + with: + args: --exclude-mail --accept=401 --no-progress 'docs/**/*.md' + fail: false diff --git a/.gitignore b/.gitignore index 4871af6..b4d180c 100644 --- a/.gitignore +++ b/.gitignore @@ -91,4 +91,3 @@ ENV/ .vscode .benchmarks .pytest_cache - diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..34a4ec7 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,22 @@ +fail_fast: false +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: end-of-file-fixer + - id: trailing-whitespace + + - repo: https://github.com/pycqa/pylint + rev: v3.0.0a6 + hooks: + - id: pylint + + - repo: https://github.com/igorshubovych/markdownlint-cli + rev: v0.35.0 + hooks: + - id: markdownlint-docker + args: + - --config=docs/.markdownlint.yaml + - --ignore=README.md + - --ignore=docs/index.md + - "docs/**/*.md" diff --git a/README.md b/README.md index 415bd83..5f34ae0 100644 --- a/README.md +++ b/README.md @@ -11,39 +11,48 @@ ## Extra goodies for [`GEF`](https://github.com/hugsy/gef) -This is an open repository of external scripts and structures to be used by [GDB Enhanced Features (GEF)](https://github.com/hugsy/gef). To use those scripts once `gef` is setup, simply clone this repository and update your GEF settings like this: - +This is an open repository of external scripts and structures to be used by +[GDB Enhanced Features (GEF)](https://github.com/hugsy/gef). To use those scripts once `gef` is +setup, simply clone this repository and update your GEF settings like this: ## Get Started -Getting started with GEF-Extras couldn't be easier: make sure you have a working GDB and GEF already installed, then run the following command: +Getting started with GEF-Extras couldn't be easier: make sure you have a working GDB and GEF +already installed, then run the following command: ```bash -$ wget -q -O- https://github.com/hugsy/gef/raw/main/scripts/gef-extras.sh | sh +wget -q -O- https://github.com/hugsy/gef/raw/main/scripts/gef-extras.sh | sh ``` +## Documentation -## Documentation ## - -Just like [GEF](https://hugsy.github.io/gef), GEF-Extras aims to have and keep to-date [a through documentation](https://hugsy.github.io/gef-extras/). Users are recommended to refer to it as it may help them in their attempts to use GEF. In particular, new users should navigate through it (see the [FAQ](https://hugsy.github.io/gef/faq/) for common installation problems), and the problem persists, try to reach out for help on the Discord channel or submit an issue. +Just like [GEF](https://hugsy.github.io/gef), GEF-Extras aims to have and keep to-date +[a through documentation](https://hugsy.github.io/gef-extras/). Users are recommended to refer to +it as it may help them in their attempts to use GEF. In particular, new users should navigate +through it (see the [FAQ](https://hugsy.github.io/gef/faq/) for common installation problems), and +the problem persists, try to reach out for help on the Discord channel or submit an issue. -## Current status ## +## Current status -| Documentation | License | Compatibility | CI Tests (`main`) | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Documentation | License | Compatibility | CI Tests (`main`) | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [![Documentation](https://github.com/hugsy/gef-extras/actions/workflows/generate-docs.yml/badge.svg)](https://github.com/hugsy/gef-extras/actions/workflows/generate-docs.yml) | [![MIT](https://img.shields.io/packagist/l/doctrine/orm.svg?maxAge=2592000?style=plastic)](https://github.com/hugsy/gef-extras/blob/main/LICENSE) | [![Python 3](https://img.shields.io/badge/Python-3-green.svg)](https://github.com/hugsy/gef-extras/) | [![CI Test for GEF-Extras](https://github.com/hugsy/gef-extras/actions/workflows/tests.yml/badge.svg)](https://github.com/hugsy/gef-extras/actions/workflows/tests.yml) | -## Contribute ## +## Contribute -To get involved, refer to the [Contribution documentation](https://hugsy.github.io/gef-extras/#contribution) and the [GEF guidelines](https://github.com/hugsy/gef/blob/main/.github/CONTRIBUTING.md) to start. +To get involved, refer to the +[Contribution documentation](https://hugsy.github.io/gef-extras/#contribution) and the +[GEF guidelines](https://github.com/hugsy/gef/blob/main/.github/CONTRIBUTING.md) to start. -## Sponsors ## +## Sponsors -Another way to contribute to keeping the project alive is by sponsoring it! Check out [the sponsoring documentation](https://hugsy.github.io/gef/#sponsors) for details so you can be part of the list of those [awesome sponsors](https://github.com/sponsors/hugsy). +Another way to contribute to keeping the project alive is by sponsoring it! Check out +[the sponsoring documentation](https://hugsy.github.io/gef/#sponsors) for details so you can be +part of the list of those [awesome sponsors](https://github.com/sponsors/hugsy). -## Happy Hacking 🍻 ## +## Happy Hacking 🍻 diff --git a/archs/README.md b/archs/README.md index 6e6b297..e6bc5e9 100644 --- a/archs/README.md +++ b/archs/README.md @@ -1 +1,3 @@ +## Additional architectures for GEF + Experiements for adding new architectures support for GEF diff --git a/docs/.markdownlint.yaml b/docs/.markdownlint.yaml new file mode 100644 index 0000000..86c6c61 --- /dev/null +++ b/docs/.markdownlint.yaml @@ -0,0 +1,256 @@ +# +# Rules: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md +# +# Default state for all rules +default: true + +# Path to configuration file to extend +extends: null + +# MD001/heading-increment/header-increment - Heading levels should only increment by one level at a time +MD001: true + +# MD002/first-heading-h1/first-header-h1 - First heading should be a top-level heading +MD002: + # Heading level + level: 2 + +# MD003/heading-style/header-style - Heading style +MD003: + # Heading style + style: "consistent" + +# MD004/ul-style - Unordered list style +MD004: + # List style + style: "consistent" + +# MD005/list-indent - Inconsistent indentation for list items at the same level +MD005: true + +# MD006/ul-start-left - Consider starting bulleted lists at the beginning of the line +MD006: true + +# MD007/ul-indent - Unordered list indentation +MD007: + # Spaces for indent + indent: 2 + # Whether to indent the first level of the list + start_indented: false + # Spaces for first level indent (when start_indented is set) + start_indent: 2 + +# MD009/no-trailing-spaces - Trailing spaces +MD009: + # Spaces for line break + br_spaces: 2 + # Allow spaces for empty lines in list items + list_item_empty_lines: false + # Include unnecessary breaks + strict: false + +# MD010/no-hard-tabs - Hard tabs +MD010: + # Include code blocks + code_blocks: false + # Fenced code languages to ignore + ignore_code_languages: [] + # Number of spaces for each hard tab + spaces_per_tab: 4 + +# MD011/no-reversed-links - Reversed link syntax +MD011: true + +# MD012/no-multiple-blanks - Multiple consecutive blank lines +MD012: + # Consecutive blank lines + maximum: 2 + +# MD013/line-length - Line length +MD013: + # Number of characters + line_length: 100 + # Number of characters for headings + heading_line_length: 100 + # Number of characters for code blocks + code_block_line_length: 100 + # Include code blocks + code_blocks: false + # Include tables + tables: false + # Include headings + headings: true + # Include headings + headers: true + # Strict length checking + strict: false + # Stern length checking + stern: false + +# MD014/commands-show-output - Dollar signs used before commands without showing output +MD014: true + +# MD018/no-missing-space-atx - No space after hash on atx style heading +MD018: true + +# MD019/no-multiple-space-atx - Multiple spaces after hash on atx style heading +MD019: true + +# MD020/no-missing-space-closed-atx - No space inside hashes on closed atx style heading +MD020: true + +# MD021/no-multiple-space-closed-atx - Multiple spaces inside hashes on closed atx style heading +MD021: true + +# MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines +MD022: + # Blank lines above heading + lines_above: 1 + # Blank lines below heading + lines_below: 1 + +# MD023/heading-start-left/header-start-left - Headings must start at the beginning of the line +MD023: true + +# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content +MD024: + # Only check sibling headings + allow_different_nesting: false + # Only check sibling headings + siblings_only: false + +# MD025/single-title/single-h1 - Multiple top-level headings in the same document +MD025: + # Heading level + level: 1 + # RegExp for matching title in front matter + front_matter_title: "^\\s*title\\s*[:=]" + +# MD026/no-trailing-punctuation - Trailing punctuation in heading +MD026: + # Punctuation characters not allowed at end of headings + punctuation: ".,;:!。,;:!" + +# MD027/no-multiple-space-blockquote - Multiple spaces after blockquote symbol +MD027: true + +# MD028/no-blanks-blockquote - Blank line inside blockquote +MD028: true + +# MD029/ol-prefix - Ordered list item prefix +MD029: + # List style + style: "one_or_ordered" + +# MD030/list-marker-space - Spaces after list markers +MD030: + # Spaces for single-line unordered list items + ul_single: 2 + # Spaces for single-line ordered list items + ol_single: 2 + # Spaces for multi-line unordered list items + ul_multi: 2 + # Spaces for multi-line ordered list items + ol_multi: 2 + +# MD031/blanks-around-fences - Fenced code blocks should be surrounded by blank lines +MD031: + # Include list items + list_items: true + +# MD032/blanks-around-lists - Lists should be surrounded by blank lines +MD032: true + +# MD033/no-inline-html - Inline HTML +MD033: + # Allowed elements + allowed_elements: ["img"] + +# MD034/no-bare-urls - Bare URL used +MD034: true + +# MD035/hr-style - Horizontal rule style +MD035: + # Horizontal rule style + style: "consistent" + +# MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading +MD036: + # Punctuation characters + punctuation: ".,;:!?。,;:!?" + +# MD037/no-space-in-emphasis - Spaces inside emphasis markers +MD037: true + +# MD038/no-space-in-code - Spaces inside code span elements +MD038: true + +# MD039/no-space-in-links - Spaces inside link text +MD039: true + +# MD040/fenced-code-language - Fenced code blocks should have a language specified +MD040: + # List of languages + allowed_languages: [] + # Require language only + language_only: false + +# MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading +MD041: + # Heading level + level: 2 + # RegExp for matching title in front matter + front_matter_title: "^\\s*title\\s*[:=]" + +# MD042/no-empty-links - No empty links +MD042: true + +# MD043/required-headings/required-headers - Required heading structure +MD043: false + +# MD044/proper-names - Proper names should have the correct capitalization +MD044: + # List of proper names + names: [] + # Include code blocks + code_blocks: false + # Include HTML elements + html_elements: false + +# MD045/no-alt-text - Images should have alternate text (alt text) +MD045: true + +# MD046/code-block-style - Code block style +MD046: + # Block style + style: "consistent" + +# MD047/single-trailing-newline - Files should end with a single newline character +MD047: true + +# MD048/code-fence-style - Code fence style +MD048: + # Code fence style + style: "consistent" + +# MD049/emphasis-style - Emphasis style should be consistent +MD049: + # Emphasis style should be consistent + style: "consistent" + +# MD050/strong-style - Strong style should be consistent +MD050: + # Strong style should be consistent + style: "consistent" + +# MD051/link-fragments - Link fragments should be valid +MD051: true + +# MD052/reference-links-images - Reference links and images should use a label that is defined +MD052: true + +# MD053/link-image-reference-definitions - Link and image reference definitions should be needed +MD053: + # Ignored definitions + ignored_definitions: + - "//" diff --git a/docs/commands/assemble.md b/docs/commands/assemble.md index f52de86..03b3e05 100644 --- a/docs/commands/assemble.md +++ b/docs/commands/assemble.md @@ -1,4 +1,4 @@ -## Command assemble ## +## Command assemble If you have installed [`keystone`](https://www.keystone-engine.org/), then `gef` will provide a convenient command to assemble native instructions directly to @@ -6,7 +6,7 @@ opcodes of the architecture you are currently debugging. Call it via `assemble` or its alias `asm`: -``` +```text gef➤ asm [INSTRUCTION [; INSTRUCTION ...]] ``` @@ -16,7 +16,7 @@ By setting the `--arch ARCH` and `--mode MODE` the target platform for the assembly can be changed. Available architectures and modes can be displayed with `--list-archs`. -``` +```text gef➤ asm --list-archs Available architectures/modes (with endianness): - ARM @@ -43,14 +43,14 @@ Available architectures/modes (with endianness): * 64 (little) ``` -``` +```text gef➤ asm --arch x86 --mode 32 [INSTRUCTION [; INSTRUCTION ...]] gef➤ asm --arch arm [INSTRUCTION [; INSTRUCTION ...]] ``` To choose the endianness use `--endian ENDIANNESS` (by default, `little`): -``` +```text gef➤ asm --endian big [INSTRUCTION [; INSTRUCTION ...]] ``` diff --git a/docs/commands/bincompare.md b/docs/commands/bincompare.md index 24e9ac0..29dafff 100644 --- a/docs/commands/bincompare.md +++ b/docs/commands/bincompare.md @@ -1,16 +1,18 @@ ## Command bincompare -The `bincompare` command will compare a provided binary file with process memory in order to find differences between the two. +The `bincompare` command will compare a provided binary file with process memory in order to find +differences between the two. `bincompare` requires args: -* `-f` (for `file`) - the full path of binary file to be compared. -* `-a` (for `address`) - the memory address to be compared with the file data. +* `-f` (for `file`) - the full path of binary file to be compared. +* `-a` (for `address`) - the memory address to be compared with the file data. You can use the `bytearray` command to generate the binary file. Example without badchars: -``` + +```text gef➤ bincompare -f bytearray.bin -a 0x56557008 [+] Comparison result: +-----------------------------------------------+ @@ -51,7 +53,8 @@ gef➤ bincompare -f bytearray.bin -a 0x56557008 ``` Example with badchars and no truncateed buffer: -``` + +```text gef➤ bincompare -f bytearray.bin -a 0x56557008 [+] Comparison result: +-----------------------------------------------+ @@ -92,7 +95,8 @@ gef➤ bincompare -f bytearray.bin -a 0x56557008 ``` Example with badchars and truncated buffer: -``` + +```text gef➤ bincompare -f bytearray.bin -a 0x56557008 [+] Comparison result: +-----------------------------------------------+ @@ -131,4 +135,4 @@ gef➤ bincompare -f bytearray.bin -a 0x56557008 +-----------------------------------------------+ [+] Corruption after 66 bytes [+] Badchars found: 05, 1f, 3f, 42, 43, 44, 45, 46, 47, 48, 49, 4a, 4b, 4c, 4d, 4e, 4f, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 5a, 5b, 5c, 5d, 5e, 5f, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 6a, 6b, 6c, 6d, 6e, 6f, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 7a, 7b, 7c, 7d, 7e, 7f, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 8a, 8b, 8c, 8d, 8e, 8f, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 9a, 9b, 9c, 9d, 9e, 9f, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, ba, bb, bc, bd, be, bf, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, ca, cb, cc, cd, ce, cf, d0, d1, d2, d3, d4, d5, d6, d7, d8, d9, da, db, dc, dd, de, df, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ea, eb, ec, ed, ee, ef, f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, fa, fb, fc, fd, fe, ff -``` \ No newline at end of file +``` diff --git a/docs/commands/bytearray.md b/docs/commands/bytearray.md index 85edfab..dd066dd 100644 --- a/docs/commands/bytearray.md +++ b/docs/commands/bytearray.md @@ -1,14 +1,16 @@ ## Command bytearray -The `bytearray` generate a binary with data between 0x01 and 0xff. In general the created file is used to compare (using the `bincompare` command) with a memory data in order to check badchars. +The `bytearray` generate a binary with data between 0x01 and 0xff. In general the created file is +used to compare (using the `bincompare` command) with a memory data in order to check badchars. `bytearray` also accepts one option: - * `-b` (for `badchar`) will exclude the bytes to generated byte array. +* `-b` (for `badchar`) will exclude the bytes to generated byte array. Example without excluding bytes: -``` + +```text gef➤ bytearray [+] Generating table, excluding 0 bad chars... [+] Dumping table to file @@ -26,7 +28,8 @@ gef➤ bytearray ``` Example excluding bytes (0x00, 0x0a and 0x0d): -``` + +```text gef➤ bytearray -b "\x00\x0a\x0d" [+] Generating table, excluding 3 bad chars... [+] Dumping table to file @@ -40,4 +43,4 @@ gef➤ bytearray -b "\x00\x0a\x0d" "\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" [+] Done, wrote 253 bytes to file bytearray.txt [+] Binary output saved in bytearray.bin -``` \ No newline at end of file +``` diff --git a/docs/commands/capstone-disassemble.md b/docs/commands/capstone-disassemble.md index 16aa193..b1bdcf7 100644 --- a/docs/commands/capstone-disassemble.md +++ b/docs/commands/capstone-disassemble.md @@ -1,4 +1,4 @@ -## Command capstone-disassemble ## +## Command capstone-disassemble If you have installed the [`capstone`](http://capstone-engine.org) library and its Python bindings, you can use it to disassemble any memory in your debugging @@ -8,7 +8,7 @@ function which sometimes gets things mixed up. You can use its alias `cs-disassemble` or just `cs` with the location to disassemble at. If not specified, it will use `$pc`. -``` +```text gef➤ cs main+0x10 ``` @@ -16,11 +16,12 @@ gef➤ cs main+0x10 Disassemble more instructions -``` +```text gef➤ cs --length 20 ``` Show opcodes next to disassembly -``` + +```text gef➤ cs --show-opcodes ``` diff --git a/docs/commands/error.md b/docs/commands/error.md index c580f31..d338a5c 100644 --- a/docs/commands/error.md +++ b/docs/commands/error.md @@ -1,10 +1,11 @@ -# error +## Command `error` A basic equivalent to WinDbg `!error` command. -If a debugging session is active, `error` can be used with no argument: the command will use the `return_register` of the current architecture associated to the binary. +If a debugging session is active, `error` can be used with no argument: the command will use the +`return_register` of the current architecture associated to the binary. -``` +```text [ Legend: Modified register | Code | Heap | Stack | String ] ─────────────────────────────────────────────────────────────────────────────────────── registers ──── $rax : 0x1 @@ -13,15 +14,16 @@ gef➤ error 1 (0x1) : Operation not permitted ``` -Otherwise, an argument is expected: this argument can be a debugging symbol (for instance a register) or the integer holding the error code to translate: +Otherwise, an argument is expected: this argument can be a debugging symbol (for instance a +register) or the integer holding the error code to translate: -``` +```text gef➤ error 42 42 (0x2a) : No message of desired type ``` -``` +```text gef➤ eq $sp 0x1337 gef➤ error *(int*)$sp 4919 (0x1337) : Unknown error 4919 -``` \ No newline at end of file +``` diff --git a/docs/commands/ftrace.md b/docs/commands/ftrace.md index d759414..199d0e2 100644 --- a/docs/commands/ftrace.md +++ b/docs/commands/ftrace.md @@ -1,17 +1,16 @@ -## Command ftrace ## +## Command ftrace A quick'n dirty function tracer scripts for GEF. To use: -``` +```text gef➤ ftrace , , ... ``` Example: -``` +```text gef➤ ftrace malloc,1 calloc,2 free,1 ``` - diff --git a/docs/commands/glibc_function_args.md b/docs/commands/glibc_function_args.md index e6f49bc..d46146d 100644 --- a/docs/commands/glibc_function_args.md +++ b/docs/commands/glibc_function_args.md @@ -1,21 +1,25 @@ -## glibc function call arguments definition ## - -This tree holds json used to print better definition of glibc function arguments. +## Glibc function call arguments definition +This directory holds json used to print better definition of glibc function arguments. Arguments' definitions are taken from glibc manual, and can be used as a kind reminder. -For example, the arguments for a `read@plt` would currently look like this: +For example, the arguments for a `read@plt` would currently look like this: -![read](https://user-images.githubusercontent.com/1745802/98736103-aed90900-23a4-11eb-8c8d-f1ae41e772f8.png) +![read-plt-without](https://user-images.githubusercontent.com/1745802/98736103-aed90900-23a4-11eb-8c8d-f1ae41e772f8.png) -but using this feature, it will instead look like this: +But using this feature, it will instead look like this: -![read](https://user-images.githubusercontent.com/1745802/98736838-a7662f80-23a5-11eb-89b4-7f732713d64b.png) +![read-plt-with](https://user-images.githubusercontent.com/1745802/98736838-a7662f80-23a5-11eb-89b4-7f732713d64b.png) -Functions are detected if they end with `@plt`, which means that static binaries won't benefit from this. +Functions are detected if they end with `@plt`, which means that static binaries won't benefit from +this. User has to set two context configurations: -* `context.libc_args`: boolean, set to `True` to use this feature -* `context.libc_args_path`: string, must be set to the directory where the libc definition json files can be found -The script _generate_glibc_args_json.py_ is used to create provided json files. It works by parsing glibc manual text, can be downloaded from https://www.gnu.org/software/libc/manual/text/libc.txt.gz and saved in the current directory. +* `context.libc_args`: boolean, set to `True` to use this feature +* `context.libc_args_path`: string, must be set to the directory where the libc definition json + files can be found + +The script `generate_glibc_args_json.py` is used to create provided json files. It works by parsing +glibc manual text, can be downloaded from + and saved in the current directory. diff --git a/docs/commands/ida-rpyc.md b/docs/commands/ida-rpyc.md index ff45f87..c1974da 100644 --- a/docs/commands/ida-rpyc.md +++ b/docs/commands/ida-rpyc.md @@ -1,4 +1,4 @@ -## Command ida-interact ## +## Command ida-interact `gef` provides a simple XML-RPC client designed to communicate with a server running inside a specific IDA Python plugin, called `ida_gef.py`. @@ -6,7 +6,7 @@ running inside a specific IDA Python plugin, called `ida_gef.py`. Simply download this script, and run it inside IDA. When the server is running, you should see some output: -``` +```text [+] Creating new thread for XMLRPC server: Thread-1 [+] Starting XMLRPC server: 0.0.0.0:1337 [+] Registered 12 functions. @@ -19,23 +19,28 @@ command expects the name of the function to execute as the first argument, all t other arguments are the arguments of the remote function. To enumerate the functions available, simply run -``` + +```text gef➤ ida-interact -h ``` + ![gef-ida-help](https://i.imgur.com/JFNBfjY.png) Now, to execute an RPC, invoke the command `ida-interact` on the desired method, with its arguments (if required). For example: -``` + +```text gef➤ ida setcolor 0x40061E ``` + will edit the remote IDB and set the background color of the location 0x40061E with the color 0x005500 (default value). Another convenient example is to add comment inside IDA directly from `gef`: -``` + +```text gef➤ ida makecomm 0x40060C "<<<--- stack overflow" [+] Success ``` @@ -47,5 +52,5 @@ Result: Please use the `-h` argument to see all the methods available and their syntax. It is also note-worthy that [Binary Ninja](https://binary.ninja) support has be added: -![](https://pbs.twimg.com/media/CzSso9bUAAArL1f.jpg:large), by using the +![gef-binja-add-bkp](https://pbs.twimg.com/media/CzSso9bUAAArL1f.jpg:large), by using the Binary Ninja plugin [`gef-binja.py`](https://github.com/hugsy/gef-binja). diff --git a/docs/commands/is-syscall.md b/docs/commands/is-syscall.md index a288c5b..ecd2dea 100644 --- a/docs/commands/is-syscall.md +++ b/docs/commands/is-syscall.md @@ -1,14 +1,16 @@ -## Command is-syscall ## +## Command is-syscall `gef` can be used to determine whether the instruction to be executed next is a system call. To use it, simply run -``` + +```text gef➤ is-syscall ``` If it is a system call, -``` + +```text gef➤ is-syscall [+] Current instruction is a syscall ``` diff --git a/docs/commands/peekpointers.md b/docs/commands/peekpointers.md index 47e3206..c3199b0 100644 --- a/docs/commands/peekpointers.md +++ b/docs/commands/peekpointers.md @@ -1,4 +1,4 @@ -## Command `peekpointers` ## +## Command `peekpointers` _Author_: [bkth](https://github.com/bkth) @@ -6,6 +6,7 @@ This command helps find pointers belonging to other memory regions helpful in case of OOB Read when looking for specific pointers Syntax: + ```python gef➤ peek-pointers LOCATION [section-name] ``` diff --git a/docs/commands/retdec.md b/docs/commands/retdec.md index 51a0320..30ec4e6 100644 --- a/docs/commands/retdec.md +++ b/docs/commands/retdec.md @@ -1,12 +1,13 @@ -## Command retdec ## +## Command `retdec` -`gef` uses the RetDec decompiler (https://github.com/avast/retdec) +`gef` uses the RetDec decompiler () to decompile parts of or entire binary. The command, `retdec`, also has a default alias, `decompile` to make it easier to remember. -To use the command, you need to provide `gef` the path to a retdec installation. The compiled source can be found on the [releases](https://github.com/avast/retdec/releases) page. +To use the command, you need to provide `gef` the path to a retdec installation. The compiled +source can be found on the [releases](https://github.com/avast/retdec/releases) page. -``` +```text cd /opt wget https://github.com/avast/retdec/releases/download/v4.0/retdec-v4.0-ubuntu-64b.tar.xz tar xvf retdec-v4.0-ubuntu-64b.tar.xz @@ -14,34 +15,38 @@ tar xvf retdec-v4.0-ubuntu-64b.tar.xz Then enter the path the `gef config` command: -``` +```text gef➤ gef config retdec.retdec_path /opt/retdec ``` You can have `gef` save this path by saving the current configuration settings. -``` +```text gef➤ gef save ``` `retdec` can be used in 3 modes: - * By providing the option `-a`, `gef` will submit the entire binary being - debugged to RetDec. For example, -``` +* By providing the option `-a`, `gef` will submit the entire binary being + debugged to RetDec. For example, + +```text gef➤ decompile -a ``` + ![gef-retdec-full](https://i.imgur.com/58VSHt0.png) - * By providing the option `-r START:END`, `gef` will submit only the raw - bytes contained within the range specified as argument. +* By providing the option `-r START:END`, `gef` will submit only the raw + bytes contained within the range specified as argument. - * By providing the option `-s SYMBOL`, `gef` will attempt to reach a specific - function symbol, dump the function in a temporary file, and submit it to - RetDec. For example, -``` +* By providing the option `-s SYMBOL`, `gef` will attempt to reach a specific + function symbol, dump the function in a temporary file, and submit it to + RetDec. For example, + +```text gef➤ decompile -s main ``` + ![gef-retdec-symbol-main](https://i.imgur.com/QXaTqyM.png) @@ -49,9 +54,11 @@ gef➤ decompile -s main Retdec now supports syntax highlighting for all C decompilations with the use of Pygments. -Available themes can be found [here](https://github.com/pygments/pygments/blob/8e9f9cbec9ff496a1846602e32af27ffba52f5f7/pygments/styles/__init__.py). +Available themes can be found +[here](https://github.com/pygments/pygments/blob/8e9f9cbec9ff496a1846602e32af27ffba52f5f7/pygments/styles/__init__.py). You can change themes by running + ```py gef config retdec.theme THEME_NAME gef save # remember to save your config! diff --git a/docs/commands/set-permission.md b/docs/commands/set-permission.md index 4e32949..17d1eeb 100644 --- a/docs/commands/set-permission.md +++ b/docs/commands/set-permission.md @@ -1,4 +1,4 @@ -## Command set-permission ## +## Command set-permission This command was added to facilitate the exploitation process, by changing the permissions on a specific memory page directly from the debugger. @@ -7,7 +7,7 @@ By default, GDB does not allow you to do that, so the command will modify a code section of the binary being debugged, and add a native `mprotect` syscall stub. For example, for x86, the following stub will be inserted: -``` +```text pushad pushfd mov eax, mprotect_syscall_num @@ -24,7 +24,7 @@ original context, allowing you to resume execution. The usage is -``` +```text gef➤ set-permission address [permission] ``` @@ -39,7 +39,7 @@ as READ|WRITE|EXECUTE on this binary, Simply run -``` +```text gef➤ mprotect 0xfffdd000 ``` diff --git a/docs/commands/skel.md b/docs/commands/skel.md index 691e687..2a6d015 100644 --- a/docs/commands/skel.md +++ b/docs/commands/skel.md @@ -1,17 +1,18 @@ -## Command skel ## +## Command skel -`skel` prepares quickly a `pwntools` based exploit template for both local and remote targets, based on the currently debugged file. +`skel` prepares quickly a `pwntools` based exploit template for both local and remote targets, +based on the currently debugged file. -### How-To use ### +### How-To use #### With a local target -``` +```text gef➤ skel local ``` #### With a remote target -``` +```text gef➤ skel remote=TARGET:PORT ``` diff --git a/docs/commands/syscall-args.md b/docs/commands/syscall-args.md index 9e670a2..3fb3dea 100644 --- a/docs/commands/syscall-args.md +++ b/docs/commands/syscall-args.md @@ -1,4 +1,4 @@ -## Command syscall-args ## +## Command syscall-args Often it is troublesome to have to refer to syscall tables every time we encounter a system call instruction. `gef` can be used to determine the system @@ -6,12 +6,14 @@ call being invoked and the arguments being passed to it. Requires [gef-extras](https://github.com/hugsy/gef-extras). To use it, simply run -``` + +```text gef➤ syscall-args ``` For instance, -``` + +```text ───────────────────────────────────────────────────────────────────────────────────────────────────────[ registers ]──── $rax : 0x0000000000000001 $rbx : 0x0000000000000045 @@ -21,7 +23,7 @@ $rsp : 0x00007fffffffdbf8 → 0x00007ffff786f4bd → <_IO_file_write+45> t $rbp : 0x0000555555775510 → "alarm@192.168.0.100\t\t how2heap\t\t\t\t\t\t\t [...]" $rsi : 0x0000555555775510 → "alarm@192.168.0.100\t\t how2heap\t\t\t\t\t\t\t [...]" $rdi : 0x0000000000000001 -$rip : 0x00007ffff78de132 → syscall +$rip : 0x00007ffff78de132 → syscall $r8 : 0x0000555555783b44 → 0x0000000000000066 ("f"?) $r9 : 0x0000000000000000 $r10 : 0x0000000000002000 @@ -31,7 +33,7 @@ $r13 : 0x0000000000000045 $r14 : 0x00007ffff7ba6760 → 0x0000000000000000 $r15 : 0x0000000000000045 $eflags: [carry PARITY adjust ZERO sign trap INTERRUPT direction overflow resume virtualx86 identification] -$cs: 0x0033 $gs: 0x0000 $ss: 0x002b $es: 0x0000 $fs: 0x0000 $ds: 0x0000 +$cs: 0x0033 $gs: 0x0000 $ss: 0x002b $es: 0x0000 $fs: 0x0000 $ds: 0x0000 ... diff --git a/docs/commands/unicorn-emulate.md b/docs/commands/unicorn-emulate.md index be981d4..5542944 100644 --- a/docs/commands/unicorn-emulate.md +++ b/docs/commands/unicorn-emulate.md @@ -1,4 +1,4 @@ -## Command unicorn-emulate ## +## Command unicorn-emulate If you have installed [`unicorn`](http://unicorn-engine.org) emulation engine and its Python bindings, GEF integrates a new command to emulate instructions @@ -13,13 +13,13 @@ emulation. Use `-h` for help: -``` +```text gef➤ emu -h ``` For example, the following command will emulate only the next 2 instructions: -``` +```text gef➤ emu 2 ``` @@ -29,7 +29,7 @@ And show this: In this example, we can see that after executing -``` +```text 0x555555555171 sub rsp, 0x10 0x555555555175 mov edi, 0x100 ``` @@ -40,5 +40,3 @@ A convenient option is `--output-file /path/to/file.py` that will generate a pure Python script embedding your current execution context, ready to be re-used outside GEF!! This can be useful for dealing with obfuscation or solve crackmes if powered with a SMT for instance. - - diff --git a/docs/commands/visualize_heap.md b/docs/commands/visualize_heap.md index ead3f3b..ea5fe82 100644 --- a/docs/commands/visualize_heap.md +++ b/docs/commands/visualize_heap.md @@ -1,13 +1,14 @@ -## `visualize-libc-heap-chunks` ## +## Command `visualize-libc-heap-chunks` _Alias_: `heap-view` This plugin aims to provide an ASCII-based simplistic representation of the heap layout. -Currently only the glibc heap support is implemented. The command doesn't take argument, and display the heap layout. It also aggregates similar lines for better readability: +Currently only the glibc heap support is implemented. The command doesn't take argument, and +display the heap layout. It also aggregates similar lines for better readability: -``` +```text gef➤ visualize-libc-heap-chunks ``` diff --git a/docs/commands/windbg.md b/docs/commands/windbg.md index d71b5f7..92d5b30 100644 --- a/docs/commands/windbg.md +++ b/docs/commands/windbg.md @@ -1,46 +1,51 @@ -## WinDbg compatibility layer ## - -This plugin is a set of commands, aliases and extensions to mimic some of the most common WinDbg commands into GEF. - -### Commands ### - - - `hh` - open GEF help in web browser - - `sxe` (set-exception-enable): break on loading libraries - - `tc` - trace to next call - - `pc` - run until call. - - `g` - go. - - `u` - disassemble. - - `x` - search symbol. - - `r` - register info - - -### Settings ### - - - `gef.use-windbg-prompt` - set to `True` to change the prompt like `0:000 ➤` - - -### Aliases ### - - - `da` : `display s` - - `dt` : `pcustom` - - `dq` : `hexdump qword` - - `dd` : `hexdump dword` - - `dw` : `hexdump word` - - `db` : `hexdump byte` - - `eq` : `patch qword` - - `ed` : `patch dword` - - `ew` : `patch word` - - `eb` : `patch byte` - - `ea` : `patch string` - - `dps` : `dereference` - - `bp` : `break` - - `bl` : `info breakpoints` - - `bd` : `disable breakpoints` - - `bc` : `delete breakpoints` - - `be` : `enable breakpoints` - - `tbp` : `tbreak` - - `s` : `grep` - - `pa` : `advance` - - `kp` : `info stack` - - `ptc` : `finish` - - `uf` : `disassemble` +## WinDbg compatibility layer + +This plugin is a set of commands, aliases and extensions to mimic some of the most common WinDbg +commands into GEF. + +### Commands + +- `hh` - open GEF help in web browser +- `sxe` (set-exception-enable): break on loading libraries +- `tc` - trace to next call +- `pc` - run until call. +- `g` - go. +- `u` - disassemble. +- `x` - search symbol. +- `r` - register info + + +### Settings + +- `gef.use-windbg-prompt` - set to `True` to change the prompt like `0:000 ➤` + + +### Aliases + +Loading this plugin will automatically define the following aliases + +| Alias | Command | +| ----- | --------------------- | +| `da` | `display s` | +| `dt` | `pcustom` | +| `dq` | `hexdump qword` | +| `dd` | `hexdump dword` | +| `dw` | `hexdump word` | +| `db` | `hexdump byte` | +| `eq` | `patch qword` | +| `ed` | `patch dword` | +| `ew` | `patch word` | +| `eb` | `patch byte` | +| `ea` | `patch string` | +| `dps` | `dereference` | +| `bp` | `break` | +| `bl` | `info breakpoints` | +| `bd` | `disable breakpoints` | +| `bc` | `delete breakpoints` | +| `be` | `enable breakpoints` | +| `tbp` | `tbreak` | +| `s` | `grep` | +| `pa` | `advance` | +| `kp` | `info stack` | +| `ptc` | `finish` | +| `uf` | `disassemble` | diff --git a/docs/index.md b/docs/index.md index b9b4a73..57de700 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,53 +10,68 @@ ## Extra goodies for [`GEF`](https://github.com/hugsy/gef) -This is an open repository of external scripts and structures to be used by [GEF](https://github.com/hugsy/gef). As GEF aims to stay a one-file battery-included plugin for GDB, it doesn't allow by nature to be extended with external Python library. GEF-Extras remediates that providing some more extensibility to GEF through: +This is an open repository of external scripts and structures to be used by +[GEF](https://github.com/hugsy/gef). As GEF aims to stay a one-file battery-included plugin for +GDB, it doesn't allow by nature to be extended with external Python library. GEF-Extras remediates +that providing some more extensibility to GEF through: - - more commands and functions - - publicly shared structures for the `pcustom` command - - more operating system support - - more file format support +- more commands and functions +- publicly shared structures for the `pcustom` command +- more operating system support +- more file format support ## Quick start -The biggest requirement for GEF-Extras to work is of course `GEF`. Please refer to GEF documentation to have it set up (spoiler alert: it's pretty easy 😉). Once GEF is up and running, you can install GEF-Extras. +The biggest requirement for GEF-Extras to work is of course `GEF`. Please refer to GEF +documentation to have it set up (spoiler alert: it's pretty easy 😉). Once GEF is up and running, +you can install GEF-Extras. ### Automated installation Execute and run the installation script from GEF repository. ```bash -$ wget -q -O- https://github.com/hugsy/gef/raw/main/scripts/gef-extras.sh | sh +wget -q -O- https://github.com/hugsy/gef/raw/main/scripts/gef-extras.sh | sh ``` -The script will download (via git) GEF-Extras, and set up your `~/.gef.rc` file so that you can start straight away. +The script will download (via git) GEF-Extras, and set up your `~/.gef.rc` file so that you can +start straight away. Refer to the [installation page](install.md) for more installation methods. - ## Contribution ### Through Pull-Requests -This repository is open for anyone to contribute! Simply [drop a PR](https://github.com/hugsy/gef-scripts/pulls) with the new command/function/feature. One thing to note, GEF and GEF-Extras have become what they are today thanks to an up-to-date documentation, so considering attaching a simple Markdown file to the `docs` folder explaining your update. **IF** your code is complex and/or requires further scrutiny, adding CI tests would also be asked during the review process of your PR. +This repository is open for anyone to contribute! Simply +[drop a PR](https://github.com/hugsy/gef-scripts/pulls) with the new command/function/feature. One +thing to note, GEF and GEF-Extras have become what they are today thanks to an up-to-date +documentation, so considering attaching a simple Markdown file to the `docs` folder explaining your +update. **IF** your code is complex and/or requires further scrutiny, adding CI tests would also be +asked during the review process of your PR. -For a complete rundown of the commands/functions GEF allows to use out of the box, check out [GEF API page](https://gef.github.io/gef/api/) to start writing powerful GDB commands using GEF! +For a complete rundown of the commands/functions GEF allows to use out of the box, check out +[GEF API page](https://gef.github.io/gef/api/) to start writing powerful GDB commands using GEF! As a reward, your Github avatar will be immortalize in the list below of contributors to GEF-Extras -[ ![contributors-img](https://contrib.rocks/image?repo=hugsy/gef-extras) ](https://github.com/hugsy/gef-extras/graphs/contributors) +![[contributors-img](https://contrib.rocks/image?repo=hugsy/gef-extras) +]() ### Feature requests -Well, that's ok! Just create an [Issue](https://github.com/hugsy/gef-extras/issues) explaining what cool feature/idea/command you had in mind! Even better, write the documentation (Markdown format) for your command. It'll make easier for people who wants to integrate it! +Well, that's ok! Just create an [Issue](https://github.com/hugsy/gef-extras/issues) explaining what +cool feature/idea/command you had in mind! Even better, write the documentation (Markdown format) +for your command. It'll make easier for people who wants to integrate it! ### Sponsoring -Sponsoring is another way to help projects to thrive. You can sponsor GEF and GEF-Extras by following [this link](https://github.com/sponsors/hugsy). +Sponsoring is another way to help projects to thrive. You can sponsor GEF and GEF-Extras by +following [this link](https://github.com/sponsors/hugsy). ## Happy hacking 🍻 diff --git a/docs/install.md b/docs/install.md index 18879d5..c7fa981 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,17 +1,22 @@ -# Installing GEF-Extras +## Installing GEF-Extras + +This page explains to how set up GEF-Extras to work alongside of GEF. ## Prerequisites ### GDB -Only [GDB 8 and higher](https://www.gnu.org/s/gdb) is required. It must be compiled with Python 3.6 or higher support. For most people, simply using your distribution package manager should be enough. +Only [GDB 8 and higher](https://www.gnu.org/s/gdb) is required. It must be compiled with Python 3.6 +or higher support. For most people, simply using your distribution package manager should be enough. -GEF will then only work for Python 3. If you absolutely require GDB + Python 2, please use [GEF-Legacy](https://github.com/hugsy/gef-legacy) instead. Note that `gef-legacy` won't provide new features, and only functional bugs will be handled. +GEF will then only work for Python 3. If you absolutely require GDB + Python 2, please use +[GEF-Legacy](https://github.com/hugsy/gef-legacy) instead. Note that `gef-legacy` won't provide new +features, and only functional bugs will be handled. You can verify it with the following command: ```bash -$ gdb -nx -ex 'pi print(sys.version)' -ex quit +b -nx -ex 'pi print(sys.version)' -ex quit ``` This should display your version of Python compiled with `gdb`. @@ -35,15 +40,17 @@ $ bash -c "$(curl -fsSL https://gef.blah.cat/sh)" $ bash -c "$(wget https://gef.blah.cat/sh -O -)" ``` -For more advanced installation methods, refer [the installation chapter of the GEF documentation](https://hugsy.github.io/gef/install). +For more advanced installation methods, refer +[the installation chapter of the GEF documentation](https://hugsy.github.io/gef/install). ### Python dependencies -Because GEF-Extras allows external dependencies, you must make sure to have the adequate Python libraries installed before you can use the features. +Because GEF-Extras allows external dependencies, you must make sure to have the adequate Python +libraries installed before you can use the features. Thankfully this is easily done in Python, as such: -``` +```text wget -O /tmp/requirements.txt https://raw.githubusercontent.com/hugsy/gef-extras/main/requirements.txt python -m pip install --user --upgrade /tmp/requirements.txt ``` @@ -52,27 +59,33 @@ python -m pip install --user --upgrade /tmp/requirements.txt ### Installation using Git Start with cloning this repo: + ```bash -$ git clone https://github.com/hugsy/gef-extras +t clone https://github.com/hugsy/gef-extras ``` Add the path to the external scripts to GEF's config: -``` + +```text gef➤ gef config gef.extra_plugins_dir /path/to/gef-extras/scripts ``` -And same for the structures (to be used by [`pcustom` command](https://hugsy.github.io/gef/commands/pcustom/)): -``` +And same for the structures (to be used by +[`pcustom` command](https://hugsy.github.io/gef/commands/pcustom/)): + +```text gef➤ gef config pcustom.struct_path /path/to/gef-extras/structs ``` And for the syscall tables: -``` + +```text gef➤ gef config syscall-args.path /path/to/gef-extras/syscall-tables ``` And finally for the glibc function call args definition: -``` + +```text gef➤ gef config context.libc_args True gef➤ gef config context.libc_args_path /path/to/gef-extras/glibc-function-args ``` @@ -86,12 +99,12 @@ Now run and enjoy all the fun! Note that it is possible to specify multiple directories, separating the paths with a semi-colon: -``` +```text gef➤ gef config gef.extra_plugins_dir /path/to/dir1;/path/to/dir2 ``` And don't forget to save your settings. -``` +```text gef➤ gef save ``` diff --git a/docs/requirements.txt b/docs/requirements.txt index c505a73..db83fae 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,3 @@ mkdocs-material -lazydocs \ No newline at end of file +lazydocs +pre-commit diff --git a/mkdocs.yml b/mkdocs.yml index d8f3370..cfe4445 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -29,4 +29,4 @@ nav: - set-permission: commands/set-permission.md - syscall-args: commands/syscall-args.md - visualize_heap: commands/visualize_heap.md - - windbg: commands/windbg.md \ No newline at end of file + - windbg: commands/windbg.md diff --git a/os/README.md b/os/README.md index 3535b27..748855a 100644 --- a/os/README.md +++ b/os/README.md @@ -1 +1,3 @@ +## Additional File Format Support for GEF + Experiements for adding new OS support for GEF diff --git a/os/macho.py b/os/macho.py index e72d69a..88813e4 100644 --- a/os/macho.py +++ b/os/macho.py @@ -56,4 +56,4 @@ def checksec(filename): "PIE": False, "Fortify": False, "Partial RelRO": False, - } \ No newline at end of file + } diff --git a/os/pe.py b/os/pe.py index 60eb82a..803a249 100644 --- a/os/pe.py +++ b/os/pe.py @@ -3,7 +3,7 @@ To use: -``` +```text gef➤ source /path/to/gef-extras/os/pe.py gef➤ pi gef.binary = PE(get_filepath()) gef➤ pi reset_architecture() @@ -18,42 +18,44 @@ from functools import lru_cache from typing import Dict, Tuple, Any, Optional + class PE: """Basic PE parsing. Ref: - https://hshrzd.wordpress.com/pe-bear/ - https://blog.kowalczyk.info/articles/pefileformat.html """ + class Constants(enum.IntEnum): - DOS_MAGIC = 0x4D5A - NT_MAGIC = 0x4550 + DOS_MAGIC = 0x4D5A + NT_MAGIC = 0x4550 class MachineType(enum.IntEnum): - X86_64 = 0x8664 - X86_32 = 0x14c - ARM = 0x1c0 - ARM64 = 0xaa64 + X86_64 = 0x8664 + X86_32 = 0x14C + ARM = 0x1C0 + ARM64 = 0xAA64 class DosHeader: - e_magic : int - e_cblp : int - e_cp : int - e_crlc : int - e_cparhdr : int - e_minalloc : int - e_maxalloc : int - e_ss : int - e_sp : int - e_csum : int - e_ip : int - e_cs : int - e_lfarlc : int - e_ovno : int - e_res : bytes - e_oemid : int - e_oeminfo : int - e_res2 : bytes - e_lfanew : int + e_magic: int + e_cblp: int + e_cp: int + e_crlc: int + e_cparhdr: int + e_minalloc: int + e_maxalloc: int + e_ss: int + e_sp: int + e_csum: int + e_ip: int + e_cs: int + e_lfarlc: int + e_ovno: int + e_res: bytes + e_oemid: int + e_oeminfo: int + e_res2: bytes + e_lfanew: int class ImageFileHeader: Machine: "PE.MachineType" @@ -119,18 +121,20 @@ class DllCharacteristics(enum.IntFlag): IMAGE_FILE_BYTES_REVERSED_HI = 0x8000 def __str__(self) -> str: - return super().__str__().lstrip(self.__class__.__name__+".") + return super().__str__().lstrip(self.__class__.__name__ + ".") - dos : DosHeader - file_header : ImageFileHeader + dos: DosHeader + file_header: ImageFileHeader optional_header: OptionalHeader - entry_point : int + entry_point: int def __init__(self, pe: str) -> None: self.fpath = pathlib.Path(pe).expanduser().resolve() if not os.access(self.fpath, os.R_OK): - raise FileNotFoundError(f"'{self.fpath}' not found/readable, most gef features will not work") + raise FileNotFoundError( + f"'{self.fpath}' not found/readable, most gef features will not work" + ) endian = gef.arch.endianness with self.fpath.open("rb") as self.fd: @@ -139,9 +143,11 @@ def __init__(self, pe: str) -> None: self.dos.e_magic = self.read_and_unpack("!H")[0] if self.dos.e_magic != PE.Constants.DOS_MAGIC: - raise Exception(f"Corrupted PE file (bad DOS magic, expected '{PE.Constants.DOS_MAGIC:x}', got '{self.dos.e_magic:x}'") + raise Exception( + f"Corrupted PE file (bad DOS magic, expected '{PE.Constants.DOS_MAGIC:x}', got '{self.dos.e_magic:x}'" + ) - self.fd.seek(0x3c, 0) + self.fd.seek(0x3C, 0) self.dos.e_lfanew = u32(self.fd.read(4)) self.fd.seek(self.dos.e_lfanew, 0) @@ -152,22 +158,34 @@ def __init__(self, pe: str) -> None: # Parse IMAGE_FILE_HEADER self.file_header = self.ImageFileHeader() - machine, self.file_header.NumberOfSections = self.read_and_unpack(f"{endian}HH") + machine, self.file_header.NumberOfSections = self.read_and_unpack( + f"{endian}HH" + ) self.file_header.Machine = PE.MachineType(machine) - self.file_header.TimeDateStamp, self.file_header.PointerToSymbolTable, \ - self.file_header.NumberOfSymbols, self.file_header.SizeOfOptionalHeader, \ - dll_characteristics = self.read_and_unpack(f"{endian}IIIHH") + ( + self.file_header.TimeDateStamp, + self.file_header.PointerToSymbolTable, + self.file_header.NumberOfSymbols, + self.file_header.SizeOfOptionalHeader, + dll_characteristics, + ) = self.read_and_unpack(f"{endian}IIIHH") - self.file_header.Characteristics = PE.DllCharacteristics(dll_characteristics) + self.file_header.Characteristics = PE.DllCharacteristics( + dll_characteristics + ) # Parse IMAGE_OPTIONAL_HEADER self.optional_header = self.OptionalHeader() self.fd.seek(0x10, 1) - self.optional_header.AddressOfEntryPoint, self.optional_header.BaseOfCode,\ - self.optional_header.BaseOfData, self.optional_header.ImageBase = self.read_and_unpack(f"{endian}IIII") + ( + self.optional_header.AddressOfEntryPoint, + self.optional_header.BaseOfCode, + self.optional_header.BaseOfData, + self.optional_header.ImageBase, + ) = self.read_and_unpack(f"{endian}IIII") self.entry_point = self.optional_header.AddressOfEntryPoint return @@ -180,6 +198,7 @@ def read_and_unpack(self, fmt: str) -> Tuple[Any, ...]: data = self.fd.read(size) return struct.unpack(fmt, data) + # # redirect calls # @@ -197,7 +216,10 @@ def checksec(filename: str) -> Dict[str, bool]: elf_reset_architecture = reset_architecture -def pe_reset_architecture(arch: Optional[str] = None, default: Optional[str] = None) -> None: + +def pe_reset_architecture( + arch: Optional[str] = None, default: Optional[str] = None +) -> None: if gef.binary.file_header.Machine == PE.MachineType.X86_32: gef.arch = __registered_architectures__.get(Elf.Abi.X86_32)() elif gef.binary.file_header.Machine == PE.MachineType.X86_64: @@ -206,7 +228,10 @@ def pe_reset_architecture(arch: Optional[str] = None, default: Optional[str] = N raise Exception("unknown architecture") return -def reset_architecture(arch: Optional[str] = None, default: Optional[str] = None) -> None: + +def reset_architecture( + arch: Optional[str] = None, default: Optional[str] = None +) -> None: if isinstance(gef.binary, PE): pe_reset_architecture(arch, default) elif isinstance(gef.binary, ELF): @@ -214,4 +239,3 @@ def reset_architecture(arch: Optional[str] = None, default: Optional[str] = None else: raise Exception("unknown architecture") return - diff --git a/scripts/bytearray.py b/scripts/bytearray.py index 33f4fba..dab412f 100644 --- a/scripts/bytearray.py +++ b/scripts/bytearray.py @@ -11,14 +11,18 @@ # gef> bytearray -b "\x00\x0a\x0d" # +import binascii import getopt -import gdb import re +import gdb + + @register class BytearrayCommand(GenericCommand): """BytearrayCommand: Generate a bytearray to be compared with possible badchars. -Function ported from mona.py""" + Function ported from mona.py""" + _cmdline_ = "bytearray" _syntax_ = "{:s} [-b badchars]".format(_cmdline_) @@ -106,7 +110,7 @@ def do_invoke(self, argv): totalbytes = len(arraytable) tablecnt = 0 while tablecnt < totalbytes: - if (cnt < bytesperline): + if cnt < bytesperline: outputline += "\\x" + arraytable[tablecnt] else: outputline += '"\n' @@ -147,8 +151,8 @@ def hex2bin(self, pattern): the bytes """ pattern = pattern.replace("\\x", "") - pattern = pattern.replace("\"", "") - pattern = pattern.replace("\'", "") + pattern = pattern.replace('"', "") + pattern = pattern.replace("'", "") return binascii.unhexlify(pattern) def cleanHex(self, hex): @@ -162,4 +166,3 @@ def permitted_char(self, s): return True else: return False - diff --git a/scripts/libc_function_args/tables/x86_32.json b/scripts/libc_function_args/tables/x86_32.json index 88c3618..d9eb736 100644 --- a/scripts/libc_function_args/tables/x86_32.json +++ b/scripts/libc_function_args/tables/x86_32.json @@ -1 +1 @@ -{"strerror": {"[sp + 0x0]": "int ERRNUM"}, "strerror_r": {"[sp + 0x0]": "int ERRNUM", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "size_t N"}, "perror": {"[sp + 0x0]": "const char *MESSAGE"}, "strerrorname_np": {"[sp + 0x0]": "int ERRNUM"}, "strerrordesc_np": {"[sp + 0x0]": "int ERRNUM"}, "error": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "int ERRNUM", "[sp + 0x8]": "const char *FORMAT", "[sp + 0xc]": "..."}, "error_at_line": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "int ERRNUM", "[sp + 0x8]": "const char *FNAME", "[sp + 0xc]": "unsigned int LINENO", "[sp + 0x10]": "const char *FORMAT", "[sp + 0x14]": "..."}, "warn": {"[sp + 0x0]": "const char *FORMAT", "[sp + 0x4]": "..."}, "vwarn": {"[sp + 0x0]": "const char *FORMAT", "[sp + 0x4]": "va_list AP"}, "warnx": {"[sp + 0x0]": "const char *FORMAT", "[sp + 0x4]": "..."}, "vwarnx": {"[sp + 0x0]": "const char *FORMAT", "[sp + 0x4]": "va_list AP"}, "err": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "..."}, "verr": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "va_list AP"}, "errx": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "..."}, "verrx": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "va_list AP"}, "malloc": {"[sp + 0x0]": "size_t SIZE"}, "free": {"[sp + 0x0]": "void *PTR"}, "realloc": {"[sp + 0x0]": "void *PTR", "[sp + 0x4]": "size_t NEWSIZE"}, "reallocarray": {"[sp + 0x0]": "void *PTR", "[sp + 0x4]": "size_t NMEMB", "[sp + 0x8]": "size_t SIZE"}, "calloc": {"[sp + 0x0]": "size_t COUNT", "[sp + 0x4]": "size_t ELTSIZE"}, "aligned_alloc": {"[sp + 0x0]": "size_t ALIGNMENT", "[sp + 0x4]": "size_t SIZE"}, "memalign": {"[sp + 0x0]": "size_t BOUNDARY", "[sp + 0x4]": "size_t SIZE"}, "posix_memalign": {"[sp + 0x0]": "void **MEMPTR", "[sp + 0x4]": "size_t ALIGNMENT", "[sp + 0x8]": "size_t SIZE"}, "valloc": {"[sp + 0x0]": "size_t SIZE"}, "mallopt": {"[sp + 0x0]": "int PARAM", "[sp + 0x4]": "int VALUE"}, "mcheck": {"[sp + 0x0]": "void (*ABORTFN) (enum mcheck_status STATUS)"}, "mprobe": {"[sp + 0x0]": "void *POINTER"}, "mallinfo": {"[sp + 0x0]": "void"}, "mtrace": {"[sp + 0x0]": "void"}, "muntrace": {"[sp + 0x0]": "void"}, "obstack_init": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "obstack_alloc": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "int SIZE"}, "obstack_copy": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *ADDRESS", "[sp + 0x8]": "int SIZE"}, "obstack_copy0": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *ADDRESS", "[sp + 0x8]": "int SIZE"}, "obstack_free": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *OBJECT"}, "obstack_blank": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "int SIZE"}, "obstack_grow": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *DATA", "[sp + 0x8]": "int SIZE"}, "obstack_grow0": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *DATA", "[sp + 0x8]": "int SIZE"}, "obstack_1grow": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "char C"}, "obstack_ptr_grow": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *DATA"}, "obstack_int_grow": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "int DATA"}, "obstack_finish": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "obstack_object_size": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "obstack_room": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "obstack_1grow_fast": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "char C"}, "obstack_ptr_grow_fast": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *DATA"}, "obstack_int_grow_fast": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "int DATA"}, "obstack_blank_fast": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "int SIZE"}, "obstack_base": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "obstack_next_free": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "alloca": {"[sp + 0x0]": "size_t SIZE"}, "brk": {"[sp + 0x0]": "void *ADDR"}, "*sbrk": {"[sp + 0x0]": "ptrdiff_t DELTA"}, "mprotect": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int PROTECTION"}, "pkey_alloc": {"[sp + 0x0]": "unsigned int FLAGS", "[sp + 0x4]": "unsigned int RESTRICTIONS"}, "pkey_free": {"[sp + 0x0]": "int KEY"}, "pkey_mprotect": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int PROTECTION", "[sp + 0xc]": "int KEY"}, "pkey_set": {"[sp + 0x0]": "int KEY", "[sp + 0x4]": "unsigned int RIGHTS"}, "pkey_get": {"[sp + 0x0]": "int KEY"}, "mlock": {"[sp + 0x0]": "const void *ADDR", "[sp + 0x4]": "size_t LEN"}, "mlock2": {"[sp + 0x0]": "const void *ADDR", "[sp + 0x4]": "size_t LEN", "[sp + 0x8]": "unsigned int FLAGS"}, "munlock": {"[sp + 0x0]": "const void *ADDR", "[sp + 0x4]": "size_t LEN"}, "mlockall": {"[sp + 0x0]": "int FLAGS"}, "munlockall": {"[sp + 0x0]": "void"}, "islower": {"[sp + 0x0]": "int C"}, "isupper": {"[sp + 0x0]": "int C"}, "isalpha": {"[sp + 0x0]": "int C"}, "isdigit": {"[sp + 0x0]": "int C"}, "isalnum": {"[sp + 0x0]": "int C"}, "isxdigit": {"[sp + 0x0]": "int C"}, "ispunct": {"[sp + 0x0]": "int C"}, "isspace": {"[sp + 0x0]": "int C"}, "isblank": {"[sp + 0x0]": "int C"}, "isgraph": {"[sp + 0x0]": "int C"}, "isprint": {"[sp + 0x0]": "int C"}, "iscntrl": {"[sp + 0x0]": "int C"}, "isascii": {"[sp + 0x0]": "int C"}, "tolower": {"[sp + 0x0]": "int C"}, "toupper": {"[sp + 0x0]": "int C"}, "toascii": {"[sp + 0x0]": "int C"}, "_tolower": {"[sp + 0x0]": "int C"}, "_toupper": {"[sp + 0x0]": "int C"}, "wctype": {"[sp + 0x0]": "const char *PROPERTY"}, "iswctype": {"[sp + 0x0]": "wint_t WC", "[sp + 0x4]": "wctype_t DESC"}, "iswalnum": {"[sp + 0x0]": "wint_t WC"}, "iswalpha": {"[sp + 0x0]": "wint_t WC"}, "iswcntrl": {"[sp + 0x0]": "wint_t WC"}, "iswdigit": {"[sp + 0x0]": "wint_t WC"}, "iswgraph": {"[sp + 0x0]": "wint_t WC"}, "iswlower": {"[sp + 0x0]": "wint_t WC"}, "iswprint": {"[sp + 0x0]": "wint_t WC"}, "iswpunct": {"[sp + 0x0]": "wint_t WC"}, "iswspace": {"[sp + 0x0]": "wint_t WC"}, "iswupper": {"[sp + 0x0]": "wint_t WC"}, "iswxdigit": {"[sp + 0x0]": "wint_t WC"}, "iswblank": {"[sp + 0x0]": "wint_t WC"}, "wctrans": {"[sp + 0x0]": "const char *PROPERTY"}, "towctrans": {"[sp + 0x0]": "wint_t WC", "[sp + 0x4]": "wctrans_t DESC"}, "towlower": {"[sp + 0x0]": "wint_t WC"}, "towupper": {"[sp + 0x0]": "wint_t WC"}, "strlen": {"[sp + 0x0]": "const char *S"}, "wcslen": {"[sp + 0x0]": "const wchar_t *WS"}, "strnlen": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "size_t MAXLEN"}, "wcsnlen": {"[sp + 0x0]": "const wchar_t *WS", "[sp + 0x4]": "size_t MAXLEN"}, "memcpy": {"[sp + 0x0]": "void *restrict TO", "[sp + 0x4]": "const void *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wmemcpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM", "[sp + 0x8]": "size_t SIZE"}, "mempcpy": {"[sp + 0x0]": "void *restrict TO", "[sp + 0x4]": "const void *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wmempcpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM", "[sp + 0x8]": "size_t SIZE"}, "memmove": {"[sp + 0x0]": "void *TO", "[sp + 0x4]": "const void *FROM", "[sp + 0x8]": "size_t SIZE"}, "wmemmove": {"[sp + 0x0]": "wchar_t *WTO", "[sp + 0x4]": "const wchar_t *WFROM", "[sp + 0x8]": "size_t SIZE"}, "memccpy": {"[sp + 0x0]": "void *restrict TO", "[sp + 0x4]": "const void *restrict FROM", "[sp + 0x8]": "int C", "[sp + 0xc]": "size_t SIZE"}, "memset": {"[sp + 0x0]": "void *BLOCK", "[sp + 0x4]": "int C", "[sp + 0x8]": "size_t SIZE"}, "wmemset": {"[sp + 0x0]": "wchar_t *BLOCK", "[sp + 0x4]": "wchar_t WC", "[sp + 0x8]": "size_t SIZE"}, "strcpy": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM"}, "wcscpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM"}, "strdup": {"[sp + 0x0]": "const char *S"}, "wcsdup": {"[sp + 0x0]": "const wchar_t *WS"}, "stpcpy": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM"}, "wcpcpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM"}, "bcopy": {"[sp + 0x0]": "const void *FROM", "[sp + 0x4]": "void *TO", "[sp + 0x8]": "size_t SIZE"}, "bzero": {"[sp + 0x0]": "void *BLOCK", "[sp + 0x4]": "size_t SIZE"}, "strcat": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM"}, "wcscat": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM"}, "strncpy": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wcsncpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM", "[sp + 0x8]": "size_t SIZE"}, "strndup": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "size_t SIZE"}, "stpncpy": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wcpncpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM", "[sp + 0x8]": "size_t SIZE"}, "strncat": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wcsncat": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM", "[sp + 0x8]": "size_t SIZE"}, "memcmp": {"[sp + 0x0]": "const void *A1", "[sp + 0x4]": "const void *A2", "[sp + 0x8]": "size_t SIZE"}, "wmemcmp": {"[sp + 0x0]": "const wchar_t *A1", "[sp + 0x4]": "const wchar_t *A2", "[sp + 0x8]": "size_t SIZE"}, "strcmp": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2"}, "wcscmp": {"[sp + 0x0]": "const wchar_t *WS1", "[sp + 0x4]": "const wchar_t *WS2"}, "strcasecmp": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2"}, "wcscasecmp": {"[sp + 0x0]": "const wchar_t *WS1", "[sp + 0x4]": "const wchar_t *WS2"}, "strncmp": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2", "[sp + 0x8]": "size_t SIZE"}, "wcsncmp": {"[sp + 0x0]": "const wchar_t *WS1", "[sp + 0x4]": "const wchar_t *WS2", "[sp + 0x8]": "size_t SIZE"}, "strncasecmp": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2", "[sp + 0x8]": "size_t N"}, "wcsncasecmp": {"[sp + 0x0]": "const wchar_t *WS1", "[sp + 0x4]": "const wchar_t *S2", "[sp + 0x8]": "size_t N"}, "strverscmp": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2"}, "bcmp": {"[sp + 0x0]": "const void *A1", "[sp + 0x4]": "const void *A2", "[sp + 0x8]": "size_t SIZE"}, "strcoll": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2"}, "wcscoll": {"[sp + 0x0]": "const wchar_t *WS1", "[sp + 0x4]": "const wchar_t *WS2"}, "strxfrm": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wcsxfrm": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *WFROM", "[sp + 0x8]": "size_t SIZE"}, "memchr": {"[sp + 0x0]": "const void *BLOCK", "[sp + 0x4]": "int C", "[sp + 0x8]": "size_t SIZE"}, "wmemchr": {"[sp + 0x0]": "const wchar_t *BLOCK", "[sp + 0x4]": "wchar_t WC", "[sp + 0x8]": "size_t SIZE"}, "rawmemchr": {"[sp + 0x0]": "const void *BLOCK", "[sp + 0x4]": "int C"}, "memrchr": {"[sp + 0x0]": "const void *BLOCK", "[sp + 0x4]": "int C", "[sp + 0x8]": "size_t SIZE"}, "strchr": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int C"}, "wcschr": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "wchar_t WC"}, "strchrnul": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int C"}, "wcschrnul": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "wchar_t WC"}, "strrchr": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int C"}, "wcsrchr": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "wchar_t WC"}, "strstr": {"[sp + 0x0]": "const char *HAYSTACK", "[sp + 0x4]": "const char *NEEDLE"}, "wcsstr": {"[sp + 0x0]": "const wchar_t *HAYSTACK", "[sp + 0x4]": "const wchar_t *NEEDLE"}, "wcswcs": {"[sp + 0x0]": "const wchar_t *HAYSTACK", "[sp + 0x4]": "const wchar_t *NEEDLE"}, "strcasestr": {"[sp + 0x0]": "const char *HAYSTACK", "[sp + 0x4]": "const char *NEEDLE"}, "memmem": {"[sp + 0x0]": "const void *HAYSTACK", "[sp + 0x4]": "size_t HAYSTACK-LEN", "[sp + 0x8]": "const void *NEEDLE", "[sp + 0xc]": "size_t NEEDLE-LEN"}, "strspn": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "const char *SKIPSET"}, "wcsspn": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "const wchar_t *SKIPSET"}, "strcspn": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "const char *STOPSET"}, "wcscspn": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "const wchar_t *STOPSET"}, "strpbrk": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "const char *STOPSET"}, "wcspbrk": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "const wchar_t *STOPSET"}, "index": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int C"}, "rindex": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int C"}, "strtok": {"[sp + 0x0]": "char *restrict NEWSTRING", "[sp + 0x4]": "const char *restrict DELIMITERS"}, "wcstok": {"[sp + 0x0]": "wchar_t *NEWSTRING", "[sp + 0x4]": "const wchar_t *DELIMITERS", "[sp + 0x8]": "wchar_t **SAVE_PTR"}, "strtok_r": {"[sp + 0x0]": "char *NEWSTRING", "[sp + 0x4]": "const char *DELIMITERS", "[sp + 0x8]": "char **SAVE_PTR"}, "strsep": {"[sp + 0x0]": "char **STRING_PTR", "[sp + 0x4]": "const char *DELIMITER"}, "basename": {"[sp + 0x0]": "char *PATH"}, "dirname": {"[sp + 0x0]": "char *PATH"}, "explicit_bzero": {"[sp + 0x0]": "void *BLOCK", "[sp + 0x4]": "size_t LEN"}, "strfry": {"[sp + 0x0]": "char *STRING"}, "memfrob": {"[sp + 0x0]": "void *MEM", "[sp + 0x4]": "size_t LENGTH"}, "l64a": {"[sp + 0x0]": "long int N"}, "a64l": {"[sp + 0x0]": "const char *STRING"}, "argz_create": {"[sp + 0x0]": "char *const ARGV[]", "[sp + 0x4]": "char **ARGZ", "[sp + 0x8]": "size_t *ARGZ_LEN"}, "argz_create_sep": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int SEP", "[sp + 0x8]": "char **ARGZ", "[sp + 0xc]": "size_t *ARGZ_LEN"}, "argz_count": {"[sp + 0x0]": "const char *ARGZ", "[sp + 0x4]": "size_t ARGZ_LEN"}, "argz_extract": {"[sp + 0x0]": "const char *ARGZ", "[sp + 0x4]": "size_t ARGZ_LEN", "[sp + 0x8]": "char **ARGV"}, "argz_stringify": {"[sp + 0x0]": "char *ARGZ", "[sp + 0x4]": "size_t LEN", "[sp + 0x8]": "int SEP"}, "argz_add": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "const char *STR"}, "argz_add_sep": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "const char *STR", "[sp + 0xc]": "int DELIM"}, "argz_append": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "const char *BUF", "[sp + 0xc]": "size_t BUF_LEN"}, "argz_delete": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "char *ENTRY"}, "argz_insert": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "char *BEFORE", "[sp + 0xc]": "const char *ENTRY"}, "argz_next": {"[sp + 0x0]": "const char *ARGZ", "[sp + 0x4]": "size_t ARGZ_LEN", "[sp + 0x8]": "const char *ENTRY"}, "argz_replace": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "const char *STR", "[sp + 0xc]": "const char *WITH", "[sp + 0x10]": "unsigned *REPLACE_COUNT"}, "envz_entry": {"[sp + 0x0]": "const char *ENVZ", "[sp + 0x4]": "size_t ENVZ_LEN", "[sp + 0x8]": "const char *NAME"}, "envz_get": {"[sp + 0x0]": "const char *ENVZ", "[sp + 0x4]": "size_t ENVZ_LEN", "[sp + 0x8]": "const char *NAME"}, "envz_add": {"[sp + 0x0]": "char **ENVZ", "[sp + 0x4]": "size_t *ENVZ_LEN", "[sp + 0x8]": "const char *NAME", "[sp + 0xc]": "const char *VALUE"}, "envz_merge": {"[sp + 0x0]": "char **ENVZ", "[sp + 0x4]": "size_t *ENVZ_LEN", "[sp + 0x8]": "const char *ENVZ2", "[sp + 0xc]": "size_t ENVZ2_LEN", "[sp + 0x10]": "int OVERRIDE"}, "envz_strip": {"[sp + 0x0]": "char **ENVZ", "[sp + 0x4]": "size_t *ENVZ_LEN"}, "envz_remove": {"[sp + 0x0]": "char **ENVZ", "[sp + 0x4]": "size_t *ENVZ_LEN", "[sp + 0x8]": "const char *NAME"}, "mbsinit": {"[sp + 0x0]": "const mbstate_t *PS"}, "btowc": {"[sp + 0x0]": "int C"}, "wctob": {"[sp + 0x0]": "wint_t C"}, "mbrtowc": {"[sp + 0x0]": "wchar_t *restrict PWC", "[sp + 0x4]": "const char *restrict S", "[sp + 0x8]": "size_t N", "[sp + 0xc]": "mbstate_t *restrict PS"}, "mbrlen": {"[sp + 0x0]": "const char *restrict S", "[sp + 0x4]": "size_t N", "[sp + 0x8]": "mbstate_t *PS"}, "wcrtomb": {"[sp + 0x0]": "char *restrict S", "[sp + 0x4]": "wchar_t WC", "[sp + 0x8]": "mbstate_t *restrict PS"}, "mbsrtowcs": {"[sp + 0x0]": "wchar_t *restrict DST", "[sp + 0x4]": "const char **restrict SRC", "[sp + 0x8]": "size_t LEN", "[sp + 0xc]": "mbstate_t *restrict PS"}, "wcsrtombs": {"[sp + 0x0]": "char *restrict DST", "[sp + 0x4]": "const wchar_t **restrict SRC", "[sp + 0x8]": "size_t LEN", "[sp + 0xc]": "mbstate_t *restrict PS"}, "mbsnrtowcs": {"[sp + 0x0]": ""}, "wcsnrtombs": {"[sp + 0x0]": ""}, "mbtowc": {"[sp + 0x0]": "wchar_t *restrict RESULT", "[sp + 0x4]": "const char *restrict STRING", "[sp + 0x8]": "size_t SIZE"}, "wctomb": {"[sp + 0x0]": "char *STRING", "[sp + 0x4]": "wchar_t WCHAR"}, "mblen": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "size_t SIZE"}, "mbstowcs": {"[sp + 0x0]": "wchar_t *WSTRING", "[sp + 0x4]": "const char *STRING", "[sp + 0x8]": "size_t SIZE"}, "wcstombs": {"[sp + 0x0]": "char *STRING", "[sp + 0x4]": "const wchar_t *WSTRING", "[sp + 0x8]": "size_t SIZE"}, "iconv_open": {"[sp + 0x0]": "const char *TOCODE", "[sp + 0x4]": "const char *FROMCODE"}, "iconv_close": {"[sp + 0x0]": "iconv_t CD"}, "iconv": {"[sp + 0x0]": "iconv_t CD", "[sp + 0x4]": "char **INBUF", "[sp + 0x8]": "size_t *INBYTESLEFT", "[sp + 0xc]": "char **OUTBUF", "[sp + 0x10]": "size_t *OUTBYTESLEFT"}, "setlocale": {"[sp + 0x0]": "int CATEGORY", "[sp + 0x4]": "const char *LOCALE"}, "localeconv": {"[sp + 0x0]": "void"}, "nl_langinfo": {"[sp + 0x0]": "nl_item ITEM"}, "strfmon": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "size_t MAXSIZE", "[sp + 0x8]": "const char *FORMAT", "[sp + 0xc]": "..."}, "rpmatch": {"[sp + 0x0]": "const char *RESPONSE"}, "catopen": {"[sp + 0x0]": "const char *CAT_NAME", "[sp + 0x4]": "int FLAG"}, "catgets": {"[sp + 0x0]": "nl_catd CATALOG_DESC", "[sp + 0x4]": "int SET", "[sp + 0x8]": "int MESSAGE", "[sp + 0xc]": "const char *STRING"}, "catclose": {"[sp + 0x0]": "nl_catd CATALOG_DESC"}, "gettext": {"[sp + 0x0]": "const char *MSGID"}, "dgettext": {"[sp + 0x0]": "const char *DOMAINNAME", "[sp + 0x4]": "const char *MSGID"}, "dcgettext": {"[sp + 0x0]": "const char *DOMAINNAME", "[sp + 0x4]": "const char *MSGID", "[sp + 0x8]": "int CATEGORY"}, "textdomain": {"[sp + 0x0]": "const char *DOMAINNAME"}, "bindtextdomain": {"[sp + 0x0]": "const char *DOMAINNAME", "[sp + 0x4]": "const char *DIRNAME"}, "ngettext": {"[sp + 0x0]": "const char *MSGID1", "[sp + 0x4]": "const char *MSGID2", "[sp + 0x8]": "unsigned long int N"}, "dngettext": {"[sp + 0x0]": "const char *DOMAIN", "[sp + 0x4]": "const char *MSGID1", "[sp + 0x8]": "const char *MSGID2", "[sp + 0xc]": "unsigned long int N"}, "dcngettext": {"[sp + 0x0]": "const char *DOMAIN", "[sp + 0x4]": "const char *MSGID1", "[sp + 0x8]": "const char *MSGID2", "[sp + 0xc]": "unsigned long int N", "[sp + 0x10]": "int CATEGORY"}, "bind_textdomain_codeset": {"[sp + 0x0]": "const char *DOMAINNAME", "[sp + 0x4]": "const char *CODESET"}, "lfind": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "const void *BASE", "[sp + 0x8]": "size_t *NMEMB", "[sp + 0xc]": "size_t SIZE", "[sp + 0x10]": "comparison_fn_t COMPAR"}, "lsearch": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "void *BASE", "[sp + 0x8]": "size_t *NMEMB", "[sp + 0xc]": "size_t SIZE", "[sp + 0x10]": "comparison_fn_t COMPAR"}, "bsearch": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "const void *ARRAY", "[sp + 0x8]": "size_t COUNT", "[sp + 0xc]": "size_t SIZE", "[sp + 0x10]": "comparison_fn_t COMPARE"}, "qsort": {"[sp + 0x0]": "void *ARRAY", "[sp + 0x4]": "size_t COUNT", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "comparison_fn_t COMPARE"}, "hcreate": {"[sp + 0x0]": "size_t NEL"}, "hdestroy": {"[sp + 0x0]": "void"}, "hsearch": {"[sp + 0x0]": "ENTRY ITEM", "[sp + 0x4]": "ACTION ACTION"}, "hcreate_r": {"[sp + 0x0]": "size_t NEL", "[sp + 0x4]": "struct hsearch_data *HTAB"}, "hdestroy_r": {"[sp + 0x0]": "struct hsearch_data *HTAB"}, "hsearch_r": {"[sp + 0x0]": "ENTRY ITEM", "[sp + 0x4]": "ACTION ACTION", "[sp + 0x8]": "ENTRY **RETVAL", "[sp + 0xc]": "struct hsearch_data *HTAB"}, "tsearch": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "void **ROOTP", "[sp + 0x8]": "comparison_fn_t COMPAR"}, "tfind": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "void *const *ROOTP", "[sp + 0x8]": "comparison_fn_t COMPAR"}, "tdelete": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "void **ROOTP", "[sp + 0x8]": "comparison_fn_t COMPAR"}, "tdestroy": {"[sp + 0x0]": "void *VROOT", "[sp + 0x4]": "__free_fn_t FREEFCT"}, "twalk": {"[sp + 0x0]": "const void *ROOT", "[sp + 0x4]": "__action_fn_t ACTION"}, "twalk_r": {"[sp + 0x0]": "const void *ROOT", "[sp + 0x4]": "void (*ACTION) (const void *KEY", "[sp + 0x8]": "VISIT WHICH", "[sp + 0xc]": "void *CLOSURE)", "[sp + 0x10]": "void *CLOSURE"}, "fnmatch": {"[sp + 0x0]": "const char *PATTERN", "[sp + 0x4]": "const char *STRING", "[sp + 0x8]": "int FLAGS"}, "glob": {"[sp + 0x0]": "const char *PATTERN", "[sp + 0x4]": "int FLAGS", "[sp + 0x8]": "int (*ERRFUNC"}, "glob64": {"[sp + 0x0]": "const char *PATTERN", "[sp + 0x4]": "int FLAGS", "[sp + 0x8]": "int (*ERRFUNC"}, "globfree": {"[sp + 0x0]": "glob_t *PGLOB"}, "globfree64": {"[sp + 0x0]": "glob64_t *PGLOB"}, "regcomp": {"[sp + 0x0]": "regex_t *restrict COMPILED", "[sp + 0x4]": "const char *restrict PATTERN", "[sp + 0x8]": "int CFLAGS"}, "regexec": {"[sp + 0x0]": ""}, "regfree": {"[sp + 0x0]": "regex_t *COMPILED"}, "regerror": {"[sp + 0x0]": "int ERRCODE", "[sp + 0x4]": "const regex_t *restrict COMPILED", "[sp + 0x8]": "char *restrict BUFFER", "[sp + 0xc]": "size_t LENGTH"}, "wordexp": {"[sp + 0x0]": "const char *WORDS", "[sp + 0x4]": "wordexp_t *WORD-VECTOR-PTR", "[sp + 0x8]": "int FLAGS"}, "wordfree": {"[sp + 0x0]": "wordexp_t *WORD-VECTOR-PTR"}, "fopen": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *OPENTYPE"}, "fopen64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *OPENTYPE"}, "freopen": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *OPENTYPE", "[sp + 0x8]": "FILE *STREAM"}, "freopen64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *OPENTYPE", "[sp + 0x8]": "FILE *STREAM"}, "__freadable": {"[sp + 0x0]": "FILE *STREAM"}, "__fwritable": {"[sp + 0x0]": "FILE *STREAM"}, "__freading": {"[sp + 0x0]": "FILE *STREAM"}, "__fwriting": {"[sp + 0x0]": "FILE *STREAM"}, "fclose": {"[sp + 0x0]": "FILE *STREAM"}, "fcloseall": {"[sp + 0x0]": "void"}, "flockfile": {"[sp + 0x0]": "FILE *STREAM"}, "ftrylockfile": {"[sp + 0x0]": "FILE *STREAM"}, "funlockfile": {"[sp + 0x0]": "FILE *STREAM"}, "__fsetlocking": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "int TYPE"}, "fwide": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "int MODE"}, "fputc": {"[sp + 0x0]": "int C", "[sp + 0x4]": "FILE *STREAM"}, "fputwc": {"[sp + 0x0]": "wchar_t WC", "[sp + 0x4]": "FILE *STREAM"}, "fputc_unlocked": {"[sp + 0x0]": "int C", "[sp + 0x4]": "FILE *STREAM"}, "fputwc_unlocked": {"[sp + 0x0]": "wchar_t WC", "[sp + 0x4]": "FILE *STREAM"}, "putc": {"[sp + 0x0]": "int C", "[sp + 0x4]": "FILE *STREAM"}, "putwc": {"[sp + 0x0]": "wchar_t WC", "[sp + 0x4]": "FILE *STREAM"}, "putc_unlocked": {"[sp + 0x0]": "int C", "[sp + 0x4]": "FILE *STREAM"}, "putwc_unlocked": {"[sp + 0x0]": "wchar_t WC", "[sp + 0x4]": "FILE *STREAM"}, "putchar": {"[sp + 0x0]": "int C"}, "putwchar": {"[sp + 0x0]": "wchar_t WC"}, "putchar_unlocked": {"[sp + 0x0]": "int C"}, "putwchar_unlocked": {"[sp + 0x0]": "wchar_t WC"}, "fputs": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "FILE *STREAM"}, "fputws": {"[sp + 0x0]": "const wchar_t *WS", "[sp + 0x4]": "FILE *STREAM"}, "fputs_unlocked": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "FILE *STREAM"}, "fputws_unlocked": {"[sp + 0x0]": "const wchar_t *WS", "[sp + 0x4]": "FILE *STREAM"}, "puts": {"[sp + 0x0]": "const char *S"}, "putw": {"[sp + 0x0]": "int W", "[sp + 0x4]": "FILE *STREAM"}, "fgetc": {"[sp + 0x0]": "FILE *STREAM"}, "fgetwc": {"[sp + 0x0]": "FILE *STREAM"}, "fgetc_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "fgetwc_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "getc": {"[sp + 0x0]": "FILE *STREAM"}, "getwc": {"[sp + 0x0]": "FILE *STREAM"}, "getc_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "getwc_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "getchar": {"[sp + 0x0]": "void"}, "getwchar": {"[sp + 0x0]": "void"}, "getchar_unlocked": {"[sp + 0x0]": "void"}, "getwchar_unlocked": {"[sp + 0x0]": "void"}, "getw": {"[sp + 0x0]": "FILE *STREAM"}, "getline": {"[sp + 0x0]": "char **LINEPTR", "[sp + 0x4]": "size_t *N", "[sp + 0x8]": "FILE *STREAM"}, "getdelim": {"[sp + 0x0]": "char **LINEPTR", "[sp + 0x4]": "size_t *N", "[sp + 0x8]": "int DELIMITER", "[sp + 0xc]": "FILE *STREAM"}, "fgets": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "int COUNT", "[sp + 0x8]": "FILE *STREAM"}, "fgetws": {"[sp + 0x0]": "wchar_t *WS", "[sp + 0x4]": "int COUNT", "[sp + 0x8]": "FILE *STREAM"}, "fgets_unlocked": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "int COUNT", "[sp + 0x8]": "FILE *STREAM"}, "fgetws_unlocked": {"[sp + 0x0]": "wchar_t *WS", "[sp + 0x4]": "int COUNT", "[sp + 0x8]": "FILE *STREAM"}, "ungetc": {"[sp + 0x0]": "int C", "[sp + 0x4]": "FILE *STREAM"}, "ungetwc": {"[sp + 0x0]": "wint_t WC", "[sp + 0x4]": "FILE *STREAM"}, "fread": {"[sp + 0x0]": "void *DATA", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "size_t COUNT", "[sp + 0xc]": "FILE *STREAM"}, "fread_unlocked": {"[sp + 0x0]": "void *DATA", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "size_t COUNT", "[sp + 0xc]": "FILE *STREAM"}, "fwrite": {"[sp + 0x0]": "const void *DATA", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "size_t COUNT", "[sp + 0xc]": "FILE *STREAM"}, "fwrite_unlocked": {"[sp + 0x0]": "const void *DATA", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "size_t COUNT", "[sp + 0xc]": "FILE *STREAM"}, "printf": {"[sp + 0x0]": "const char *TEMPLATE", "[sp + 0x4]": "..."}, "wprintf": {"[sp + 0x0]": "const wchar_t *TEMPLATE", "[sp + 0x4]": "..."}, "fprintf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "fwprintf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "..."}, "sprintf": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "swprintf": {"[sp + 0x0]": "wchar_t *WS", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const wchar_t *TEMPLATE", "[sp + 0xc]": "..."}, "snprintf": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *TEMPLATE", "[sp + 0xc]": "..."}, "asprintf": {"[sp + 0x0]": "char **PTR", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "obstack_printf": {"[sp + 0x0]": "struct obstack *OBSTACK", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "vprintf": {"[sp + 0x0]": "const char *TEMPLATE", "[sp + 0x4]": "va_list AP"}, "vwprintf": {"[sp + 0x0]": "const wchar_t *TEMPLATE", "[sp + 0x4]": "va_list AP"}, "vfprintf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vfwprintf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vsprintf": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vswprintf": {"[sp + 0x0]": "wchar_t *WS", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const wchar_t *TEMPLATE", "[sp + 0xc]": "va_list AP"}, "vsnprintf": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *TEMPLATE", "[sp + 0xc]": "va_list AP"}, "vasprintf": {"[sp + 0x0]": "char **PTR", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "obstack_vprintf": {"[sp + 0x0]": "struct obstack *OBSTACK", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "parse_printf_format": {"[sp + 0x0]": "const char *TEMPLATE", "[sp + 0x4]": "size_t N", "[sp + 0x8]": "int *ARGTYPES"}, "register_printf_function": {"[sp + 0x0]": "int SPEC", "[sp + 0x4]": "printf_function HANDLER-FUNCTION", "[sp + 0x8]": "printf_arginfo_function ARGINFO-FUNCTION"}, "printf_size": {"[sp + 0x0]": "FILE *FP", "[sp + 0x4]": "const struct printf_info *INFO", "[sp + 0x8]": "const void *const *ARGS"}, "printf_size_info": {"[sp + 0x0]": "const struct printf_info *INFO", "[sp + 0x4]": "size_t N", "[sp + 0x8]": "int *ARGTYPES"}, "scanf": {"[sp + 0x0]": "const char *TEMPLATE", "[sp + 0x4]": "..."}, "wscanf": {"[sp + 0x0]": "const wchar_t *TEMPLATE", "[sp + 0x4]": "..."}, "fscanf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "fwscanf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "..."}, "sscanf": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "swscanf": {"[sp + 0x0]": "const wchar_t *WS", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "..."}, "vscanf": {"[sp + 0x0]": "const char *TEMPLATE", "[sp + 0x4]": "va_list AP"}, "vwscanf": {"[sp + 0x0]": "const wchar_t *TEMPLATE", "[sp + 0x4]": "va_list AP"}, "vfscanf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vfwscanf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vsscanf": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vswscanf": {"[sp + 0x0]": "const wchar_t *S", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "feof": {"[sp + 0x0]": "FILE *STREAM"}, "feof_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "ferror": {"[sp + 0x0]": "FILE *STREAM"}, "ferror_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "clearerr": {"[sp + 0x0]": "FILE *STREAM"}, "clearerr_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "ftell": {"[sp + 0x0]": "FILE *STREAM"}, "ftello": {"[sp + 0x0]": "FILE *STREAM"}, "ftello64": {"[sp + 0x0]": "FILE *STREAM"}, "fseek": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "long int OFFSET", "[sp + 0x8]": "int WHENCE"}, "fseeko": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "off_t OFFSET", "[sp + 0x8]": "int WHENCE"}, "fseeko64": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "off64_t OFFSET", "[sp + 0x8]": "int WHENCE"}, "rewind": {"[sp + 0x0]": "FILE *STREAM"}, "fgetpos": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "fpos_t *POSITION"}, "fgetpos64": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "fpos64_t *POSITION"}, "fsetpos": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const fpos_t *POSITION"}, "fsetpos64": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const fpos64_t *POSITION"}, "fflush": {"[sp + 0x0]": "FILE *STREAM"}, "fflush_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "_flushlbf": {"[sp + 0x0]": "void"}, "__fpurge": {"[sp + 0x0]": "FILE *STREAM"}, "setvbuf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "int MODE", "[sp + 0xc]": "size_t SIZE"}, "setbuf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "char *BUF"}, "setbuffer": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "size_t SIZE"}, "setlinebuf": {"[sp + 0x0]": "FILE *STREAM"}, "__flbf": {"[sp + 0x0]": "FILE *STREAM"}, "__fbufsize": {"[sp + 0x0]": "FILE *STREAM"}, "__fpending": {"[sp + 0x0]": "FILE *STREAM"}, "fmemopen": {"[sp + 0x0]": "void *BUF", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *OPENTYPE"}, "open_memstream": {"[sp + 0x0]": "char **PTR", "[sp + 0x4]": "size_t *SIZELOC"}, "fopencookie": {"[sp + 0x0]": "void *COOKIE", "[sp + 0x4]": "const char *OPENTYPE", "[sp + 0x8]": "cookie_io_functions_t IO-FUNCTIONS"}, "fmtmsg": {"[sp + 0x0]": ""}, "addseverity": {"[sp + 0x0]": "int SEVERITY", "[sp + 0x4]": "const char *STRING"}, "open": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "int FLAGS[", "[sp + 0x8]": "mode_t MODE]"}, "open64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "int FLAGS[", "[sp + 0x8]": "mode_t MODE]"}, "close": {"[sp + 0x0]": "int FILEDES"}, "read": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t SIZE"}, "pread": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "off_t OFFSET"}, "pread64": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "off64_t OFFSET"}, "write": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const void *BUFFER", "[sp + 0x8]": "size_t SIZE"}, "pwrite": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "off_t OFFSET"}, "pwrite64": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "off64_t OFFSET"}, "lseek": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "off_t OFFSET", "[sp + 0x8]": "int WHENCE"}, "lseek64": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "off64_t OFFSET", "[sp + 0x8]": "int WHENCE"}, "fdopen": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const char *OPENTYPE"}, "fileno": {"[sp + 0x0]": "FILE *STREAM"}, "fileno_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "readv": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const struct iovec *VECTOR", "[sp + 0x8]": "int COUNT"}, "writev": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const struct iovec *VECTOR", "[sp + 0x8]": "int COUNT"}, "preadv": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off_t OFFSET"}, "preadv64": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off64_t OFFSET"}, "pwritev": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off_t OFFSET"}, "pwritev64": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off64_t OFFSET"}, "preadv2": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off_t OFFSET", "[sp + 0x10]": "int FLAGS"}, "preadv64v2": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off64_t OFFSET", "[sp + 0x10]": "int FLAGS"}, "pwritev2": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off_t OFFSET", "[sp + 0x10]": "int FLAGS"}, "pwritev64v2": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off64_t OFFSET", "[sp + 0x10]": "int FLAGS"}, "copy_file_range": {"[sp + 0x0]": ""}, "mmap": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int PROTECT", "[sp + 0xc]": "int FLAGS", "[sp + 0x10]": "int FILEDES", "[sp + 0x14]": "off_t OFFSET"}, "mmap64": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int PROTECT", "[sp + 0xc]": "int FLAGS", "[sp + 0x10]": "int FILEDES", "[sp + 0x14]": "off64_t OFFSET"}, "munmap": {"[sp + 0x0]": "void *ADDR", "[sp + 0x4]": "size_t LENGTH"}, "msync": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int FLAGS"}, "mremap": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "size_t NEW_LENGTH", "[sp + 0xc]": "int FLAG"}, "madvise": {"[sp + 0x0]": "void *ADDR", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int ADVICE"}, "shm_open": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "int OFLAG", "[sp + 0x8]": "mode_t MODE"}, "shm_unlink": {"[sp + 0x0]": "const char *NAME"}, "memfd_create": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "unsigned int FLAGS"}, "select": {"[sp + 0x0]": "int NFDS", "[sp + 0x4]": "fd_set *READ-FDS", "[sp + 0x8]": "fd_set *WRITE-FDS", "[sp + 0xc]": "fd_set *EXCEPT-FDS", "[sp + 0x10]": "struct timeval *TIMEOUT"}, "sync": {"[sp + 0x0]": "void"}, "fsync": {"[sp + 0x0]": "int FILDES"}, "fdatasync": {"[sp + 0x0]": "int FILDES"}, "aio_read": {"[sp + 0x0]": "struct aiocb *AIOCBP"}, "aio_read64": {"[sp + 0x0]": "struct aiocb64 *AIOCBP"}, "aio_write": {"[sp + 0x0]": "struct aiocb *AIOCBP"}, "aio_write64": {"[sp + 0x0]": "struct aiocb64 *AIOCBP"}, "lio_listio": {"[sp + 0x0]": "int MODE", "[sp + 0x4]": "struct aiocb *const LIST[]", "[sp + 0x8]": "int NENT", "[sp + 0xc]": "struct sigevent *SIG"}, "lio_listio64": {"[sp + 0x0]": "int MODE", "[sp + 0x4]": "struct aiocb64 *const LIST[]", "[sp + 0x8]": "int NENT", "[sp + 0xc]": "struct sigevent *SIG"}, "aio_error": {"[sp + 0x0]": "const struct aiocb *AIOCBP"}, "aio_error64": {"[sp + 0x0]": "const struct aiocb64 *AIOCBP"}, "aio_return": {"[sp + 0x0]": "struct aiocb *AIOCBP"}, "aio_return64": {"[sp + 0x0]": "struct aiocb64 *AIOCBP"}, "aio_fsync": {"[sp + 0x0]": "int OP", "[sp + 0x4]": "struct aiocb *AIOCBP"}, "aio_fsync64": {"[sp + 0x0]": "int OP", "[sp + 0x4]": "struct aiocb64 *AIOCBP"}, "aio_suspend": {"[sp + 0x0]": "const struct aiocb *const LIST[]", "[sp + 0x4]": "int NENT", "[sp + 0x8]": "const struct timespec *TIMEOUT"}, "aio_suspend64": {"[sp + 0x0]": "const struct aiocb64 *const LIST[]", "[sp + 0x4]": "int NENT", "[sp + 0x8]": "const struct timespec *TIMEOUT"}, "aio_cancel": {"[sp + 0x0]": "int FILDES", "[sp + 0x4]": "struct aiocb *AIOCBP"}, "aio_cancel64": {"[sp + 0x0]": "int FILDES", "[sp + 0x4]": "struct aiocb64 *AIOCBP"}, "aio_init": {"[sp + 0x0]": "const struct aioinit *INIT"}, "fcntl": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int COMMAND", "[sp + 0x8]": "..."}, "dup": {"[sp + 0x0]": "int OLD"}, "dup2": {"[sp + 0x0]": "int OLD", "[sp + 0x4]": "int NEW"}, "ioctl": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int COMMAND", "[sp + 0x8]": "..."}, "getcwd": {"[sp + 0x0]": "char *BUFFER", "[sp + 0x4]": "size_t SIZE"}, "get_current_dir_name": {"[sp + 0x0]": "void"}, "chdir": {"[sp + 0x0]": "const char *FILENAME"}, "fchdir": {"[sp + 0x0]": "int FILEDES"}, "IFTODT": {"[sp + 0x0]": "mode_t MODE"}, "DTTOIF": {"[sp + 0x0]": "int DTYPE"}, "opendir": {"[sp + 0x0]": "const char *DIRNAME"}, "fdopendir": {"[sp + 0x0]": "int FD"}, "dirfd": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "readdir": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "readdir_r": {"[sp + 0x0]": "DIR *DIRSTREAM", "[sp + 0x4]": "struct dirent *ENTRY", "[sp + 0x8]": "struct dirent **RESULT"}, "readdir64": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "readdir64_r": {"[sp + 0x0]": "DIR *DIRSTREAM", "[sp + 0x4]": "struct dirent64 *ENTRY", "[sp + 0x8]": "struct dirent64 **RESULT"}, "closedir": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "rewinddir": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "telldir": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "seekdir": {"[sp + 0x0]": "DIR *DIRSTREAM", "[sp + 0x4]": "long int POS"}, "scandir": {"[sp + 0x0]": "const char *DIR", "[sp + 0x4]": "struct dirent ***NAMELIST", "[sp + 0x8]": "int (*SELECTOR) (const struct dirent *)", "[sp + 0xc]": "int (*CMP"}, "alphasort": {"[sp + 0x0]": "const struct dirent **A", "[sp + 0x4]": "const struct dirent **B"}, "versionsort": {"[sp + 0x0]": "const struct dirent **A", "[sp + 0x4]": "const struct dirent **B"}, "scandir64": {"[sp + 0x0]": "const char *DIR", "[sp + 0x4]": "struct dirent64 ***NAMELIST", "[sp + 0x8]": "int (*SELECTOR) (const struct dirent64 *"}, "alphasort64": {"[sp + 0x0]": "const struct dirent64 **A", "[sp + 0x4]": "const struct dirent **B"}, "versionsort64": {"[sp + 0x0]": "const struct dirent64 **A", "[sp + 0x4]": "const struct dirent64 **B"}, "getdents64": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t LENGTH"}, "ftw": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "__ftw_func_t FUNC", "[sp + 0x8]": "int DESCRIPTORS"}, "ftw64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "__ftw64_func_t FUNC", "[sp + 0x8]": "int DESCRIPTORS"}, "nftw": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "__nftw_func_t FUNC", "[sp + 0x8]": "int DESCRIPTORS", "[sp + 0xc]": "int FLAG"}, "nftw64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "__nftw64_func_t FUNC", "[sp + 0x8]": "int DESCRIPTORS", "[sp + 0xc]": "int FLAG"}, "link": {"[sp + 0x0]": "const char *OLDNAME", "[sp + 0x4]": "const char *NEWNAME"}, "linkat": {"[sp + 0x0]": "int oldfd", "[sp + 0x4]": "const char *OLDNAME", "[sp + 0x8]": "int newfd", "[sp + 0xc]": "const char *NEWNAME", "[sp + 0x10]": "int flags"}, "symlink": {"[sp + 0x0]": "const char *OLDNAME", "[sp + 0x4]": "const char *NEWNAME"}, "readlink": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "char *BUFFER", "[sp + 0x8]": "size_t SIZE"}, "canonicalize_file_name": {"[sp + 0x0]": "const char *NAME"}, "realpath": {"[sp + 0x0]": "const char *restrict NAME", "[sp + 0x4]": "char *restrict RESOLVED"}, "unlink": {"[sp + 0x0]": "const char *FILENAME"}, "rmdir": {"[sp + 0x0]": "const char *FILENAME"}, "remove": {"[sp + 0x0]": "const char *FILENAME"}, "rename": {"[sp + 0x0]": "const char *OLDNAME", "[sp + 0x4]": "const char *NEWNAME"}, "mkdir": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "mode_t MODE"}, "stat": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "struct stat *BUF"}, "stat64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "struct stat64 *BUF"}, "fstat": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "struct stat *BUF"}, "fstat64": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "struct stat64 *BUF"}, "lstat": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "struct stat *BUF"}, "lstat64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "struct stat64 *BUF"}, "chown": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "uid_t OWNER", "[sp + 0x8]": "gid_t GROUP"}, "fchown": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "uid_t OWNER", "[sp + 0x8]": "gid_t GROUP"}, "umask": {"[sp + 0x0]": "mode_t MASK"}, "getumask": {"[sp + 0x0]": "void"}, "chmod": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "mode_t MODE"}, "fchmod": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "mode_t MODE"}, "access": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "int HOW"}, "utime": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const struct utimbuf *TIMES"}, "utimes": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const struct timeval TVP[2]"}, "lutimes": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const struct timeval TVP[2]"}, "futimes": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct timeval TVP[2]"}, "truncate": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "off_t LENGTH"}, "truncate64": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "off64_t LENGTH"}, "ftruncate": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "off_t LENGTH"}, "ftruncate64": {"[sp + 0x0]": "int ID", "[sp + 0x4]": "off64_t LENGTH"}, "posix_fallocate": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "off_t OFFSET", "[sp + 0x8]": "off_t LENGTH"}, "posix_fallocate64": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "off64_t OFFSET", "[sp + 0x8]": "off64_t LENGTH"}, "mknod": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "mode_t MODE", "[sp + 0x8]": "dev_t DEV"}, "tmpfile": {"[sp + 0x0]": "void"}, "tmpfile64": {"[sp + 0x0]": "void"}, "tmpnam": {"[sp + 0x0]": "char *RESULT"}, "tmpnam_r": {"[sp + 0x0]": "char *RESULT"}, "tempnam": {"[sp + 0x0]": "const char *DIR", "[sp + 0x4]": "const char *PREFIX"}, "mktemp": {"[sp + 0x0]": "char *TEMPLATE"}, "mkstemp": {"[sp + 0x0]": "char *TEMPLATE"}, "mkdtemp": {"[sp + 0x0]": "char *TEMPLATE"}, "pipe": {"[sp + 0x0]": "int FILEDES[2]"}, "popen": {"[sp + 0x0]": "const char *COMMAND", "[sp + 0x4]": "const char *MODE"}, "pclose": {"[sp + 0x0]": "FILE *STREAM"}, "mkfifo": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "mode_t MODE"}, "bind": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "struct sockaddr *ADDR", "[sp + 0x8]": "socklen_t LENGTH"}, "getsockname": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "struct sockaddr *ADDR", "[sp + 0x8]": "socklen_t *LENGTH-PTR"}, "if_nametoindex": {"[sp + 0x0]": "const char *IFNAME"}, "if_indextoname": {"[sp + 0x0]": "unsigned int IFINDEX", "[sp + 0x4]": "char *IFNAME"}, "if_nameindex": {"[sp + 0x0]": "void"}, "if_freenameindex": {"[sp + 0x0]": "struct if_nameindex *PTR"}, "inet_aton": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "struct in_addr *ADDR"}, "inet_addr": {"[sp + 0x0]": "const char *NAME"}, "inet_network": {"[sp + 0x0]": "const char *NAME"}, "inet_ntoa": {"[sp + 0x0]": "struct in_addr ADDR"}, "inet_makeaddr": {"[sp + 0x0]": "uint32_t NET", "[sp + 0x4]": "uint32_t LOCAL"}, "inet_lnaof": {"[sp + 0x0]": "struct in_addr ADDR"}, "inet_netof": {"[sp + 0x0]": "struct in_addr ADDR"}, "inet_pton": {"[sp + 0x0]": "int AF", "[sp + 0x4]": "const char *CP", "[sp + 0x8]": "void *BUF"}, "inet_ntop": {"[sp + 0x0]": "int AF", "[sp + 0x4]": "const void *CP", "[sp + 0x8]": "char *BUF", "[sp + 0xc]": "socklen_t LEN"}, "gethostbyname": {"[sp + 0x0]": "const char *NAME"}, "gethostbyname2": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "int AF"}, "gethostbyaddr": {"[sp + 0x0]": "const void *ADDR", "[sp + 0x4]": "socklen_t LENGTH", "[sp + 0x8]": "int FORMAT"}, "gethostbyname_r": {"[sp + 0x0]": ""}, "gethostbyname2_r": {"[sp + 0x0]": ""}, "gethostbyaddr_r": {"[sp + 0x0]": ""}, "sethostent": {"[sp + 0x0]": "int STAYOPEN"}, "gethostent": {"[sp + 0x0]": "void"}, "endhostent": {"[sp + 0x0]": "void"}, "getservbyname": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "const char *PROTO"}, "getservbyport": {"[sp + 0x0]": "int PORT", "[sp + 0x4]": "const char *PROTO"}, "setservent": {"[sp + 0x0]": "int STAYOPEN"}, "getservent": {"[sp + 0x0]": "void"}, "endservent": {"[sp + 0x0]": "void"}, "htons": {"[sp + 0x0]": "uint16_t HOSTSHORT"}, "ntohs": {"[sp + 0x0]": "uint16_t NETSHORT"}, "htonl": {"[sp + 0x0]": "uint32_t HOSTLONG"}, "ntohl": {"[sp + 0x0]": "uint32_t NETLONG"}, "getprotobyname": {"[sp + 0x0]": "const char *NAME"}, "getprotobynumber": {"[sp + 0x0]": "int PROTOCOL"}, "setprotoent": {"[sp + 0x0]": "int STAYOPEN"}, "getprotoent": {"[sp + 0x0]": "void"}, "endprotoent": {"[sp + 0x0]": "void"}, "socket": {"[sp + 0x0]": "int NAMESPACE", "[sp + 0x4]": "int STYLE", "[sp + 0x8]": "int PROTOCOL"}, "shutdown": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "int HOW"}, "socketpair": {"[sp + 0x0]": "int NAMESPACE", "[sp + 0x4]": "int STYLE", "[sp + 0x8]": "int PROTOCOL", "[sp + 0xc]": "int FILEDES[2]"}, "connect": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "struct sockaddr *ADDR", "[sp + 0x8]": "socklen_t LENGTH"}, "listen": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "int N"}, "accept": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "struct sockaddr *ADDR", "[sp + 0x8]": "socklen_t *LENGTH_PTR"}, "getpeername": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "struct sockaddr *ADDR", "[sp + 0x8]": "socklen_t *LENGTH-PTR"}, "send": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "const void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "int FLAGS"}, "recv": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "int FLAGS"}, "sendto": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "const void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "int FLAGS", "[sp + 0x10]": "struct sockaddr *ADDR", "[sp + 0x14]": "socklen_t LENGTH"}, "recvfrom": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "int FLAGS", "[sp + 0x10]": "struct sockaddr *ADDR", "[sp + 0x14]": "socklen_t *LENGTH-PTR"}, "getsockopt": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "int LEVEL", "[sp + 0x8]": "int OPTNAME", "[sp + 0xc]": "void *OPTVAL", "[sp + 0x10]": "socklen_t *OPTLEN-PTR"}, "setsockopt": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "int LEVEL", "[sp + 0x8]": "int OPTNAME", "[sp + 0xc]": "const void *OPTVAL", "[sp + 0x10]": "socklen_t OPTLEN"}, "getnetbyname": {"[sp + 0x0]": "const char *NAME"}, "getnetbyaddr": {"[sp + 0x0]": "uint32_t NET", "[sp + 0x4]": "int TYPE"}, "setnetent": {"[sp + 0x0]": "int STAYOPEN"}, "getnetent": {"[sp + 0x0]": "void"}, "endnetent": {"[sp + 0x0]": "void"}, "isatty": {"[sp + 0x0]": "int FILEDES"}, "ttyname": {"[sp + 0x0]": "int FILEDES"}, "ttyname_r": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "size_t LEN"}, "tcgetattr": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "struct termios *TERMIOS-P"}, "tcsetattr": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int WHEN", "[sp + 0x8]": "const struct termios *TERMIOS-P"}, "cfgetospeed": {"[sp + 0x0]": "const struct termios *TERMIOS-P"}, "cfgetispeed": {"[sp + 0x0]": "const struct termios *TERMIOS-P"}, "cfsetospeed": {"[sp + 0x0]": "struct termios *TERMIOS-P", "[sp + 0x4]": "speed_t SPEED"}, "cfsetispeed": {"[sp + 0x0]": "struct termios *TERMIOS-P", "[sp + 0x4]": "speed_t SPEED"}, "cfsetspeed": {"[sp + 0x0]": "struct termios *TERMIOS-P", "[sp + 0x4]": "speed_t SPEED"}, "cfmakeraw": {"[sp + 0x0]": "struct termios *TERMIOS-P"}, "gtty": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "struct sgttyb *ATTRIBUTES"}, "stty": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const struct sgttyb *ATTRIBUTES"}, "tcsendbreak": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int DURATION"}, "tcdrain": {"[sp + 0x0]": "int FILEDES"}, "tcflush": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int QUEUE"}, "tcflow": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int ACTION"}, "getpass": {"[sp + 0x0]": "const char *PROMPT"}, "getpt": {"[sp + 0x0]": "void"}, "grantpt": {"[sp + 0x0]": "int FILEDES"}, "unlockpt": {"[sp + 0x0]": "int FILEDES"}, "ptsname": {"[sp + 0x0]": "int FILEDES"}, "ptsname_r": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "size_t LEN"}, "openpty": {"[sp + 0x0]": "int *AMASTER", "[sp + 0x4]": "int *ASLAVE", "[sp + 0x8]": "char *NAME", "[sp + 0xc]": "const struct termios *TERMP", "[sp + 0x10]": "const struct winsize *WINP"}, "forkpty": {"[sp + 0x0]": "int *AMASTER", "[sp + 0x4]": "char *NAME", "[sp + 0x8]": "const struct termios *TERMP", "[sp + 0xc]": "const struct winsize *WINP"}, "openlog": {"[sp + 0x0]": "const char *IDENT", "[sp + 0x4]": "int OPTION", "[sp + 0x8]": "int FACILITY"}, "syslog": {"[sp + 0x0]": "int FACILITY_PRIORITY", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "..."}, "vsyslog": {"[sp + 0x0]": "int FACILITY_PRIORITY", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "va_list ARGLIST"}, "closelog": {"[sp + 0x0]": "void"}, "setlogmask": {"[sp + 0x0]": "int MASK"}, "sin": {"[sp + 0x0]": "double X"}, "sinf": {"[sp + 0x0]": "float X"}, "sinl": {"[sp + 0x0]": "long double X"}, "sinfN": {"[sp + 0x0]": "_FloatN X"}, "sinfNx": {"[sp + 0x0]": "_FloatNx X"}, "cos": {"[sp + 0x0]": "double X"}, "cosf": {"[sp + 0x0]": "float X"}, "cosl": {"[sp + 0x0]": "long double X"}, "cosfN": {"[sp + 0x0]": "_FloatN X"}, "cosfNx": {"[sp + 0x0]": "_FloatNx X"}, "tan": {"[sp + 0x0]": "double X"}, "tanf": {"[sp + 0x0]": "float X"}, "tanl": {"[sp + 0x0]": "long double X"}, "tanfN": {"[sp + 0x0]": "_FloatN X"}, "tanfNx": {"[sp + 0x0]": "_FloatNx X"}, "sincos": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double *SINX", "[sp + 0x8]": "double *COSX"}, "sincosf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float *SINX", "[sp + 0x8]": "float *COSX"}, "sincosl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double *SINX", "[sp + 0x8]": "long double *COSX"}, "sincosfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN *SINX", "[sp + 0x8]": "_FloatN *COSX"}, "sincosfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx *SINX", "[sp + 0x8]": "_FloatNx *COSX"}, "csin": {"[sp + 0x0]": "complex double Z"}, "csinf": {"[sp + 0x0]": "complex float Z"}, "csinl": {"[sp + 0x0]": "complex long double Z"}, "csinfN": {"[sp + 0x0]": "complex _FloatN Z"}, "csinfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "ccos": {"[sp + 0x0]": "complex double Z"}, "ccosf": {"[sp + 0x0]": "complex float Z"}, "ccosl": {"[sp + 0x0]": "complex long double Z"}, "ccosfN": {"[sp + 0x0]": "complex _FloatN Z"}, "ccosfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "ctan": {"[sp + 0x0]": "complex double Z"}, "ctanf": {"[sp + 0x0]": "complex float Z"}, "ctanl": {"[sp + 0x0]": "complex long double Z"}, "ctanfN": {"[sp + 0x0]": "complex _FloatN Z"}, "ctanfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "asin": {"[sp + 0x0]": "double X"}, "asinf": {"[sp + 0x0]": "float X"}, "asinl": {"[sp + 0x0]": "long double X"}, "asinfN": {"[sp + 0x0]": "_FloatN X"}, "asinfNx": {"[sp + 0x0]": "_FloatNx X"}, "acos": {"[sp + 0x0]": "double X"}, "acosf": {"[sp + 0x0]": "float X"}, "acosl": {"[sp + 0x0]": "long double X"}, "acosfN": {"[sp + 0x0]": "_FloatN X"}, "acosfNx": {"[sp + 0x0]": "_FloatNx X"}, "atan": {"[sp + 0x0]": "double X"}, "atanf": {"[sp + 0x0]": "float X"}, "atanl": {"[sp + 0x0]": "long double X"}, "atanfN": {"[sp + 0x0]": "_FloatN X"}, "atanfNx": {"[sp + 0x0]": "_FloatNx X"}, "atan2": {"[sp + 0x0]": "double Y", "[sp + 0x4]": "double X"}, "atan2f": {"[sp + 0x0]": "float Y", "[sp + 0x4]": "float X"}, "atan2l": {"[sp + 0x0]": "long double Y", "[sp + 0x4]": "long double X"}, "atan2fN": {"[sp + 0x0]": "_FloatN Y", "[sp + 0x4]": "_FloatN X"}, "atan2fNx": {"[sp + 0x0]": "_FloatNx Y", "[sp + 0x4]": "_FloatNx X"}, "casin": {"[sp + 0x0]": "complex double Z"}, "casinf": {"[sp + 0x0]": "complex float Z"}, "casinl": {"[sp + 0x0]": "complex long double Z"}, "casinfN": {"[sp + 0x0]": "complex _FloatN Z"}, "casinfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "cacos": {"[sp + 0x0]": "complex double Z"}, "cacosf": {"[sp + 0x0]": "complex float Z"}, "cacosl": {"[sp + 0x0]": "complex long double Z"}, "cacosfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cacosfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "catan": {"[sp + 0x0]": "complex double Z"}, "catanf": {"[sp + 0x0]": "complex float Z"}, "catanl": {"[sp + 0x0]": "complex long double Z"}, "catanfN": {"[sp + 0x0]": "complex _FloatN Z"}, "catanfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "exp": {"[sp + 0x0]": "double X"}, "expf": {"[sp + 0x0]": "float X"}, "expl": {"[sp + 0x0]": "long double X"}, "expfN": {"[sp + 0x0]": "_FloatN X"}, "expfNx": {"[sp + 0x0]": "_FloatNx X"}, "exp2": {"[sp + 0x0]": "double X"}, "exp2f": {"[sp + 0x0]": "float X"}, "exp2l": {"[sp + 0x0]": "long double X"}, "exp2fN": {"[sp + 0x0]": "_FloatN X"}, "exp2fNx": {"[sp + 0x0]": "_FloatNx X"}, "exp10": {"[sp + 0x0]": "double X"}, "exp10f": {"[sp + 0x0]": "float X"}, "exp10l": {"[sp + 0x0]": "long double X"}, "exp10fN": {"[sp + 0x0]": "_FloatN X"}, "exp10fNx": {"[sp + 0x0]": "_FloatNx X"}, "log": {"[sp + 0x0]": "double X"}, "logf": {"[sp + 0x0]": "float X"}, "logl": {"[sp + 0x0]": "long double X"}, "logfN": {"[sp + 0x0]": "_FloatN X"}, "logfNx": {"[sp + 0x0]": "_FloatNx X"}, "log10": {"[sp + 0x0]": "double X"}, "log10f": {"[sp + 0x0]": "float X"}, "log10l": {"[sp + 0x0]": "long double X"}, "log10fN": {"[sp + 0x0]": "_FloatN X"}, "log10fNx": {"[sp + 0x0]": "_FloatNx X"}, "log2": {"[sp + 0x0]": "double X"}, "log2f": {"[sp + 0x0]": "float X"}, "log2l": {"[sp + 0x0]": "long double X"}, "log2fN": {"[sp + 0x0]": "_FloatN X"}, "log2fNx": {"[sp + 0x0]": "_FloatNx X"}, "logb": {"[sp + 0x0]": "double X"}, "logbf": {"[sp + 0x0]": "float X"}, "logbl": {"[sp + 0x0]": "long double X"}, "logbfN": {"[sp + 0x0]": "_FloatN X"}, "logbfNx": {"[sp + 0x0]": "_FloatNx X"}, "ilogb": {"[sp + 0x0]": "double X"}, "ilogbf": {"[sp + 0x0]": "float X"}, "ilogbl": {"[sp + 0x0]": "long double X"}, "ilogbfN": {"[sp + 0x0]": "_FloatN X"}, "ilogbfNx": {"[sp + 0x0]": "_FloatNx X"}, "llogb": {"[sp + 0x0]": "double X"}, "llogbf": {"[sp + 0x0]": "float X"}, "llogbl": {"[sp + 0x0]": "long double X"}, "llogbfN": {"[sp + 0x0]": "_FloatN X"}, "llogbfNx": {"[sp + 0x0]": "_FloatNx X"}, "pow": {"[sp + 0x0]": "double BASE", "[sp + 0x4]": "double POWER"}, "powf": {"[sp + 0x0]": "float BASE", "[sp + 0x4]": "float POWER"}, "powl": {"[sp + 0x0]": "long double BASE", "[sp + 0x4]": "long double POWER"}, "powfN": {"[sp + 0x0]": "_FloatN BASE", "[sp + 0x4]": "_FloatN POWER"}, "powfNx": {"[sp + 0x0]": "_FloatNx BASE", "[sp + 0x4]": "_FloatNx POWER"}, "sqrt": {"[sp + 0x0]": "double X"}, "sqrtf": {"[sp + 0x0]": "float X"}, "sqrtl": {"[sp + 0x0]": "long double X"}, "sqrtfN": {"[sp + 0x0]": "_FloatN X"}, "sqrtfNx": {"[sp + 0x0]": "_FloatNx X"}, "cbrt": {"[sp + 0x0]": "double X"}, "cbrtf": {"[sp + 0x0]": "float X"}, "cbrtl": {"[sp + 0x0]": "long double X"}, "cbrtfN": {"[sp + 0x0]": "_FloatN X"}, "cbrtfNx": {"[sp + 0x0]": "_FloatNx X"}, "hypot": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "hypotf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "hypotl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "hypotfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "hypotfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "expm1": {"[sp + 0x0]": "double X"}, "expm1f": {"[sp + 0x0]": "float X"}, "expm1l": {"[sp + 0x0]": "long double X"}, "expm1fN": {"[sp + 0x0]": "_FloatN X"}, "expm1fNx": {"[sp + 0x0]": "_FloatNx X"}, "log1p": {"[sp + 0x0]": "double X"}, "log1pf": {"[sp + 0x0]": "float X"}, "log1pl": {"[sp + 0x0]": "long double X"}, "log1pfN": {"[sp + 0x0]": "_FloatN X"}, "log1pfNx": {"[sp + 0x0]": "_FloatNx X"}, "cexp": {"[sp + 0x0]": "complex double Z"}, "cexpf": {"[sp + 0x0]": "complex float Z"}, "cexpl": {"[sp + 0x0]": "complex long double Z"}, "cexpfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cexpfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "clog": {"[sp + 0x0]": "complex double Z"}, "clogf": {"[sp + 0x0]": "complex float Z"}, "clogl": {"[sp + 0x0]": "complex long double Z"}, "clogfN": {"[sp + 0x0]": "complex _FloatN Z"}, "clogfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "clog10": {"[sp + 0x0]": "complex double Z"}, "clog10f": {"[sp + 0x0]": "complex float Z"}, "clog10l": {"[sp + 0x0]": "complex long double Z"}, "clog10fN": {"[sp + 0x0]": "complex _FloatN Z"}, "clog10fNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "csqrt": {"[sp + 0x0]": "complex double Z"}, "csqrtf": {"[sp + 0x0]": "complex float Z"}, "csqrtl": {"[sp + 0x0]": "complex long double Z"}, "csqrtfN": {"[sp + 0x0]": "_FloatN Z"}, "csqrtfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "cpow": {"[sp + 0x0]": "complex double BASE", "[sp + 0x4]": "complex double POWER"}, "cpowf": {"[sp + 0x0]": "complex float BASE", "[sp + 0x4]": "complex float POWER"}, "cpowl": {"[sp + 0x0]": "complex long double BASE", "[sp + 0x4]": "complex long double POWER"}, "cpowfN": {"[sp + 0x0]": "complex _FloatN BASE", "[sp + 0x4]": "complex _FloatN POWER"}, "cpowfNx": {"[sp + 0x0]": "complex _FloatNx BASE", "[sp + 0x4]": "complex _FloatNx POWER"}, "sinh": {"[sp + 0x0]": "double X"}, "sinhf": {"[sp + 0x0]": "float X"}, "sinhl": {"[sp + 0x0]": "long double X"}, "sinhfN": {"[sp + 0x0]": "_FloatN X"}, "sinhfNx": {"[sp + 0x0]": "_FloatNx X"}, "cosh": {"[sp + 0x0]": "double X"}, "coshf": {"[sp + 0x0]": "float X"}, "coshl": {"[sp + 0x0]": "long double X"}, "coshfN": {"[sp + 0x0]": "_FloatN X"}, "coshfNx": {"[sp + 0x0]": "_FloatNx X"}, "tanh": {"[sp + 0x0]": "double X"}, "tanhf": {"[sp + 0x0]": "float X"}, "tanhl": {"[sp + 0x0]": "long double X"}, "tanhfN": {"[sp + 0x0]": "_FloatN X"}, "tanhfNx": {"[sp + 0x0]": "_FloatNx X"}, "csinh": {"[sp + 0x0]": "complex double Z"}, "csinhf": {"[sp + 0x0]": "complex float Z"}, "csinhl": {"[sp + 0x0]": "complex long double Z"}, "csinhfN": {"[sp + 0x0]": "complex _FloatN Z"}, "csinhfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "ccosh": {"[sp + 0x0]": "complex double Z"}, "ccoshf": {"[sp + 0x0]": "complex float Z"}, "ccoshl": {"[sp + 0x0]": "complex long double Z"}, "ccoshfN": {"[sp + 0x0]": "complex _FloatN Z"}, "ccoshfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "ctanh": {"[sp + 0x0]": "complex double Z"}, "ctanhf": {"[sp + 0x0]": "complex float Z"}, "ctanhl": {"[sp + 0x0]": "complex long double Z"}, "ctanhfN": {"[sp + 0x0]": "complex _FloatN Z"}, "ctanhfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "asinh": {"[sp + 0x0]": "double X"}, "asinhf": {"[sp + 0x0]": "float X"}, "asinhl": {"[sp + 0x0]": "long double X"}, "asinhfN": {"[sp + 0x0]": "_FloatN X"}, "asinhfNx": {"[sp + 0x0]": "_FloatNx X"}, "acosh": {"[sp + 0x0]": "double X"}, "acoshf": {"[sp + 0x0]": "float X"}, "acoshl": {"[sp + 0x0]": "long double X"}, "acoshfN": {"[sp + 0x0]": "_FloatN X"}, "acoshfNx": {"[sp + 0x0]": "_FloatNx X"}, "atanh": {"[sp + 0x0]": "double X"}, "atanhf": {"[sp + 0x0]": "float X"}, "atanhl": {"[sp + 0x0]": "long double X"}, "atanhfN": {"[sp + 0x0]": "_FloatN X"}, "atanhfNx": {"[sp + 0x0]": "_FloatNx X"}, "casinh": {"[sp + 0x0]": "complex double Z"}, "casinhf": {"[sp + 0x0]": "complex float Z"}, "casinhl": {"[sp + 0x0]": "complex long double Z"}, "casinhfN": {"[sp + 0x0]": "complex _FloatN Z"}, "casinhfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "cacosh": {"[sp + 0x0]": "complex double Z"}, "cacoshf": {"[sp + 0x0]": "complex float Z"}, "cacoshl": {"[sp + 0x0]": "complex long double Z"}, "cacoshfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cacoshfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "catanh": {"[sp + 0x0]": "complex double Z"}, "catanhf": {"[sp + 0x0]": "complex float Z"}, "catanhl": {"[sp + 0x0]": "complex long double Z"}, "catanhfN": {"[sp + 0x0]": "complex _FloatN Z"}, "catanhfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "erf": {"[sp + 0x0]": "double X"}, "erff": {"[sp + 0x0]": "float X"}, "erfl": {"[sp + 0x0]": "long double X"}, "erffN": {"[sp + 0x0]": "_FloatN X"}, "erffNx": {"[sp + 0x0]": "_FloatNx X"}, "erfc": {"[sp + 0x0]": "double X"}, "erfcf": {"[sp + 0x0]": "float X"}, "erfcl": {"[sp + 0x0]": "long double X"}, "erfcfN": {"[sp + 0x0]": "_FloatN X"}, "erfcfNx": {"[sp + 0x0]": "_FloatNx X"}, "lgamma": {"[sp + 0x0]": "double X"}, "lgammaf": {"[sp + 0x0]": "float X"}, "lgammal": {"[sp + 0x0]": "long double X"}, "lgammafN": {"[sp + 0x0]": "_FloatN X"}, "lgammafNx": {"[sp + 0x0]": "_FloatNx X"}, "lgamma_r": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int *SIGNP"}, "lgammaf_r": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int *SIGNP"}, "lgammal_r": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int *SIGNP"}, "lgammafN_r": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int *SIGNP"}, "lgammafNx_r": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int *SIGNP"}, "gamma": {"[sp + 0x0]": "double X"}, "gammaf": {"[sp + 0x0]": "float X"}, "gammal": {"[sp + 0x0]": "long double X"}, "tgamma": {"[sp + 0x0]": "double X"}, "tgammaf": {"[sp + 0x0]": "float X"}, "tgammal": {"[sp + 0x0]": "long double X"}, "tgammafN": {"[sp + 0x0]": "_FloatN X"}, "tgammafNx": {"[sp + 0x0]": "_FloatNx X"}, "j0": {"[sp + 0x0]": "double X"}, "j0f": {"[sp + 0x0]": "float X"}, "j0l": {"[sp + 0x0]": "long double X"}, "j0fN": {"[sp + 0x0]": "_FloatN X"}, "j0fNx": {"[sp + 0x0]": "_FloatNx X"}, "j1": {"[sp + 0x0]": "double X"}, "j1f": {"[sp + 0x0]": "float X"}, "j1l": {"[sp + 0x0]": "long double X"}, "j1fN": {"[sp + 0x0]": "_FloatN X"}, "j1fNx": {"[sp + 0x0]": "_FloatNx X"}, "jn": {"[sp + 0x0]": "int N", "[sp + 0x4]": "double X"}, "jnf": {"[sp + 0x0]": "int N", "[sp + 0x4]": "float X"}, "jnl": {"[sp + 0x0]": "int N", "[sp + 0x4]": "long double X"}, "jnfN": {"[sp + 0x0]": "int N", "[sp + 0x4]": "_FloatN X"}, "jnfNx": {"[sp + 0x0]": "int N", "[sp + 0x4]": "_FloatNx X"}, "y0": {"[sp + 0x0]": "double X"}, "y0f": {"[sp + 0x0]": "float X"}, "y0l": {"[sp + 0x0]": "long double X"}, "y0fN": {"[sp + 0x0]": "_FloatN X"}, "y0fNx": {"[sp + 0x0]": "_FloatNx X"}, "y1": {"[sp + 0x0]": "double X"}, "y1f": {"[sp + 0x0]": "float X"}, "y1l": {"[sp + 0x0]": "long double X"}, "y1fN": {"[sp + 0x0]": "_FloatN X"}, "y1fNx": {"[sp + 0x0]": "_FloatNx X"}, "yn": {"[sp + 0x0]": "int N", "[sp + 0x4]": "double X"}, "ynf": {"[sp + 0x0]": "int N", "[sp + 0x4]": "float X"}, "ynl": {"[sp + 0x0]": "int N", "[sp + 0x4]": "long double X"}, "ynfN": {"[sp + 0x0]": "int N", "[sp + 0x4]": "_FloatN X"}, "ynfNx": {"[sp + 0x0]": "int N", "[sp + 0x4]": "_FloatNx X"}, "rand": {"[sp + 0x0]": "void"}, "srand": {"[sp + 0x0]": "unsigned int SEED"}, "rand_r": {"[sp + 0x0]": "unsigned int *SEED"}, "random": {"[sp + 0x0]": "void"}, "srandom": {"[sp + 0x0]": "unsigned int SEED"}, "initstate": {"[sp + 0x0]": "unsigned int SEED", "[sp + 0x4]": "char *STATE", "[sp + 0x8]": "size_t SIZE"}, "setstate": {"[sp + 0x0]": "char *STATE"}, "random_r": {"[sp + 0x0]": "struct random_data *restrict BUF", "[sp + 0x4]": "int32_t *restrict RESULT"}, "srandom_r": {"[sp + 0x0]": "unsigned int SEED", "[sp + 0x4]": "struct random_data *BUF"}, "initstate_r": {"[sp + 0x0]": "unsigned int SEED", "[sp + 0x4]": "char *restrict STATEBUF", "[sp + 0x8]": "size_t STATELEN", "[sp + 0xc]": "struct random_data *restrict BUF"}, "setstate_r": {"[sp + 0x0]": "char *restrict STATEBUF", "[sp + 0x4]": "struct random_data *restrict BUF"}, "drand48": {"[sp + 0x0]": "void"}, "erand48": {"[sp + 0x0]": "unsigned short int XSUBI[3]"}, "lrand48": {"[sp + 0x0]": "void"}, "nrand48": {"[sp + 0x0]": "unsigned short int XSUBI[3]"}, "mrand48": {"[sp + 0x0]": "void"}, "jrand48": {"[sp + 0x0]": "unsigned short int XSUBI[3]"}, "srand48": {"[sp + 0x0]": "long int SEEDVAL"}, "seed48": {"[sp + 0x0]": "unsigned short int SEED16V[3]"}, "lcong48": {"[sp + 0x0]": "unsigned short int PARAM[7]"}, "drand48_r": {"[sp + 0x0]": "struct drand48_data *BUFFER", "[sp + 0x4]": "double *RESULT"}, "erand48_r": {"[sp + 0x0]": "unsigned short int XSUBI[3]", "[sp + 0x4]": "struct drand48_data *BUFFER", "[sp + 0x8]": "double *RESULT"}, "lrand48_r": {"[sp + 0x0]": "struct drand48_data *BUFFER", "[sp + 0x4]": "long int *RESULT"}, "nrand48_r": {"[sp + 0x0]": "unsigned short int XSUBI[3]", "[sp + 0x4]": "struct drand48_data *BUFFER", "[sp + 0x8]": "long int *RESULT"}, "mrand48_r": {"[sp + 0x0]": "struct drand48_data *BUFFER", "[sp + 0x4]": "long int *RESULT"}, "jrand48_r": {"[sp + 0x0]": "unsigned short int XSUBI[3]", "[sp + 0x4]": "struct drand48_data *BUFFER", "[sp + 0x8]": "long int *RESULT"}, "srand48_r": {"[sp + 0x0]": "long int SEEDVAL", "[sp + 0x4]": "struct drand48_data *BUFFER"}, "seed48_r": {"[sp + 0x0]": "unsigned short int SEED16V[3]", "[sp + 0x4]": "struct drand48_data *BUFFER"}, "lcong48_r": {"[sp + 0x0]": "unsigned short int PARAM[7]", "[sp + 0x4]": "struct drand48_data *BUFFER"}, "div": {"[sp + 0x0]": "int NUMERATOR", "[sp + 0x4]": "int DENOMINATOR"}, "ldiv": {"[sp + 0x0]": "long int NUMERATOR", "[sp + 0x4]": "long int DENOMINATOR"}, "lldiv": {"[sp + 0x0]": "long long int NUMERATOR", "[sp + 0x4]": "long long int DENOMINATOR"}, "imaxdiv": {"[sp + 0x0]": "intmax_t NUMERATOR", "[sp + 0x4]": "intmax_t DENOMINATOR"}, "isinf": {"[sp + 0x0]": "double X"}, "isinff": {"[sp + 0x0]": "float X"}, "isinfl": {"[sp + 0x0]": "long double X"}, "isnan": {"[sp + 0x0]": "double X"}, "isnanf": {"[sp + 0x0]": "float X"}, "isnanl": {"[sp + 0x0]": "long double X"}, "finite": {"[sp + 0x0]": "double X"}, "finitef": {"[sp + 0x0]": "float X"}, "finitel": {"[sp + 0x0]": "long double X"}, "feclearexcept": {"[sp + 0x0]": "int EXCEPTS"}, "feraiseexcept": {"[sp + 0x0]": "int EXCEPTS"}, "fesetexcept": {"[sp + 0x0]": "int EXCEPTS"}, "fetestexcept": {"[sp + 0x0]": "int EXCEPTS"}, "fegetexceptflag": {"[sp + 0x0]": "fexcept_t *FLAGP", "[sp + 0x4]": "int EXCEPTS"}, "fesetexceptflag": {"[sp + 0x0]": "const fexcept_t *FLAGP", "[sp + 0x4]": "int EXCEPTS"}, "fetestexceptflag": {"[sp + 0x0]": "const fexcept_t *FLAGP", "[sp + 0x4]": "int EXCEPTS"}, "fegetround": {"[sp + 0x0]": "void"}, "fesetround": {"[sp + 0x0]": "int ROUND"}, "fegetenv": {"[sp + 0x0]": "fenv_t *ENVP"}, "feholdexcept": {"[sp + 0x0]": "fenv_t *ENVP"}, "fesetenv": {"[sp + 0x0]": "const fenv_t *ENVP"}, "feupdateenv": {"[sp + 0x0]": "const fenv_t *ENVP"}, "fegetmode": {"[sp + 0x0]": "femode_t *MODEP"}, "fesetmode": {"[sp + 0x0]": "const femode_t *MODEP"}, "feenableexcept": {"[sp + 0x0]": "int EXCEPTS"}, "fedisableexcept": {"[sp + 0x0]": "int EXCEPTS"}, "fegetexcept": {"[sp + 0x0]": "void"}, "abs": {"[sp + 0x0]": "int NUMBER"}, "labs": {"[sp + 0x0]": "long int NUMBER"}, "llabs": {"[sp + 0x0]": "long long int NUMBER"}, "imaxabs": {"[sp + 0x0]": "intmax_t NUMBER"}, "fabs": {"[sp + 0x0]": "double NUMBER"}, "fabsf": {"[sp + 0x0]": "float NUMBER"}, "fabsl": {"[sp + 0x0]": "long double NUMBER"}, "fabsfN": {"[sp + 0x0]": "_FloatN NUMBER"}, "fabsfNx": {"[sp + 0x0]": "_FloatNx NUMBER"}, "cabs": {"[sp + 0x0]": "complex double Z"}, "cabsf": {"[sp + 0x0]": "complex float Z"}, "cabsl": {"[sp + 0x0]": "complex long double Z"}, "cabsfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cabsfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "frexp": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int *EXPONENT"}, "frexpf": {"[sp + 0x0]": "float VALUE", "[sp + 0x4]": "int *EXPONENT"}, "frexpl": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int *EXPONENT"}, "frexpfN": {"[sp + 0x0]": "_FloatN VALUE", "[sp + 0x4]": "int *EXPONENT"}, "frexpfNx": {"[sp + 0x0]": "_FloatNx VALUE", "[sp + 0x4]": "int *EXPONENT"}, "ldexp": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int EXPONENT"}, "ldexpf": {"[sp + 0x0]": "float VALUE", "[sp + 0x4]": "int EXPONENT"}, "ldexpl": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int EXPONENT"}, "ldexpfN": {"[sp + 0x0]": "_FloatN VALUE", "[sp + 0x4]": "int EXPONENT"}, "ldexpfNx": {"[sp + 0x0]": "_FloatNx VALUE", "[sp + 0x4]": "int EXPONENT"}, "scalb": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "double EXPONENT"}, "scalbf": {"[sp + 0x0]": "float VALUE", "[sp + 0x4]": "float EXPONENT"}, "scalbl": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "long double EXPONENT"}, "scalbn": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int N"}, "scalbnf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int N"}, "scalbnl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int N"}, "scalbnfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int N"}, "scalbnfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int N"}, "scalbln": {"[sp + 0x0]": "double X", "[sp + 0x4]": "long int N"}, "scalblnf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "long int N"}, "scalblnl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long int N"}, "scalblnfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "long int N"}, "scalblnfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "long int N"}, "significand": {"[sp + 0x0]": "double X"}, "significandf": {"[sp + 0x0]": "float X"}, "significandl": {"[sp + 0x0]": "long double X"}, "ceil": {"[sp + 0x0]": "double X"}, "ceilf": {"[sp + 0x0]": "float X"}, "ceill": {"[sp + 0x0]": "long double X"}, "ceilfN": {"[sp + 0x0]": "_FloatN X"}, "ceilfNx": {"[sp + 0x0]": "_FloatNx X"}, "floor": {"[sp + 0x0]": "double X"}, "floorf": {"[sp + 0x0]": "float X"}, "floorl": {"[sp + 0x0]": "long double X"}, "floorfN": {"[sp + 0x0]": "_FloatN X"}, "floorfNx": {"[sp + 0x0]": "_FloatNx X"}, "trunc": {"[sp + 0x0]": "double X"}, "truncf": {"[sp + 0x0]": "float X"}, "truncl": {"[sp + 0x0]": "long double X"}, "truncfN": {"[sp + 0x0]": "_FloatN X"}, "truncfNx": {"[sp + 0x0]": "_FloatNx X"}, "rint": {"[sp + 0x0]": "double X"}, "rintf": {"[sp + 0x0]": "float X"}, "rintl": {"[sp + 0x0]": "long double X"}, "rintfN": {"[sp + 0x0]": "_FloatN X"}, "rintfNx": {"[sp + 0x0]": "_FloatNx X"}, "nearbyint": {"[sp + 0x0]": "double X"}, "nearbyintf": {"[sp + 0x0]": "float X"}, "nearbyintl": {"[sp + 0x0]": "long double X"}, "nearbyintfN": {"[sp + 0x0]": "_FloatN X"}, "nearbyintfNx": {"[sp + 0x0]": "_FloatNx X"}, "round": {"[sp + 0x0]": "double X"}, "roundf": {"[sp + 0x0]": "float X"}, "roundl": {"[sp + 0x0]": "long double X"}, "roundfN": {"[sp + 0x0]": "_FloatN X"}, "roundfNx": {"[sp + 0x0]": "_FloatNx X"}, "roundeven": {"[sp + 0x0]": "double X"}, "roundevenf": {"[sp + 0x0]": "float X"}, "roundevenl": {"[sp + 0x0]": "long double X"}, "roundevenfN": {"[sp + 0x0]": "_FloatN X"}, "roundevenfNx": {"[sp + 0x0]": "_FloatNx X"}, "lrint": {"[sp + 0x0]": "double X"}, "lrintf": {"[sp + 0x0]": "float X"}, "lrintl": {"[sp + 0x0]": "long double X"}, "lrintfN": {"[sp + 0x0]": "_FloatN X"}, "lrintfNx": {"[sp + 0x0]": "_FloatNx X"}, "llrint": {"[sp + 0x0]": "double X"}, "llrintf": {"[sp + 0x0]": "float X"}, "llrintl": {"[sp + 0x0]": "long double X"}, "llrintfN": {"[sp + 0x0]": "_FloatN X"}, "llrintfNx": {"[sp + 0x0]": "_FloatNx X"}, "lround": {"[sp + 0x0]": "double X"}, "lroundf": {"[sp + 0x0]": "float X"}, "lroundl": {"[sp + 0x0]": "long double X"}, "lroundfN": {"[sp + 0x0]": "_FloatN X"}, "lroundfNx": {"[sp + 0x0]": "_FloatNx X"}, "llround": {"[sp + 0x0]": "double X"}, "llroundf": {"[sp + 0x0]": "float X"}, "llroundl": {"[sp + 0x0]": "long double X"}, "llroundfN": {"[sp + 0x0]": "_FloatN X"}, "llroundfNx": {"[sp + 0x0]": "_FloatNx X"}, "fromfp": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfp": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpx": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpxf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpxl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpxfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpxfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpx": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpxf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpxl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpxfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpxfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "modf": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "double *INTEGER-PART"}, "modff": {"[sp + 0x0]": "float VALUE", "[sp + 0x4]": "float *INTEGER-PART"}, "modfl": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "long double *INTEGER-PART"}, "modffN": {"[sp + 0x0]": "_FloatN VALUE", "[sp + 0x4]": "_FloatN *INTEGER-PART"}, "modffNx": {"[sp + 0x0]": "_FloatNx VALUE", "[sp + 0x4]": "_FloatNx *INTEGER-PART"}, "fmod": {"[sp + 0x0]": "double NUMERATOR", "[sp + 0x4]": "double DENOMINATOR"}, "fmodf": {"[sp + 0x0]": "float NUMERATOR", "[sp + 0x4]": "float DENOMINATOR"}, "fmodl": {"[sp + 0x0]": "long double NUMERATOR", "[sp + 0x4]": "long double DENOMINATOR"}, "fmodfN": {"[sp + 0x0]": "_FloatN NUMERATOR", "[sp + 0x4]": "_FloatN DENOMINATOR"}, "fmodfNx": {"[sp + 0x0]": "_FloatNx NUMERATOR", "[sp + 0x4]": "_FloatNx DENOMINATOR"}, "remainder": {"[sp + 0x0]": "double NUMERATOR", "[sp + 0x4]": "double DENOMINATOR"}, "remainderf": {"[sp + 0x0]": "float NUMERATOR", "[sp + 0x4]": "float DENOMINATOR"}, "remainderl": {"[sp + 0x0]": "long double NUMERATOR", "[sp + 0x4]": "long double DENOMINATOR"}, "remainderfN": {"[sp + 0x0]": "_FloatN NUMERATOR", "[sp + 0x4]": "_FloatN DENOMINATOR"}, "remainderfNx": {"[sp + 0x0]": "_FloatNx NUMERATOR", "[sp + 0x4]": "_FloatNx DENOMINATOR"}, "drem": {"[sp + 0x0]": "double NUMERATOR", "[sp + 0x4]": "double DENOMINATOR"}, "dremf": {"[sp + 0x0]": "float NUMERATOR", "[sp + 0x4]": "float DENOMINATOR"}, "dreml": {"[sp + 0x0]": "long double NUMERATOR", "[sp + 0x4]": "long double DENOMINATOR"}, "copysign": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "copysignf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "copysignl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "copysignfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "copysignfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "signbit": {"[sp + 0x0]": "_float-type_ X"}, "nextafter": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "nextafterf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "nextafterl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "nextafterfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "nextafterfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "nexttoward": {"[sp + 0x0]": "double X", "[sp + 0x4]": "long double Y"}, "nexttowardf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "long double Y"}, "nexttowardl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "nextup": {"[sp + 0x0]": "double X"}, "nextupf": {"[sp + 0x0]": "float X"}, "nextupl": {"[sp + 0x0]": "long double X"}, "nextupfN": {"[sp + 0x0]": "_FloatN X"}, "nextupfNx": {"[sp + 0x0]": "_FloatNx X"}, "nextdown": {"[sp + 0x0]": "double X"}, "nextdownf": {"[sp + 0x0]": "float X"}, "nextdownl": {"[sp + 0x0]": "long double X"}, "nextdownfN": {"[sp + 0x0]": "_FloatN X"}, "nextdownfNx": {"[sp + 0x0]": "_FloatNx X"}, "nan": {"[sp + 0x0]": "const char *TAGP"}, "nanf": {"[sp + 0x0]": "const char *TAGP"}, "nanl": {"[sp + 0x0]": "const char *TAGP"}, "nanfN": {"[sp + 0x0]": "const char *TAGP"}, "nanfNx": {"[sp + 0x0]": "const char *TAGP"}, "canonicalize": {"[sp + 0x0]": "double *CX", "[sp + 0x4]": "const double *X"}, "canonicalizef": {"[sp + 0x0]": "float *CX", "[sp + 0x4]": "const float *X"}, "canonicalizel": {"[sp + 0x0]": "long double *CX", "[sp + 0x4]": "const long double *X"}, "canonicalizefN": {"[sp + 0x0]": "_FloatN *CX", "[sp + 0x4]": "const _FloatN *X"}, "canonicalizefNx": {"[sp + 0x0]": "_FloatNx *CX", "[sp + 0x4]": "const _FloatNx *X"}, "getpayload": {"[sp + 0x0]": "const double *X"}, "getpayloadf": {"[sp + 0x0]": "const float *X"}, "getpayloadl": {"[sp + 0x0]": "const long double *X"}, "getpayloadfN": {"[sp + 0x0]": "const _FloatN *X"}, "getpayloadfNx": {"[sp + 0x0]": "const _FloatNx *X"}, "setpayload": {"[sp + 0x0]": "double *X", "[sp + 0x4]": "double PAYLOAD"}, "setpayloadf": {"[sp + 0x0]": "float *X", "[sp + 0x4]": "float PAYLOAD"}, "setpayloadl": {"[sp + 0x0]": "long double *X", "[sp + 0x4]": "long double PAYLOAD"}, "setpayloadfN": {"[sp + 0x0]": "_FloatN *X", "[sp + 0x4]": "_FloatN PAYLOAD"}, "setpayloadfNx": {"[sp + 0x0]": "_FloatNx *X", "[sp + 0x4]": "_FloatNx PAYLOAD"}, "setpayloadsig": {"[sp + 0x0]": "double *X", "[sp + 0x4]": "double PAYLOAD"}, "setpayloadsigf": {"[sp + 0x0]": "float *X", "[sp + 0x4]": "float PAYLOAD"}, "setpayloadsigl": {"[sp + 0x0]": "long double *X", "[sp + 0x4]": "long double PAYLOAD"}, "setpayloadsigfN": {"[sp + 0x0]": "_FloatN *X", "[sp + 0x4]": "_FloatN PAYLOAD"}, "setpayloadsigfNx": {"[sp + 0x0]": "_FloatNx *X", "[sp + 0x4]": "_FloatNx PAYLOAD"}, "totalorder": {"[sp + 0x0]": "const double *X", "[sp + 0x4]": "const double *Y"}, "totalorderf": {"[sp + 0x0]": "const float *X", "[sp + 0x4]": "const float *Y"}, "totalorderl": {"[sp + 0x0]": "const long double *X", "[sp + 0x4]": "const long double *Y"}, "totalorderfN": {"[sp + 0x0]": "const _FloatN *X", "[sp + 0x4]": "const _FloatN *Y"}, "totalorderfNx": {"[sp + 0x0]": "const _FloatNx *X", "[sp + 0x4]": "const _FloatNx *Y"}, "totalordermag": {"[sp + 0x0]": "const double *X", "[sp + 0x4]": "const double *Y"}, "totalordermagf": {"[sp + 0x0]": "const float *X", "[sp + 0x4]": "const float *Y"}, "totalordermagl": {"[sp + 0x0]": "const long double *X", "[sp + 0x4]": "const long double *Y"}, "totalordermagfN": {"[sp + 0x0]": "const _FloatN *X", "[sp + 0x4]": "const _FloatN *Y"}, "totalordermagfNx": {"[sp + 0x0]": "const _FloatNx *X", "[sp + 0x4]": "const _FloatNx *Y"}, "fmin": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fminf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "fminl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fminfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fminfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fmax": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fmaxf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "fmaxl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fmaxfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fmaxfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fminmag": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fminmagf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "fminmagl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fminmagfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fminmagfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fmaxmag": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fmaxmagf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "fmaxmagl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fmaxmagfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fmaxmagfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fdim": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fdimf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "fdiml": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fdimfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fdimfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fma": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y", "[sp + 0x8]": "double Z"}, "fmaf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y", "[sp + 0x8]": "float Z"}, "fmal": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y", "[sp + 0x8]": "long double Z"}, "fmafN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y", "[sp + 0x8]": "_FloatN Z"}, "fmafNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y", "[sp + 0x8]": "_FloatNx Z"}, "fadd": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "faddl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "daddl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fMaddfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMaddfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fMxaddfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMxaddfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fsub": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fsubl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "dsubl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fMsubfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMsubfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fMxsubfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMxsubfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fmul": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fmull": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "dmull": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fMmulfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMmulfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fMxmulfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMxmulfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fdiv": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fdivl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "ddivl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fMdivfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMdivfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fMxdivfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMxdivfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "creal": {"[sp + 0x0]": "complex double Z"}, "crealf": {"[sp + 0x0]": "complex float Z"}, "creall": {"[sp + 0x0]": "complex long double Z"}, "crealfN": {"[sp + 0x0]": "complex _FloatN Z"}, "crealfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "cimag": {"[sp + 0x0]": "complex double Z"}, "cimagf": {"[sp + 0x0]": "complex float Z"}, "cimagl": {"[sp + 0x0]": "complex long double Z"}, "cimagfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cimagfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "conj": {"[sp + 0x0]": "complex double Z"}, "conjf": {"[sp + 0x0]": "complex float Z"}, "conjl": {"[sp + 0x0]": "complex long double Z"}, "conjfN": {"[sp + 0x0]": "complex _FloatN Z"}, "conjfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "carg": {"[sp + 0x0]": "complex double Z"}, "cargf": {"[sp + 0x0]": "complex float Z"}, "cargl": {"[sp + 0x0]": "complex long double Z"}, "cargfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cargfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "cproj": {"[sp + 0x0]": "complex double Z"}, "cprojf": {"[sp + 0x0]": "complex float Z"}, "cprojl": {"[sp + 0x0]": "complex long double Z"}, "cprojfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cprojfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "strtol": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstol": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoul": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoul": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoll": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoll": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoq": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoq": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoull": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoull": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtouq": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstouq": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoimax": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoimax": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoumax": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoumax": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "atol": {"[sp + 0x0]": "const char *STRING"}, "atoi": {"[sp + 0x0]": "const char *STRING"}, "atoll": {"[sp + 0x0]": "const char *STRING"}, "strtod": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR"}, "strtof": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "char **TAILPTR"}, "strtold": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "char **TAILPTR"}, "strtofN": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "char **TAILPTR"}, "strtofNx": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "char **TAILPTR"}, "wcstod": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR"}, "wcstof": {"[sp + 0x0]": "const wchar_t *STRING", "[sp + 0x4]": "wchar_t **TAILPTR"}, "wcstold": {"[sp + 0x0]": "const wchar_t *STRING", "[sp + 0x4]": "wchar_t **TAILPTR"}, "wcstofN": {"[sp + 0x0]": "const wchar_t *STRING", "[sp + 0x4]": "wchar_t **TAILPTR"}, "wcstofNx": {"[sp + 0x0]": "const wchar_t *STRING", "[sp + 0x4]": "wchar_t **TAILPTR"}, "atof": {"[sp + 0x0]": "const char *STRING"}, "strfromd": {"[sp + 0x0]": "char *restrict STRING", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *restrict FORMAT", "[sp + 0xc]": "double VALUE"}, "strfromf": {"[sp + 0x0]": "char *restrict STRING", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *restrict FORMAT", "[sp + 0xc]": "float VALUE"}, "strfroml": {"[sp + 0x0]": "char *restrict STRING", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *restrict FORMAT", "[sp + 0xc]": "long double VALUE"}, "strfromfN": {"[sp + 0x0]": "char *restrict STRING", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *restrict FORMAT", "[sp + 0xc]": "_FloatN VALUE"}, "strfromfNx": {"[sp + 0x0]": "char *restrict STRING", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *restrict FORMAT", "[sp + 0xc]": "_FloatNx VALUE"}, "ecvt": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG"}, "fcvt": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG"}, "gcvt": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "char *BUF"}, "qecvt": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG"}, "qfcvt": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG"}, "qgcvt": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "char *BUF"}, "ecvt_r": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG", "[sp + 0x10]": "char *BUF", "[sp + 0x14]": "size_t LEN"}, "fcvt_r": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG", "[sp + 0x10]": "char *BUF", "[sp + 0x14]": "size_t LEN"}, "qecvt_r": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG", "[sp + 0x10]": "char *BUF", "[sp + 0x14]": "size_t LEN"}, "qfcvt_r": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG", "[sp + 0x10]": "char *BUF", "[sp + 0x14]": "size_t LEN"}, "difftime": {"[sp + 0x0]": "time_t END", "[sp + 0x4]": "time_t BEGIN"}, "clock": {"[sp + 0x0]": "void"}, "times": {"[sp + 0x0]": "struct tms *BUFFER"}, "time": {"[sp + 0x0]": "time_t *RESULT"}, "clock_gettime": {"[sp + 0x0]": "clockid_t CLOCK", "[sp + 0x4]": "struct timespec *TS"}, "clock_getres": {"[sp + 0x0]": "clockid_t CLOCK", "[sp + 0x4]": "struct timespec *RES"}, "gettimeofday": {"[sp + 0x0]": "struct timeval *TP", "[sp + 0x4]": "void *TZP"}, "clock_settime": {"[sp + 0x0]": "clockid_t CLOCK", "[sp + 0x4]": "const struct timespec *TS"}, "ntp_gettime": {"[sp + 0x0]": "struct ntptimeval *TPTR"}, "ntp_adjtime": {"[sp + 0x0]": "struct timex *TPTR"}, "adjtime": {"[sp + 0x0]": "const struct timeval *DELTA", "[sp + 0x4]": "struct timeval *OLDDELTA"}, "stime": {"[sp + 0x0]": "const time_t *NEWTIME"}, "adjtimex": {"[sp + 0x0]": "struct timex *TIMEX"}, "settimeofday": {"[sp + 0x0]": "const struct timeval *TP", "[sp + 0x4]": "const void *TZP"}, "localtime": {"[sp + 0x0]": "const time_t *TIME"}, "localtime_r": {"[sp + 0x0]": "const time_t *TIME", "[sp + 0x4]": "struct tm *RESULTP"}, "gmtime": {"[sp + 0x0]": "const time_t *TIME"}, "gmtime_r": {"[sp + 0x0]": "const time_t *TIME", "[sp + 0x4]": "struct tm *RESULTP"}, "mktime": {"[sp + 0x0]": "struct tm *BROKENTIME"}, "timelocal": {"[sp + 0x0]": "struct tm *BROKENTIME"}, "timegm": {"[sp + 0x0]": "struct tm *BROKENTIME"}, "asctime": {"[sp + 0x0]": "const struct tm *BROKENTIME"}, "asctime_r": {"[sp + 0x0]": "const struct tm *BROKENTIME", "[sp + 0x4]": "char *BUFFER"}, "ctime": {"[sp + 0x0]": "const time_t *TIME"}, "ctime_r": {"[sp + 0x0]": "const time_t *TIME", "[sp + 0x4]": "char *BUFFER"}, "strftime": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *TEMPLATE", "[sp + 0xc]": "const struct tm *BROKENTIME"}, "wcsftime": {"[sp + 0x0]": "wchar_t *S", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const wchar_t *TEMPLATE", "[sp + 0xc]": "const struct tm *BROKENTIME"}, "strptime": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "const char *FMT", "[sp + 0x8]": "struct tm *TP"}, "getdate": {"[sp + 0x0]": "const char *STRING"}, "getdate_r": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "struct tm *TP"}, "tzset": {"[sp + 0x0]": "void"}, "setitimer": {"[sp + 0x0]": "int WHICH", "[sp + 0x4]": "const struct itimerval *NEW", "[sp + 0x8]": "struct itimerval *OLD"}, "getitimer": {"[sp + 0x0]": "int WHICH", "[sp + 0x4]": "struct itimerval *OLD"}, "alarm": {"[sp + 0x0]": "unsigned int SECONDS"}, "sleep": {"[sp + 0x0]": "unsigned int SECONDS"}, "nanosleep": {"[sp + 0x0]": "const struct timespec *REQUESTED_TIME", "[sp + 0x4]": "struct timespec *REMAINING"}, "getrusage": {"[sp + 0x0]": "int PROCESSES", "[sp + 0x4]": "struct rusage *RUSAGE"}, "vtimes": {"[sp + 0x0]": "struct vtimes *CURRENT", "[sp + 0x4]": "struct vtimes *CHILD"}, "getrlimit": {"[sp + 0x0]": "int RESOURCE", "[sp + 0x4]": "struct rlimit *RLP"}, "getrlimit64": {"[sp + 0x0]": "int RESOURCE", "[sp + 0x4]": "struct rlimit64 *RLP"}, "setrlimit": {"[sp + 0x0]": "int RESOURCE", "[sp + 0x4]": "const struct rlimit *RLP"}, "setrlimit64": {"[sp + 0x0]": "int RESOURCE", "[sp + 0x4]": "const struct rlimit64 *RLP"}, "ulimit": {"[sp + 0x0]": "int CMD", "[sp + 0x4]": "..."}, "vlimit": {"[sp + 0x0]": "int RESOURCE", "[sp + 0x4]": "int LIMIT"}, "sched_setscheduler": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "int POLICY", "[sp + 0x8]": "const struct sched_param *PARAM"}, "sched_getscheduler": {"[sp + 0x0]": "pid_t PID"}, "sched_setparam": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "const struct sched_param *PARAM"}, "sched_getparam": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "struct sched_param *PARAM"}, "sched_get_priority_min": {"[sp + 0x0]": "int POLICY"}, "sched_get_priority_max": {"[sp + 0x0]": "int POLICY"}, "sched_rr_get_interval": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "struct timespec *INTERVAL"}, "sched_yield": {"[sp + 0x0]": "void"}, "getpriority": {"[sp + 0x0]": "int CLASS", "[sp + 0x4]": "int ID"}, "setpriority": {"[sp + 0x0]": "int CLASS", "[sp + 0x4]": "int ID", "[sp + 0x8]": "int NICEVAL"}, "nice": {"[sp + 0x0]": "int INCREMENT"}, "sched_getaffinity": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "size_t CPUSETSIZE", "[sp + 0x8]": "cpu_set_t *CPUSET"}, "sched_setaffinity": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "size_t CPUSETSIZE", "[sp + 0x8]": "const cpu_set_t *CPUSET"}, "getcpu": {"[sp + 0x0]": "unsigned int *cpu", "[sp + 0x4]": "unsigned int *node"}, "getpagesize": {"[sp + 0x0]": "void"}, "get_phys_pages": {"[sp + 0x0]": "void"}, "get_avphys_pages": {"[sp + 0x0]": "void"}, "get_nprocs_conf": {"[sp + 0x0]": "void"}, "get_nprocs": {"[sp + 0x0]": "void"}, "getloadavg": {"[sp + 0x0]": "double LOADAVG[]", "[sp + 0x4]": "int NELEM"}, "longjmp": {"[sp + 0x0]": "jmp_buf STATE", "[sp + 0x4]": "int VALUE"}, "sigsetjmp": {"[sp + 0x0]": "sigjmp_buf STATE", "[sp + 0x4]": "int SAVESIGS"}, "siglongjmp": {"[sp + 0x0]": "sigjmp_buf STATE", "[sp + 0x4]": "int VALUE"}, "getcontext": {"[sp + 0x0]": "ucontext_t *UCP"}, "makecontext": {"[sp + 0x0]": "ucontext_t *UCP", "[sp + 0x4]": "void (*FUNC) (void)", "[sp + 0x8]": "int ARGC", "[sp + 0xc]": "..."}, "setcontext": {"[sp + 0x0]": "const ucontext_t *UCP"}, "swapcontext": {"[sp + 0x0]": "ucontext_t *restrict OUCP", "[sp + 0x4]": "const ucontext_t *restrict UCP"}, "strsignal": {"[sp + 0x0]": "int SIGNUM"}, "psignal": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "const char *MESSAGE"}, "sigdescr_np": {"[sp + 0x0]": "int SIGNUM"}, "sigabbrev_np": {"[sp + 0x0]": "int SIGNUM"}, "signal": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "sighandler_t ACTION"}, "sysv_signal": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "sighandler_t ACTION"}, "ssignal": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "sighandler_t ACTION"}, "sigaction": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "const struct sigaction *restrict ACTION", "[sp + 0x8]": "struct sigaction *restrict OLD-ACTION"}, "raise": {"[sp + 0x0]": "int SIGNUM"}, "gsignal": {"[sp + 0x0]": "int SIGNUM"}, "kill": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "int SIGNUM"}, "tgkill": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "pid_t TID", "[sp + 0x8]": "int SIGNUM"}, "killpg": {"[sp + 0x0]": "int PGID", "[sp + 0x4]": "int SIGNUM"}, "sigemptyset": {"[sp + 0x0]": "sigset_t *SET"}, "sigfillset": {"[sp + 0x0]": "sigset_t *SET"}, "sigaddset": {"[sp + 0x0]": "sigset_t *SET", "[sp + 0x4]": "int SIGNUM"}, "sigdelset": {"[sp + 0x0]": "sigset_t *SET", "[sp + 0x4]": "int SIGNUM"}, "sigismember": {"[sp + 0x0]": "const sigset_t *SET", "[sp + 0x4]": "int SIGNUM"}, "sigprocmask": {"[sp + 0x0]": "int HOW", "[sp + 0x4]": "const sigset_t *restrict SET", "[sp + 0x8]": "sigset_t *restrict OLDSET"}, "sigpending": {"[sp + 0x0]": "sigset_t *SET"}, "pause": {"[sp + 0x0]": "void"}, "sigsuspend": {"[sp + 0x0]": "const sigset_t *SET"}, "sigaltstack": {"[sp + 0x0]": "const stack_t *restrict STACK", "[sp + 0x4]": "stack_t *restrict OLDSTACK"}, "sigstack": {"[sp + 0x0]": "struct sigstack *STACK", "[sp + 0x4]": "struct sigstack *OLDSTACK"}, "siginterrupt": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "int FAILFLAG"}, "sigblock": {"[sp + 0x0]": "int MASK"}, "sigsetmask": {"[sp + 0x0]": "int MASK"}, "sigpause": {"[sp + 0x0]": "int MASK"}, "getopt": {"[sp + 0x0]": "int ARGC", "[sp + 0x4]": "char *const *ARGV", "[sp + 0x8]": "const char *OPTIONS"}, "getopt_long": {"[sp + 0x0]": "int ARGC", "[sp + 0x4]": "char *const *ARGV", "[sp + 0x8]": "const char *SHORTOPTS", "[sp + 0xc]": "const struct option *LONGOPTS", "[sp + 0x10]": "int *INDEXPTR"}, "getopt_long_only": {"[sp + 0x0]": "int ARGC", "[sp + 0x4]": "char *const *ARGV", "[sp + 0x8]": "const char *SHORTOPTS", "[sp + 0xc]": "const struct option *LONGOPTS", "[sp + 0x10]": "int *INDEXPTR"}, "argp_parse": {"[sp + 0x0]": "const struct argp *ARGP", "[sp + 0x4]": "int ARGC", "[sp + 0x8]": "char **ARGV", "[sp + 0xc]": "unsigned FLAGS", "[sp + 0x10]": "int *ARG_INDEX", "[sp + 0x14]": "void *INPUT"}, "argp_usage": {"[sp + 0x0]": "const struct argp_state *STATE"}, "argp_error": {"[sp + 0x0]": "const struct argp_state *STATE", "[sp + 0x4]": "const char *FMT", "[sp + 0x8]": "..."}, "argp_failure": {"[sp + 0x0]": "const struct argp_state *STATE", "[sp + 0x4]": "int STATUS", "[sp + 0x8]": "int ERRNUM", "[sp + 0xc]": "const char *FMT", "[sp + 0x10]": "..."}, "argp_state_help": {"[sp + 0x0]": "const struct argp_state *STATE", "[sp + 0x4]": "FILE *STREAM", "[sp + 0x8]": "unsigned FLAGS"}, "argp_help": {"[sp + 0x0]": "const struct argp *ARGP", "[sp + 0x4]": "FILE *STREAM", "[sp + 0x8]": "unsigned FLAGS", "[sp + 0xc]": "char *NAME"}, "getsubopt": {"[sp + 0x0]": "char **OPTIONP", "[sp + 0x4]": "char *const *TOKENS", "[sp + 0x8]": "char **VALUEP"}, "getenv": {"[sp + 0x0]": "const char *NAME"}, "secure_getenv": {"[sp + 0x0]": "const char *NAME"}, "putenv": {"[sp + 0x0]": "char *STRING"}, "setenv": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "const char *VALUE", "[sp + 0x8]": "int REPLACE"}, "unsetenv": {"[sp + 0x0]": "const char *NAME"}, "clearenv": {"[sp + 0x0]": "void"}, "getauxval": {"[sp + 0x0]": "unsigned long int TYPE"}, "syscall": {"[sp + 0x0]": "long int SYSNO", "[sp + 0x4]": "..."}, "exit": {"[sp + 0x0]": "int STATUS"}, "atexit": {"[sp + 0x0]": "void (*FUNCTION) (void)"}, "on_exit": {"[sp + 0x0]": "void (*FUNCTION)(int STATUS", "[sp + 0x4]": "void *ARG)", "[sp + 0x8]": "void *ARG"}, "abort": {"[sp + 0x0]": "void"}, "_exit": {"[sp + 0x0]": "int STATUS"}, "_Exit": {"[sp + 0x0]": "int STATUS"}, "system": {"[sp + 0x0]": "const char *COMMAND"}, "getpid": {"[sp + 0x0]": "void"}, "getppid": {"[sp + 0x0]": "void"}, "gettid": {"[sp + 0x0]": "void"}, "fork": {"[sp + 0x0]": "void"}, "vfork": {"[sp + 0x0]": "void"}, "execv": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "char *const ARGV[]"}, "execl": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *ARG0", "[sp + 0x8]": "..."}, "execve": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "char *const ARGV[]", "[sp + 0x8]": "char *const ENV[]"}, "fexecve": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "char *const ARGV[]", "[sp + 0x8]": "char *const ENV[]"}, "execle": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *ARG0", "[sp + 0x8]": "...", "[sp + 0xc]": "char *const ENV[]"}, "execvp": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "char *const ARGV[]"}, "execlp": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *ARG0", "[sp + 0x8]": "..."}, "waitpid": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "int *STATUS-PTR", "[sp + 0x8]": "int OPTIONS"}, "wait": {"[sp + 0x0]": "int *STATUS-PTR"}, "wait4": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "int *STATUS-PTR", "[sp + 0x8]": "int OPTIONS", "[sp + 0xc]": "struct rusage *USAGE"}, "wait3": {"[sp + 0x0]": "int *STATUS-PTR", "[sp + 0x4]": "int OPTIONS", "[sp + 0x8]": "struct rusage *USAGE"}, "semctl": {"[sp + 0x0]": "int SEMID", "[sp + 0x4]": "int SEMNUM", "[sp + 0x8]": "int CMD"}, "semget": {"[sp + 0x0]": "key_t KEY", "[sp + 0x4]": "int NSEMS", "[sp + 0x8]": "int SEMFLG"}, "semop": {"[sp + 0x0]": "int SEMID", "[sp + 0x4]": "struct sembuf *SOPS", "[sp + 0x8]": "size_t NSOPS"}, "semtimedop": {"[sp + 0x0]": "int SEMID", "[sp + 0x4]": "struct sembuf *SOPS", "[sp + 0x8]": "size_t NSOPS", "[sp + 0xc]": "const struct timespec *TIMEOUT"}, "sem_init": {"[sp + 0x0]": "sem_t *SEM", "[sp + 0x4]": "int PSHARED", "[sp + 0x8]": "unsigned int VALUE"}, "sem_destroy": {"[sp + 0x0]": "sem_t *SEM"}, "*sem_open": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "int OFLAG", "[sp + 0x8]": "..."}, "sem_close": {"[sp + 0x0]": "sem_t *SEM"}, "sem_unlink": {"[sp + 0x0]": "const char *NAME"}, "sem_wait": {"[sp + 0x0]": "sem_t *SEM"}, "sem_timedwait": {"[sp + 0x0]": "sem_t *SEM", "[sp + 0x4]": "const struct timespec *ABSTIME"}, "sem_trywait": {"[sp + 0x0]": "sem_t *SEM"}, "sem_post": {"[sp + 0x0]": "sem_t *SEM"}, "sem_getvalue": {"[sp + 0x0]": "sem_t *SEM", "[sp + 0x4]": "int *SVAL"}, "ctermid": {"[sp + 0x0]": "char *STRING"}, "setsid": {"[sp + 0x0]": "void"}, "getsid": {"[sp + 0x0]": "pid_t PID"}, "getpgrp": {"[sp + 0x0]": "void"}, "getpgid": {"[sp + 0x0]": "pid_t PID"}, "setpgid": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "pid_t PGID"}, "setpgrp": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "pid_t PGID"}, "tcgetpgrp": {"[sp + 0x0]": "int FILEDES"}, "tcsetpgrp": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "pid_t PGID"}, "tcgetsid": {"[sp + 0x0]": "int FILDES"}, "getuid": {"[sp + 0x0]": "void"}, "getgid": {"[sp + 0x0]": "void"}, "geteuid": {"[sp + 0x0]": "void"}, "getegid": {"[sp + 0x0]": "void"}, "getgroups": {"[sp + 0x0]": "int COUNT", "[sp + 0x4]": "gid_t *GROUPS"}, "seteuid": {"[sp + 0x0]": "uid_t NEWEUID"}, "setuid": {"[sp + 0x0]": "uid_t NEWUID"}, "setreuid": {"[sp + 0x0]": "uid_t RUID", "[sp + 0x4]": "uid_t EUID"}, "setegid": {"[sp + 0x0]": "gid_t NEWGID"}, "setgid": {"[sp + 0x0]": "gid_t NEWGID"}, "setregid": {"[sp + 0x0]": "gid_t RGID", "[sp + 0x4]": "gid_t EGID"}, "setgroups": {"[sp + 0x0]": "size_t COUNT", "[sp + 0x4]": "const gid_t *GROUPS"}, "initgroups": {"[sp + 0x0]": "const char *USER", "[sp + 0x4]": "gid_t GROUP"}, "getgrouplist": {"[sp + 0x0]": "const char *USER", "[sp + 0x4]": "gid_t GROUP", "[sp + 0x8]": "gid_t *GROUPS", "[sp + 0xc]": "int *NGROUPS"}, "getlogin": {"[sp + 0x0]": "void"}, "cuserid": {"[sp + 0x0]": "char *STRING"}, "setutent": {"[sp + 0x0]": "void"}, "getutent": {"[sp + 0x0]": "void"}, "endutent": {"[sp + 0x0]": "void"}, "getutid": {"[sp + 0x0]": "const struct utmp *ID"}, "getutline": {"[sp + 0x0]": "const struct utmp *LINE"}, "pututline": {"[sp + 0x0]": "const struct utmp *UTMP"}, "getutent_r": {"[sp + 0x0]": "struct utmp *BUFFER", "[sp + 0x4]": "struct utmp **RESULT"}, "getutid_r": {"[sp + 0x0]": "const struct utmp *ID", "[sp + 0x4]": "struct utmp *BUFFER", "[sp + 0x8]": "struct utmp **RESULT"}, "getutline_r": {"[sp + 0x0]": "const struct utmp *LINE", "[sp + 0x4]": "struct utmp *BUFFER", "[sp + 0x8]": "struct utmp **RESULT"}, "utmpname": {"[sp + 0x0]": "const char *FILE"}, "updwtmp": {"[sp + 0x0]": "const char *WTMP_FILE", "[sp + 0x4]": "const struct utmp *UTMP"}, "setutxent": {"[sp + 0x0]": "void"}, "getutxent": {"[sp + 0x0]": "void"}, "endutxent": {"[sp + 0x0]": "void"}, "getutxid": {"[sp + 0x0]": "const struct utmpx *ID"}, "getutxline": {"[sp + 0x0]": "const struct utmpx *LINE"}, "pututxline": {"[sp + 0x0]": "const struct utmpx *UTMP"}, "utmpxname": {"[sp + 0x0]": "const char *FILE"}, "getutmp": {"[sp + 0x0]": "const struct utmpx *UTMPX", "[sp + 0x4]": "struct utmp *UTMP"}, "getutmpx": {"[sp + 0x0]": "const struct utmp *UTMP", "[sp + 0x4]": "struct utmpx *UTMPX"}, "login_tty": {"[sp + 0x0]": "int FILEDES"}, "login": {"[sp + 0x0]": "const struct utmp *ENTRY"}, "logout": {"[sp + 0x0]": "const char *UT_LINE"}, "logwtmp": {"[sp + 0x0]": "const char *UT_LINE", "[sp + 0x4]": "const char *UT_NAME", "[sp + 0x8]": "const char *UT_HOST"}, "getpwuid": {"[sp + 0x0]": "uid_t UID"}, "getpwuid_r": {"[sp + 0x0]": "uid_t UID", "[sp + 0x4]": "struct passwd *RESULT_BUF", "[sp + 0x8]": "char *BUFFER", "[sp + 0xc]": "size_t BUFLEN", "[sp + 0x10]": "struct passwd **RESULT"}, "getpwnam": {"[sp + 0x0]": "const char *NAME"}, "getpwnam_r": {"[sp + 0x0]": ""}, "fgetpwent": {"[sp + 0x0]": "FILE *STREAM"}, "fgetpwent_r": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "struct passwd *RESULT_BUF", "[sp + 0x8]": "char *BUFFER", "[sp + 0xc]": "size_t BUFLEN", "[sp + 0x10]": "struct passwd **RESULT"}, "setpwent": {"[sp + 0x0]": "void"}, "getpwent": {"[sp + 0x0]": "void"}, "getpwent_r": {"[sp + 0x0]": "struct passwd *RESULT_BUF", "[sp + 0x4]": "char *BUFFER", "[sp + 0x8]": "size_t BUFLEN", "[sp + 0xc]": "struct passwd **RESULT"}, "endpwent": {"[sp + 0x0]": "void"}, "putpwent": {"[sp + 0x0]": "const struct passwd *P", "[sp + 0x4]": "FILE *STREAM"}, "getgrgid": {"[sp + 0x0]": "gid_t GID"}, "getgrgid_r": {"[sp + 0x0]": "gid_t GID", "[sp + 0x4]": "struct group *RESULT_BUF", "[sp + 0x8]": "char *BUFFER", "[sp + 0xc]": "size_t BUFLEN", "[sp + 0x10]": "struct group **RESULT"}, "getgrnam": {"[sp + 0x0]": "const char *NAME"}, "getgrnam_r": {"[sp + 0x0]": ""}, "fgetgrent": {"[sp + 0x0]": "FILE *STREAM"}, "fgetgrent_r": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "struct group *RESULT_BUF", "[sp + 0x8]": "char *BUFFER", "[sp + 0xc]": "size_t BUFLEN", "[sp + 0x10]": "struct group **RESULT"}, "setgrent": {"[sp + 0x0]": "void"}, "getgrent": {"[sp + 0x0]": "void"}, "getgrent_r": {"[sp + 0x0]": "struct group *RESULT_BUF", "[sp + 0x4]": "char *BUFFER", "[sp + 0x8]": "size_t BUFLEN", "[sp + 0xc]": "struct group **RESULT"}, "endgrent": {"[sp + 0x0]": "void"}, "setnetgrent": {"[sp + 0x0]": "const char *NETGROUP"}, "getnetgrent": {"[sp + 0x0]": "char **HOSTP", "[sp + 0x4]": "char **USERP", "[sp + 0x8]": "char **DOMAINP"}, "getnetgrent_r": {"[sp + 0x0]": "char **HOSTP", "[sp + 0x4]": "char **USERP", "[sp + 0x8]": "char **DOMAINP", "[sp + 0xc]": "char *BUFFER", "[sp + 0x10]": "size_t BUFLEN"}, "endnetgrent": {"[sp + 0x0]": "void"}, "innetgr": {"[sp + 0x0]": "const char *NETGROUP", "[sp + 0x4]": "const char *HOST", "[sp + 0x8]": "const char *USER", "[sp + 0xc]": "const char *DOMAIN"}, "gethostname": {"[sp + 0x0]": "char *NAME", "[sp + 0x4]": "size_t SIZE"}, "sethostname": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "size_t LENGTH"}, "getdomainnname": {"[sp + 0x0]": "char *NAME", "[sp + 0x4]": "size_t LENGTH"}, "setdomainname": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "size_t LENGTH"}, "gethostid": {"[sp + 0x0]": "void"}, "sethostid": {"[sp + 0x0]": "long int ID"}, "uname": {"[sp + 0x0]": "struct utsname *INFO"}, "setfsent": {"[sp + 0x0]": "void"}, "endfsent": {"[sp + 0x0]": "void"}, "getfsent": {"[sp + 0x0]": "void"}, "getfsspec": {"[sp + 0x0]": "const char *NAME"}, "getfsfile": {"[sp + 0x0]": "const char *NAME"}, "setmntent": {"[sp + 0x0]": "const char *FILE", "[sp + 0x4]": "const char *MODE"}, "endmntent": {"[sp + 0x0]": "FILE *STREAM"}, "getmntent": {"[sp + 0x0]": "FILE *STREAM"}, "getmntent_r": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "struct mntent *RESULT", "[sp + 0x8]": "char *BUFFER", "[sp + 0xc]": "int BUFSIZE"}, "addmntent": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const struct mntent *MNT"}, "hasmntopt": {"[sp + 0x0]": "const struct mntent *MNT", "[sp + 0x4]": "const char *OPT"}, "mount": {"[sp + 0x0]": ""}, "umount2": {"[sp + 0x0]": "const char *FILE", "[sp + 0x4]": "int FLAGS"}, "umount": {"[sp + 0x0]": "const char *FILE"}, "sysconf": {"[sp + 0x0]": "int PARAMETER"}, "pathconf": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "int PARAMETER"}, "fpathconf": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int PARAMETER"}, "confstr": {"[sp + 0x0]": "int PARAMETER", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "size_t LEN"}, "crypt": {"[sp + 0x0]": "const char *PHRASE", "[sp + 0x4]": "const char *SALT"}, "crypt_r": {"[sp + 0x0]": "const char *PHRASE", "[sp + 0x4]": "const char *SALT", "[sp + 0x8]": "struct crypt_data *DATA"}, "getentropy": {"[sp + 0x0]": "void *BUFFER", "[sp + 0x4]": "size_t LENGTH"}, "getrandom": {"[sp + 0x0]": "void *BUFFER", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "unsigned int FLAGS"}, "backtrace": {"[sp + 0x0]": "void **BUFFER", "[sp + 0x4]": "int SIZE"}, "backtrace_symbols": {"[sp + 0x0]": "void *const *BUFFER", "[sp + 0x4]": "int SIZE"}, "backtrace_symbols_fd": {"[sp + 0x0]": "void *const *BUFFER", "[sp + 0x4]": "int SIZE", "[sp + 0x8]": "int FD"}, "thrd_create": {"[sp + 0x0]": "thrd_t *THR", "[sp + 0x4]": "thrd_start_t FUNC", "[sp + 0x8]": "void *ARG"}, "thrd_current": {"[sp + 0x0]": "void"}, "thrd_equal": {"[sp + 0x0]": "thrd_t LHS", "[sp + 0x4]": "thrd_t RHS"}, "thrd_sleep": {"[sp + 0x0]": "const struct timespec *TIME_POINT", "[sp + 0x4]": "struct timespec *REMAINING"}, "thrd_yield": {"[sp + 0x0]": "void"}, "thrd_exit": {"[sp + 0x0]": "int RES"}, "thrd_detach": {"[sp + 0x0]": "thrd_t THR"}, "thrd_join": {"[sp + 0x0]": "thrd_t THR", "[sp + 0x4]": "int *RES"}, "call_once": {"[sp + 0x0]": "once_flag *FLAG", "[sp + 0x4]": "void (*FUNC) (void)"}, "mtx_init": {"[sp + 0x0]": "mtx_t *MUTEX", "[sp + 0x4]": "int TYPE"}, "mtx_lock": {"[sp + 0x0]": "mtx_t *MUTEX"}, "mtx_timedlock": {"[sp + 0x0]": "mtx_t *restrict MUTEX", "[sp + 0x4]": "const struct timespec *restrict TIME_POINT"}, "mtx_trylock": {"[sp + 0x0]": "mtx_t *MUTEX"}, "mtx_unlock": {"[sp + 0x0]": "mtx_t *MUTEX"}, "mtx_destroy": {"[sp + 0x0]": "mtx_t *MUTEX"}, "cnd_init": {"[sp + 0x0]": "cnd_t *COND"}, "cnd_signal": {"[sp + 0x0]": "cnd_t *COND"}, "cnd_broadcast": {"[sp + 0x0]": "cnd_t *COND"}, "cnd_wait": {"[sp + 0x0]": "cnd_t *COND", "[sp + 0x4]": "mtx_t *MUTEX"}, "cnd_timedwait": {"[sp + 0x0]": "cnd_t *restrict COND", "[sp + 0x4]": "mtx_t *restrict MUTEX", "[sp + 0x8]": "const struct timespec *restrict TIME_POINT"}, "cnd_destroy": {"[sp + 0x0]": "cnd_t *COND"}, "tss_create": {"[sp + 0x0]": "tss_t *TSS_KEY", "[sp + 0x4]": "tss_dtor_t DESTRUCTOR"}, "tss_set": {"[sp + 0x0]": "tss_t TSS_KEY", "[sp + 0x4]": "void *VAL"}, "tss_get": {"[sp + 0x0]": "tss_t TSS_KEY"}, "tss_delete": {"[sp + 0x0]": "tss_t TSS_KEY"}, "pthread_key_create": {"[sp + 0x0]": "pthread_key_t *KEY", "[sp + 0x4]": "void (*DESTRUCTOR)(void*)"}, "pthread_key_delete": {"[sp + 0x0]": "pthread_key_t KEY"}, "*pthread_getspecific": {"[sp + 0x0]": "pthread_key_t KEY"}, "pthread_setspecific": {"[sp + 0x0]": "pthread_key_t KEY", "[sp + 0x4]": "const void *VALUE"}, "pthread_getattr_default_np": {"[sp + 0x0]": "pthread_attr_t *ATTR"}, "pthread_setattr_default_np": {"[sp + 0x0]": "pthread_attr_t *ATTR"}, "pthread_attr_setsigmask_np": {"[sp + 0x0]": "pthread_attr_t *ATTR", "[sp + 0x4]": "const sigset_t *SIGMASK"}, "pthread_attr_getsigmask_np": {"[sp + 0x0]": "const pthread_attr_t *ATTR", "[sp + 0x4]": "sigset_t *SIGMASK"}, "sem_clockwait": {"[sp + 0x0]": "sem_t *SEM", "[sp + 0x4]": "clockid_t CLOCKID", "[sp + 0x8]": "const struct timespec *ABSTIME"}, "pthread_cond_clockwait": {"[sp + 0x0]": ""}, "pthread_rwlock_clockrdlock": {"[sp + 0x0]": "pthread_rwlock_t *RWLOCK", "[sp + 0x4]": "clockid_t CLOCKID", "[sp + 0x8]": "const struct timespec *ABSTIME"}, "pthread_rwlock_clockwrlock": {"[sp + 0x0]": "pthread_rwlock_t *RWLOCK", "[sp + 0x4]": "clockid_t CLOCKID", "[sp + 0x8]": "const struct timespec *ABSTIME"}, "pthread_tryjoin_np": {"[sp + 0x0]": "pthread_t *THREAD", "[sp + 0x4]": "void **THREAD_RETURN"}, "pthread_timedjoin_np": {"[sp + 0x0]": "pthread_t *THREAD", "[sp + 0x4]": "void **THREAD_RETURN", "[sp + 0x8]": "const struct timespec *ABSTIME"}, "pthread_clockjoin_np": {"[sp + 0x0]": ""}, "__ppc_get_timebase": {"[sp + 0x0]": "void"}, "__ppc_get_timebase_freq": {"[sp + 0x0]": "void"}, "__ppc_yield": {"[sp + 0x0]": "void"}, "__ppc_mdoio": {"[sp + 0x0]": "void"}, "__ppc_mdoom": {"[sp + 0x0]": "void"}, "__ppc_set_ppr_med": {"[sp + 0x0]": "void"}, "__ppc_set_ppr_low": {"[sp + 0x0]": "void"}, "__ppc_set_ppr_med_low": {"[sp + 0x0]": "void"}, "__ppc_set_ppr_very_low": {"[sp + 0x0]": "void"}, "__ppc_set_ppr_med_high": {"[sp + 0x0]": "void"}, "__riscv_flush_icache": {"[sp + 0x0]": "void *START", "[sp + 0x4]": "void *END", "[sp + 0x8]": "unsigned long int FLAGS"}} \ No newline at end of file +{"strerror": {"[sp + 0x0]": "int ERRNUM"}, "strerror_r": {"[sp + 0x0]": "int ERRNUM", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "size_t N"}, "perror": {"[sp + 0x0]": "const char *MESSAGE"}, "strerrorname_np": {"[sp + 0x0]": "int ERRNUM"}, "strerrordesc_np": {"[sp + 0x0]": "int ERRNUM"}, "error": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "int ERRNUM", "[sp + 0x8]": "const char *FORMAT", "[sp + 0xc]": "..."}, "error_at_line": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "int ERRNUM", "[sp + 0x8]": "const char *FNAME", "[sp + 0xc]": "unsigned int LINENO", "[sp + 0x10]": "const char *FORMAT", "[sp + 0x14]": "..."}, "warn": {"[sp + 0x0]": "const char *FORMAT", "[sp + 0x4]": "..."}, "vwarn": {"[sp + 0x0]": "const char *FORMAT", "[sp + 0x4]": "va_list AP"}, "warnx": {"[sp + 0x0]": "const char *FORMAT", "[sp + 0x4]": "..."}, "vwarnx": {"[sp + 0x0]": "const char *FORMAT", "[sp + 0x4]": "va_list AP"}, "err": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "..."}, "verr": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "va_list AP"}, "errx": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "..."}, "verrx": {"[sp + 0x0]": "int STATUS", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "va_list AP"}, "malloc": {"[sp + 0x0]": "size_t SIZE"}, "free": {"[sp + 0x0]": "void *PTR"}, "realloc": {"[sp + 0x0]": "void *PTR", "[sp + 0x4]": "size_t NEWSIZE"}, "reallocarray": {"[sp + 0x0]": "void *PTR", "[sp + 0x4]": "size_t NMEMB", "[sp + 0x8]": "size_t SIZE"}, "calloc": {"[sp + 0x0]": "size_t COUNT", "[sp + 0x4]": "size_t ELTSIZE"}, "aligned_alloc": {"[sp + 0x0]": "size_t ALIGNMENT", "[sp + 0x4]": "size_t SIZE"}, "memalign": {"[sp + 0x0]": "size_t BOUNDARY", "[sp + 0x4]": "size_t SIZE"}, "posix_memalign": {"[sp + 0x0]": "void **MEMPTR", "[sp + 0x4]": "size_t ALIGNMENT", "[sp + 0x8]": "size_t SIZE"}, "valloc": {"[sp + 0x0]": "size_t SIZE"}, "mallopt": {"[sp + 0x0]": "int PARAM", "[sp + 0x4]": "int VALUE"}, "mcheck": {"[sp + 0x0]": "void (*ABORTFN) (enum mcheck_status STATUS)"}, "mprobe": {"[sp + 0x0]": "void *POINTER"}, "mallinfo": {"[sp + 0x0]": "void"}, "mtrace": {"[sp + 0x0]": "void"}, "muntrace": {"[sp + 0x0]": "void"}, "obstack_init": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "obstack_alloc": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "int SIZE"}, "obstack_copy": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *ADDRESS", "[sp + 0x8]": "int SIZE"}, "obstack_copy0": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *ADDRESS", "[sp + 0x8]": "int SIZE"}, "obstack_free": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *OBJECT"}, "obstack_blank": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "int SIZE"}, "obstack_grow": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *DATA", "[sp + 0x8]": "int SIZE"}, "obstack_grow0": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *DATA", "[sp + 0x8]": "int SIZE"}, "obstack_1grow": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "char C"}, "obstack_ptr_grow": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *DATA"}, "obstack_int_grow": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "int DATA"}, "obstack_finish": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "obstack_object_size": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "obstack_room": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "obstack_1grow_fast": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "char C"}, "obstack_ptr_grow_fast": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "void *DATA"}, "obstack_int_grow_fast": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "int DATA"}, "obstack_blank_fast": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR", "[sp + 0x4]": "int SIZE"}, "obstack_base": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "obstack_next_free": {"[sp + 0x0]": "struct obstack *OBSTACK-PTR"}, "alloca": {"[sp + 0x0]": "size_t SIZE"}, "brk": {"[sp + 0x0]": "void *ADDR"}, "*sbrk": {"[sp + 0x0]": "ptrdiff_t DELTA"}, "mprotect": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int PROTECTION"}, "pkey_alloc": {"[sp + 0x0]": "unsigned int FLAGS", "[sp + 0x4]": "unsigned int RESTRICTIONS"}, "pkey_free": {"[sp + 0x0]": "int KEY"}, "pkey_mprotect": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int PROTECTION", "[sp + 0xc]": "int KEY"}, "pkey_set": {"[sp + 0x0]": "int KEY", "[sp + 0x4]": "unsigned int RIGHTS"}, "pkey_get": {"[sp + 0x0]": "int KEY"}, "mlock": {"[sp + 0x0]": "const void *ADDR", "[sp + 0x4]": "size_t LEN"}, "mlock2": {"[sp + 0x0]": "const void *ADDR", "[sp + 0x4]": "size_t LEN", "[sp + 0x8]": "unsigned int FLAGS"}, "munlock": {"[sp + 0x0]": "const void *ADDR", "[sp + 0x4]": "size_t LEN"}, "mlockall": {"[sp + 0x0]": "int FLAGS"}, "munlockall": {"[sp + 0x0]": "void"}, "islower": {"[sp + 0x0]": "int C"}, "isupper": {"[sp + 0x0]": "int C"}, "isalpha": {"[sp + 0x0]": "int C"}, "isdigit": {"[sp + 0x0]": "int C"}, "isalnum": {"[sp + 0x0]": "int C"}, "isxdigit": {"[sp + 0x0]": "int C"}, "ispunct": {"[sp + 0x0]": "int C"}, "isspace": {"[sp + 0x0]": "int C"}, "isblank": {"[sp + 0x0]": "int C"}, "isgraph": {"[sp + 0x0]": "int C"}, "isprint": {"[sp + 0x0]": "int C"}, "iscntrl": {"[sp + 0x0]": "int C"}, "isascii": {"[sp + 0x0]": "int C"}, "tolower": {"[sp + 0x0]": "int C"}, "toupper": {"[sp + 0x0]": "int C"}, "toascii": {"[sp + 0x0]": "int C"}, "_tolower": {"[sp + 0x0]": "int C"}, "_toupper": {"[sp + 0x0]": "int C"}, "wctype": {"[sp + 0x0]": "const char *PROPERTY"}, "iswctype": {"[sp + 0x0]": "wint_t WC", "[sp + 0x4]": "wctype_t DESC"}, "iswalnum": {"[sp + 0x0]": "wint_t WC"}, "iswalpha": {"[sp + 0x0]": "wint_t WC"}, "iswcntrl": {"[sp + 0x0]": "wint_t WC"}, "iswdigit": {"[sp + 0x0]": "wint_t WC"}, "iswgraph": {"[sp + 0x0]": "wint_t WC"}, "iswlower": {"[sp + 0x0]": "wint_t WC"}, "iswprint": {"[sp + 0x0]": "wint_t WC"}, "iswpunct": {"[sp + 0x0]": "wint_t WC"}, "iswspace": {"[sp + 0x0]": "wint_t WC"}, "iswupper": {"[sp + 0x0]": "wint_t WC"}, "iswxdigit": {"[sp + 0x0]": "wint_t WC"}, "iswblank": {"[sp + 0x0]": "wint_t WC"}, "wctrans": {"[sp + 0x0]": "const char *PROPERTY"}, "towctrans": {"[sp + 0x0]": "wint_t WC", "[sp + 0x4]": "wctrans_t DESC"}, "towlower": {"[sp + 0x0]": "wint_t WC"}, "towupper": {"[sp + 0x0]": "wint_t WC"}, "strlen": {"[sp + 0x0]": "const char *S"}, "wcslen": {"[sp + 0x0]": "const wchar_t *WS"}, "strnlen": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "size_t MAXLEN"}, "wcsnlen": {"[sp + 0x0]": "const wchar_t *WS", "[sp + 0x4]": "size_t MAXLEN"}, "memcpy": {"[sp + 0x0]": "void *restrict TO", "[sp + 0x4]": "const void *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wmemcpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM", "[sp + 0x8]": "size_t SIZE"}, "mempcpy": {"[sp + 0x0]": "void *restrict TO", "[sp + 0x4]": "const void *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wmempcpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM", "[sp + 0x8]": "size_t SIZE"}, "memmove": {"[sp + 0x0]": "void *TO", "[sp + 0x4]": "const void *FROM", "[sp + 0x8]": "size_t SIZE"}, "wmemmove": {"[sp + 0x0]": "wchar_t *WTO", "[sp + 0x4]": "const wchar_t *WFROM", "[sp + 0x8]": "size_t SIZE"}, "memccpy": {"[sp + 0x0]": "void *restrict TO", "[sp + 0x4]": "const void *restrict FROM", "[sp + 0x8]": "int C", "[sp + 0xc]": "size_t SIZE"}, "memset": {"[sp + 0x0]": "void *BLOCK", "[sp + 0x4]": "int C", "[sp + 0x8]": "size_t SIZE"}, "wmemset": {"[sp + 0x0]": "wchar_t *BLOCK", "[sp + 0x4]": "wchar_t WC", "[sp + 0x8]": "size_t SIZE"}, "strcpy": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM"}, "wcscpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM"}, "strdup": {"[sp + 0x0]": "const char *S"}, "wcsdup": {"[sp + 0x0]": "const wchar_t *WS"}, "stpcpy": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM"}, "wcpcpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM"}, "bcopy": {"[sp + 0x0]": "const void *FROM", "[sp + 0x4]": "void *TO", "[sp + 0x8]": "size_t SIZE"}, "bzero": {"[sp + 0x0]": "void *BLOCK", "[sp + 0x4]": "size_t SIZE"}, "strcat": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM"}, "wcscat": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM"}, "strncpy": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wcsncpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM", "[sp + 0x8]": "size_t SIZE"}, "strndup": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "size_t SIZE"}, "stpncpy": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wcpncpy": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM", "[sp + 0x8]": "size_t SIZE"}, "strncat": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wcsncat": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *restrict WFROM", "[sp + 0x8]": "size_t SIZE"}, "memcmp": {"[sp + 0x0]": "const void *A1", "[sp + 0x4]": "const void *A2", "[sp + 0x8]": "size_t SIZE"}, "wmemcmp": {"[sp + 0x0]": "const wchar_t *A1", "[sp + 0x4]": "const wchar_t *A2", "[sp + 0x8]": "size_t SIZE"}, "strcmp": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2"}, "wcscmp": {"[sp + 0x0]": "const wchar_t *WS1", "[sp + 0x4]": "const wchar_t *WS2"}, "strcasecmp": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2"}, "wcscasecmp": {"[sp + 0x0]": "const wchar_t *WS1", "[sp + 0x4]": "const wchar_t *WS2"}, "strncmp": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2", "[sp + 0x8]": "size_t SIZE"}, "wcsncmp": {"[sp + 0x0]": "const wchar_t *WS1", "[sp + 0x4]": "const wchar_t *WS2", "[sp + 0x8]": "size_t SIZE"}, "strncasecmp": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2", "[sp + 0x8]": "size_t N"}, "wcsncasecmp": {"[sp + 0x0]": "const wchar_t *WS1", "[sp + 0x4]": "const wchar_t *S2", "[sp + 0x8]": "size_t N"}, "strverscmp": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2"}, "bcmp": {"[sp + 0x0]": "const void *A1", "[sp + 0x4]": "const void *A2", "[sp + 0x8]": "size_t SIZE"}, "strcoll": {"[sp + 0x0]": "const char *S1", "[sp + 0x4]": "const char *S2"}, "wcscoll": {"[sp + 0x0]": "const wchar_t *WS1", "[sp + 0x4]": "const wchar_t *WS2"}, "strxfrm": {"[sp + 0x0]": "char *restrict TO", "[sp + 0x4]": "const char *restrict FROM", "[sp + 0x8]": "size_t SIZE"}, "wcsxfrm": {"[sp + 0x0]": "wchar_t *restrict WTO", "[sp + 0x4]": "const wchar_t *WFROM", "[sp + 0x8]": "size_t SIZE"}, "memchr": {"[sp + 0x0]": "const void *BLOCK", "[sp + 0x4]": "int C", "[sp + 0x8]": "size_t SIZE"}, "wmemchr": {"[sp + 0x0]": "const wchar_t *BLOCK", "[sp + 0x4]": "wchar_t WC", "[sp + 0x8]": "size_t SIZE"}, "rawmemchr": {"[sp + 0x0]": "const void *BLOCK", "[sp + 0x4]": "int C"}, "memrchr": {"[sp + 0x0]": "const void *BLOCK", "[sp + 0x4]": "int C", "[sp + 0x8]": "size_t SIZE"}, "strchr": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int C"}, "wcschr": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "wchar_t WC"}, "strchrnul": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int C"}, "wcschrnul": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "wchar_t WC"}, "strrchr": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int C"}, "wcsrchr": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "wchar_t WC"}, "strstr": {"[sp + 0x0]": "const char *HAYSTACK", "[sp + 0x4]": "const char *NEEDLE"}, "wcsstr": {"[sp + 0x0]": "const wchar_t *HAYSTACK", "[sp + 0x4]": "const wchar_t *NEEDLE"}, "wcswcs": {"[sp + 0x0]": "const wchar_t *HAYSTACK", "[sp + 0x4]": "const wchar_t *NEEDLE"}, "strcasestr": {"[sp + 0x0]": "const char *HAYSTACK", "[sp + 0x4]": "const char *NEEDLE"}, "memmem": {"[sp + 0x0]": "const void *HAYSTACK", "[sp + 0x4]": "size_t HAYSTACK-LEN", "[sp + 0x8]": "const void *NEEDLE", "[sp + 0xc]": "size_t NEEDLE-LEN"}, "strspn": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "const char *SKIPSET"}, "wcsspn": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "const wchar_t *SKIPSET"}, "strcspn": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "const char *STOPSET"}, "wcscspn": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "const wchar_t *STOPSET"}, "strpbrk": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "const char *STOPSET"}, "wcspbrk": {"[sp + 0x0]": "const wchar_t *WSTRING", "[sp + 0x4]": "const wchar_t *STOPSET"}, "index": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int C"}, "rindex": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int C"}, "strtok": {"[sp + 0x0]": "char *restrict NEWSTRING", "[sp + 0x4]": "const char *restrict DELIMITERS"}, "wcstok": {"[sp + 0x0]": "wchar_t *NEWSTRING", "[sp + 0x4]": "const wchar_t *DELIMITERS", "[sp + 0x8]": "wchar_t **SAVE_PTR"}, "strtok_r": {"[sp + 0x0]": "char *NEWSTRING", "[sp + 0x4]": "const char *DELIMITERS", "[sp + 0x8]": "char **SAVE_PTR"}, "strsep": {"[sp + 0x0]": "char **STRING_PTR", "[sp + 0x4]": "const char *DELIMITER"}, "basename": {"[sp + 0x0]": "char *PATH"}, "dirname": {"[sp + 0x0]": "char *PATH"}, "explicit_bzero": {"[sp + 0x0]": "void *BLOCK", "[sp + 0x4]": "size_t LEN"}, "strfry": {"[sp + 0x0]": "char *STRING"}, "memfrob": {"[sp + 0x0]": "void *MEM", "[sp + 0x4]": "size_t LENGTH"}, "l64a": {"[sp + 0x0]": "long int N"}, "a64l": {"[sp + 0x0]": "const char *STRING"}, "argz_create": {"[sp + 0x0]": "char *const ARGV[]", "[sp + 0x4]": "char **ARGZ", "[sp + 0x8]": "size_t *ARGZ_LEN"}, "argz_create_sep": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "int SEP", "[sp + 0x8]": "char **ARGZ", "[sp + 0xc]": "size_t *ARGZ_LEN"}, "argz_count": {"[sp + 0x0]": "const char *ARGZ", "[sp + 0x4]": "size_t ARGZ_LEN"}, "argz_extract": {"[sp + 0x0]": "const char *ARGZ", "[sp + 0x4]": "size_t ARGZ_LEN", "[sp + 0x8]": "char **ARGV"}, "argz_stringify": {"[sp + 0x0]": "char *ARGZ", "[sp + 0x4]": "size_t LEN", "[sp + 0x8]": "int SEP"}, "argz_add": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "const char *STR"}, "argz_add_sep": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "const char *STR", "[sp + 0xc]": "int DELIM"}, "argz_append": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "const char *BUF", "[sp + 0xc]": "size_t BUF_LEN"}, "argz_delete": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "char *ENTRY"}, "argz_insert": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "char *BEFORE", "[sp + 0xc]": "const char *ENTRY"}, "argz_next": {"[sp + 0x0]": "const char *ARGZ", "[sp + 0x4]": "size_t ARGZ_LEN", "[sp + 0x8]": "const char *ENTRY"}, "argz_replace": {"[sp + 0x0]": "char **ARGZ", "[sp + 0x4]": "size_t *ARGZ_LEN", "[sp + 0x8]": "const char *STR", "[sp + 0xc]": "const char *WITH", "[sp + 0x10]": "unsigned *REPLACE_COUNT"}, "envz_entry": {"[sp + 0x0]": "const char *ENVZ", "[sp + 0x4]": "size_t ENVZ_LEN", "[sp + 0x8]": "const char *NAME"}, "envz_get": {"[sp + 0x0]": "const char *ENVZ", "[sp + 0x4]": "size_t ENVZ_LEN", "[sp + 0x8]": "const char *NAME"}, "envz_add": {"[sp + 0x0]": "char **ENVZ", "[sp + 0x4]": "size_t *ENVZ_LEN", "[sp + 0x8]": "const char *NAME", "[sp + 0xc]": "const char *VALUE"}, "envz_merge": {"[sp + 0x0]": "char **ENVZ", "[sp + 0x4]": "size_t *ENVZ_LEN", "[sp + 0x8]": "const char *ENVZ2", "[sp + 0xc]": "size_t ENVZ2_LEN", "[sp + 0x10]": "int OVERRIDE"}, "envz_strip": {"[sp + 0x0]": "char **ENVZ", "[sp + 0x4]": "size_t *ENVZ_LEN"}, "envz_remove": {"[sp + 0x0]": "char **ENVZ", "[sp + 0x4]": "size_t *ENVZ_LEN", "[sp + 0x8]": "const char *NAME"}, "mbsinit": {"[sp + 0x0]": "const mbstate_t *PS"}, "btowc": {"[sp + 0x0]": "int C"}, "wctob": {"[sp + 0x0]": "wint_t C"}, "mbrtowc": {"[sp + 0x0]": "wchar_t *restrict PWC", "[sp + 0x4]": "const char *restrict S", "[sp + 0x8]": "size_t N", "[sp + 0xc]": "mbstate_t *restrict PS"}, "mbrlen": {"[sp + 0x0]": "const char *restrict S", "[sp + 0x4]": "size_t N", "[sp + 0x8]": "mbstate_t *PS"}, "wcrtomb": {"[sp + 0x0]": "char *restrict S", "[sp + 0x4]": "wchar_t WC", "[sp + 0x8]": "mbstate_t *restrict PS"}, "mbsrtowcs": {"[sp + 0x0]": "wchar_t *restrict DST", "[sp + 0x4]": "const char **restrict SRC", "[sp + 0x8]": "size_t LEN", "[sp + 0xc]": "mbstate_t *restrict PS"}, "wcsrtombs": {"[sp + 0x0]": "char *restrict DST", "[sp + 0x4]": "const wchar_t **restrict SRC", "[sp + 0x8]": "size_t LEN", "[sp + 0xc]": "mbstate_t *restrict PS"}, "mbsnrtowcs": {"[sp + 0x0]": ""}, "wcsnrtombs": {"[sp + 0x0]": ""}, "mbtowc": {"[sp + 0x0]": "wchar_t *restrict RESULT", "[sp + 0x4]": "const char *restrict STRING", "[sp + 0x8]": "size_t SIZE"}, "wctomb": {"[sp + 0x0]": "char *STRING", "[sp + 0x4]": "wchar_t WCHAR"}, "mblen": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "size_t SIZE"}, "mbstowcs": {"[sp + 0x0]": "wchar_t *WSTRING", "[sp + 0x4]": "const char *STRING", "[sp + 0x8]": "size_t SIZE"}, "wcstombs": {"[sp + 0x0]": "char *STRING", "[sp + 0x4]": "const wchar_t *WSTRING", "[sp + 0x8]": "size_t SIZE"}, "iconv_open": {"[sp + 0x0]": "const char *TOCODE", "[sp + 0x4]": "const char *FROMCODE"}, "iconv_close": {"[sp + 0x0]": "iconv_t CD"}, "iconv": {"[sp + 0x0]": "iconv_t CD", "[sp + 0x4]": "char **INBUF", "[sp + 0x8]": "size_t *INBYTESLEFT", "[sp + 0xc]": "char **OUTBUF", "[sp + 0x10]": "size_t *OUTBYTESLEFT"}, "setlocale": {"[sp + 0x0]": "int CATEGORY", "[sp + 0x4]": "const char *LOCALE"}, "localeconv": {"[sp + 0x0]": "void"}, "nl_langinfo": {"[sp + 0x0]": "nl_item ITEM"}, "strfmon": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "size_t MAXSIZE", "[sp + 0x8]": "const char *FORMAT", "[sp + 0xc]": "..."}, "rpmatch": {"[sp + 0x0]": "const char *RESPONSE"}, "catopen": {"[sp + 0x0]": "const char *CAT_NAME", "[sp + 0x4]": "int FLAG"}, "catgets": {"[sp + 0x0]": "nl_catd CATALOG_DESC", "[sp + 0x4]": "int SET", "[sp + 0x8]": "int MESSAGE", "[sp + 0xc]": "const char *STRING"}, "catclose": {"[sp + 0x0]": "nl_catd CATALOG_DESC"}, "gettext": {"[sp + 0x0]": "const char *MSGID"}, "dgettext": {"[sp + 0x0]": "const char *DOMAINNAME", "[sp + 0x4]": "const char *MSGID"}, "dcgettext": {"[sp + 0x0]": "const char *DOMAINNAME", "[sp + 0x4]": "const char *MSGID", "[sp + 0x8]": "int CATEGORY"}, "textdomain": {"[sp + 0x0]": "const char *DOMAINNAME"}, "bindtextdomain": {"[sp + 0x0]": "const char *DOMAINNAME", "[sp + 0x4]": "const char *DIRNAME"}, "ngettext": {"[sp + 0x0]": "const char *MSGID1", "[sp + 0x4]": "const char *MSGID2", "[sp + 0x8]": "unsigned long int N"}, "dngettext": {"[sp + 0x0]": "const char *DOMAIN", "[sp + 0x4]": "const char *MSGID1", "[sp + 0x8]": "const char *MSGID2", "[sp + 0xc]": "unsigned long int N"}, "dcngettext": {"[sp + 0x0]": "const char *DOMAIN", "[sp + 0x4]": "const char *MSGID1", "[sp + 0x8]": "const char *MSGID2", "[sp + 0xc]": "unsigned long int N", "[sp + 0x10]": "int CATEGORY"}, "bind_textdomain_codeset": {"[sp + 0x0]": "const char *DOMAINNAME", "[sp + 0x4]": "const char *CODESET"}, "lfind": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "const void *BASE", "[sp + 0x8]": "size_t *NMEMB", "[sp + 0xc]": "size_t SIZE", "[sp + 0x10]": "comparison_fn_t COMPAR"}, "lsearch": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "void *BASE", "[sp + 0x8]": "size_t *NMEMB", "[sp + 0xc]": "size_t SIZE", "[sp + 0x10]": "comparison_fn_t COMPAR"}, "bsearch": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "const void *ARRAY", "[sp + 0x8]": "size_t COUNT", "[sp + 0xc]": "size_t SIZE", "[sp + 0x10]": "comparison_fn_t COMPARE"}, "qsort": {"[sp + 0x0]": "void *ARRAY", "[sp + 0x4]": "size_t COUNT", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "comparison_fn_t COMPARE"}, "hcreate": {"[sp + 0x0]": "size_t NEL"}, "hdestroy": {"[sp + 0x0]": "void"}, "hsearch": {"[sp + 0x0]": "ENTRY ITEM", "[sp + 0x4]": "ACTION ACTION"}, "hcreate_r": {"[sp + 0x0]": "size_t NEL", "[sp + 0x4]": "struct hsearch_data *HTAB"}, "hdestroy_r": {"[sp + 0x0]": "struct hsearch_data *HTAB"}, "hsearch_r": {"[sp + 0x0]": "ENTRY ITEM", "[sp + 0x4]": "ACTION ACTION", "[sp + 0x8]": "ENTRY **RETVAL", "[sp + 0xc]": "struct hsearch_data *HTAB"}, "tsearch": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "void **ROOTP", "[sp + 0x8]": "comparison_fn_t COMPAR"}, "tfind": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "void *const *ROOTP", "[sp + 0x8]": "comparison_fn_t COMPAR"}, "tdelete": {"[sp + 0x0]": "const void *KEY", "[sp + 0x4]": "void **ROOTP", "[sp + 0x8]": "comparison_fn_t COMPAR"}, "tdestroy": {"[sp + 0x0]": "void *VROOT", "[sp + 0x4]": "__free_fn_t FREEFCT"}, "twalk": {"[sp + 0x0]": "const void *ROOT", "[sp + 0x4]": "__action_fn_t ACTION"}, "twalk_r": {"[sp + 0x0]": "const void *ROOT", "[sp + 0x4]": "void (*ACTION) (const void *KEY", "[sp + 0x8]": "VISIT WHICH", "[sp + 0xc]": "void *CLOSURE)", "[sp + 0x10]": "void *CLOSURE"}, "fnmatch": {"[sp + 0x0]": "const char *PATTERN", "[sp + 0x4]": "const char *STRING", "[sp + 0x8]": "int FLAGS"}, "glob": {"[sp + 0x0]": "const char *PATTERN", "[sp + 0x4]": "int FLAGS", "[sp + 0x8]": "int (*ERRFUNC"}, "glob64": {"[sp + 0x0]": "const char *PATTERN", "[sp + 0x4]": "int FLAGS", "[sp + 0x8]": "int (*ERRFUNC"}, "globfree": {"[sp + 0x0]": "glob_t *PGLOB"}, "globfree64": {"[sp + 0x0]": "glob64_t *PGLOB"}, "regcomp": {"[sp + 0x0]": "regex_t *restrict COMPILED", "[sp + 0x4]": "const char *restrict PATTERN", "[sp + 0x8]": "int CFLAGS"}, "regexec": {"[sp + 0x0]": ""}, "regfree": {"[sp + 0x0]": "regex_t *COMPILED"}, "regerror": {"[sp + 0x0]": "int ERRCODE", "[sp + 0x4]": "const regex_t *restrict COMPILED", "[sp + 0x8]": "char *restrict BUFFER", "[sp + 0xc]": "size_t LENGTH"}, "wordexp": {"[sp + 0x0]": "const char *WORDS", "[sp + 0x4]": "wordexp_t *WORD-VECTOR-PTR", "[sp + 0x8]": "int FLAGS"}, "wordfree": {"[sp + 0x0]": "wordexp_t *WORD-VECTOR-PTR"}, "fopen": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *OPENTYPE"}, "fopen64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *OPENTYPE"}, "freopen": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *OPENTYPE", "[sp + 0x8]": "FILE *STREAM"}, "freopen64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *OPENTYPE", "[sp + 0x8]": "FILE *STREAM"}, "__freadable": {"[sp + 0x0]": "FILE *STREAM"}, "__fwritable": {"[sp + 0x0]": "FILE *STREAM"}, "__freading": {"[sp + 0x0]": "FILE *STREAM"}, "__fwriting": {"[sp + 0x0]": "FILE *STREAM"}, "fclose": {"[sp + 0x0]": "FILE *STREAM"}, "fcloseall": {"[sp + 0x0]": "void"}, "flockfile": {"[sp + 0x0]": "FILE *STREAM"}, "ftrylockfile": {"[sp + 0x0]": "FILE *STREAM"}, "funlockfile": {"[sp + 0x0]": "FILE *STREAM"}, "__fsetlocking": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "int TYPE"}, "fwide": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "int MODE"}, "fputc": {"[sp + 0x0]": "int C", "[sp + 0x4]": "FILE *STREAM"}, "fputwc": {"[sp + 0x0]": "wchar_t WC", "[sp + 0x4]": "FILE *STREAM"}, "fputc_unlocked": {"[sp + 0x0]": "int C", "[sp + 0x4]": "FILE *STREAM"}, "fputwc_unlocked": {"[sp + 0x0]": "wchar_t WC", "[sp + 0x4]": "FILE *STREAM"}, "putc": {"[sp + 0x0]": "int C", "[sp + 0x4]": "FILE *STREAM"}, "putwc": {"[sp + 0x0]": "wchar_t WC", "[sp + 0x4]": "FILE *STREAM"}, "putc_unlocked": {"[sp + 0x0]": "int C", "[sp + 0x4]": "FILE *STREAM"}, "putwc_unlocked": {"[sp + 0x0]": "wchar_t WC", "[sp + 0x4]": "FILE *STREAM"}, "putchar": {"[sp + 0x0]": "int C"}, "putwchar": {"[sp + 0x0]": "wchar_t WC"}, "putchar_unlocked": {"[sp + 0x0]": "int C"}, "putwchar_unlocked": {"[sp + 0x0]": "wchar_t WC"}, "fputs": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "FILE *STREAM"}, "fputws": {"[sp + 0x0]": "const wchar_t *WS", "[sp + 0x4]": "FILE *STREAM"}, "fputs_unlocked": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "FILE *STREAM"}, "fputws_unlocked": {"[sp + 0x0]": "const wchar_t *WS", "[sp + 0x4]": "FILE *STREAM"}, "puts": {"[sp + 0x0]": "const char *S"}, "putw": {"[sp + 0x0]": "int W", "[sp + 0x4]": "FILE *STREAM"}, "fgetc": {"[sp + 0x0]": "FILE *STREAM"}, "fgetwc": {"[sp + 0x0]": "FILE *STREAM"}, "fgetc_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "fgetwc_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "getc": {"[sp + 0x0]": "FILE *STREAM"}, "getwc": {"[sp + 0x0]": "FILE *STREAM"}, "getc_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "getwc_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "getchar": {"[sp + 0x0]": "void"}, "getwchar": {"[sp + 0x0]": "void"}, "getchar_unlocked": {"[sp + 0x0]": "void"}, "getwchar_unlocked": {"[sp + 0x0]": "void"}, "getw": {"[sp + 0x0]": "FILE *STREAM"}, "getline": {"[sp + 0x0]": "char **LINEPTR", "[sp + 0x4]": "size_t *N", "[sp + 0x8]": "FILE *STREAM"}, "getdelim": {"[sp + 0x0]": "char **LINEPTR", "[sp + 0x4]": "size_t *N", "[sp + 0x8]": "int DELIMITER", "[sp + 0xc]": "FILE *STREAM"}, "fgets": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "int COUNT", "[sp + 0x8]": "FILE *STREAM"}, "fgetws": {"[sp + 0x0]": "wchar_t *WS", "[sp + 0x4]": "int COUNT", "[sp + 0x8]": "FILE *STREAM"}, "fgets_unlocked": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "int COUNT", "[sp + 0x8]": "FILE *STREAM"}, "fgetws_unlocked": {"[sp + 0x0]": "wchar_t *WS", "[sp + 0x4]": "int COUNT", "[sp + 0x8]": "FILE *STREAM"}, "ungetc": {"[sp + 0x0]": "int C", "[sp + 0x4]": "FILE *STREAM"}, "ungetwc": {"[sp + 0x0]": "wint_t WC", "[sp + 0x4]": "FILE *STREAM"}, "fread": {"[sp + 0x0]": "void *DATA", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "size_t COUNT", "[sp + 0xc]": "FILE *STREAM"}, "fread_unlocked": {"[sp + 0x0]": "void *DATA", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "size_t COUNT", "[sp + 0xc]": "FILE *STREAM"}, "fwrite": {"[sp + 0x0]": "const void *DATA", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "size_t COUNT", "[sp + 0xc]": "FILE *STREAM"}, "fwrite_unlocked": {"[sp + 0x0]": "const void *DATA", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "size_t COUNT", "[sp + 0xc]": "FILE *STREAM"}, "printf": {"[sp + 0x0]": "const char *TEMPLATE", "[sp + 0x4]": "..."}, "wprintf": {"[sp + 0x0]": "const wchar_t *TEMPLATE", "[sp + 0x4]": "..."}, "fprintf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "fwprintf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "..."}, "sprintf": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "swprintf": {"[sp + 0x0]": "wchar_t *WS", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const wchar_t *TEMPLATE", "[sp + 0xc]": "..."}, "snprintf": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *TEMPLATE", "[sp + 0xc]": "..."}, "asprintf": {"[sp + 0x0]": "char **PTR", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "obstack_printf": {"[sp + 0x0]": "struct obstack *OBSTACK", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "vprintf": {"[sp + 0x0]": "const char *TEMPLATE", "[sp + 0x4]": "va_list AP"}, "vwprintf": {"[sp + 0x0]": "const wchar_t *TEMPLATE", "[sp + 0x4]": "va_list AP"}, "vfprintf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vfwprintf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vsprintf": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vswprintf": {"[sp + 0x0]": "wchar_t *WS", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const wchar_t *TEMPLATE", "[sp + 0xc]": "va_list AP"}, "vsnprintf": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *TEMPLATE", "[sp + 0xc]": "va_list AP"}, "vasprintf": {"[sp + 0x0]": "char **PTR", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "obstack_vprintf": {"[sp + 0x0]": "struct obstack *OBSTACK", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "parse_printf_format": {"[sp + 0x0]": "const char *TEMPLATE", "[sp + 0x4]": "size_t N", "[sp + 0x8]": "int *ARGTYPES"}, "register_printf_function": {"[sp + 0x0]": "int SPEC", "[sp + 0x4]": "printf_function HANDLER-FUNCTION", "[sp + 0x8]": "printf_arginfo_function ARGINFO-FUNCTION"}, "printf_size": {"[sp + 0x0]": "FILE *FP", "[sp + 0x4]": "const struct printf_info *INFO", "[sp + 0x8]": "const void *const *ARGS"}, "printf_size_info": {"[sp + 0x0]": "const struct printf_info *INFO", "[sp + 0x4]": "size_t N", "[sp + 0x8]": "int *ARGTYPES"}, "scanf": {"[sp + 0x0]": "const char *TEMPLATE", "[sp + 0x4]": "..."}, "wscanf": {"[sp + 0x0]": "const wchar_t *TEMPLATE", "[sp + 0x4]": "..."}, "fscanf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "fwscanf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "..."}, "sscanf": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "..."}, "swscanf": {"[sp + 0x0]": "const wchar_t *WS", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "..."}, "vscanf": {"[sp + 0x0]": "const char *TEMPLATE", "[sp + 0x4]": "va_list AP"}, "vwscanf": {"[sp + 0x0]": "const wchar_t *TEMPLATE", "[sp + 0x4]": "va_list AP"}, "vfscanf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vfwscanf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vsscanf": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "const char *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "vswscanf": {"[sp + 0x0]": "const wchar_t *S", "[sp + 0x4]": "const wchar_t *TEMPLATE", "[sp + 0x8]": "va_list AP"}, "feof": {"[sp + 0x0]": "FILE *STREAM"}, "feof_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "ferror": {"[sp + 0x0]": "FILE *STREAM"}, "ferror_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "clearerr": {"[sp + 0x0]": "FILE *STREAM"}, "clearerr_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "ftell": {"[sp + 0x0]": "FILE *STREAM"}, "ftello": {"[sp + 0x0]": "FILE *STREAM"}, "ftello64": {"[sp + 0x0]": "FILE *STREAM"}, "fseek": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "long int OFFSET", "[sp + 0x8]": "int WHENCE"}, "fseeko": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "off_t OFFSET", "[sp + 0x8]": "int WHENCE"}, "fseeko64": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "off64_t OFFSET", "[sp + 0x8]": "int WHENCE"}, "rewind": {"[sp + 0x0]": "FILE *STREAM"}, "fgetpos": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "fpos_t *POSITION"}, "fgetpos64": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "fpos64_t *POSITION"}, "fsetpos": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const fpos_t *POSITION"}, "fsetpos64": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const fpos64_t *POSITION"}, "fflush": {"[sp + 0x0]": "FILE *STREAM"}, "fflush_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "_flushlbf": {"[sp + 0x0]": "void"}, "__fpurge": {"[sp + 0x0]": "FILE *STREAM"}, "setvbuf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "int MODE", "[sp + 0xc]": "size_t SIZE"}, "setbuf": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "char *BUF"}, "setbuffer": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "size_t SIZE"}, "setlinebuf": {"[sp + 0x0]": "FILE *STREAM"}, "__flbf": {"[sp + 0x0]": "FILE *STREAM"}, "__fbufsize": {"[sp + 0x0]": "FILE *STREAM"}, "__fpending": {"[sp + 0x0]": "FILE *STREAM"}, "fmemopen": {"[sp + 0x0]": "void *BUF", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *OPENTYPE"}, "open_memstream": {"[sp + 0x0]": "char **PTR", "[sp + 0x4]": "size_t *SIZELOC"}, "fopencookie": {"[sp + 0x0]": "void *COOKIE", "[sp + 0x4]": "const char *OPENTYPE", "[sp + 0x8]": "cookie_io_functions_t IO-FUNCTIONS"}, "fmtmsg": {"[sp + 0x0]": ""}, "addseverity": {"[sp + 0x0]": "int SEVERITY", "[sp + 0x4]": "const char *STRING"}, "open": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "int FLAGS[", "[sp + 0x8]": "mode_t MODE]"}, "open64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "int FLAGS[", "[sp + 0x8]": "mode_t MODE]"}, "close": {"[sp + 0x0]": "int FILEDES"}, "read": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t SIZE"}, "pread": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "off_t OFFSET"}, "pread64": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "off64_t OFFSET"}, "write": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const void *BUFFER", "[sp + 0x8]": "size_t SIZE"}, "pwrite": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "off_t OFFSET"}, "pwrite64": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "off64_t OFFSET"}, "lseek": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "off_t OFFSET", "[sp + 0x8]": "int WHENCE"}, "lseek64": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "off64_t OFFSET", "[sp + 0x8]": "int WHENCE"}, "fdopen": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const char *OPENTYPE"}, "fileno": {"[sp + 0x0]": "FILE *STREAM"}, "fileno_unlocked": {"[sp + 0x0]": "FILE *STREAM"}, "readv": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const struct iovec *VECTOR", "[sp + 0x8]": "int COUNT"}, "writev": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const struct iovec *VECTOR", "[sp + 0x8]": "int COUNT"}, "preadv": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off_t OFFSET"}, "preadv64": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off64_t OFFSET"}, "pwritev": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off_t OFFSET"}, "pwritev64": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off64_t OFFSET"}, "preadv2": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off_t OFFSET", "[sp + 0x10]": "int FLAGS"}, "preadv64v2": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off64_t OFFSET", "[sp + 0x10]": "int FLAGS"}, "pwritev2": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off_t OFFSET", "[sp + 0x10]": "int FLAGS"}, "pwritev64v2": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct iovec *IOV", "[sp + 0x8]": "int IOVCNT", "[sp + 0xc]": "off64_t OFFSET", "[sp + 0x10]": "int FLAGS"}, "copy_file_range": {"[sp + 0x0]": ""}, "mmap": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int PROTECT", "[sp + 0xc]": "int FLAGS", "[sp + 0x10]": "int FILEDES", "[sp + 0x14]": "off_t OFFSET"}, "mmap64": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int PROTECT", "[sp + 0xc]": "int FLAGS", "[sp + 0x10]": "int FILEDES", "[sp + 0x14]": "off64_t OFFSET"}, "munmap": {"[sp + 0x0]": "void *ADDR", "[sp + 0x4]": "size_t LENGTH"}, "msync": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int FLAGS"}, "mremap": {"[sp + 0x0]": "void *ADDRESS", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "size_t NEW_LENGTH", "[sp + 0xc]": "int FLAG"}, "madvise": {"[sp + 0x0]": "void *ADDR", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "int ADVICE"}, "shm_open": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "int OFLAG", "[sp + 0x8]": "mode_t MODE"}, "shm_unlink": {"[sp + 0x0]": "const char *NAME"}, "memfd_create": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "unsigned int FLAGS"}, "select": {"[sp + 0x0]": "int NFDS", "[sp + 0x4]": "fd_set *READ-FDS", "[sp + 0x8]": "fd_set *WRITE-FDS", "[sp + 0xc]": "fd_set *EXCEPT-FDS", "[sp + 0x10]": "struct timeval *TIMEOUT"}, "sync": {"[sp + 0x0]": "void"}, "fsync": {"[sp + 0x0]": "int FILDES"}, "fdatasync": {"[sp + 0x0]": "int FILDES"}, "aio_read": {"[sp + 0x0]": "struct aiocb *AIOCBP"}, "aio_read64": {"[sp + 0x0]": "struct aiocb64 *AIOCBP"}, "aio_write": {"[sp + 0x0]": "struct aiocb *AIOCBP"}, "aio_write64": {"[sp + 0x0]": "struct aiocb64 *AIOCBP"}, "lio_listio": {"[sp + 0x0]": "int MODE", "[sp + 0x4]": "struct aiocb *const LIST[]", "[sp + 0x8]": "int NENT", "[sp + 0xc]": "struct sigevent *SIG"}, "lio_listio64": {"[sp + 0x0]": "int MODE", "[sp + 0x4]": "struct aiocb64 *const LIST[]", "[sp + 0x8]": "int NENT", "[sp + 0xc]": "struct sigevent *SIG"}, "aio_error": {"[sp + 0x0]": "const struct aiocb *AIOCBP"}, "aio_error64": {"[sp + 0x0]": "const struct aiocb64 *AIOCBP"}, "aio_return": {"[sp + 0x0]": "struct aiocb *AIOCBP"}, "aio_return64": {"[sp + 0x0]": "struct aiocb64 *AIOCBP"}, "aio_fsync": {"[sp + 0x0]": "int OP", "[sp + 0x4]": "struct aiocb *AIOCBP"}, "aio_fsync64": {"[sp + 0x0]": "int OP", "[sp + 0x4]": "struct aiocb64 *AIOCBP"}, "aio_suspend": {"[sp + 0x0]": "const struct aiocb *const LIST[]", "[sp + 0x4]": "int NENT", "[sp + 0x8]": "const struct timespec *TIMEOUT"}, "aio_suspend64": {"[sp + 0x0]": "const struct aiocb64 *const LIST[]", "[sp + 0x4]": "int NENT", "[sp + 0x8]": "const struct timespec *TIMEOUT"}, "aio_cancel": {"[sp + 0x0]": "int FILDES", "[sp + 0x4]": "struct aiocb *AIOCBP"}, "aio_cancel64": {"[sp + 0x0]": "int FILDES", "[sp + 0x4]": "struct aiocb64 *AIOCBP"}, "aio_init": {"[sp + 0x0]": "const struct aioinit *INIT"}, "fcntl": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int COMMAND", "[sp + 0x8]": "..."}, "dup": {"[sp + 0x0]": "int OLD"}, "dup2": {"[sp + 0x0]": "int OLD", "[sp + 0x4]": "int NEW"}, "ioctl": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int COMMAND", "[sp + 0x8]": "..."}, "getcwd": {"[sp + 0x0]": "char *BUFFER", "[sp + 0x4]": "size_t SIZE"}, "get_current_dir_name": {"[sp + 0x0]": "void"}, "chdir": {"[sp + 0x0]": "const char *FILENAME"}, "fchdir": {"[sp + 0x0]": "int FILEDES"}, "IFTODT": {"[sp + 0x0]": "mode_t MODE"}, "DTTOIF": {"[sp + 0x0]": "int DTYPE"}, "opendir": {"[sp + 0x0]": "const char *DIRNAME"}, "fdopendir": {"[sp + 0x0]": "int FD"}, "dirfd": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "readdir": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "readdir_r": {"[sp + 0x0]": "DIR *DIRSTREAM", "[sp + 0x4]": "struct dirent *ENTRY", "[sp + 0x8]": "struct dirent **RESULT"}, "readdir64": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "readdir64_r": {"[sp + 0x0]": "DIR *DIRSTREAM", "[sp + 0x4]": "struct dirent64 *ENTRY", "[sp + 0x8]": "struct dirent64 **RESULT"}, "closedir": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "rewinddir": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "telldir": {"[sp + 0x0]": "DIR *DIRSTREAM"}, "seekdir": {"[sp + 0x0]": "DIR *DIRSTREAM", "[sp + 0x4]": "long int POS"}, "scandir": {"[sp + 0x0]": "const char *DIR", "[sp + 0x4]": "struct dirent ***NAMELIST", "[sp + 0x8]": "int (*SELECTOR) (const struct dirent *)", "[sp + 0xc]": "int (*CMP"}, "alphasort": {"[sp + 0x0]": "const struct dirent **A", "[sp + 0x4]": "const struct dirent **B"}, "versionsort": {"[sp + 0x0]": "const struct dirent **A", "[sp + 0x4]": "const struct dirent **B"}, "scandir64": {"[sp + 0x0]": "const char *DIR", "[sp + 0x4]": "struct dirent64 ***NAMELIST", "[sp + 0x8]": "int (*SELECTOR) (const struct dirent64 *"}, "alphasort64": {"[sp + 0x0]": "const struct dirent64 **A", "[sp + 0x4]": "const struct dirent **B"}, "versionsort64": {"[sp + 0x0]": "const struct dirent64 **A", "[sp + 0x4]": "const struct dirent64 **B"}, "getdents64": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t LENGTH"}, "ftw": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "__ftw_func_t FUNC", "[sp + 0x8]": "int DESCRIPTORS"}, "ftw64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "__ftw64_func_t FUNC", "[sp + 0x8]": "int DESCRIPTORS"}, "nftw": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "__nftw_func_t FUNC", "[sp + 0x8]": "int DESCRIPTORS", "[sp + 0xc]": "int FLAG"}, "nftw64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "__nftw64_func_t FUNC", "[sp + 0x8]": "int DESCRIPTORS", "[sp + 0xc]": "int FLAG"}, "link": {"[sp + 0x0]": "const char *OLDNAME", "[sp + 0x4]": "const char *NEWNAME"}, "linkat": {"[sp + 0x0]": "int oldfd", "[sp + 0x4]": "const char *OLDNAME", "[sp + 0x8]": "int newfd", "[sp + 0xc]": "const char *NEWNAME", "[sp + 0x10]": "int flags"}, "symlink": {"[sp + 0x0]": "const char *OLDNAME", "[sp + 0x4]": "const char *NEWNAME"}, "readlink": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "char *BUFFER", "[sp + 0x8]": "size_t SIZE"}, "canonicalize_file_name": {"[sp + 0x0]": "const char *NAME"}, "realpath": {"[sp + 0x0]": "const char *restrict NAME", "[sp + 0x4]": "char *restrict RESOLVED"}, "unlink": {"[sp + 0x0]": "const char *FILENAME"}, "rmdir": {"[sp + 0x0]": "const char *FILENAME"}, "remove": {"[sp + 0x0]": "const char *FILENAME"}, "rename": {"[sp + 0x0]": "const char *OLDNAME", "[sp + 0x4]": "const char *NEWNAME"}, "mkdir": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "mode_t MODE"}, "stat": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "struct stat *BUF"}, "stat64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "struct stat64 *BUF"}, "fstat": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "struct stat *BUF"}, "fstat64": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "struct stat64 *BUF"}, "lstat": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "struct stat *BUF"}, "lstat64": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "struct stat64 *BUF"}, "chown": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "uid_t OWNER", "[sp + 0x8]": "gid_t GROUP"}, "fchown": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "uid_t OWNER", "[sp + 0x8]": "gid_t GROUP"}, "umask": {"[sp + 0x0]": "mode_t MASK"}, "getumask": {"[sp + 0x0]": "void"}, "chmod": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "mode_t MODE"}, "fchmod": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "mode_t MODE"}, "access": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "int HOW"}, "utime": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const struct utimbuf *TIMES"}, "utimes": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const struct timeval TVP[2]"}, "lutimes": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const struct timeval TVP[2]"}, "futimes": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "const struct timeval TVP[2]"}, "truncate": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "off_t LENGTH"}, "truncate64": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "off64_t LENGTH"}, "ftruncate": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "off_t LENGTH"}, "ftruncate64": {"[sp + 0x0]": "int ID", "[sp + 0x4]": "off64_t LENGTH"}, "posix_fallocate": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "off_t OFFSET", "[sp + 0x8]": "off_t LENGTH"}, "posix_fallocate64": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "off64_t OFFSET", "[sp + 0x8]": "off64_t LENGTH"}, "mknod": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "mode_t MODE", "[sp + 0x8]": "dev_t DEV"}, "tmpfile": {"[sp + 0x0]": "void"}, "tmpfile64": {"[sp + 0x0]": "void"}, "tmpnam": {"[sp + 0x0]": "char *RESULT"}, "tmpnam_r": {"[sp + 0x0]": "char *RESULT"}, "tempnam": {"[sp + 0x0]": "const char *DIR", "[sp + 0x4]": "const char *PREFIX"}, "mktemp": {"[sp + 0x0]": "char *TEMPLATE"}, "mkstemp": {"[sp + 0x0]": "char *TEMPLATE"}, "mkdtemp": {"[sp + 0x0]": "char *TEMPLATE"}, "pipe": {"[sp + 0x0]": "int FILEDES[2]"}, "popen": {"[sp + 0x0]": "const char *COMMAND", "[sp + 0x4]": "const char *MODE"}, "pclose": {"[sp + 0x0]": "FILE *STREAM"}, "mkfifo": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "mode_t MODE"}, "bind": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "struct sockaddr *ADDR", "[sp + 0x8]": "socklen_t LENGTH"}, "getsockname": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "struct sockaddr *ADDR", "[sp + 0x8]": "socklen_t *LENGTH-PTR"}, "if_nametoindex": {"[sp + 0x0]": "const char *IFNAME"}, "if_indextoname": {"[sp + 0x0]": "unsigned int IFINDEX", "[sp + 0x4]": "char *IFNAME"}, "if_nameindex": {"[sp + 0x0]": "void"}, "if_freenameindex": {"[sp + 0x0]": "struct if_nameindex *PTR"}, "inet_aton": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "struct in_addr *ADDR"}, "inet_addr": {"[sp + 0x0]": "const char *NAME"}, "inet_network": {"[sp + 0x0]": "const char *NAME"}, "inet_ntoa": {"[sp + 0x0]": "struct in_addr ADDR"}, "inet_makeaddr": {"[sp + 0x0]": "uint32_t NET", "[sp + 0x4]": "uint32_t LOCAL"}, "inet_lnaof": {"[sp + 0x0]": "struct in_addr ADDR"}, "inet_netof": {"[sp + 0x0]": "struct in_addr ADDR"}, "inet_pton": {"[sp + 0x0]": "int AF", "[sp + 0x4]": "const char *CP", "[sp + 0x8]": "void *BUF"}, "inet_ntop": {"[sp + 0x0]": "int AF", "[sp + 0x4]": "const void *CP", "[sp + 0x8]": "char *BUF", "[sp + 0xc]": "socklen_t LEN"}, "gethostbyname": {"[sp + 0x0]": "const char *NAME"}, "gethostbyname2": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "int AF"}, "gethostbyaddr": {"[sp + 0x0]": "const void *ADDR", "[sp + 0x4]": "socklen_t LENGTH", "[sp + 0x8]": "int FORMAT"}, "gethostbyname_r": {"[sp + 0x0]": ""}, "gethostbyname2_r": {"[sp + 0x0]": ""}, "gethostbyaddr_r": {"[sp + 0x0]": ""}, "sethostent": {"[sp + 0x0]": "int STAYOPEN"}, "gethostent": {"[sp + 0x0]": "void"}, "endhostent": {"[sp + 0x0]": "void"}, "getservbyname": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "const char *PROTO"}, "getservbyport": {"[sp + 0x0]": "int PORT", "[sp + 0x4]": "const char *PROTO"}, "setservent": {"[sp + 0x0]": "int STAYOPEN"}, "getservent": {"[sp + 0x0]": "void"}, "endservent": {"[sp + 0x0]": "void"}, "htons": {"[sp + 0x0]": "uint16_t HOSTSHORT"}, "ntohs": {"[sp + 0x0]": "uint16_t NETSHORT"}, "htonl": {"[sp + 0x0]": "uint32_t HOSTLONG"}, "ntohl": {"[sp + 0x0]": "uint32_t NETLONG"}, "getprotobyname": {"[sp + 0x0]": "const char *NAME"}, "getprotobynumber": {"[sp + 0x0]": "int PROTOCOL"}, "setprotoent": {"[sp + 0x0]": "int STAYOPEN"}, "getprotoent": {"[sp + 0x0]": "void"}, "endprotoent": {"[sp + 0x0]": "void"}, "socket": {"[sp + 0x0]": "int NAMESPACE", "[sp + 0x4]": "int STYLE", "[sp + 0x8]": "int PROTOCOL"}, "shutdown": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "int HOW"}, "socketpair": {"[sp + 0x0]": "int NAMESPACE", "[sp + 0x4]": "int STYLE", "[sp + 0x8]": "int PROTOCOL", "[sp + 0xc]": "int FILEDES[2]"}, "connect": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "struct sockaddr *ADDR", "[sp + 0x8]": "socklen_t LENGTH"}, "listen": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "int N"}, "accept": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "struct sockaddr *ADDR", "[sp + 0x8]": "socklen_t *LENGTH_PTR"}, "getpeername": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "struct sockaddr *ADDR", "[sp + 0x8]": "socklen_t *LENGTH-PTR"}, "send": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "const void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "int FLAGS"}, "recv": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "int FLAGS"}, "sendto": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "const void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "int FLAGS", "[sp + 0x10]": "struct sockaddr *ADDR", "[sp + 0x14]": "socklen_t LENGTH"}, "recvfrom": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "void *BUFFER", "[sp + 0x8]": "size_t SIZE", "[sp + 0xc]": "int FLAGS", "[sp + 0x10]": "struct sockaddr *ADDR", "[sp + 0x14]": "socklen_t *LENGTH-PTR"}, "getsockopt": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "int LEVEL", "[sp + 0x8]": "int OPTNAME", "[sp + 0xc]": "void *OPTVAL", "[sp + 0x10]": "socklen_t *OPTLEN-PTR"}, "setsockopt": {"[sp + 0x0]": "int SOCKET", "[sp + 0x4]": "int LEVEL", "[sp + 0x8]": "int OPTNAME", "[sp + 0xc]": "const void *OPTVAL", "[sp + 0x10]": "socklen_t OPTLEN"}, "getnetbyname": {"[sp + 0x0]": "const char *NAME"}, "getnetbyaddr": {"[sp + 0x0]": "uint32_t NET", "[sp + 0x4]": "int TYPE"}, "setnetent": {"[sp + 0x0]": "int STAYOPEN"}, "getnetent": {"[sp + 0x0]": "void"}, "endnetent": {"[sp + 0x0]": "void"}, "isatty": {"[sp + 0x0]": "int FILEDES"}, "ttyname": {"[sp + 0x0]": "int FILEDES"}, "ttyname_r": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "size_t LEN"}, "tcgetattr": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "struct termios *TERMIOS-P"}, "tcsetattr": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int WHEN", "[sp + 0x8]": "const struct termios *TERMIOS-P"}, "cfgetospeed": {"[sp + 0x0]": "const struct termios *TERMIOS-P"}, "cfgetispeed": {"[sp + 0x0]": "const struct termios *TERMIOS-P"}, "cfsetospeed": {"[sp + 0x0]": "struct termios *TERMIOS-P", "[sp + 0x4]": "speed_t SPEED"}, "cfsetispeed": {"[sp + 0x0]": "struct termios *TERMIOS-P", "[sp + 0x4]": "speed_t SPEED"}, "cfsetspeed": {"[sp + 0x0]": "struct termios *TERMIOS-P", "[sp + 0x4]": "speed_t SPEED"}, "cfmakeraw": {"[sp + 0x0]": "struct termios *TERMIOS-P"}, "gtty": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "struct sgttyb *ATTRIBUTES"}, "stty": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "const struct sgttyb *ATTRIBUTES"}, "tcsendbreak": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int DURATION"}, "tcdrain": {"[sp + 0x0]": "int FILEDES"}, "tcflush": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int QUEUE"}, "tcflow": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int ACTION"}, "getpass": {"[sp + 0x0]": "const char *PROMPT"}, "getpt": {"[sp + 0x0]": "void"}, "grantpt": {"[sp + 0x0]": "int FILEDES"}, "unlockpt": {"[sp + 0x0]": "int FILEDES"}, "ptsname": {"[sp + 0x0]": "int FILEDES"}, "ptsname_r": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "size_t LEN"}, "openpty": {"[sp + 0x0]": "int *AMASTER", "[sp + 0x4]": "int *ASLAVE", "[sp + 0x8]": "char *NAME", "[sp + 0xc]": "const struct termios *TERMP", "[sp + 0x10]": "const struct winsize *WINP"}, "forkpty": {"[sp + 0x0]": "int *AMASTER", "[sp + 0x4]": "char *NAME", "[sp + 0x8]": "const struct termios *TERMP", "[sp + 0xc]": "const struct winsize *WINP"}, "openlog": {"[sp + 0x0]": "const char *IDENT", "[sp + 0x4]": "int OPTION", "[sp + 0x8]": "int FACILITY"}, "syslog": {"[sp + 0x0]": "int FACILITY_PRIORITY", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "..."}, "vsyslog": {"[sp + 0x0]": "int FACILITY_PRIORITY", "[sp + 0x4]": "const char *FORMAT", "[sp + 0x8]": "va_list ARGLIST"}, "closelog": {"[sp + 0x0]": "void"}, "setlogmask": {"[sp + 0x0]": "int MASK"}, "sin": {"[sp + 0x0]": "double X"}, "sinf": {"[sp + 0x0]": "float X"}, "sinl": {"[sp + 0x0]": "long double X"}, "sinfN": {"[sp + 0x0]": "_FloatN X"}, "sinfNx": {"[sp + 0x0]": "_FloatNx X"}, "cos": {"[sp + 0x0]": "double X"}, "cosf": {"[sp + 0x0]": "float X"}, "cosl": {"[sp + 0x0]": "long double X"}, "cosfN": {"[sp + 0x0]": "_FloatN X"}, "cosfNx": {"[sp + 0x0]": "_FloatNx X"}, "tan": {"[sp + 0x0]": "double X"}, "tanf": {"[sp + 0x0]": "float X"}, "tanl": {"[sp + 0x0]": "long double X"}, "tanfN": {"[sp + 0x0]": "_FloatN X"}, "tanfNx": {"[sp + 0x0]": "_FloatNx X"}, "sincos": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double *SINX", "[sp + 0x8]": "double *COSX"}, "sincosf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float *SINX", "[sp + 0x8]": "float *COSX"}, "sincosl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double *SINX", "[sp + 0x8]": "long double *COSX"}, "sincosfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN *SINX", "[sp + 0x8]": "_FloatN *COSX"}, "sincosfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx *SINX", "[sp + 0x8]": "_FloatNx *COSX"}, "csin": {"[sp + 0x0]": "complex double Z"}, "csinf": {"[sp + 0x0]": "complex float Z"}, "csinl": {"[sp + 0x0]": "complex long double Z"}, "csinfN": {"[sp + 0x0]": "complex _FloatN Z"}, "csinfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "ccos": {"[sp + 0x0]": "complex double Z"}, "ccosf": {"[sp + 0x0]": "complex float Z"}, "ccosl": {"[sp + 0x0]": "complex long double Z"}, "ccosfN": {"[sp + 0x0]": "complex _FloatN Z"}, "ccosfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "ctan": {"[sp + 0x0]": "complex double Z"}, "ctanf": {"[sp + 0x0]": "complex float Z"}, "ctanl": {"[sp + 0x0]": "complex long double Z"}, "ctanfN": {"[sp + 0x0]": "complex _FloatN Z"}, "ctanfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "asin": {"[sp + 0x0]": "double X"}, "asinf": {"[sp + 0x0]": "float X"}, "asinl": {"[sp + 0x0]": "long double X"}, "asinfN": {"[sp + 0x0]": "_FloatN X"}, "asinfNx": {"[sp + 0x0]": "_FloatNx X"}, "acos": {"[sp + 0x0]": "double X"}, "acosf": {"[sp + 0x0]": "float X"}, "acosl": {"[sp + 0x0]": "long double X"}, "acosfN": {"[sp + 0x0]": "_FloatN X"}, "acosfNx": {"[sp + 0x0]": "_FloatNx X"}, "atan": {"[sp + 0x0]": "double X"}, "atanf": {"[sp + 0x0]": "float X"}, "atanl": {"[sp + 0x0]": "long double X"}, "atanfN": {"[sp + 0x0]": "_FloatN X"}, "atanfNx": {"[sp + 0x0]": "_FloatNx X"}, "atan2": {"[sp + 0x0]": "double Y", "[sp + 0x4]": "double X"}, "atan2f": {"[sp + 0x0]": "float Y", "[sp + 0x4]": "float X"}, "atan2l": {"[sp + 0x0]": "long double Y", "[sp + 0x4]": "long double X"}, "atan2fN": {"[sp + 0x0]": "_FloatN Y", "[sp + 0x4]": "_FloatN X"}, "atan2fNx": {"[sp + 0x0]": "_FloatNx Y", "[sp + 0x4]": "_FloatNx X"}, "casin": {"[sp + 0x0]": "complex double Z"}, "casinf": {"[sp + 0x0]": "complex float Z"}, "casinl": {"[sp + 0x0]": "complex long double Z"}, "casinfN": {"[sp + 0x0]": "complex _FloatN Z"}, "casinfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "cacos": {"[sp + 0x0]": "complex double Z"}, "cacosf": {"[sp + 0x0]": "complex float Z"}, "cacosl": {"[sp + 0x0]": "complex long double Z"}, "cacosfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cacosfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "catan": {"[sp + 0x0]": "complex double Z"}, "catanf": {"[sp + 0x0]": "complex float Z"}, "catanl": {"[sp + 0x0]": "complex long double Z"}, "catanfN": {"[sp + 0x0]": "complex _FloatN Z"}, "catanfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "exp": {"[sp + 0x0]": "double X"}, "expf": {"[sp + 0x0]": "float X"}, "expl": {"[sp + 0x0]": "long double X"}, "expfN": {"[sp + 0x0]": "_FloatN X"}, "expfNx": {"[sp + 0x0]": "_FloatNx X"}, "exp2": {"[sp + 0x0]": "double X"}, "exp2f": {"[sp + 0x0]": "float X"}, "exp2l": {"[sp + 0x0]": "long double X"}, "exp2fN": {"[sp + 0x0]": "_FloatN X"}, "exp2fNx": {"[sp + 0x0]": "_FloatNx X"}, "exp10": {"[sp + 0x0]": "double X"}, "exp10f": {"[sp + 0x0]": "float X"}, "exp10l": {"[sp + 0x0]": "long double X"}, "exp10fN": {"[sp + 0x0]": "_FloatN X"}, "exp10fNx": {"[sp + 0x0]": "_FloatNx X"}, "log": {"[sp + 0x0]": "double X"}, "logf": {"[sp + 0x0]": "float X"}, "logl": {"[sp + 0x0]": "long double X"}, "logfN": {"[sp + 0x0]": "_FloatN X"}, "logfNx": {"[sp + 0x0]": "_FloatNx X"}, "log10": {"[sp + 0x0]": "double X"}, "log10f": {"[sp + 0x0]": "float X"}, "log10l": {"[sp + 0x0]": "long double X"}, "log10fN": {"[sp + 0x0]": "_FloatN X"}, "log10fNx": {"[sp + 0x0]": "_FloatNx X"}, "log2": {"[sp + 0x0]": "double X"}, "log2f": {"[sp + 0x0]": "float X"}, "log2l": {"[sp + 0x0]": "long double X"}, "log2fN": {"[sp + 0x0]": "_FloatN X"}, "log2fNx": {"[sp + 0x0]": "_FloatNx X"}, "logb": {"[sp + 0x0]": "double X"}, "logbf": {"[sp + 0x0]": "float X"}, "logbl": {"[sp + 0x0]": "long double X"}, "logbfN": {"[sp + 0x0]": "_FloatN X"}, "logbfNx": {"[sp + 0x0]": "_FloatNx X"}, "ilogb": {"[sp + 0x0]": "double X"}, "ilogbf": {"[sp + 0x0]": "float X"}, "ilogbl": {"[sp + 0x0]": "long double X"}, "ilogbfN": {"[sp + 0x0]": "_FloatN X"}, "ilogbfNx": {"[sp + 0x0]": "_FloatNx X"}, "llogb": {"[sp + 0x0]": "double X"}, "llogbf": {"[sp + 0x0]": "float X"}, "llogbl": {"[sp + 0x0]": "long double X"}, "llogbfN": {"[sp + 0x0]": "_FloatN X"}, "llogbfNx": {"[sp + 0x0]": "_FloatNx X"}, "pow": {"[sp + 0x0]": "double BASE", "[sp + 0x4]": "double POWER"}, "powf": {"[sp + 0x0]": "float BASE", "[sp + 0x4]": "float POWER"}, "powl": {"[sp + 0x0]": "long double BASE", "[sp + 0x4]": "long double POWER"}, "powfN": {"[sp + 0x0]": "_FloatN BASE", "[sp + 0x4]": "_FloatN POWER"}, "powfNx": {"[sp + 0x0]": "_FloatNx BASE", "[sp + 0x4]": "_FloatNx POWER"}, "sqrt": {"[sp + 0x0]": "double X"}, "sqrtf": {"[sp + 0x0]": "float X"}, "sqrtl": {"[sp + 0x0]": "long double X"}, "sqrtfN": {"[sp + 0x0]": "_FloatN X"}, "sqrtfNx": {"[sp + 0x0]": "_FloatNx X"}, "cbrt": {"[sp + 0x0]": "double X"}, "cbrtf": {"[sp + 0x0]": "float X"}, "cbrtl": {"[sp + 0x0]": "long double X"}, "cbrtfN": {"[sp + 0x0]": "_FloatN X"}, "cbrtfNx": {"[sp + 0x0]": "_FloatNx X"}, "hypot": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "hypotf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "hypotl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "hypotfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "hypotfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "expm1": {"[sp + 0x0]": "double X"}, "expm1f": {"[sp + 0x0]": "float X"}, "expm1l": {"[sp + 0x0]": "long double X"}, "expm1fN": {"[sp + 0x0]": "_FloatN X"}, "expm1fNx": {"[sp + 0x0]": "_FloatNx X"}, "log1p": {"[sp + 0x0]": "double X"}, "log1pf": {"[sp + 0x0]": "float X"}, "log1pl": {"[sp + 0x0]": "long double X"}, "log1pfN": {"[sp + 0x0]": "_FloatN X"}, "log1pfNx": {"[sp + 0x0]": "_FloatNx X"}, "cexp": {"[sp + 0x0]": "complex double Z"}, "cexpf": {"[sp + 0x0]": "complex float Z"}, "cexpl": {"[sp + 0x0]": "complex long double Z"}, "cexpfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cexpfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "clog": {"[sp + 0x0]": "complex double Z"}, "clogf": {"[sp + 0x0]": "complex float Z"}, "clogl": {"[sp + 0x0]": "complex long double Z"}, "clogfN": {"[sp + 0x0]": "complex _FloatN Z"}, "clogfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "clog10": {"[sp + 0x0]": "complex double Z"}, "clog10f": {"[sp + 0x0]": "complex float Z"}, "clog10l": {"[sp + 0x0]": "complex long double Z"}, "clog10fN": {"[sp + 0x0]": "complex _FloatN Z"}, "clog10fNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "csqrt": {"[sp + 0x0]": "complex double Z"}, "csqrtf": {"[sp + 0x0]": "complex float Z"}, "csqrtl": {"[sp + 0x0]": "complex long double Z"}, "csqrtfN": {"[sp + 0x0]": "_FloatN Z"}, "csqrtfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "cpow": {"[sp + 0x0]": "complex double BASE", "[sp + 0x4]": "complex double POWER"}, "cpowf": {"[sp + 0x0]": "complex float BASE", "[sp + 0x4]": "complex float POWER"}, "cpowl": {"[sp + 0x0]": "complex long double BASE", "[sp + 0x4]": "complex long double POWER"}, "cpowfN": {"[sp + 0x0]": "complex _FloatN BASE", "[sp + 0x4]": "complex _FloatN POWER"}, "cpowfNx": {"[sp + 0x0]": "complex _FloatNx BASE", "[sp + 0x4]": "complex _FloatNx POWER"}, "sinh": {"[sp + 0x0]": "double X"}, "sinhf": {"[sp + 0x0]": "float X"}, "sinhl": {"[sp + 0x0]": "long double X"}, "sinhfN": {"[sp + 0x0]": "_FloatN X"}, "sinhfNx": {"[sp + 0x0]": "_FloatNx X"}, "cosh": {"[sp + 0x0]": "double X"}, "coshf": {"[sp + 0x0]": "float X"}, "coshl": {"[sp + 0x0]": "long double X"}, "coshfN": {"[sp + 0x0]": "_FloatN X"}, "coshfNx": {"[sp + 0x0]": "_FloatNx X"}, "tanh": {"[sp + 0x0]": "double X"}, "tanhf": {"[sp + 0x0]": "float X"}, "tanhl": {"[sp + 0x0]": "long double X"}, "tanhfN": {"[sp + 0x0]": "_FloatN X"}, "tanhfNx": {"[sp + 0x0]": "_FloatNx X"}, "csinh": {"[sp + 0x0]": "complex double Z"}, "csinhf": {"[sp + 0x0]": "complex float Z"}, "csinhl": {"[sp + 0x0]": "complex long double Z"}, "csinhfN": {"[sp + 0x0]": "complex _FloatN Z"}, "csinhfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "ccosh": {"[sp + 0x0]": "complex double Z"}, "ccoshf": {"[sp + 0x0]": "complex float Z"}, "ccoshl": {"[sp + 0x0]": "complex long double Z"}, "ccoshfN": {"[sp + 0x0]": "complex _FloatN Z"}, "ccoshfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "ctanh": {"[sp + 0x0]": "complex double Z"}, "ctanhf": {"[sp + 0x0]": "complex float Z"}, "ctanhl": {"[sp + 0x0]": "complex long double Z"}, "ctanhfN": {"[sp + 0x0]": "complex _FloatN Z"}, "ctanhfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "asinh": {"[sp + 0x0]": "double X"}, "asinhf": {"[sp + 0x0]": "float X"}, "asinhl": {"[sp + 0x0]": "long double X"}, "asinhfN": {"[sp + 0x0]": "_FloatN X"}, "asinhfNx": {"[sp + 0x0]": "_FloatNx X"}, "acosh": {"[sp + 0x0]": "double X"}, "acoshf": {"[sp + 0x0]": "float X"}, "acoshl": {"[sp + 0x0]": "long double X"}, "acoshfN": {"[sp + 0x0]": "_FloatN X"}, "acoshfNx": {"[sp + 0x0]": "_FloatNx X"}, "atanh": {"[sp + 0x0]": "double X"}, "atanhf": {"[sp + 0x0]": "float X"}, "atanhl": {"[sp + 0x0]": "long double X"}, "atanhfN": {"[sp + 0x0]": "_FloatN X"}, "atanhfNx": {"[sp + 0x0]": "_FloatNx X"}, "casinh": {"[sp + 0x0]": "complex double Z"}, "casinhf": {"[sp + 0x0]": "complex float Z"}, "casinhl": {"[sp + 0x0]": "complex long double Z"}, "casinhfN": {"[sp + 0x0]": "complex _FloatN Z"}, "casinhfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "cacosh": {"[sp + 0x0]": "complex double Z"}, "cacoshf": {"[sp + 0x0]": "complex float Z"}, "cacoshl": {"[sp + 0x0]": "complex long double Z"}, "cacoshfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cacoshfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "catanh": {"[sp + 0x0]": "complex double Z"}, "catanhf": {"[sp + 0x0]": "complex float Z"}, "catanhl": {"[sp + 0x0]": "complex long double Z"}, "catanhfN": {"[sp + 0x0]": "complex _FloatN Z"}, "catanhfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "erf": {"[sp + 0x0]": "double X"}, "erff": {"[sp + 0x0]": "float X"}, "erfl": {"[sp + 0x0]": "long double X"}, "erffN": {"[sp + 0x0]": "_FloatN X"}, "erffNx": {"[sp + 0x0]": "_FloatNx X"}, "erfc": {"[sp + 0x0]": "double X"}, "erfcf": {"[sp + 0x0]": "float X"}, "erfcl": {"[sp + 0x0]": "long double X"}, "erfcfN": {"[sp + 0x0]": "_FloatN X"}, "erfcfNx": {"[sp + 0x0]": "_FloatNx X"}, "lgamma": {"[sp + 0x0]": "double X"}, "lgammaf": {"[sp + 0x0]": "float X"}, "lgammal": {"[sp + 0x0]": "long double X"}, "lgammafN": {"[sp + 0x0]": "_FloatN X"}, "lgammafNx": {"[sp + 0x0]": "_FloatNx X"}, "lgamma_r": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int *SIGNP"}, "lgammaf_r": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int *SIGNP"}, "lgammal_r": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int *SIGNP"}, "lgammafN_r": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int *SIGNP"}, "lgammafNx_r": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int *SIGNP"}, "gamma": {"[sp + 0x0]": "double X"}, "gammaf": {"[sp + 0x0]": "float X"}, "gammal": {"[sp + 0x0]": "long double X"}, "tgamma": {"[sp + 0x0]": "double X"}, "tgammaf": {"[sp + 0x0]": "float X"}, "tgammal": {"[sp + 0x0]": "long double X"}, "tgammafN": {"[sp + 0x0]": "_FloatN X"}, "tgammafNx": {"[sp + 0x0]": "_FloatNx X"}, "j0": {"[sp + 0x0]": "double X"}, "j0f": {"[sp + 0x0]": "float X"}, "j0l": {"[sp + 0x0]": "long double X"}, "j0fN": {"[sp + 0x0]": "_FloatN X"}, "j0fNx": {"[sp + 0x0]": "_FloatNx X"}, "j1": {"[sp + 0x0]": "double X"}, "j1f": {"[sp + 0x0]": "float X"}, "j1l": {"[sp + 0x0]": "long double X"}, "j1fN": {"[sp + 0x0]": "_FloatN X"}, "j1fNx": {"[sp + 0x0]": "_FloatNx X"}, "jn": {"[sp + 0x0]": "int N", "[sp + 0x4]": "double X"}, "jnf": {"[sp + 0x0]": "int N", "[sp + 0x4]": "float X"}, "jnl": {"[sp + 0x0]": "int N", "[sp + 0x4]": "long double X"}, "jnfN": {"[sp + 0x0]": "int N", "[sp + 0x4]": "_FloatN X"}, "jnfNx": {"[sp + 0x0]": "int N", "[sp + 0x4]": "_FloatNx X"}, "y0": {"[sp + 0x0]": "double X"}, "y0f": {"[sp + 0x0]": "float X"}, "y0l": {"[sp + 0x0]": "long double X"}, "y0fN": {"[sp + 0x0]": "_FloatN X"}, "y0fNx": {"[sp + 0x0]": "_FloatNx X"}, "y1": {"[sp + 0x0]": "double X"}, "y1f": {"[sp + 0x0]": "float X"}, "y1l": {"[sp + 0x0]": "long double X"}, "y1fN": {"[sp + 0x0]": "_FloatN X"}, "y1fNx": {"[sp + 0x0]": "_FloatNx X"}, "yn": {"[sp + 0x0]": "int N", "[sp + 0x4]": "double X"}, "ynf": {"[sp + 0x0]": "int N", "[sp + 0x4]": "float X"}, "ynl": {"[sp + 0x0]": "int N", "[sp + 0x4]": "long double X"}, "ynfN": {"[sp + 0x0]": "int N", "[sp + 0x4]": "_FloatN X"}, "ynfNx": {"[sp + 0x0]": "int N", "[sp + 0x4]": "_FloatNx X"}, "rand": {"[sp + 0x0]": "void"}, "srand": {"[sp + 0x0]": "unsigned int SEED"}, "rand_r": {"[sp + 0x0]": "unsigned int *SEED"}, "random": {"[sp + 0x0]": "void"}, "srandom": {"[sp + 0x0]": "unsigned int SEED"}, "initstate": {"[sp + 0x0]": "unsigned int SEED", "[sp + 0x4]": "char *STATE", "[sp + 0x8]": "size_t SIZE"}, "setstate": {"[sp + 0x0]": "char *STATE"}, "random_r": {"[sp + 0x0]": "struct random_data *restrict BUF", "[sp + 0x4]": "int32_t *restrict RESULT"}, "srandom_r": {"[sp + 0x0]": "unsigned int SEED", "[sp + 0x4]": "struct random_data *BUF"}, "initstate_r": {"[sp + 0x0]": "unsigned int SEED", "[sp + 0x4]": "char *restrict STATEBUF", "[sp + 0x8]": "size_t STATELEN", "[sp + 0xc]": "struct random_data *restrict BUF"}, "setstate_r": {"[sp + 0x0]": "char *restrict STATEBUF", "[sp + 0x4]": "struct random_data *restrict BUF"}, "drand48": {"[sp + 0x0]": "void"}, "erand48": {"[sp + 0x0]": "unsigned short int XSUBI[3]"}, "lrand48": {"[sp + 0x0]": "void"}, "nrand48": {"[sp + 0x0]": "unsigned short int XSUBI[3]"}, "mrand48": {"[sp + 0x0]": "void"}, "jrand48": {"[sp + 0x0]": "unsigned short int XSUBI[3]"}, "srand48": {"[sp + 0x0]": "long int SEEDVAL"}, "seed48": {"[sp + 0x0]": "unsigned short int SEED16V[3]"}, "lcong48": {"[sp + 0x0]": "unsigned short int PARAM[7]"}, "drand48_r": {"[sp + 0x0]": "struct drand48_data *BUFFER", "[sp + 0x4]": "double *RESULT"}, "erand48_r": {"[sp + 0x0]": "unsigned short int XSUBI[3]", "[sp + 0x4]": "struct drand48_data *BUFFER", "[sp + 0x8]": "double *RESULT"}, "lrand48_r": {"[sp + 0x0]": "struct drand48_data *BUFFER", "[sp + 0x4]": "long int *RESULT"}, "nrand48_r": {"[sp + 0x0]": "unsigned short int XSUBI[3]", "[sp + 0x4]": "struct drand48_data *BUFFER", "[sp + 0x8]": "long int *RESULT"}, "mrand48_r": {"[sp + 0x0]": "struct drand48_data *BUFFER", "[sp + 0x4]": "long int *RESULT"}, "jrand48_r": {"[sp + 0x0]": "unsigned short int XSUBI[3]", "[sp + 0x4]": "struct drand48_data *BUFFER", "[sp + 0x8]": "long int *RESULT"}, "srand48_r": {"[sp + 0x0]": "long int SEEDVAL", "[sp + 0x4]": "struct drand48_data *BUFFER"}, "seed48_r": {"[sp + 0x0]": "unsigned short int SEED16V[3]", "[sp + 0x4]": "struct drand48_data *BUFFER"}, "lcong48_r": {"[sp + 0x0]": "unsigned short int PARAM[7]", "[sp + 0x4]": "struct drand48_data *BUFFER"}, "div": {"[sp + 0x0]": "int NUMERATOR", "[sp + 0x4]": "int DENOMINATOR"}, "ldiv": {"[sp + 0x0]": "long int NUMERATOR", "[sp + 0x4]": "long int DENOMINATOR"}, "lldiv": {"[sp + 0x0]": "long long int NUMERATOR", "[sp + 0x4]": "long long int DENOMINATOR"}, "imaxdiv": {"[sp + 0x0]": "intmax_t NUMERATOR", "[sp + 0x4]": "intmax_t DENOMINATOR"}, "isinf": {"[sp + 0x0]": "double X"}, "isinff": {"[sp + 0x0]": "float X"}, "isinfl": {"[sp + 0x0]": "long double X"}, "isnan": {"[sp + 0x0]": "double X"}, "isnanf": {"[sp + 0x0]": "float X"}, "isnanl": {"[sp + 0x0]": "long double X"}, "finite": {"[sp + 0x0]": "double X"}, "finitef": {"[sp + 0x0]": "float X"}, "finitel": {"[sp + 0x0]": "long double X"}, "feclearexcept": {"[sp + 0x0]": "int EXCEPTS"}, "feraiseexcept": {"[sp + 0x0]": "int EXCEPTS"}, "fesetexcept": {"[sp + 0x0]": "int EXCEPTS"}, "fetestexcept": {"[sp + 0x0]": "int EXCEPTS"}, "fegetexceptflag": {"[sp + 0x0]": "fexcept_t *FLAGP", "[sp + 0x4]": "int EXCEPTS"}, "fesetexceptflag": {"[sp + 0x0]": "const fexcept_t *FLAGP", "[sp + 0x4]": "int EXCEPTS"}, "fetestexceptflag": {"[sp + 0x0]": "const fexcept_t *FLAGP", "[sp + 0x4]": "int EXCEPTS"}, "fegetround": {"[sp + 0x0]": "void"}, "fesetround": {"[sp + 0x0]": "int ROUND"}, "fegetenv": {"[sp + 0x0]": "fenv_t *ENVP"}, "feholdexcept": {"[sp + 0x0]": "fenv_t *ENVP"}, "fesetenv": {"[sp + 0x0]": "const fenv_t *ENVP"}, "feupdateenv": {"[sp + 0x0]": "const fenv_t *ENVP"}, "fegetmode": {"[sp + 0x0]": "femode_t *MODEP"}, "fesetmode": {"[sp + 0x0]": "const femode_t *MODEP"}, "feenableexcept": {"[sp + 0x0]": "int EXCEPTS"}, "fedisableexcept": {"[sp + 0x0]": "int EXCEPTS"}, "fegetexcept": {"[sp + 0x0]": "void"}, "abs": {"[sp + 0x0]": "int NUMBER"}, "labs": {"[sp + 0x0]": "long int NUMBER"}, "llabs": {"[sp + 0x0]": "long long int NUMBER"}, "imaxabs": {"[sp + 0x0]": "intmax_t NUMBER"}, "fabs": {"[sp + 0x0]": "double NUMBER"}, "fabsf": {"[sp + 0x0]": "float NUMBER"}, "fabsl": {"[sp + 0x0]": "long double NUMBER"}, "fabsfN": {"[sp + 0x0]": "_FloatN NUMBER"}, "fabsfNx": {"[sp + 0x0]": "_FloatNx NUMBER"}, "cabs": {"[sp + 0x0]": "complex double Z"}, "cabsf": {"[sp + 0x0]": "complex float Z"}, "cabsl": {"[sp + 0x0]": "complex long double Z"}, "cabsfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cabsfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "frexp": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int *EXPONENT"}, "frexpf": {"[sp + 0x0]": "float VALUE", "[sp + 0x4]": "int *EXPONENT"}, "frexpl": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int *EXPONENT"}, "frexpfN": {"[sp + 0x0]": "_FloatN VALUE", "[sp + 0x4]": "int *EXPONENT"}, "frexpfNx": {"[sp + 0x0]": "_FloatNx VALUE", "[sp + 0x4]": "int *EXPONENT"}, "ldexp": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int EXPONENT"}, "ldexpf": {"[sp + 0x0]": "float VALUE", "[sp + 0x4]": "int EXPONENT"}, "ldexpl": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int EXPONENT"}, "ldexpfN": {"[sp + 0x0]": "_FloatN VALUE", "[sp + 0x4]": "int EXPONENT"}, "ldexpfNx": {"[sp + 0x0]": "_FloatNx VALUE", "[sp + 0x4]": "int EXPONENT"}, "scalb": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "double EXPONENT"}, "scalbf": {"[sp + 0x0]": "float VALUE", "[sp + 0x4]": "float EXPONENT"}, "scalbl": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "long double EXPONENT"}, "scalbn": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int N"}, "scalbnf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int N"}, "scalbnl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int N"}, "scalbnfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int N"}, "scalbnfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int N"}, "scalbln": {"[sp + 0x0]": "double X", "[sp + 0x4]": "long int N"}, "scalblnf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "long int N"}, "scalblnl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long int N"}, "scalblnfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "long int N"}, "scalblnfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "long int N"}, "significand": {"[sp + 0x0]": "double X"}, "significandf": {"[sp + 0x0]": "float X"}, "significandl": {"[sp + 0x0]": "long double X"}, "ceil": {"[sp + 0x0]": "double X"}, "ceilf": {"[sp + 0x0]": "float X"}, "ceill": {"[sp + 0x0]": "long double X"}, "ceilfN": {"[sp + 0x0]": "_FloatN X"}, "ceilfNx": {"[sp + 0x0]": "_FloatNx X"}, "floor": {"[sp + 0x0]": "double X"}, "floorf": {"[sp + 0x0]": "float X"}, "floorl": {"[sp + 0x0]": "long double X"}, "floorfN": {"[sp + 0x0]": "_FloatN X"}, "floorfNx": {"[sp + 0x0]": "_FloatNx X"}, "trunc": {"[sp + 0x0]": "double X"}, "truncf": {"[sp + 0x0]": "float X"}, "truncl": {"[sp + 0x0]": "long double X"}, "truncfN": {"[sp + 0x0]": "_FloatN X"}, "truncfNx": {"[sp + 0x0]": "_FloatNx X"}, "rint": {"[sp + 0x0]": "double X"}, "rintf": {"[sp + 0x0]": "float X"}, "rintl": {"[sp + 0x0]": "long double X"}, "rintfN": {"[sp + 0x0]": "_FloatN X"}, "rintfNx": {"[sp + 0x0]": "_FloatNx X"}, "nearbyint": {"[sp + 0x0]": "double X"}, "nearbyintf": {"[sp + 0x0]": "float X"}, "nearbyintl": {"[sp + 0x0]": "long double X"}, "nearbyintfN": {"[sp + 0x0]": "_FloatN X"}, "nearbyintfNx": {"[sp + 0x0]": "_FloatNx X"}, "round": {"[sp + 0x0]": "double X"}, "roundf": {"[sp + 0x0]": "float X"}, "roundl": {"[sp + 0x0]": "long double X"}, "roundfN": {"[sp + 0x0]": "_FloatN X"}, "roundfNx": {"[sp + 0x0]": "_FloatNx X"}, "roundeven": {"[sp + 0x0]": "double X"}, "roundevenf": {"[sp + 0x0]": "float X"}, "roundevenl": {"[sp + 0x0]": "long double X"}, "roundevenfN": {"[sp + 0x0]": "_FloatN X"}, "roundevenfNx": {"[sp + 0x0]": "_FloatNx X"}, "lrint": {"[sp + 0x0]": "double X"}, "lrintf": {"[sp + 0x0]": "float X"}, "lrintl": {"[sp + 0x0]": "long double X"}, "lrintfN": {"[sp + 0x0]": "_FloatN X"}, "lrintfNx": {"[sp + 0x0]": "_FloatNx X"}, "llrint": {"[sp + 0x0]": "double X"}, "llrintf": {"[sp + 0x0]": "float X"}, "llrintl": {"[sp + 0x0]": "long double X"}, "llrintfN": {"[sp + 0x0]": "_FloatN X"}, "llrintfNx": {"[sp + 0x0]": "_FloatNx X"}, "lround": {"[sp + 0x0]": "double X"}, "lroundf": {"[sp + 0x0]": "float X"}, "lroundl": {"[sp + 0x0]": "long double X"}, "lroundfN": {"[sp + 0x0]": "_FloatN X"}, "lroundfNx": {"[sp + 0x0]": "_FloatNx X"}, "llround": {"[sp + 0x0]": "double X"}, "llroundf": {"[sp + 0x0]": "float X"}, "llroundl": {"[sp + 0x0]": "long double X"}, "llroundfN": {"[sp + 0x0]": "_FloatN X"}, "llroundfNx": {"[sp + 0x0]": "_FloatNx X"}, "fromfp": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfp": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpx": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpxf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpxl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpxfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "fromfpxfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpx": {"[sp + 0x0]": "double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpxf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpxl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpxfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "ufromfpxfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "int ROUND", "[sp + 0x8]": "unsigned int WIDTH"}, "modf": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "double *INTEGER-PART"}, "modff": {"[sp + 0x0]": "float VALUE", "[sp + 0x4]": "float *INTEGER-PART"}, "modfl": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "long double *INTEGER-PART"}, "modffN": {"[sp + 0x0]": "_FloatN VALUE", "[sp + 0x4]": "_FloatN *INTEGER-PART"}, "modffNx": {"[sp + 0x0]": "_FloatNx VALUE", "[sp + 0x4]": "_FloatNx *INTEGER-PART"}, "fmod": {"[sp + 0x0]": "double NUMERATOR", "[sp + 0x4]": "double DENOMINATOR"}, "fmodf": {"[sp + 0x0]": "float NUMERATOR", "[sp + 0x4]": "float DENOMINATOR"}, "fmodl": {"[sp + 0x0]": "long double NUMERATOR", "[sp + 0x4]": "long double DENOMINATOR"}, "fmodfN": {"[sp + 0x0]": "_FloatN NUMERATOR", "[sp + 0x4]": "_FloatN DENOMINATOR"}, "fmodfNx": {"[sp + 0x0]": "_FloatNx NUMERATOR", "[sp + 0x4]": "_FloatNx DENOMINATOR"}, "remainder": {"[sp + 0x0]": "double NUMERATOR", "[sp + 0x4]": "double DENOMINATOR"}, "remainderf": {"[sp + 0x0]": "float NUMERATOR", "[sp + 0x4]": "float DENOMINATOR"}, "remainderl": {"[sp + 0x0]": "long double NUMERATOR", "[sp + 0x4]": "long double DENOMINATOR"}, "remainderfN": {"[sp + 0x0]": "_FloatN NUMERATOR", "[sp + 0x4]": "_FloatN DENOMINATOR"}, "remainderfNx": {"[sp + 0x0]": "_FloatNx NUMERATOR", "[sp + 0x4]": "_FloatNx DENOMINATOR"}, "drem": {"[sp + 0x0]": "double NUMERATOR", "[sp + 0x4]": "double DENOMINATOR"}, "dremf": {"[sp + 0x0]": "float NUMERATOR", "[sp + 0x4]": "float DENOMINATOR"}, "dreml": {"[sp + 0x0]": "long double NUMERATOR", "[sp + 0x4]": "long double DENOMINATOR"}, "copysign": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "copysignf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "copysignl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "copysignfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "copysignfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "signbit": {"[sp + 0x0]": "_float-type_ X"}, "nextafter": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "nextafterf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "nextafterl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "nextafterfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "nextafterfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "nexttoward": {"[sp + 0x0]": "double X", "[sp + 0x4]": "long double Y"}, "nexttowardf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "long double Y"}, "nexttowardl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "nextup": {"[sp + 0x0]": "double X"}, "nextupf": {"[sp + 0x0]": "float X"}, "nextupl": {"[sp + 0x0]": "long double X"}, "nextupfN": {"[sp + 0x0]": "_FloatN X"}, "nextupfNx": {"[sp + 0x0]": "_FloatNx X"}, "nextdown": {"[sp + 0x0]": "double X"}, "nextdownf": {"[sp + 0x0]": "float X"}, "nextdownl": {"[sp + 0x0]": "long double X"}, "nextdownfN": {"[sp + 0x0]": "_FloatN X"}, "nextdownfNx": {"[sp + 0x0]": "_FloatNx X"}, "nan": {"[sp + 0x0]": "const char *TAGP"}, "nanf": {"[sp + 0x0]": "const char *TAGP"}, "nanl": {"[sp + 0x0]": "const char *TAGP"}, "nanfN": {"[sp + 0x0]": "const char *TAGP"}, "nanfNx": {"[sp + 0x0]": "const char *TAGP"}, "canonicalize": {"[sp + 0x0]": "double *CX", "[sp + 0x4]": "const double *X"}, "canonicalizef": {"[sp + 0x0]": "float *CX", "[sp + 0x4]": "const float *X"}, "canonicalizel": {"[sp + 0x0]": "long double *CX", "[sp + 0x4]": "const long double *X"}, "canonicalizefN": {"[sp + 0x0]": "_FloatN *CX", "[sp + 0x4]": "const _FloatN *X"}, "canonicalizefNx": {"[sp + 0x0]": "_FloatNx *CX", "[sp + 0x4]": "const _FloatNx *X"}, "getpayload": {"[sp + 0x0]": "const double *X"}, "getpayloadf": {"[sp + 0x0]": "const float *X"}, "getpayloadl": {"[sp + 0x0]": "const long double *X"}, "getpayloadfN": {"[sp + 0x0]": "const _FloatN *X"}, "getpayloadfNx": {"[sp + 0x0]": "const _FloatNx *X"}, "setpayload": {"[sp + 0x0]": "double *X", "[sp + 0x4]": "double PAYLOAD"}, "setpayloadf": {"[sp + 0x0]": "float *X", "[sp + 0x4]": "float PAYLOAD"}, "setpayloadl": {"[sp + 0x0]": "long double *X", "[sp + 0x4]": "long double PAYLOAD"}, "setpayloadfN": {"[sp + 0x0]": "_FloatN *X", "[sp + 0x4]": "_FloatN PAYLOAD"}, "setpayloadfNx": {"[sp + 0x0]": "_FloatNx *X", "[sp + 0x4]": "_FloatNx PAYLOAD"}, "setpayloadsig": {"[sp + 0x0]": "double *X", "[sp + 0x4]": "double PAYLOAD"}, "setpayloadsigf": {"[sp + 0x0]": "float *X", "[sp + 0x4]": "float PAYLOAD"}, "setpayloadsigl": {"[sp + 0x0]": "long double *X", "[sp + 0x4]": "long double PAYLOAD"}, "setpayloadsigfN": {"[sp + 0x0]": "_FloatN *X", "[sp + 0x4]": "_FloatN PAYLOAD"}, "setpayloadsigfNx": {"[sp + 0x0]": "_FloatNx *X", "[sp + 0x4]": "_FloatNx PAYLOAD"}, "totalorder": {"[sp + 0x0]": "const double *X", "[sp + 0x4]": "const double *Y"}, "totalorderf": {"[sp + 0x0]": "const float *X", "[sp + 0x4]": "const float *Y"}, "totalorderl": {"[sp + 0x0]": "const long double *X", "[sp + 0x4]": "const long double *Y"}, "totalorderfN": {"[sp + 0x0]": "const _FloatN *X", "[sp + 0x4]": "const _FloatN *Y"}, "totalorderfNx": {"[sp + 0x0]": "const _FloatNx *X", "[sp + 0x4]": "const _FloatNx *Y"}, "totalordermag": {"[sp + 0x0]": "const double *X", "[sp + 0x4]": "const double *Y"}, "totalordermagf": {"[sp + 0x0]": "const float *X", "[sp + 0x4]": "const float *Y"}, "totalordermagl": {"[sp + 0x0]": "const long double *X", "[sp + 0x4]": "const long double *Y"}, "totalordermagfN": {"[sp + 0x0]": "const _FloatN *X", "[sp + 0x4]": "const _FloatN *Y"}, "totalordermagfNx": {"[sp + 0x0]": "const _FloatNx *X", "[sp + 0x4]": "const _FloatNx *Y"}, "fmin": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fminf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "fminl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fminfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fminfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fmax": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fmaxf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "fmaxl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fmaxfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fmaxfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fminmag": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fminmagf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "fminmagl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fminmagfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fminmagfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fmaxmag": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fmaxmagf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "fmaxmagl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fmaxmagfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fmaxmagfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fdim": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fdimf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y"}, "fdiml": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fdimfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fdimfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fma": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y", "[sp + 0x8]": "double Z"}, "fmaf": {"[sp + 0x0]": "float X", "[sp + 0x4]": "float Y", "[sp + 0x8]": "float Z"}, "fmal": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y", "[sp + 0x8]": "long double Z"}, "fmafN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y", "[sp + 0x8]": "_FloatN Z"}, "fmafNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y", "[sp + 0x8]": "_FloatNx Z"}, "fadd": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "faddl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "daddl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fMaddfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMaddfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fMxaddfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMxaddfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fsub": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fsubl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "dsubl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fMsubfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMsubfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fMxsubfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMxsubfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fmul": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fmull": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "dmull": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fMmulfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMmulfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fMxmulfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMxmulfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fdiv": {"[sp + 0x0]": "double X", "[sp + 0x4]": "double Y"}, "fdivl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "ddivl": {"[sp + 0x0]": "long double X", "[sp + 0x4]": "long double Y"}, "fMdivfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMdivfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "fMxdivfN": {"[sp + 0x0]": "_FloatN X", "[sp + 0x4]": "_FloatN Y"}, "fMxdivfNx": {"[sp + 0x0]": "_FloatNx X", "[sp + 0x4]": "_FloatNx Y"}, "creal": {"[sp + 0x0]": "complex double Z"}, "crealf": {"[sp + 0x0]": "complex float Z"}, "creall": {"[sp + 0x0]": "complex long double Z"}, "crealfN": {"[sp + 0x0]": "complex _FloatN Z"}, "crealfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "cimag": {"[sp + 0x0]": "complex double Z"}, "cimagf": {"[sp + 0x0]": "complex float Z"}, "cimagl": {"[sp + 0x0]": "complex long double Z"}, "cimagfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cimagfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "conj": {"[sp + 0x0]": "complex double Z"}, "conjf": {"[sp + 0x0]": "complex float Z"}, "conjl": {"[sp + 0x0]": "complex long double Z"}, "conjfN": {"[sp + 0x0]": "complex _FloatN Z"}, "conjfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "carg": {"[sp + 0x0]": "complex double Z"}, "cargf": {"[sp + 0x0]": "complex float Z"}, "cargl": {"[sp + 0x0]": "complex long double Z"}, "cargfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cargfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "cproj": {"[sp + 0x0]": "complex double Z"}, "cprojf": {"[sp + 0x0]": "complex float Z"}, "cprojl": {"[sp + 0x0]": "complex long double Z"}, "cprojfN": {"[sp + 0x0]": "complex _FloatN Z"}, "cprojfNx": {"[sp + 0x0]": "complex _FloatNx Z"}, "strtol": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstol": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoul": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoul": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoll": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoll": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoq": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoq": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoull": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoull": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtouq": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstouq": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoimax": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoimax": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "strtoumax": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "wcstoumax": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR", "[sp + 0x8]": "int BASE"}, "atol": {"[sp + 0x0]": "const char *STRING"}, "atoi": {"[sp + 0x0]": "const char *STRING"}, "atoll": {"[sp + 0x0]": "const char *STRING"}, "strtod": {"[sp + 0x0]": "const char *restrict STRING", "[sp + 0x4]": "char **restrict TAILPTR"}, "strtof": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "char **TAILPTR"}, "strtold": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "char **TAILPTR"}, "strtofN": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "char **TAILPTR"}, "strtofNx": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "char **TAILPTR"}, "wcstod": {"[sp + 0x0]": "const wchar_t *restrict STRING", "[sp + 0x4]": "wchar_t **restrict TAILPTR"}, "wcstof": {"[sp + 0x0]": "const wchar_t *STRING", "[sp + 0x4]": "wchar_t **TAILPTR"}, "wcstold": {"[sp + 0x0]": "const wchar_t *STRING", "[sp + 0x4]": "wchar_t **TAILPTR"}, "wcstofN": {"[sp + 0x0]": "const wchar_t *STRING", "[sp + 0x4]": "wchar_t **TAILPTR"}, "wcstofNx": {"[sp + 0x0]": "const wchar_t *STRING", "[sp + 0x4]": "wchar_t **TAILPTR"}, "atof": {"[sp + 0x0]": "const char *STRING"}, "strfromd": {"[sp + 0x0]": "char *restrict STRING", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *restrict FORMAT", "[sp + 0xc]": "double VALUE"}, "strfromf": {"[sp + 0x0]": "char *restrict STRING", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *restrict FORMAT", "[sp + 0xc]": "float VALUE"}, "strfroml": {"[sp + 0x0]": "char *restrict STRING", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *restrict FORMAT", "[sp + 0xc]": "long double VALUE"}, "strfromfN": {"[sp + 0x0]": "char *restrict STRING", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *restrict FORMAT", "[sp + 0xc]": "_FloatN VALUE"}, "strfromfNx": {"[sp + 0x0]": "char *restrict STRING", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *restrict FORMAT", "[sp + 0xc]": "_FloatNx VALUE"}, "ecvt": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG"}, "fcvt": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG"}, "gcvt": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "char *BUF"}, "qecvt": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG"}, "qfcvt": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG"}, "qgcvt": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "char *BUF"}, "ecvt_r": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG", "[sp + 0x10]": "char *BUF", "[sp + 0x14]": "size_t LEN"}, "fcvt_r": {"[sp + 0x0]": "double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG", "[sp + 0x10]": "char *BUF", "[sp + 0x14]": "size_t LEN"}, "qecvt_r": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG", "[sp + 0x10]": "char *BUF", "[sp + 0x14]": "size_t LEN"}, "qfcvt_r": {"[sp + 0x0]": "long double VALUE", "[sp + 0x4]": "int NDIGIT", "[sp + 0x8]": "int *DECPT", "[sp + 0xc]": "int *NEG", "[sp + 0x10]": "char *BUF", "[sp + 0x14]": "size_t LEN"}, "difftime": {"[sp + 0x0]": "time_t END", "[sp + 0x4]": "time_t BEGIN"}, "clock": {"[sp + 0x0]": "void"}, "times": {"[sp + 0x0]": "struct tms *BUFFER"}, "time": {"[sp + 0x0]": "time_t *RESULT"}, "clock_gettime": {"[sp + 0x0]": "clockid_t CLOCK", "[sp + 0x4]": "struct timespec *TS"}, "clock_getres": {"[sp + 0x0]": "clockid_t CLOCK", "[sp + 0x4]": "struct timespec *RES"}, "gettimeofday": {"[sp + 0x0]": "struct timeval *TP", "[sp + 0x4]": "void *TZP"}, "clock_settime": {"[sp + 0x0]": "clockid_t CLOCK", "[sp + 0x4]": "const struct timespec *TS"}, "ntp_gettime": {"[sp + 0x0]": "struct ntptimeval *TPTR"}, "ntp_adjtime": {"[sp + 0x0]": "struct timex *TPTR"}, "adjtime": {"[sp + 0x0]": "const struct timeval *DELTA", "[sp + 0x4]": "struct timeval *OLDDELTA"}, "stime": {"[sp + 0x0]": "const time_t *NEWTIME"}, "adjtimex": {"[sp + 0x0]": "struct timex *TIMEX"}, "settimeofday": {"[sp + 0x0]": "const struct timeval *TP", "[sp + 0x4]": "const void *TZP"}, "localtime": {"[sp + 0x0]": "const time_t *TIME"}, "localtime_r": {"[sp + 0x0]": "const time_t *TIME", "[sp + 0x4]": "struct tm *RESULTP"}, "gmtime": {"[sp + 0x0]": "const time_t *TIME"}, "gmtime_r": {"[sp + 0x0]": "const time_t *TIME", "[sp + 0x4]": "struct tm *RESULTP"}, "mktime": {"[sp + 0x0]": "struct tm *BROKENTIME"}, "timelocal": {"[sp + 0x0]": "struct tm *BROKENTIME"}, "timegm": {"[sp + 0x0]": "struct tm *BROKENTIME"}, "asctime": {"[sp + 0x0]": "const struct tm *BROKENTIME"}, "asctime_r": {"[sp + 0x0]": "const struct tm *BROKENTIME", "[sp + 0x4]": "char *BUFFER"}, "ctime": {"[sp + 0x0]": "const time_t *TIME"}, "ctime_r": {"[sp + 0x0]": "const time_t *TIME", "[sp + 0x4]": "char *BUFFER"}, "strftime": {"[sp + 0x0]": "char *S", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const char *TEMPLATE", "[sp + 0xc]": "const struct tm *BROKENTIME"}, "wcsftime": {"[sp + 0x0]": "wchar_t *S", "[sp + 0x4]": "size_t SIZE", "[sp + 0x8]": "const wchar_t *TEMPLATE", "[sp + 0xc]": "const struct tm *BROKENTIME"}, "strptime": {"[sp + 0x0]": "const char *S", "[sp + 0x4]": "const char *FMT", "[sp + 0x8]": "struct tm *TP"}, "getdate": {"[sp + 0x0]": "const char *STRING"}, "getdate_r": {"[sp + 0x0]": "const char *STRING", "[sp + 0x4]": "struct tm *TP"}, "tzset": {"[sp + 0x0]": "void"}, "setitimer": {"[sp + 0x0]": "int WHICH", "[sp + 0x4]": "const struct itimerval *NEW", "[sp + 0x8]": "struct itimerval *OLD"}, "getitimer": {"[sp + 0x0]": "int WHICH", "[sp + 0x4]": "struct itimerval *OLD"}, "alarm": {"[sp + 0x0]": "unsigned int SECONDS"}, "sleep": {"[sp + 0x0]": "unsigned int SECONDS"}, "nanosleep": {"[sp + 0x0]": "const struct timespec *REQUESTED_TIME", "[sp + 0x4]": "struct timespec *REMAINING"}, "getrusage": {"[sp + 0x0]": "int PROCESSES", "[sp + 0x4]": "struct rusage *RUSAGE"}, "vtimes": {"[sp + 0x0]": "struct vtimes *CURRENT", "[sp + 0x4]": "struct vtimes *CHILD"}, "getrlimit": {"[sp + 0x0]": "int RESOURCE", "[sp + 0x4]": "struct rlimit *RLP"}, "getrlimit64": {"[sp + 0x0]": "int RESOURCE", "[sp + 0x4]": "struct rlimit64 *RLP"}, "setrlimit": {"[sp + 0x0]": "int RESOURCE", "[sp + 0x4]": "const struct rlimit *RLP"}, "setrlimit64": {"[sp + 0x0]": "int RESOURCE", "[sp + 0x4]": "const struct rlimit64 *RLP"}, "ulimit": {"[sp + 0x0]": "int CMD", "[sp + 0x4]": "..."}, "vlimit": {"[sp + 0x0]": "int RESOURCE", "[sp + 0x4]": "int LIMIT"}, "sched_setscheduler": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "int POLICY", "[sp + 0x8]": "const struct sched_param *PARAM"}, "sched_getscheduler": {"[sp + 0x0]": "pid_t PID"}, "sched_setparam": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "const struct sched_param *PARAM"}, "sched_getparam": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "struct sched_param *PARAM"}, "sched_get_priority_min": {"[sp + 0x0]": "int POLICY"}, "sched_get_priority_max": {"[sp + 0x0]": "int POLICY"}, "sched_rr_get_interval": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "struct timespec *INTERVAL"}, "sched_yield": {"[sp + 0x0]": "void"}, "getpriority": {"[sp + 0x0]": "int CLASS", "[sp + 0x4]": "int ID"}, "setpriority": {"[sp + 0x0]": "int CLASS", "[sp + 0x4]": "int ID", "[sp + 0x8]": "int NICEVAL"}, "nice": {"[sp + 0x0]": "int INCREMENT"}, "sched_getaffinity": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "size_t CPUSETSIZE", "[sp + 0x8]": "cpu_set_t *CPUSET"}, "sched_setaffinity": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "size_t CPUSETSIZE", "[sp + 0x8]": "const cpu_set_t *CPUSET"}, "getcpu": {"[sp + 0x0]": "unsigned int *cpu", "[sp + 0x4]": "unsigned int *node"}, "getpagesize": {"[sp + 0x0]": "void"}, "get_phys_pages": {"[sp + 0x0]": "void"}, "get_avphys_pages": {"[sp + 0x0]": "void"}, "get_nprocs_conf": {"[sp + 0x0]": "void"}, "get_nprocs": {"[sp + 0x0]": "void"}, "getloadavg": {"[sp + 0x0]": "double LOADAVG[]", "[sp + 0x4]": "int NELEM"}, "longjmp": {"[sp + 0x0]": "jmp_buf STATE", "[sp + 0x4]": "int VALUE"}, "sigsetjmp": {"[sp + 0x0]": "sigjmp_buf STATE", "[sp + 0x4]": "int SAVESIGS"}, "siglongjmp": {"[sp + 0x0]": "sigjmp_buf STATE", "[sp + 0x4]": "int VALUE"}, "getcontext": {"[sp + 0x0]": "ucontext_t *UCP"}, "makecontext": {"[sp + 0x0]": "ucontext_t *UCP", "[sp + 0x4]": "void (*FUNC) (void)", "[sp + 0x8]": "int ARGC", "[sp + 0xc]": "..."}, "setcontext": {"[sp + 0x0]": "const ucontext_t *UCP"}, "swapcontext": {"[sp + 0x0]": "ucontext_t *restrict OUCP", "[sp + 0x4]": "const ucontext_t *restrict UCP"}, "strsignal": {"[sp + 0x0]": "int SIGNUM"}, "psignal": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "const char *MESSAGE"}, "sigdescr_np": {"[sp + 0x0]": "int SIGNUM"}, "sigabbrev_np": {"[sp + 0x0]": "int SIGNUM"}, "signal": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "sighandler_t ACTION"}, "sysv_signal": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "sighandler_t ACTION"}, "ssignal": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "sighandler_t ACTION"}, "sigaction": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "const struct sigaction *restrict ACTION", "[sp + 0x8]": "struct sigaction *restrict OLD-ACTION"}, "raise": {"[sp + 0x0]": "int SIGNUM"}, "gsignal": {"[sp + 0x0]": "int SIGNUM"}, "kill": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "int SIGNUM"}, "tgkill": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "pid_t TID", "[sp + 0x8]": "int SIGNUM"}, "killpg": {"[sp + 0x0]": "int PGID", "[sp + 0x4]": "int SIGNUM"}, "sigemptyset": {"[sp + 0x0]": "sigset_t *SET"}, "sigfillset": {"[sp + 0x0]": "sigset_t *SET"}, "sigaddset": {"[sp + 0x0]": "sigset_t *SET", "[sp + 0x4]": "int SIGNUM"}, "sigdelset": {"[sp + 0x0]": "sigset_t *SET", "[sp + 0x4]": "int SIGNUM"}, "sigismember": {"[sp + 0x0]": "const sigset_t *SET", "[sp + 0x4]": "int SIGNUM"}, "sigprocmask": {"[sp + 0x0]": "int HOW", "[sp + 0x4]": "const sigset_t *restrict SET", "[sp + 0x8]": "sigset_t *restrict OLDSET"}, "sigpending": {"[sp + 0x0]": "sigset_t *SET"}, "pause": {"[sp + 0x0]": "void"}, "sigsuspend": {"[sp + 0x0]": "const sigset_t *SET"}, "sigaltstack": {"[sp + 0x0]": "const stack_t *restrict STACK", "[sp + 0x4]": "stack_t *restrict OLDSTACK"}, "sigstack": {"[sp + 0x0]": "struct sigstack *STACK", "[sp + 0x4]": "struct sigstack *OLDSTACK"}, "siginterrupt": {"[sp + 0x0]": "int SIGNUM", "[sp + 0x4]": "int FAILFLAG"}, "sigblock": {"[sp + 0x0]": "int MASK"}, "sigsetmask": {"[sp + 0x0]": "int MASK"}, "sigpause": {"[sp + 0x0]": "int MASK"}, "getopt": {"[sp + 0x0]": "int ARGC", "[sp + 0x4]": "char *const *ARGV", "[sp + 0x8]": "const char *OPTIONS"}, "getopt_long": {"[sp + 0x0]": "int ARGC", "[sp + 0x4]": "char *const *ARGV", "[sp + 0x8]": "const char *SHORTOPTS", "[sp + 0xc]": "const struct option *LONGOPTS", "[sp + 0x10]": "int *INDEXPTR"}, "getopt_long_only": {"[sp + 0x0]": "int ARGC", "[sp + 0x4]": "char *const *ARGV", "[sp + 0x8]": "const char *SHORTOPTS", "[sp + 0xc]": "const struct option *LONGOPTS", "[sp + 0x10]": "int *INDEXPTR"}, "argp_parse": {"[sp + 0x0]": "const struct argp *ARGP", "[sp + 0x4]": "int ARGC", "[sp + 0x8]": "char **ARGV", "[sp + 0xc]": "unsigned FLAGS", "[sp + 0x10]": "int *ARG_INDEX", "[sp + 0x14]": "void *INPUT"}, "argp_usage": {"[sp + 0x0]": "const struct argp_state *STATE"}, "argp_error": {"[sp + 0x0]": "const struct argp_state *STATE", "[sp + 0x4]": "const char *FMT", "[sp + 0x8]": "..."}, "argp_failure": {"[sp + 0x0]": "const struct argp_state *STATE", "[sp + 0x4]": "int STATUS", "[sp + 0x8]": "int ERRNUM", "[sp + 0xc]": "const char *FMT", "[sp + 0x10]": "..."}, "argp_state_help": {"[sp + 0x0]": "const struct argp_state *STATE", "[sp + 0x4]": "FILE *STREAM", "[sp + 0x8]": "unsigned FLAGS"}, "argp_help": {"[sp + 0x0]": "const struct argp *ARGP", "[sp + 0x4]": "FILE *STREAM", "[sp + 0x8]": "unsigned FLAGS", "[sp + 0xc]": "char *NAME"}, "getsubopt": {"[sp + 0x0]": "char **OPTIONP", "[sp + 0x4]": "char *const *TOKENS", "[sp + 0x8]": "char **VALUEP"}, "getenv": {"[sp + 0x0]": "const char *NAME"}, "secure_getenv": {"[sp + 0x0]": "const char *NAME"}, "putenv": {"[sp + 0x0]": "char *STRING"}, "setenv": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "const char *VALUE", "[sp + 0x8]": "int REPLACE"}, "unsetenv": {"[sp + 0x0]": "const char *NAME"}, "clearenv": {"[sp + 0x0]": "void"}, "getauxval": {"[sp + 0x0]": "unsigned long int TYPE"}, "syscall": {"[sp + 0x0]": "long int SYSNO", "[sp + 0x4]": "..."}, "exit": {"[sp + 0x0]": "int STATUS"}, "atexit": {"[sp + 0x0]": "void (*FUNCTION) (void)"}, "on_exit": {"[sp + 0x0]": "void (*FUNCTION)(int STATUS", "[sp + 0x4]": "void *ARG)", "[sp + 0x8]": "void *ARG"}, "abort": {"[sp + 0x0]": "void"}, "_exit": {"[sp + 0x0]": "int STATUS"}, "_Exit": {"[sp + 0x0]": "int STATUS"}, "system": {"[sp + 0x0]": "const char *COMMAND"}, "getpid": {"[sp + 0x0]": "void"}, "getppid": {"[sp + 0x0]": "void"}, "gettid": {"[sp + 0x0]": "void"}, "fork": {"[sp + 0x0]": "void"}, "vfork": {"[sp + 0x0]": "void"}, "execv": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "char *const ARGV[]"}, "execl": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *ARG0", "[sp + 0x8]": "..."}, "execve": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "char *const ARGV[]", "[sp + 0x8]": "char *const ENV[]"}, "fexecve": {"[sp + 0x0]": "int FD", "[sp + 0x4]": "char *const ARGV[]", "[sp + 0x8]": "char *const ENV[]"}, "execle": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *ARG0", "[sp + 0x8]": "...", "[sp + 0xc]": "char *const ENV[]"}, "execvp": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "char *const ARGV[]"}, "execlp": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "const char *ARG0", "[sp + 0x8]": "..."}, "waitpid": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "int *STATUS-PTR", "[sp + 0x8]": "int OPTIONS"}, "wait": {"[sp + 0x0]": "int *STATUS-PTR"}, "wait4": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "int *STATUS-PTR", "[sp + 0x8]": "int OPTIONS", "[sp + 0xc]": "struct rusage *USAGE"}, "wait3": {"[sp + 0x0]": "int *STATUS-PTR", "[sp + 0x4]": "int OPTIONS", "[sp + 0x8]": "struct rusage *USAGE"}, "semctl": {"[sp + 0x0]": "int SEMID", "[sp + 0x4]": "int SEMNUM", "[sp + 0x8]": "int CMD"}, "semget": {"[sp + 0x0]": "key_t KEY", "[sp + 0x4]": "int NSEMS", "[sp + 0x8]": "int SEMFLG"}, "semop": {"[sp + 0x0]": "int SEMID", "[sp + 0x4]": "struct sembuf *SOPS", "[sp + 0x8]": "size_t NSOPS"}, "semtimedop": {"[sp + 0x0]": "int SEMID", "[sp + 0x4]": "struct sembuf *SOPS", "[sp + 0x8]": "size_t NSOPS", "[sp + 0xc]": "const struct timespec *TIMEOUT"}, "sem_init": {"[sp + 0x0]": "sem_t *SEM", "[sp + 0x4]": "int PSHARED", "[sp + 0x8]": "unsigned int VALUE"}, "sem_destroy": {"[sp + 0x0]": "sem_t *SEM"}, "*sem_open": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "int OFLAG", "[sp + 0x8]": "..."}, "sem_close": {"[sp + 0x0]": "sem_t *SEM"}, "sem_unlink": {"[sp + 0x0]": "const char *NAME"}, "sem_wait": {"[sp + 0x0]": "sem_t *SEM"}, "sem_timedwait": {"[sp + 0x0]": "sem_t *SEM", "[sp + 0x4]": "const struct timespec *ABSTIME"}, "sem_trywait": {"[sp + 0x0]": "sem_t *SEM"}, "sem_post": {"[sp + 0x0]": "sem_t *SEM"}, "sem_getvalue": {"[sp + 0x0]": "sem_t *SEM", "[sp + 0x4]": "int *SVAL"}, "ctermid": {"[sp + 0x0]": "char *STRING"}, "setsid": {"[sp + 0x0]": "void"}, "getsid": {"[sp + 0x0]": "pid_t PID"}, "getpgrp": {"[sp + 0x0]": "void"}, "getpgid": {"[sp + 0x0]": "pid_t PID"}, "setpgid": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "pid_t PGID"}, "setpgrp": {"[sp + 0x0]": "pid_t PID", "[sp + 0x4]": "pid_t PGID"}, "tcgetpgrp": {"[sp + 0x0]": "int FILEDES"}, "tcsetpgrp": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "pid_t PGID"}, "tcgetsid": {"[sp + 0x0]": "int FILDES"}, "getuid": {"[sp + 0x0]": "void"}, "getgid": {"[sp + 0x0]": "void"}, "geteuid": {"[sp + 0x0]": "void"}, "getegid": {"[sp + 0x0]": "void"}, "getgroups": {"[sp + 0x0]": "int COUNT", "[sp + 0x4]": "gid_t *GROUPS"}, "seteuid": {"[sp + 0x0]": "uid_t NEWEUID"}, "setuid": {"[sp + 0x0]": "uid_t NEWUID"}, "setreuid": {"[sp + 0x0]": "uid_t RUID", "[sp + 0x4]": "uid_t EUID"}, "setegid": {"[sp + 0x0]": "gid_t NEWGID"}, "setgid": {"[sp + 0x0]": "gid_t NEWGID"}, "setregid": {"[sp + 0x0]": "gid_t RGID", "[sp + 0x4]": "gid_t EGID"}, "setgroups": {"[sp + 0x0]": "size_t COUNT", "[sp + 0x4]": "const gid_t *GROUPS"}, "initgroups": {"[sp + 0x0]": "const char *USER", "[sp + 0x4]": "gid_t GROUP"}, "getgrouplist": {"[sp + 0x0]": "const char *USER", "[sp + 0x4]": "gid_t GROUP", "[sp + 0x8]": "gid_t *GROUPS", "[sp + 0xc]": "int *NGROUPS"}, "getlogin": {"[sp + 0x0]": "void"}, "cuserid": {"[sp + 0x0]": "char *STRING"}, "setutent": {"[sp + 0x0]": "void"}, "getutent": {"[sp + 0x0]": "void"}, "endutent": {"[sp + 0x0]": "void"}, "getutid": {"[sp + 0x0]": "const struct utmp *ID"}, "getutline": {"[sp + 0x0]": "const struct utmp *LINE"}, "pututline": {"[sp + 0x0]": "const struct utmp *UTMP"}, "getutent_r": {"[sp + 0x0]": "struct utmp *BUFFER", "[sp + 0x4]": "struct utmp **RESULT"}, "getutid_r": {"[sp + 0x0]": "const struct utmp *ID", "[sp + 0x4]": "struct utmp *BUFFER", "[sp + 0x8]": "struct utmp **RESULT"}, "getutline_r": {"[sp + 0x0]": "const struct utmp *LINE", "[sp + 0x4]": "struct utmp *BUFFER", "[sp + 0x8]": "struct utmp **RESULT"}, "utmpname": {"[sp + 0x0]": "const char *FILE"}, "updwtmp": {"[sp + 0x0]": "const char *WTMP_FILE", "[sp + 0x4]": "const struct utmp *UTMP"}, "setutxent": {"[sp + 0x0]": "void"}, "getutxent": {"[sp + 0x0]": "void"}, "endutxent": {"[sp + 0x0]": "void"}, "getutxid": {"[sp + 0x0]": "const struct utmpx *ID"}, "getutxline": {"[sp + 0x0]": "const struct utmpx *LINE"}, "pututxline": {"[sp + 0x0]": "const struct utmpx *UTMP"}, "utmpxname": {"[sp + 0x0]": "const char *FILE"}, "getutmp": {"[sp + 0x0]": "const struct utmpx *UTMPX", "[sp + 0x4]": "struct utmp *UTMP"}, "getutmpx": {"[sp + 0x0]": "const struct utmp *UTMP", "[sp + 0x4]": "struct utmpx *UTMPX"}, "login_tty": {"[sp + 0x0]": "int FILEDES"}, "login": {"[sp + 0x0]": "const struct utmp *ENTRY"}, "logout": {"[sp + 0x0]": "const char *UT_LINE"}, "logwtmp": {"[sp + 0x0]": "const char *UT_LINE", "[sp + 0x4]": "const char *UT_NAME", "[sp + 0x8]": "const char *UT_HOST"}, "getpwuid": {"[sp + 0x0]": "uid_t UID"}, "getpwuid_r": {"[sp + 0x0]": "uid_t UID", "[sp + 0x4]": "struct passwd *RESULT_BUF", "[sp + 0x8]": "char *BUFFER", "[sp + 0xc]": "size_t BUFLEN", "[sp + 0x10]": "struct passwd **RESULT"}, "getpwnam": {"[sp + 0x0]": "const char *NAME"}, "getpwnam_r": {"[sp + 0x0]": ""}, "fgetpwent": {"[sp + 0x0]": "FILE *STREAM"}, "fgetpwent_r": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "struct passwd *RESULT_BUF", "[sp + 0x8]": "char *BUFFER", "[sp + 0xc]": "size_t BUFLEN", "[sp + 0x10]": "struct passwd **RESULT"}, "setpwent": {"[sp + 0x0]": "void"}, "getpwent": {"[sp + 0x0]": "void"}, "getpwent_r": {"[sp + 0x0]": "struct passwd *RESULT_BUF", "[sp + 0x4]": "char *BUFFER", "[sp + 0x8]": "size_t BUFLEN", "[sp + 0xc]": "struct passwd **RESULT"}, "endpwent": {"[sp + 0x0]": "void"}, "putpwent": {"[sp + 0x0]": "const struct passwd *P", "[sp + 0x4]": "FILE *STREAM"}, "getgrgid": {"[sp + 0x0]": "gid_t GID"}, "getgrgid_r": {"[sp + 0x0]": "gid_t GID", "[sp + 0x4]": "struct group *RESULT_BUF", "[sp + 0x8]": "char *BUFFER", "[sp + 0xc]": "size_t BUFLEN", "[sp + 0x10]": "struct group **RESULT"}, "getgrnam": {"[sp + 0x0]": "const char *NAME"}, "getgrnam_r": {"[sp + 0x0]": ""}, "fgetgrent": {"[sp + 0x0]": "FILE *STREAM"}, "fgetgrent_r": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "struct group *RESULT_BUF", "[sp + 0x8]": "char *BUFFER", "[sp + 0xc]": "size_t BUFLEN", "[sp + 0x10]": "struct group **RESULT"}, "setgrent": {"[sp + 0x0]": "void"}, "getgrent": {"[sp + 0x0]": "void"}, "getgrent_r": {"[sp + 0x0]": "struct group *RESULT_BUF", "[sp + 0x4]": "char *BUFFER", "[sp + 0x8]": "size_t BUFLEN", "[sp + 0xc]": "struct group **RESULT"}, "endgrent": {"[sp + 0x0]": "void"}, "setnetgrent": {"[sp + 0x0]": "const char *NETGROUP"}, "getnetgrent": {"[sp + 0x0]": "char **HOSTP", "[sp + 0x4]": "char **USERP", "[sp + 0x8]": "char **DOMAINP"}, "getnetgrent_r": {"[sp + 0x0]": "char **HOSTP", "[sp + 0x4]": "char **USERP", "[sp + 0x8]": "char **DOMAINP", "[sp + 0xc]": "char *BUFFER", "[sp + 0x10]": "size_t BUFLEN"}, "endnetgrent": {"[sp + 0x0]": "void"}, "innetgr": {"[sp + 0x0]": "const char *NETGROUP", "[sp + 0x4]": "const char *HOST", "[sp + 0x8]": "const char *USER", "[sp + 0xc]": "const char *DOMAIN"}, "gethostname": {"[sp + 0x0]": "char *NAME", "[sp + 0x4]": "size_t SIZE"}, "sethostname": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "size_t LENGTH"}, "getdomainnname": {"[sp + 0x0]": "char *NAME", "[sp + 0x4]": "size_t LENGTH"}, "setdomainname": {"[sp + 0x0]": "const char *NAME", "[sp + 0x4]": "size_t LENGTH"}, "gethostid": {"[sp + 0x0]": "void"}, "sethostid": {"[sp + 0x0]": "long int ID"}, "uname": {"[sp + 0x0]": "struct utsname *INFO"}, "setfsent": {"[sp + 0x0]": "void"}, "endfsent": {"[sp + 0x0]": "void"}, "getfsent": {"[sp + 0x0]": "void"}, "getfsspec": {"[sp + 0x0]": "const char *NAME"}, "getfsfile": {"[sp + 0x0]": "const char *NAME"}, "setmntent": {"[sp + 0x0]": "const char *FILE", "[sp + 0x4]": "const char *MODE"}, "endmntent": {"[sp + 0x0]": "FILE *STREAM"}, "getmntent": {"[sp + 0x0]": "FILE *STREAM"}, "getmntent_r": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "struct mntent *RESULT", "[sp + 0x8]": "char *BUFFER", "[sp + 0xc]": "int BUFSIZE"}, "addmntent": {"[sp + 0x0]": "FILE *STREAM", "[sp + 0x4]": "const struct mntent *MNT"}, "hasmntopt": {"[sp + 0x0]": "const struct mntent *MNT", "[sp + 0x4]": "const char *OPT"}, "mount": {"[sp + 0x0]": ""}, "umount2": {"[sp + 0x0]": "const char *FILE", "[sp + 0x4]": "int FLAGS"}, "umount": {"[sp + 0x0]": "const char *FILE"}, "sysconf": {"[sp + 0x0]": "int PARAMETER"}, "pathconf": {"[sp + 0x0]": "const char *FILENAME", "[sp + 0x4]": "int PARAMETER"}, "fpathconf": {"[sp + 0x0]": "int FILEDES", "[sp + 0x4]": "int PARAMETER"}, "confstr": {"[sp + 0x0]": "int PARAMETER", "[sp + 0x4]": "char *BUF", "[sp + 0x8]": "size_t LEN"}, "crypt": {"[sp + 0x0]": "const char *PHRASE", "[sp + 0x4]": "const char *SALT"}, "crypt_r": {"[sp + 0x0]": "const char *PHRASE", "[sp + 0x4]": "const char *SALT", "[sp + 0x8]": "struct crypt_data *DATA"}, "getentropy": {"[sp + 0x0]": "void *BUFFER", "[sp + 0x4]": "size_t LENGTH"}, "getrandom": {"[sp + 0x0]": "void *BUFFER", "[sp + 0x4]": "size_t LENGTH", "[sp + 0x8]": "unsigned int FLAGS"}, "backtrace": {"[sp + 0x0]": "void **BUFFER", "[sp + 0x4]": "int SIZE"}, "backtrace_symbols": {"[sp + 0x0]": "void *const *BUFFER", "[sp + 0x4]": "int SIZE"}, "backtrace_symbols_fd": {"[sp + 0x0]": "void *const *BUFFER", "[sp + 0x4]": "int SIZE", "[sp + 0x8]": "int FD"}, "thrd_create": {"[sp + 0x0]": "thrd_t *THR", "[sp + 0x4]": "thrd_start_t FUNC", "[sp + 0x8]": "void *ARG"}, "thrd_current": {"[sp + 0x0]": "void"}, "thrd_equal": {"[sp + 0x0]": "thrd_t LHS", "[sp + 0x4]": "thrd_t RHS"}, "thrd_sleep": {"[sp + 0x0]": "const struct timespec *TIME_POINT", "[sp + 0x4]": "struct timespec *REMAINING"}, "thrd_yield": {"[sp + 0x0]": "void"}, "thrd_exit": {"[sp + 0x0]": "int RES"}, "thrd_detach": {"[sp + 0x0]": "thrd_t THR"}, "thrd_join": {"[sp + 0x0]": "thrd_t THR", "[sp + 0x4]": "int *RES"}, "call_once": {"[sp + 0x0]": "once_flag *FLAG", "[sp + 0x4]": "void (*FUNC) (void)"}, "mtx_init": {"[sp + 0x0]": "mtx_t *MUTEX", "[sp + 0x4]": "int TYPE"}, "mtx_lock": {"[sp + 0x0]": "mtx_t *MUTEX"}, "mtx_timedlock": {"[sp + 0x0]": "mtx_t *restrict MUTEX", "[sp + 0x4]": "const struct timespec *restrict TIME_POINT"}, "mtx_trylock": {"[sp + 0x0]": "mtx_t *MUTEX"}, "mtx_unlock": {"[sp + 0x0]": "mtx_t *MUTEX"}, "mtx_destroy": {"[sp + 0x0]": "mtx_t *MUTEX"}, "cnd_init": {"[sp + 0x0]": "cnd_t *COND"}, "cnd_signal": {"[sp + 0x0]": "cnd_t *COND"}, "cnd_broadcast": {"[sp + 0x0]": "cnd_t *COND"}, "cnd_wait": {"[sp + 0x0]": "cnd_t *COND", "[sp + 0x4]": "mtx_t *MUTEX"}, "cnd_timedwait": {"[sp + 0x0]": "cnd_t *restrict COND", "[sp + 0x4]": "mtx_t *restrict MUTEX", "[sp + 0x8]": "const struct timespec *restrict TIME_POINT"}, "cnd_destroy": {"[sp + 0x0]": "cnd_t *COND"}, "tss_create": {"[sp + 0x0]": "tss_t *TSS_KEY", "[sp + 0x4]": "tss_dtor_t DESTRUCTOR"}, "tss_set": {"[sp + 0x0]": "tss_t TSS_KEY", "[sp + 0x4]": "void *VAL"}, "tss_get": {"[sp + 0x0]": "tss_t TSS_KEY"}, "tss_delete": {"[sp + 0x0]": "tss_t TSS_KEY"}, "pthread_key_create": {"[sp + 0x0]": "pthread_key_t *KEY", "[sp + 0x4]": "void (*DESTRUCTOR)(void*)"}, "pthread_key_delete": {"[sp + 0x0]": "pthread_key_t KEY"}, "*pthread_getspecific": {"[sp + 0x0]": "pthread_key_t KEY"}, "pthread_setspecific": {"[sp + 0x0]": "pthread_key_t KEY", "[sp + 0x4]": "const void *VALUE"}, "pthread_getattr_default_np": {"[sp + 0x0]": "pthread_attr_t *ATTR"}, "pthread_setattr_default_np": {"[sp + 0x0]": "pthread_attr_t *ATTR"}, "pthread_attr_setsigmask_np": {"[sp + 0x0]": "pthread_attr_t *ATTR", "[sp + 0x4]": "const sigset_t *SIGMASK"}, "pthread_attr_getsigmask_np": {"[sp + 0x0]": "const pthread_attr_t *ATTR", "[sp + 0x4]": "sigset_t *SIGMASK"}, "sem_clockwait": {"[sp + 0x0]": "sem_t *SEM", "[sp + 0x4]": "clockid_t CLOCKID", "[sp + 0x8]": "const struct timespec *ABSTIME"}, "pthread_cond_clockwait": {"[sp + 0x0]": ""}, "pthread_rwlock_clockrdlock": {"[sp + 0x0]": "pthread_rwlock_t *RWLOCK", "[sp + 0x4]": "clockid_t CLOCKID", "[sp + 0x8]": "const struct timespec *ABSTIME"}, "pthread_rwlock_clockwrlock": {"[sp + 0x0]": "pthread_rwlock_t *RWLOCK", "[sp + 0x4]": "clockid_t CLOCKID", "[sp + 0x8]": "const struct timespec *ABSTIME"}, "pthread_tryjoin_np": {"[sp + 0x0]": "pthread_t *THREAD", "[sp + 0x4]": "void **THREAD_RETURN"}, "pthread_timedjoin_np": {"[sp + 0x0]": "pthread_t *THREAD", "[sp + 0x4]": "void **THREAD_RETURN", "[sp + 0x8]": "const struct timespec *ABSTIME"}, "pthread_clockjoin_np": {"[sp + 0x0]": ""}, "__ppc_get_timebase": {"[sp + 0x0]": "void"}, "__ppc_get_timebase_freq": {"[sp + 0x0]": "void"}, "__ppc_yield": {"[sp + 0x0]": "void"}, "__ppc_mdoio": {"[sp + 0x0]": "void"}, "__ppc_mdoom": {"[sp + 0x0]": "void"}, "__ppc_set_ppr_med": {"[sp + 0x0]": "void"}, "__ppc_set_ppr_low": {"[sp + 0x0]": "void"}, "__ppc_set_ppr_med_low": {"[sp + 0x0]": "void"}, "__ppc_set_ppr_very_low": {"[sp + 0x0]": "void"}, "__ppc_set_ppr_med_high": {"[sp + 0x0]": "void"}, "__riscv_flush_icache": {"[sp + 0x0]": "void *START", "[sp + 0x4]": "void *END", "[sp + 0x8]": "unsigned long int FLAGS"}} diff --git a/scripts/libc_function_args/tables/x86_64.json b/scripts/libc_function_args/tables/x86_64.json index b46d0b3..39b899a 100644 --- a/scripts/libc_function_args/tables/x86_64.json +++ b/scripts/libc_function_args/tables/x86_64.json @@ -1 +1 @@ -{"strerror": {"$rdi": "int ERRNUM"}, "strerror_r": {"$rdi": "int ERRNUM", "$rsi": "char *BUF", "$rdx": "size_t N"}, "perror": {"$rdi": "const char *MESSAGE"}, "strerrorname_np": {"$rdi": "int ERRNUM"}, "strerrordesc_np": {"$rdi": "int ERRNUM"}, "error": {"$rdi": "int STATUS", "$rsi": "int ERRNUM", "$rdx": "const char *FORMAT", "$r10": "..."}, "error_at_line": {"$rdi": "int STATUS", "$rsi": "int ERRNUM", "$rdx": "const char *FNAME", "$r10": "unsigned int LINENO", "$r8": "const char *FORMAT", "$r9": "..."}, "warn": {"$rdi": "const char *FORMAT", "$rsi": "..."}, "vwarn": {"$rdi": "const char *FORMAT", "$rsi": "va_list AP"}, "warnx": {"$rdi": "const char *FORMAT", "$rsi": "..."}, "vwarnx": {"$rdi": "const char *FORMAT", "$rsi": "va_list AP"}, "err": {"$rdi": "int STATUS", "$rsi": "const char *FORMAT", "$rdx": "..."}, "verr": {"$rdi": "int STATUS", "$rsi": "const char *FORMAT", "$rdx": "va_list AP"}, "errx": {"$rdi": "int STATUS", "$rsi": "const char *FORMAT", "$rdx": "..."}, "verrx": {"$rdi": "int STATUS", "$rsi": "const char *FORMAT", "$rdx": "va_list AP"}, "malloc": {"$rdi": "size_t SIZE"}, "free": {"$rdi": "void *PTR"}, "realloc": {"$rdi": "void *PTR", "$rsi": "size_t NEWSIZE"}, "reallocarray": {"$rdi": "void *PTR", "$rsi": "size_t NMEMB", "$rdx": "size_t SIZE"}, "calloc": {"$rdi": "size_t COUNT", "$rsi": "size_t ELTSIZE"}, "aligned_alloc": {"$rdi": "size_t ALIGNMENT", "$rsi": "size_t SIZE"}, "memalign": {"$rdi": "size_t BOUNDARY", "$rsi": "size_t SIZE"}, "posix_memalign": {"$rdi": "void **MEMPTR", "$rsi": "size_t ALIGNMENT", "$rdx": "size_t SIZE"}, "valloc": {"$rdi": "size_t SIZE"}, "mallopt": {"$rdi": "int PARAM", "$rsi": "int VALUE"}, "mcheck": {"$rdi": "void (*ABORTFN) (enum mcheck_status STATUS)"}, "mprobe": {"$rdi": "void *POINTER"}, "mallinfo": {"$rdi": "void"}, "mtrace": {"$rdi": "void"}, "muntrace": {"$rdi": "void"}, "obstack_init": {"$rdi": "struct obstack *OBSTACK-PTR"}, "obstack_alloc": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "int SIZE"}, "obstack_copy": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *ADDRESS", "$rdx": "int SIZE"}, "obstack_copy0": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *ADDRESS", "$rdx": "int SIZE"}, "obstack_free": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *OBJECT"}, "obstack_blank": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "int SIZE"}, "obstack_grow": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *DATA", "$rdx": "int SIZE"}, "obstack_grow0": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *DATA", "$rdx": "int SIZE"}, "obstack_1grow": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "char C"}, "obstack_ptr_grow": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *DATA"}, "obstack_int_grow": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "int DATA"}, "obstack_finish": {"$rdi": "struct obstack *OBSTACK-PTR"}, "obstack_object_size": {"$rdi": "struct obstack *OBSTACK-PTR"}, "obstack_room": {"$rdi": "struct obstack *OBSTACK-PTR"}, "obstack_1grow_fast": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "char C"}, "obstack_ptr_grow_fast": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *DATA"}, "obstack_int_grow_fast": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "int DATA"}, "obstack_blank_fast": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "int SIZE"}, "obstack_base": {"$rdi": "struct obstack *OBSTACK-PTR"}, "obstack_next_free": {"$rdi": "struct obstack *OBSTACK-PTR"}, "alloca": {"$rdi": "size_t SIZE"}, "brk": {"$rdi": "void *ADDR"}, "*sbrk": {"$rdi": "ptrdiff_t DELTA"}, "mprotect": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "int PROTECTION"}, "pkey_alloc": {"$rdi": "unsigned int FLAGS", "$rsi": "unsigned int RESTRICTIONS"}, "pkey_free": {"$rdi": "int KEY"}, "pkey_mprotect": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "int PROTECTION", "$r10": "int KEY"}, "pkey_set": {"$rdi": "int KEY", "$rsi": "unsigned int RIGHTS"}, "pkey_get": {"$rdi": "int KEY"}, "mlock": {"$rdi": "const void *ADDR", "$rsi": "size_t LEN"}, "mlock2": {"$rdi": "const void *ADDR", "$rsi": "size_t LEN", "$rdx": "unsigned int FLAGS"}, "munlock": {"$rdi": "const void *ADDR", "$rsi": "size_t LEN"}, "mlockall": {"$rdi": "int FLAGS"}, "munlockall": {"$rdi": "void"}, "islower": {"$rdi": "int C"}, "isupper": {"$rdi": "int C"}, "isalpha": {"$rdi": "int C"}, "isdigit": {"$rdi": "int C"}, "isalnum": {"$rdi": "int C"}, "isxdigit": {"$rdi": "int C"}, "ispunct": {"$rdi": "int C"}, "isspace": {"$rdi": "int C"}, "isblank": {"$rdi": "int C"}, "isgraph": {"$rdi": "int C"}, "isprint": {"$rdi": "int C"}, "iscntrl": {"$rdi": "int C"}, "isascii": {"$rdi": "int C"}, "tolower": {"$rdi": "int C"}, "toupper": {"$rdi": "int C"}, "toascii": {"$rdi": "int C"}, "_tolower": {"$rdi": "int C"}, "_toupper": {"$rdi": "int C"}, "wctype": {"$rdi": "const char *PROPERTY"}, "iswctype": {"$rdi": "wint_t WC", "$rsi": "wctype_t DESC"}, "iswalnum": {"$rdi": "wint_t WC"}, "iswalpha": {"$rdi": "wint_t WC"}, "iswcntrl": {"$rdi": "wint_t WC"}, "iswdigit": {"$rdi": "wint_t WC"}, "iswgraph": {"$rdi": "wint_t WC"}, "iswlower": {"$rdi": "wint_t WC"}, "iswprint": {"$rdi": "wint_t WC"}, "iswpunct": {"$rdi": "wint_t WC"}, "iswspace": {"$rdi": "wint_t WC"}, "iswupper": {"$rdi": "wint_t WC"}, "iswxdigit": {"$rdi": "wint_t WC"}, "iswblank": {"$rdi": "wint_t WC"}, "wctrans": {"$rdi": "const char *PROPERTY"}, "towctrans": {"$rdi": "wint_t WC", "$rsi": "wctrans_t DESC"}, "towlower": {"$rdi": "wint_t WC"}, "towupper": {"$rdi": "wint_t WC"}, "strlen": {"$rdi": "const char *S"}, "wcslen": {"$rdi": "const wchar_t *WS"}, "strnlen": {"$rdi": "const char *S", "$rsi": "size_t MAXLEN"}, "wcsnlen": {"$rdi": "const wchar_t *WS", "$rsi": "size_t MAXLEN"}, "memcpy": {"$rdi": "void *restrict TO", "$rsi": "const void *restrict FROM", "$rdx": "size_t SIZE"}, "wmemcpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM", "$rdx": "size_t SIZE"}, "mempcpy": {"$rdi": "void *restrict TO", "$rsi": "const void *restrict FROM", "$rdx": "size_t SIZE"}, "wmempcpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM", "$rdx": "size_t SIZE"}, "memmove": {"$rdi": "void *TO", "$rsi": "const void *FROM", "$rdx": "size_t SIZE"}, "wmemmove": {"$rdi": "wchar_t *WTO", "$rsi": "const wchar_t *WFROM", "$rdx": "size_t SIZE"}, "memccpy": {"$rdi": "void *restrict TO", "$rsi": "const void *restrict FROM", "$rdx": "int C", "$r10": "size_t SIZE"}, "memset": {"$rdi": "void *BLOCK", "$rsi": "int C", "$rdx": "size_t SIZE"}, "wmemset": {"$rdi": "wchar_t *BLOCK", "$rsi": "wchar_t WC", "$rdx": "size_t SIZE"}, "strcpy": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM"}, "wcscpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM"}, "strdup": {"$rdi": "const char *S"}, "wcsdup": {"$rdi": "const wchar_t *WS"}, "stpcpy": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM"}, "wcpcpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM"}, "bcopy": {"$rdi": "const void *FROM", "$rsi": "void *TO", "$rdx": "size_t SIZE"}, "bzero": {"$rdi": "void *BLOCK", "$rsi": "size_t SIZE"}, "strcat": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM"}, "wcscat": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM"}, "strncpy": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM", "$rdx": "size_t SIZE"}, "wcsncpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM", "$rdx": "size_t SIZE"}, "strndup": {"$rdi": "const char *S", "$rsi": "size_t SIZE"}, "stpncpy": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM", "$rdx": "size_t SIZE"}, "wcpncpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM", "$rdx": "size_t SIZE"}, "strncat": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM", "$rdx": "size_t SIZE"}, "wcsncat": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM", "$rdx": "size_t SIZE"}, "memcmp": {"$rdi": "const void *A1", "$rsi": "const void *A2", "$rdx": "size_t SIZE"}, "wmemcmp": {"$rdi": "const wchar_t *A1", "$rsi": "const wchar_t *A2", "$rdx": "size_t SIZE"}, "strcmp": {"$rdi": "const char *S1", "$rsi": "const char *S2"}, "wcscmp": {"$rdi": "const wchar_t *WS1", "$rsi": "const wchar_t *WS2"}, "strcasecmp": {"$rdi": "const char *S1", "$rsi": "const char *S2"}, "wcscasecmp": {"$rdi": "const wchar_t *WS1", "$rsi": "const wchar_t *WS2"}, "strncmp": {"$rdi": "const char *S1", "$rsi": "const char *S2", "$rdx": "size_t SIZE"}, "wcsncmp": {"$rdi": "const wchar_t *WS1", "$rsi": "const wchar_t *WS2", "$rdx": "size_t SIZE"}, "strncasecmp": {"$rdi": "const char *S1", "$rsi": "const char *S2", "$rdx": "size_t N"}, "wcsncasecmp": {"$rdi": "const wchar_t *WS1", "$rsi": "const wchar_t *S2", "$rdx": "size_t N"}, "strverscmp": {"$rdi": "const char *S1", "$rsi": "const char *S2"}, "bcmp": {"$rdi": "const void *A1", "$rsi": "const void *A2", "$rdx": "size_t SIZE"}, "strcoll": {"$rdi": "const char *S1", "$rsi": "const char *S2"}, "wcscoll": {"$rdi": "const wchar_t *WS1", "$rsi": "const wchar_t *WS2"}, "strxfrm": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM", "$rdx": "size_t SIZE"}, "wcsxfrm": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *WFROM", "$rdx": "size_t SIZE"}, "memchr": {"$rdi": "const void *BLOCK", "$rsi": "int C", "$rdx": "size_t SIZE"}, "wmemchr": {"$rdi": "const wchar_t *BLOCK", "$rsi": "wchar_t WC", "$rdx": "size_t SIZE"}, "rawmemchr": {"$rdi": "const void *BLOCK", "$rsi": "int C"}, "memrchr": {"$rdi": "const void *BLOCK", "$rsi": "int C", "$rdx": "size_t SIZE"}, "strchr": {"$rdi": "const char *STRING", "$rsi": "int C"}, "wcschr": {"$rdi": "const wchar_t *WSTRING", "$rsi": "wchar_t WC"}, "strchrnul": {"$rdi": "const char *STRING", "$rsi": "int C"}, "wcschrnul": {"$rdi": "const wchar_t *WSTRING", "$rsi": "wchar_t WC"}, "strrchr": {"$rdi": "const char *STRING", "$rsi": "int C"}, "wcsrchr": {"$rdi": "const wchar_t *WSTRING", "$rsi": "wchar_t WC"}, "strstr": {"$rdi": "const char *HAYSTACK", "$rsi": "const char *NEEDLE"}, "wcsstr": {"$rdi": "const wchar_t *HAYSTACK", "$rsi": "const wchar_t *NEEDLE"}, "wcswcs": {"$rdi": "const wchar_t *HAYSTACK", "$rsi": "const wchar_t *NEEDLE"}, "strcasestr": {"$rdi": "const char *HAYSTACK", "$rsi": "const char *NEEDLE"}, "memmem": {"$rdi": "const void *HAYSTACK", "$rsi": "size_t HAYSTACK-LEN", "$rdx": "const void *NEEDLE", "$r10": "size_t NEEDLE-LEN"}, "strspn": {"$rdi": "const char *STRING", "$rsi": "const char *SKIPSET"}, "wcsspn": {"$rdi": "const wchar_t *WSTRING", "$rsi": "const wchar_t *SKIPSET"}, "strcspn": {"$rdi": "const char *STRING", "$rsi": "const char *STOPSET"}, "wcscspn": {"$rdi": "const wchar_t *WSTRING", "$rsi": "const wchar_t *STOPSET"}, "strpbrk": {"$rdi": "const char *STRING", "$rsi": "const char *STOPSET"}, "wcspbrk": {"$rdi": "const wchar_t *WSTRING", "$rsi": "const wchar_t *STOPSET"}, "index": {"$rdi": "const char *STRING", "$rsi": "int C"}, "rindex": {"$rdi": "const char *STRING", "$rsi": "int C"}, "strtok": {"$rdi": "char *restrict NEWSTRING", "$rsi": "const char *restrict DELIMITERS"}, "wcstok": {"$rdi": "wchar_t *NEWSTRING", "$rsi": "const wchar_t *DELIMITERS", "$rdx": "wchar_t **SAVE_PTR"}, "strtok_r": {"$rdi": "char *NEWSTRING", "$rsi": "const char *DELIMITERS", "$rdx": "char **SAVE_PTR"}, "strsep": {"$rdi": "char **STRING_PTR", "$rsi": "const char *DELIMITER"}, "basename": {"$rdi": "char *PATH"}, "dirname": {"$rdi": "char *PATH"}, "explicit_bzero": {"$rdi": "void *BLOCK", "$rsi": "size_t LEN"}, "strfry": {"$rdi": "char *STRING"}, "memfrob": {"$rdi": "void *MEM", "$rsi": "size_t LENGTH"}, "l64a": {"$rdi": "long int N"}, "a64l": {"$rdi": "const char *STRING"}, "argz_create": {"$rdi": "char *const ARGV[]", "$rsi": "char **ARGZ", "$rdx": "size_t *ARGZ_LEN"}, "argz_create_sep": {"$rdi": "const char *STRING", "$rsi": "int SEP", "$rdx": "char **ARGZ", "$r10": "size_t *ARGZ_LEN"}, "argz_count": {"$rdi": "const char *ARGZ", "$rsi": "size_t ARGZ_LEN"}, "argz_extract": {"$rdi": "const char *ARGZ", "$rsi": "size_t ARGZ_LEN", "$rdx": "char **ARGV"}, "argz_stringify": {"$rdi": "char *ARGZ", "$rsi": "size_t LEN", "$rdx": "int SEP"}, "argz_add": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "const char *STR"}, "argz_add_sep": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "const char *STR", "$r10": "int DELIM"}, "argz_append": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "const char *BUF", "$r10": "size_t BUF_LEN"}, "argz_delete": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "char *ENTRY"}, "argz_insert": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "char *BEFORE", "$r10": "const char *ENTRY"}, "argz_next": {"$rdi": "const char *ARGZ", "$rsi": "size_t ARGZ_LEN", "$rdx": "const char *ENTRY"}, "argz_replace": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "const char *STR", "$r10": "const char *WITH", "$r8": "unsigned *REPLACE_COUNT"}, "envz_entry": {"$rdi": "const char *ENVZ", "$rsi": "size_t ENVZ_LEN", "$rdx": "const char *NAME"}, "envz_get": {"$rdi": "const char *ENVZ", "$rsi": "size_t ENVZ_LEN", "$rdx": "const char *NAME"}, "envz_add": {"$rdi": "char **ENVZ", "$rsi": "size_t *ENVZ_LEN", "$rdx": "const char *NAME", "$r10": "const char *VALUE"}, "envz_merge": {"$rdi": "char **ENVZ", "$rsi": "size_t *ENVZ_LEN", "$rdx": "const char *ENVZ2", "$r10": "size_t ENVZ2_LEN", "$r8": "int OVERRIDE"}, "envz_strip": {"$rdi": "char **ENVZ", "$rsi": "size_t *ENVZ_LEN"}, "envz_remove": {"$rdi": "char **ENVZ", "$rsi": "size_t *ENVZ_LEN", "$rdx": "const char *NAME"}, "mbsinit": {"$rdi": "const mbstate_t *PS"}, "btowc": {"$rdi": "int C"}, "wctob": {"$rdi": "wint_t C"}, "mbrtowc": {"$rdi": "wchar_t *restrict PWC", "$rsi": "const char *restrict S", "$rdx": "size_t N", "$r10": "mbstate_t *restrict PS"}, "mbrlen": {"$rdi": "const char *restrict S", "$rsi": "size_t N", "$rdx": "mbstate_t *PS"}, "wcrtomb": {"$rdi": "char *restrict S", "$rsi": "wchar_t WC", "$rdx": "mbstate_t *restrict PS"}, "mbsrtowcs": {"$rdi": "wchar_t *restrict DST", "$rsi": "const char **restrict SRC", "$rdx": "size_t LEN", "$r10": "mbstate_t *restrict PS"}, "wcsrtombs": {"$rdi": "char *restrict DST", "$rsi": "const wchar_t **restrict SRC", "$rdx": "size_t LEN", "$r10": "mbstate_t *restrict PS"}, "mbsnrtowcs": {"$rdi": ""}, "wcsnrtombs": {"$rdi": ""}, "mbtowc": {"$rdi": "wchar_t *restrict RESULT", "$rsi": "const char *restrict STRING", "$rdx": "size_t SIZE"}, "wctomb": {"$rdi": "char *STRING", "$rsi": "wchar_t WCHAR"}, "mblen": {"$rdi": "const char *STRING", "$rsi": "size_t SIZE"}, "mbstowcs": {"$rdi": "wchar_t *WSTRING", "$rsi": "const char *STRING", "$rdx": "size_t SIZE"}, "wcstombs": {"$rdi": "char *STRING", "$rsi": "const wchar_t *WSTRING", "$rdx": "size_t SIZE"}, "iconv_open": {"$rdi": "const char *TOCODE", "$rsi": "const char *FROMCODE"}, "iconv_close": {"$rdi": "iconv_t CD"}, "iconv": {"$rdi": "iconv_t CD", "$rsi": "char **INBUF", "$rdx": "size_t *INBYTESLEFT", "$r10": "char **OUTBUF", "$r8": "size_t *OUTBYTESLEFT"}, "setlocale": {"$rdi": "int CATEGORY", "$rsi": "const char *LOCALE"}, "localeconv": {"$rdi": "void"}, "nl_langinfo": {"$rdi": "nl_item ITEM"}, "strfmon": {"$rdi": "char *S", "$rsi": "size_t MAXSIZE", "$rdx": "const char *FORMAT", "$r10": "..."}, "rpmatch": {"$rdi": "const char *RESPONSE"}, "catopen": {"$rdi": "const char *CAT_NAME", "$rsi": "int FLAG"}, "catgets": {"$rdi": "nl_catd CATALOG_DESC", "$rsi": "int SET", "$rdx": "int MESSAGE", "$r10": "const char *STRING"}, "catclose": {"$rdi": "nl_catd CATALOG_DESC"}, "gettext": {"$rdi": "const char *MSGID"}, "dgettext": {"$rdi": "const char *DOMAINNAME", "$rsi": "const char *MSGID"}, "dcgettext": {"$rdi": "const char *DOMAINNAME", "$rsi": "const char *MSGID", "$rdx": "int CATEGORY"}, "textdomain": {"$rdi": "const char *DOMAINNAME"}, "bindtextdomain": {"$rdi": "const char *DOMAINNAME", "$rsi": "const char *DIRNAME"}, "ngettext": {"$rdi": "const char *MSGID1", "$rsi": "const char *MSGID2", "$rdx": "unsigned long int N"}, "dngettext": {"$rdi": "const char *DOMAIN", "$rsi": "const char *MSGID1", "$rdx": "const char *MSGID2", "$r10": "unsigned long int N"}, "dcngettext": {"$rdi": "const char *DOMAIN", "$rsi": "const char *MSGID1", "$rdx": "const char *MSGID2", "$r10": "unsigned long int N", "$r8": "int CATEGORY"}, "bind_textdomain_codeset": {"$rdi": "const char *DOMAINNAME", "$rsi": "const char *CODESET"}, "lfind": {"$rdi": "const void *KEY", "$rsi": "const void *BASE", "$rdx": "size_t *NMEMB", "$r10": "size_t SIZE", "$r8": "comparison_fn_t COMPAR"}, "lsearch": {"$rdi": "const void *KEY", "$rsi": "void *BASE", "$rdx": "size_t *NMEMB", "$r10": "size_t SIZE", "$r8": "comparison_fn_t COMPAR"}, "bsearch": {"$rdi": "const void *KEY", "$rsi": "const void *ARRAY", "$rdx": "size_t COUNT", "$r10": "size_t SIZE", "$r8": "comparison_fn_t COMPARE"}, "qsort": {"$rdi": "void *ARRAY", "$rsi": "size_t COUNT", "$rdx": "size_t SIZE", "$r10": "comparison_fn_t COMPARE"}, "hcreate": {"$rdi": "size_t NEL"}, "hdestroy": {"$rdi": "void"}, "hsearch": {"$rdi": "ENTRY ITEM", "$rsi": "ACTION ACTION"}, "hcreate_r": {"$rdi": "size_t NEL", "$rsi": "struct hsearch_data *HTAB"}, "hdestroy_r": {"$rdi": "struct hsearch_data *HTAB"}, "hsearch_r": {"$rdi": "ENTRY ITEM", "$rsi": "ACTION ACTION", "$rdx": "ENTRY **RETVAL", "$r10": "struct hsearch_data *HTAB"}, "tsearch": {"$rdi": "const void *KEY", "$rsi": "void **ROOTP", "$rdx": "comparison_fn_t COMPAR"}, "tfind": {"$rdi": "const void *KEY", "$rsi": "void *const *ROOTP", "$rdx": "comparison_fn_t COMPAR"}, "tdelete": {"$rdi": "const void *KEY", "$rsi": "void **ROOTP", "$rdx": "comparison_fn_t COMPAR"}, "tdestroy": {"$rdi": "void *VROOT", "$rsi": "__free_fn_t FREEFCT"}, "twalk": {"$rdi": "const void *ROOT", "$rsi": "__action_fn_t ACTION"}, "twalk_r": {"$rdi": "const void *ROOT", "$rsi": "void (*ACTION) (const void *KEY", "$rdx": "VISIT WHICH", "$r10": "void *CLOSURE)", "$r8": "void *CLOSURE"}, "fnmatch": {"$rdi": "const char *PATTERN", "$rsi": "const char *STRING", "$rdx": "int FLAGS"}, "glob": {"$rdi": "const char *PATTERN", "$rsi": "int FLAGS", "$rdx": "int (*ERRFUNC"}, "glob64": {"$rdi": "const char *PATTERN", "$rsi": "int FLAGS", "$rdx": "int (*ERRFUNC"}, "globfree": {"$rdi": "glob_t *PGLOB"}, "globfree64": {"$rdi": "glob64_t *PGLOB"}, "regcomp": {"$rdi": "regex_t *restrict COMPILED", "$rsi": "const char *restrict PATTERN", "$rdx": "int CFLAGS"}, "regexec": {"$rdi": ""}, "regfree": {"$rdi": "regex_t *COMPILED"}, "regerror": {"$rdi": "int ERRCODE", "$rsi": "const regex_t *restrict COMPILED", "$rdx": "char *restrict BUFFER", "$r10": "size_t LENGTH"}, "wordexp": {"$rdi": "const char *WORDS", "$rsi": "wordexp_t *WORD-VECTOR-PTR", "$rdx": "int FLAGS"}, "wordfree": {"$rdi": "wordexp_t *WORD-VECTOR-PTR"}, "fopen": {"$rdi": "const char *FILENAME", "$rsi": "const char *OPENTYPE"}, "fopen64": {"$rdi": "const char *FILENAME", "$rsi": "const char *OPENTYPE"}, "freopen": {"$rdi": "const char *FILENAME", "$rsi": "const char *OPENTYPE", "$rdx": "FILE *STREAM"}, "freopen64": {"$rdi": "const char *FILENAME", "$rsi": "const char *OPENTYPE", "$rdx": "FILE *STREAM"}, "__freadable": {"$rdi": "FILE *STREAM"}, "__fwritable": {"$rdi": "FILE *STREAM"}, "__freading": {"$rdi": "FILE *STREAM"}, "__fwriting": {"$rdi": "FILE *STREAM"}, "fclose": {"$rdi": "FILE *STREAM"}, "fcloseall": {"$rdi": "void"}, "flockfile": {"$rdi": "FILE *STREAM"}, "ftrylockfile": {"$rdi": "FILE *STREAM"}, "funlockfile": {"$rdi": "FILE *STREAM"}, "__fsetlocking": {"$rdi": "FILE *STREAM", "$rsi": "int TYPE"}, "fwide": {"$rdi": "FILE *STREAM", "$rsi": "int MODE"}, "fputc": {"$rdi": "int C", "$rsi": "FILE *STREAM"}, "fputwc": {"$rdi": "wchar_t WC", "$rsi": "FILE *STREAM"}, "fputc_unlocked": {"$rdi": "int C", "$rsi": "FILE *STREAM"}, "fputwc_unlocked": {"$rdi": "wchar_t WC", "$rsi": "FILE *STREAM"}, "putc": {"$rdi": "int C", "$rsi": "FILE *STREAM"}, "putwc": {"$rdi": "wchar_t WC", "$rsi": "FILE *STREAM"}, "putc_unlocked": {"$rdi": "int C", "$rsi": "FILE *STREAM"}, "putwc_unlocked": {"$rdi": "wchar_t WC", "$rsi": "FILE *STREAM"}, "putchar": {"$rdi": "int C"}, "putwchar": {"$rdi": "wchar_t WC"}, "putchar_unlocked": {"$rdi": "int C"}, "putwchar_unlocked": {"$rdi": "wchar_t WC"}, "fputs": {"$rdi": "const char *S", "$rsi": "FILE *STREAM"}, "fputws": {"$rdi": "const wchar_t *WS", "$rsi": "FILE *STREAM"}, "fputs_unlocked": {"$rdi": "const char *S", "$rsi": "FILE *STREAM"}, "fputws_unlocked": {"$rdi": "const wchar_t *WS", "$rsi": "FILE *STREAM"}, "puts": {"$rdi": "const char *S"}, "putw": {"$rdi": "int W", "$rsi": "FILE *STREAM"}, "fgetc": {"$rdi": "FILE *STREAM"}, "fgetwc": {"$rdi": "FILE *STREAM"}, "fgetc_unlocked": {"$rdi": "FILE *STREAM"}, "fgetwc_unlocked": {"$rdi": "FILE *STREAM"}, "getc": {"$rdi": "FILE *STREAM"}, "getwc": {"$rdi": "FILE *STREAM"}, "getc_unlocked": {"$rdi": "FILE *STREAM"}, "getwc_unlocked": {"$rdi": "FILE *STREAM"}, "getchar": {"$rdi": "void"}, "getwchar": {"$rdi": "void"}, "getchar_unlocked": {"$rdi": "void"}, "getwchar_unlocked": {"$rdi": "void"}, "getw": {"$rdi": "FILE *STREAM"}, "getline": {"$rdi": "char **LINEPTR", "$rsi": "size_t *N", "$rdx": "FILE *STREAM"}, "getdelim": {"$rdi": "char **LINEPTR", "$rsi": "size_t *N", "$rdx": "int DELIMITER", "$r10": "FILE *STREAM"}, "fgets": {"$rdi": "char *S", "$rsi": "int COUNT", "$rdx": "FILE *STREAM"}, "fgetws": {"$rdi": "wchar_t *WS", "$rsi": "int COUNT", "$rdx": "FILE *STREAM"}, "fgets_unlocked": {"$rdi": "char *S", "$rsi": "int COUNT", "$rdx": "FILE *STREAM"}, "fgetws_unlocked": {"$rdi": "wchar_t *WS", "$rsi": "int COUNT", "$rdx": "FILE *STREAM"}, "ungetc": {"$rdi": "int C", "$rsi": "FILE *STREAM"}, "ungetwc": {"$rdi": "wint_t WC", "$rsi": "FILE *STREAM"}, "fread": {"$rdi": "void *DATA", "$rsi": "size_t SIZE", "$rdx": "size_t COUNT", "$r10": "FILE *STREAM"}, "fread_unlocked": {"$rdi": "void *DATA", "$rsi": "size_t SIZE", "$rdx": "size_t COUNT", "$r10": "FILE *STREAM"}, "fwrite": {"$rdi": "const void *DATA", "$rsi": "size_t SIZE", "$rdx": "size_t COUNT", "$r10": "FILE *STREAM"}, "fwrite_unlocked": {"$rdi": "const void *DATA", "$rsi": "size_t SIZE", "$rdx": "size_t COUNT", "$r10": "FILE *STREAM"}, "printf": {"$rdi": "const char *TEMPLATE", "$rsi": "..."}, "wprintf": {"$rdi": "const wchar_t *TEMPLATE", "$rsi": "..."}, "fprintf": {"$rdi": "FILE *STREAM", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "fwprintf": {"$rdi": "FILE *STREAM", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "..."}, "sprintf": {"$rdi": "char *S", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "swprintf": {"$rdi": "wchar_t *WS", "$rsi": "size_t SIZE", "$rdx": "const wchar_t *TEMPLATE", "$r10": "..."}, "snprintf": {"$rdi": "char *S", "$rsi": "size_t SIZE", "$rdx": "const char *TEMPLATE", "$r10": "..."}, "asprintf": {"$rdi": "char **PTR", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "obstack_printf": {"$rdi": "struct obstack *OBSTACK", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "vprintf": {"$rdi": "const char *TEMPLATE", "$rsi": "va_list AP"}, "vwprintf": {"$rdi": "const wchar_t *TEMPLATE", "$rsi": "va_list AP"}, "vfprintf": {"$rdi": "FILE *STREAM", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "vfwprintf": {"$rdi": "FILE *STREAM", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "va_list AP"}, "vsprintf": {"$rdi": "char *S", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "vswprintf": {"$rdi": "wchar_t *WS", "$rsi": "size_t SIZE", "$rdx": "const wchar_t *TEMPLATE", "$r10": "va_list AP"}, "vsnprintf": {"$rdi": "char *S", "$rsi": "size_t SIZE", "$rdx": "const char *TEMPLATE", "$r10": "va_list AP"}, "vasprintf": {"$rdi": "char **PTR", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "obstack_vprintf": {"$rdi": "struct obstack *OBSTACK", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "parse_printf_format": {"$rdi": "const char *TEMPLATE", "$rsi": "size_t N", "$rdx": "int *ARGTYPES"}, "register_printf_function": {"$rdi": "int SPEC", "$rsi": "printf_function HANDLER-FUNCTION", "$rdx": "printf_arginfo_function ARGINFO-FUNCTION"}, "printf_size": {"$rdi": "FILE *FP", "$rsi": "const struct printf_info *INFO", "$rdx": "const void *const *ARGS"}, "printf_size_info": {"$rdi": "const struct printf_info *INFO", "$rsi": "size_t N", "$rdx": "int *ARGTYPES"}, "scanf": {"$rdi": "const char *TEMPLATE", "$rsi": "..."}, "wscanf": {"$rdi": "const wchar_t *TEMPLATE", "$rsi": "..."}, "fscanf": {"$rdi": "FILE *STREAM", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "fwscanf": {"$rdi": "FILE *STREAM", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "..."}, "sscanf": {"$rdi": "const char *S", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "swscanf": {"$rdi": "const wchar_t *WS", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "..."}, "vscanf": {"$rdi": "const char *TEMPLATE", "$rsi": "va_list AP"}, "vwscanf": {"$rdi": "const wchar_t *TEMPLATE", "$rsi": "va_list AP"}, "vfscanf": {"$rdi": "FILE *STREAM", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "vfwscanf": {"$rdi": "FILE *STREAM", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "va_list AP"}, "vsscanf": {"$rdi": "const char *S", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "vswscanf": {"$rdi": "const wchar_t *S", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "va_list AP"}, "feof": {"$rdi": "FILE *STREAM"}, "feof_unlocked": {"$rdi": "FILE *STREAM"}, "ferror": {"$rdi": "FILE *STREAM"}, "ferror_unlocked": {"$rdi": "FILE *STREAM"}, "clearerr": {"$rdi": "FILE *STREAM"}, "clearerr_unlocked": {"$rdi": "FILE *STREAM"}, "ftell": {"$rdi": "FILE *STREAM"}, "ftello": {"$rdi": "FILE *STREAM"}, "ftello64": {"$rdi": "FILE *STREAM"}, "fseek": {"$rdi": "FILE *STREAM", "$rsi": "long int OFFSET", "$rdx": "int WHENCE"}, "fseeko": {"$rdi": "FILE *STREAM", "$rsi": "off_t OFFSET", "$rdx": "int WHENCE"}, "fseeko64": {"$rdi": "FILE *STREAM", "$rsi": "off64_t OFFSET", "$rdx": "int WHENCE"}, "rewind": {"$rdi": "FILE *STREAM"}, "fgetpos": {"$rdi": "FILE *STREAM", "$rsi": "fpos_t *POSITION"}, "fgetpos64": {"$rdi": "FILE *STREAM", "$rsi": "fpos64_t *POSITION"}, "fsetpos": {"$rdi": "FILE *STREAM", "$rsi": "const fpos_t *POSITION"}, "fsetpos64": {"$rdi": "FILE *STREAM", "$rsi": "const fpos64_t *POSITION"}, "fflush": {"$rdi": "FILE *STREAM"}, "fflush_unlocked": {"$rdi": "FILE *STREAM"}, "_flushlbf": {"$rdi": "void"}, "__fpurge": {"$rdi": "FILE *STREAM"}, "setvbuf": {"$rdi": "FILE *STREAM", "$rsi": "char *BUF", "$rdx": "int MODE", "$r10": "size_t SIZE"}, "setbuf": {"$rdi": "FILE *STREAM", "$rsi": "char *BUF"}, "setbuffer": {"$rdi": "FILE *STREAM", "$rsi": "char *BUF", "$rdx": "size_t SIZE"}, "setlinebuf": {"$rdi": "FILE *STREAM"}, "__flbf": {"$rdi": "FILE *STREAM"}, "__fbufsize": {"$rdi": "FILE *STREAM"}, "__fpending": {"$rdi": "FILE *STREAM"}, "fmemopen": {"$rdi": "void *BUF", "$rsi": "size_t SIZE", "$rdx": "const char *OPENTYPE"}, "open_memstream": {"$rdi": "char **PTR", "$rsi": "size_t *SIZELOC"}, "fopencookie": {"$rdi": "void *COOKIE", "$rsi": "const char *OPENTYPE", "$rdx": "cookie_io_functions_t IO-FUNCTIONS"}, "fmtmsg": {"$rdi": ""}, "addseverity": {"$rdi": "int SEVERITY", "$rsi": "const char *STRING"}, "open": {"$rdi": "const char *FILENAME", "$rsi": "int FLAGS[", "$rdx": "mode_t MODE]"}, "open64": {"$rdi": "const char *FILENAME", "$rsi": "int FLAGS[", "$rdx": "mode_t MODE]"}, "close": {"$rdi": "int FILEDES"}, "read": {"$rdi": "int FILEDES", "$rsi": "void *BUFFER", "$rdx": "size_t SIZE"}, "pread": {"$rdi": "int FILEDES", "$rsi": "void *BUFFER", "$rdx": "size_t SIZE", "$r10": "off_t OFFSET"}, "pread64": {"$rdi": "int FILEDES", "$rsi": "void *BUFFER", "$rdx": "size_t SIZE", "$r10": "off64_t OFFSET"}, "write": {"$rdi": "int FILEDES", "$rsi": "const void *BUFFER", "$rdx": "size_t SIZE"}, "pwrite": {"$rdi": "int FILEDES", "$rsi": "const void *BUFFER", "$rdx": "size_t SIZE", "$r10": "off_t OFFSET"}, "pwrite64": {"$rdi": "int FILEDES", "$rsi": "const void *BUFFER", "$rdx": "size_t SIZE", "$r10": "off64_t OFFSET"}, "lseek": {"$rdi": "int FILEDES", "$rsi": "off_t OFFSET", "$rdx": "int WHENCE"}, "lseek64": {"$rdi": "int FILEDES", "$rsi": "off64_t OFFSET", "$rdx": "int WHENCE"}, "fdopen": {"$rdi": "int FILEDES", "$rsi": "const char *OPENTYPE"}, "fileno": {"$rdi": "FILE *STREAM"}, "fileno_unlocked": {"$rdi": "FILE *STREAM"}, "readv": {"$rdi": "int FILEDES", "$rsi": "const struct iovec *VECTOR", "$rdx": "int COUNT"}, "writev": {"$rdi": "int FILEDES", "$rsi": "const struct iovec *VECTOR", "$rdx": "int COUNT"}, "preadv": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off_t OFFSET"}, "preadv64": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off64_t OFFSET"}, "pwritev": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off_t OFFSET"}, "pwritev64": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off64_t OFFSET"}, "preadv2": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off_t OFFSET", "$r8": "int FLAGS"}, "preadv64v2": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off64_t OFFSET", "$r8": "int FLAGS"}, "pwritev2": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off_t OFFSET", "$r8": "int FLAGS"}, "pwritev64v2": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off64_t OFFSET", "$r8": "int FLAGS"}, "copy_file_range": {"$rdi": ""}, "mmap": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "int PROTECT", "$r10": "int FLAGS", "$r8": "int FILEDES", "$r9": "off_t OFFSET"}, "mmap64": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "int PROTECT", "$r10": "int FLAGS", "$r8": "int FILEDES", "$r9": "off64_t OFFSET"}, "munmap": {"$rdi": "void *ADDR", "$rsi": "size_t LENGTH"}, "msync": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "int FLAGS"}, "mremap": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "size_t NEW_LENGTH", "$r10": "int FLAG"}, "madvise": {"$rdi": "void *ADDR", "$rsi": "size_t LENGTH", "$rdx": "int ADVICE"}, "shm_open": {"$rdi": "const char *NAME", "$rsi": "int OFLAG", "$rdx": "mode_t MODE"}, "shm_unlink": {"$rdi": "const char *NAME"}, "memfd_create": {"$rdi": "const char *NAME", "$rsi": "unsigned int FLAGS"}, "select": {"$rdi": "int NFDS", "$rsi": "fd_set *READ-FDS", "$rdx": "fd_set *WRITE-FDS", "$r10": "fd_set *EXCEPT-FDS", "$r8": "struct timeval *TIMEOUT"}, "sync": {"$rdi": "void"}, "fsync": {"$rdi": "int FILDES"}, "fdatasync": {"$rdi": "int FILDES"}, "aio_read": {"$rdi": "struct aiocb *AIOCBP"}, "aio_read64": {"$rdi": "struct aiocb64 *AIOCBP"}, "aio_write": {"$rdi": "struct aiocb *AIOCBP"}, "aio_write64": {"$rdi": "struct aiocb64 *AIOCBP"}, "lio_listio": {"$rdi": "int MODE", "$rsi": "struct aiocb *const LIST[]", "$rdx": "int NENT", "$r10": "struct sigevent *SIG"}, "lio_listio64": {"$rdi": "int MODE", "$rsi": "struct aiocb64 *const LIST[]", "$rdx": "int NENT", "$r10": "struct sigevent *SIG"}, "aio_error": {"$rdi": "const struct aiocb *AIOCBP"}, "aio_error64": {"$rdi": "const struct aiocb64 *AIOCBP"}, "aio_return": {"$rdi": "struct aiocb *AIOCBP"}, "aio_return64": {"$rdi": "struct aiocb64 *AIOCBP"}, "aio_fsync": {"$rdi": "int OP", "$rsi": "struct aiocb *AIOCBP"}, "aio_fsync64": {"$rdi": "int OP", "$rsi": "struct aiocb64 *AIOCBP"}, "aio_suspend": {"$rdi": "const struct aiocb *const LIST[]", "$rsi": "int NENT", "$rdx": "const struct timespec *TIMEOUT"}, "aio_suspend64": {"$rdi": "const struct aiocb64 *const LIST[]", "$rsi": "int NENT", "$rdx": "const struct timespec *TIMEOUT"}, "aio_cancel": {"$rdi": "int FILDES", "$rsi": "struct aiocb *AIOCBP"}, "aio_cancel64": {"$rdi": "int FILDES", "$rsi": "struct aiocb64 *AIOCBP"}, "aio_init": {"$rdi": "const struct aioinit *INIT"}, "fcntl": {"$rdi": "int FILEDES", "$rsi": "int COMMAND", "$rdx": "..."}, "dup": {"$rdi": "int OLD"}, "dup2": {"$rdi": "int OLD", "$rsi": "int NEW"}, "ioctl": {"$rdi": "int FILEDES", "$rsi": "int COMMAND", "$rdx": "..."}, "getcwd": {"$rdi": "char *BUFFER", "$rsi": "size_t SIZE"}, "get_current_dir_name": {"$rdi": "void"}, "chdir": {"$rdi": "const char *FILENAME"}, "fchdir": {"$rdi": "int FILEDES"}, "IFTODT": {"$rdi": "mode_t MODE"}, "DTTOIF": {"$rdi": "int DTYPE"}, "opendir": {"$rdi": "const char *DIRNAME"}, "fdopendir": {"$rdi": "int FD"}, "dirfd": {"$rdi": "DIR *DIRSTREAM"}, "readdir": {"$rdi": "DIR *DIRSTREAM"}, "readdir_r": {"$rdi": "DIR *DIRSTREAM", "$rsi": "struct dirent *ENTRY", "$rdx": "struct dirent **RESULT"}, "readdir64": {"$rdi": "DIR *DIRSTREAM"}, "readdir64_r": {"$rdi": "DIR *DIRSTREAM", "$rsi": "struct dirent64 *ENTRY", "$rdx": "struct dirent64 **RESULT"}, "closedir": {"$rdi": "DIR *DIRSTREAM"}, "rewinddir": {"$rdi": "DIR *DIRSTREAM"}, "telldir": {"$rdi": "DIR *DIRSTREAM"}, "seekdir": {"$rdi": "DIR *DIRSTREAM", "$rsi": "long int POS"}, "scandir": {"$rdi": "const char *DIR", "$rsi": "struct dirent ***NAMELIST", "$rdx": "int (*SELECTOR) (const struct dirent *)", "$r10": "int (*CMP"}, "alphasort": {"$rdi": "const struct dirent **A", "$rsi": "const struct dirent **B"}, "versionsort": {"$rdi": "const struct dirent **A", "$rsi": "const struct dirent **B"}, "scandir64": {"$rdi": "const char *DIR", "$rsi": "struct dirent64 ***NAMELIST", "$rdx": "int (*SELECTOR) (const struct dirent64 *"}, "alphasort64": {"$rdi": "const struct dirent64 **A", "$rsi": "const struct dirent **B"}, "versionsort64": {"$rdi": "const struct dirent64 **A", "$rsi": "const struct dirent64 **B"}, "getdents64": {"$rdi": "int FD", "$rsi": "void *BUFFER", "$rdx": "size_t LENGTH"}, "ftw": {"$rdi": "const char *FILENAME", "$rsi": "__ftw_func_t FUNC", "$rdx": "int DESCRIPTORS"}, "ftw64": {"$rdi": "const char *FILENAME", "$rsi": "__ftw64_func_t FUNC", "$rdx": "int DESCRIPTORS"}, "nftw": {"$rdi": "const char *FILENAME", "$rsi": "__nftw_func_t FUNC", "$rdx": "int DESCRIPTORS", "$r10": "int FLAG"}, "nftw64": {"$rdi": "const char *FILENAME", "$rsi": "__nftw64_func_t FUNC", "$rdx": "int DESCRIPTORS", "$r10": "int FLAG"}, "link": {"$rdi": "const char *OLDNAME", "$rsi": "const char *NEWNAME"}, "linkat": {"$rdi": "int oldfd", "$rsi": "const char *OLDNAME", "$rdx": "int newfd", "$r10": "const char *NEWNAME", "$r8": "int flags"}, "symlink": {"$rdi": "const char *OLDNAME", "$rsi": "const char *NEWNAME"}, "readlink": {"$rdi": "const char *FILENAME", "$rsi": "char *BUFFER", "$rdx": "size_t SIZE"}, "canonicalize_file_name": {"$rdi": "const char *NAME"}, "realpath": {"$rdi": "const char *restrict NAME", "$rsi": "char *restrict RESOLVED"}, "unlink": {"$rdi": "const char *FILENAME"}, "rmdir": {"$rdi": "const char *FILENAME"}, "remove": {"$rdi": "const char *FILENAME"}, "rename": {"$rdi": "const char *OLDNAME", "$rsi": "const char *NEWNAME"}, "mkdir": {"$rdi": "const char *FILENAME", "$rsi": "mode_t MODE"}, "stat": {"$rdi": "const char *FILENAME", "$rsi": "struct stat *BUF"}, "stat64": {"$rdi": "const char *FILENAME", "$rsi": "struct stat64 *BUF"}, "fstat": {"$rdi": "int FILEDES", "$rsi": "struct stat *BUF"}, "fstat64": {"$rdi": "int FILEDES", "$rsi": "struct stat64 *BUF"}, "lstat": {"$rdi": "const char *FILENAME", "$rsi": "struct stat *BUF"}, "lstat64": {"$rdi": "const char *FILENAME", "$rsi": "struct stat64 *BUF"}, "chown": {"$rdi": "const char *FILENAME", "$rsi": "uid_t OWNER", "$rdx": "gid_t GROUP"}, "fchown": {"$rdi": "int FILEDES", "$rsi": "uid_t OWNER", "$rdx": "gid_t GROUP"}, "umask": {"$rdi": "mode_t MASK"}, "getumask": {"$rdi": "void"}, "chmod": {"$rdi": "const char *FILENAME", "$rsi": "mode_t MODE"}, "fchmod": {"$rdi": "int FILEDES", "$rsi": "mode_t MODE"}, "access": {"$rdi": "const char *FILENAME", "$rsi": "int HOW"}, "utime": {"$rdi": "const char *FILENAME", "$rsi": "const struct utimbuf *TIMES"}, "utimes": {"$rdi": "const char *FILENAME", "$rsi": "const struct timeval TVP[2]"}, "lutimes": {"$rdi": "const char *FILENAME", "$rsi": "const struct timeval TVP[2]"}, "futimes": {"$rdi": "int FD", "$rsi": "const struct timeval TVP[2]"}, "truncate": {"$rdi": "const char *FILENAME", "$rsi": "off_t LENGTH"}, "truncate64": {"$rdi": "const char *NAME", "$rsi": "off64_t LENGTH"}, "ftruncate": {"$rdi": "int FD", "$rsi": "off_t LENGTH"}, "ftruncate64": {"$rdi": "int ID", "$rsi": "off64_t LENGTH"}, "posix_fallocate": {"$rdi": "int FD", "$rsi": "off_t OFFSET", "$rdx": "off_t LENGTH"}, "posix_fallocate64": {"$rdi": "int FD", "$rsi": "off64_t OFFSET", "$rdx": "off64_t LENGTH"}, "mknod": {"$rdi": "const char *FILENAME", "$rsi": "mode_t MODE", "$rdx": "dev_t DEV"}, "tmpfile": {"$rdi": "void"}, "tmpfile64": {"$rdi": "void"}, "tmpnam": {"$rdi": "char *RESULT"}, "tmpnam_r": {"$rdi": "char *RESULT"}, "tempnam": {"$rdi": "const char *DIR", "$rsi": "const char *PREFIX"}, "mktemp": {"$rdi": "char *TEMPLATE"}, "mkstemp": {"$rdi": "char *TEMPLATE"}, "mkdtemp": {"$rdi": "char *TEMPLATE"}, "pipe": {"$rdi": "int FILEDES[2]"}, "popen": {"$rdi": "const char *COMMAND", "$rsi": "const char *MODE"}, "pclose": {"$rdi": "FILE *STREAM"}, "mkfifo": {"$rdi": "const char *FILENAME", "$rsi": "mode_t MODE"}, "bind": {"$rdi": "int SOCKET", "$rsi": "struct sockaddr *ADDR", "$rdx": "socklen_t LENGTH"}, "getsockname": {"$rdi": "int SOCKET", "$rsi": "struct sockaddr *ADDR", "$rdx": "socklen_t *LENGTH-PTR"}, "if_nametoindex": {"$rdi": "const char *IFNAME"}, "if_indextoname": {"$rdi": "unsigned int IFINDEX", "$rsi": "char *IFNAME"}, "if_nameindex": {"$rdi": "void"}, "if_freenameindex": {"$rdi": "struct if_nameindex *PTR"}, "inet_aton": {"$rdi": "const char *NAME", "$rsi": "struct in_addr *ADDR"}, "inet_addr": {"$rdi": "const char *NAME"}, "inet_network": {"$rdi": "const char *NAME"}, "inet_ntoa": {"$rdi": "struct in_addr ADDR"}, "inet_makeaddr": {"$rdi": "uint32_t NET", "$rsi": "uint32_t LOCAL"}, "inet_lnaof": {"$rdi": "struct in_addr ADDR"}, "inet_netof": {"$rdi": "struct in_addr ADDR"}, "inet_pton": {"$rdi": "int AF", "$rsi": "const char *CP", "$rdx": "void *BUF"}, "inet_ntop": {"$rdi": "int AF", "$rsi": "const void *CP", "$rdx": "char *BUF", "$r10": "socklen_t LEN"}, "gethostbyname": {"$rdi": "const char *NAME"}, "gethostbyname2": {"$rdi": "const char *NAME", "$rsi": "int AF"}, "gethostbyaddr": {"$rdi": "const void *ADDR", "$rsi": "socklen_t LENGTH", "$rdx": "int FORMAT"}, "gethostbyname_r": {"$rdi": ""}, "gethostbyname2_r": {"$rdi": ""}, "gethostbyaddr_r": {"$rdi": ""}, "sethostent": {"$rdi": "int STAYOPEN"}, "gethostent": {"$rdi": "void"}, "endhostent": {"$rdi": "void"}, "getservbyname": {"$rdi": "const char *NAME", "$rsi": "const char *PROTO"}, "getservbyport": {"$rdi": "int PORT", "$rsi": "const char *PROTO"}, "setservent": {"$rdi": "int STAYOPEN"}, "getservent": {"$rdi": "void"}, "endservent": {"$rdi": "void"}, "htons": {"$rdi": "uint16_t HOSTSHORT"}, "ntohs": {"$rdi": "uint16_t NETSHORT"}, "htonl": {"$rdi": "uint32_t HOSTLONG"}, "ntohl": {"$rdi": "uint32_t NETLONG"}, "getprotobyname": {"$rdi": "const char *NAME"}, "getprotobynumber": {"$rdi": "int PROTOCOL"}, "setprotoent": {"$rdi": "int STAYOPEN"}, "getprotoent": {"$rdi": "void"}, "endprotoent": {"$rdi": "void"}, "socket": {"$rdi": "int NAMESPACE", "$rsi": "int STYLE", "$rdx": "int PROTOCOL"}, "shutdown": {"$rdi": "int SOCKET", "$rsi": "int HOW"}, "socketpair": {"$rdi": "int NAMESPACE", "$rsi": "int STYLE", "$rdx": "int PROTOCOL", "$r10": "int FILEDES[2]"}, "connect": {"$rdi": "int SOCKET", "$rsi": "struct sockaddr *ADDR", "$rdx": "socklen_t LENGTH"}, "listen": {"$rdi": "int SOCKET", "$rsi": "int N"}, "accept": {"$rdi": "int SOCKET", "$rsi": "struct sockaddr *ADDR", "$rdx": "socklen_t *LENGTH_PTR"}, "getpeername": {"$rdi": "int SOCKET", "$rsi": "struct sockaddr *ADDR", "$rdx": "socklen_t *LENGTH-PTR"}, "send": {"$rdi": "int SOCKET", "$rsi": "const void *BUFFER", "$rdx": "size_t SIZE", "$r10": "int FLAGS"}, "recv": {"$rdi": "int SOCKET", "$rsi": "void *BUFFER", "$rdx": "size_t SIZE", "$r10": "int FLAGS"}, "sendto": {"$rdi": "int SOCKET", "$rsi": "const void *BUFFER", "$rdx": "size_t SIZE", "$r10": "int FLAGS", "$r8": "struct sockaddr *ADDR", "$r9": "socklen_t LENGTH"}, "recvfrom": {"$rdi": "int SOCKET", "$rsi": "void *BUFFER", "$rdx": "size_t SIZE", "$r10": "int FLAGS", "$r8": "struct sockaddr *ADDR", "$r9": "socklen_t *LENGTH-PTR"}, "getsockopt": {"$rdi": "int SOCKET", "$rsi": "int LEVEL", "$rdx": "int OPTNAME", "$r10": "void *OPTVAL", "$r8": "socklen_t *OPTLEN-PTR"}, "setsockopt": {"$rdi": "int SOCKET", "$rsi": "int LEVEL", "$rdx": "int OPTNAME", "$r10": "const void *OPTVAL", "$r8": "socklen_t OPTLEN"}, "getnetbyname": {"$rdi": "const char *NAME"}, "getnetbyaddr": {"$rdi": "uint32_t NET", "$rsi": "int TYPE"}, "setnetent": {"$rdi": "int STAYOPEN"}, "getnetent": {"$rdi": "void"}, "endnetent": {"$rdi": "void"}, "isatty": {"$rdi": "int FILEDES"}, "ttyname": {"$rdi": "int FILEDES"}, "ttyname_r": {"$rdi": "int FILEDES", "$rsi": "char *BUF", "$rdx": "size_t LEN"}, "tcgetattr": {"$rdi": "int FILEDES", "$rsi": "struct termios *TERMIOS-P"}, "tcsetattr": {"$rdi": "int FILEDES", "$rsi": "int WHEN", "$rdx": "const struct termios *TERMIOS-P"}, "cfgetospeed": {"$rdi": "const struct termios *TERMIOS-P"}, "cfgetispeed": {"$rdi": "const struct termios *TERMIOS-P"}, "cfsetospeed": {"$rdi": "struct termios *TERMIOS-P", "$rsi": "speed_t SPEED"}, "cfsetispeed": {"$rdi": "struct termios *TERMIOS-P", "$rsi": "speed_t SPEED"}, "cfsetspeed": {"$rdi": "struct termios *TERMIOS-P", "$rsi": "speed_t SPEED"}, "cfmakeraw": {"$rdi": "struct termios *TERMIOS-P"}, "gtty": {"$rdi": "int FILEDES", "$rsi": "struct sgttyb *ATTRIBUTES"}, "stty": {"$rdi": "int FILEDES", "$rsi": "const struct sgttyb *ATTRIBUTES"}, "tcsendbreak": {"$rdi": "int FILEDES", "$rsi": "int DURATION"}, "tcdrain": {"$rdi": "int FILEDES"}, "tcflush": {"$rdi": "int FILEDES", "$rsi": "int QUEUE"}, "tcflow": {"$rdi": "int FILEDES", "$rsi": "int ACTION"}, "getpass": {"$rdi": "const char *PROMPT"}, "getpt": {"$rdi": "void"}, "grantpt": {"$rdi": "int FILEDES"}, "unlockpt": {"$rdi": "int FILEDES"}, "ptsname": {"$rdi": "int FILEDES"}, "ptsname_r": {"$rdi": "int FILEDES", "$rsi": "char *BUF", "$rdx": "size_t LEN"}, "openpty": {"$rdi": "int *AMASTER", "$rsi": "int *ASLAVE", "$rdx": "char *NAME", "$r10": "const struct termios *TERMP", "$r8": "const struct winsize *WINP"}, "forkpty": {"$rdi": "int *AMASTER", "$rsi": "char *NAME", "$rdx": "const struct termios *TERMP", "$r10": "const struct winsize *WINP"}, "openlog": {"$rdi": "const char *IDENT", "$rsi": "int OPTION", "$rdx": "int FACILITY"}, "syslog": {"$rdi": "int FACILITY_PRIORITY", "$rsi": "const char *FORMAT", "$rdx": "..."}, "vsyslog": {"$rdi": "int FACILITY_PRIORITY", "$rsi": "const char *FORMAT", "$rdx": "va_list ARGLIST"}, "closelog": {"$rdi": "void"}, "setlogmask": {"$rdi": "int MASK"}, "sin": {"$rdi": "double X"}, "sinf": {"$rdi": "float X"}, "sinl": {"$rdi": "long double X"}, "sinfN": {"$rdi": "_FloatN X"}, "sinfNx": {"$rdi": "_FloatNx X"}, "cos": {"$rdi": "double X"}, "cosf": {"$rdi": "float X"}, "cosl": {"$rdi": "long double X"}, "cosfN": {"$rdi": "_FloatN X"}, "cosfNx": {"$rdi": "_FloatNx X"}, "tan": {"$rdi": "double X"}, "tanf": {"$rdi": "float X"}, "tanl": {"$rdi": "long double X"}, "tanfN": {"$rdi": "_FloatN X"}, "tanfNx": {"$rdi": "_FloatNx X"}, "sincos": {"$rdi": "double X", "$rsi": "double *SINX", "$rdx": "double *COSX"}, "sincosf": {"$rdi": "float X", "$rsi": "float *SINX", "$rdx": "float *COSX"}, "sincosl": {"$rdi": "long double X", "$rsi": "long double *SINX", "$rdx": "long double *COSX"}, "sincosfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN *SINX", "$rdx": "_FloatN *COSX"}, "sincosfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx *SINX", "$rdx": "_FloatNx *COSX"}, "csin": {"$rdi": "complex double Z"}, "csinf": {"$rdi": "complex float Z"}, "csinl": {"$rdi": "complex long double Z"}, "csinfN": {"$rdi": "complex _FloatN Z"}, "csinfNx": {"$rdi": "complex _FloatNx Z"}, "ccos": {"$rdi": "complex double Z"}, "ccosf": {"$rdi": "complex float Z"}, "ccosl": {"$rdi": "complex long double Z"}, "ccosfN": {"$rdi": "complex _FloatN Z"}, "ccosfNx": {"$rdi": "complex _FloatNx Z"}, "ctan": {"$rdi": "complex double Z"}, "ctanf": {"$rdi": "complex float Z"}, "ctanl": {"$rdi": "complex long double Z"}, "ctanfN": {"$rdi": "complex _FloatN Z"}, "ctanfNx": {"$rdi": "complex _FloatNx Z"}, "asin": {"$rdi": "double X"}, "asinf": {"$rdi": "float X"}, "asinl": {"$rdi": "long double X"}, "asinfN": {"$rdi": "_FloatN X"}, "asinfNx": {"$rdi": "_FloatNx X"}, "acos": {"$rdi": "double X"}, "acosf": {"$rdi": "float X"}, "acosl": {"$rdi": "long double X"}, "acosfN": {"$rdi": "_FloatN X"}, "acosfNx": {"$rdi": "_FloatNx X"}, "atan": {"$rdi": "double X"}, "atanf": {"$rdi": "float X"}, "atanl": {"$rdi": "long double X"}, "atanfN": {"$rdi": "_FloatN X"}, "atanfNx": {"$rdi": "_FloatNx X"}, "atan2": {"$rdi": "double Y", "$rsi": "double X"}, "atan2f": {"$rdi": "float Y", "$rsi": "float X"}, "atan2l": {"$rdi": "long double Y", "$rsi": "long double X"}, "atan2fN": {"$rdi": "_FloatN Y", "$rsi": "_FloatN X"}, "atan2fNx": {"$rdi": "_FloatNx Y", "$rsi": "_FloatNx X"}, "casin": {"$rdi": "complex double Z"}, "casinf": {"$rdi": "complex float Z"}, "casinl": {"$rdi": "complex long double Z"}, "casinfN": {"$rdi": "complex _FloatN Z"}, "casinfNx": {"$rdi": "complex _FloatNx Z"}, "cacos": {"$rdi": "complex double Z"}, "cacosf": {"$rdi": "complex float Z"}, "cacosl": {"$rdi": "complex long double Z"}, "cacosfN": {"$rdi": "complex _FloatN Z"}, "cacosfNx": {"$rdi": "complex _FloatNx Z"}, "catan": {"$rdi": "complex double Z"}, "catanf": {"$rdi": "complex float Z"}, "catanl": {"$rdi": "complex long double Z"}, "catanfN": {"$rdi": "complex _FloatN Z"}, "catanfNx": {"$rdi": "complex _FloatNx Z"}, "exp": {"$rdi": "double X"}, "expf": {"$rdi": "float X"}, "expl": {"$rdi": "long double X"}, "expfN": {"$rdi": "_FloatN X"}, "expfNx": {"$rdi": "_FloatNx X"}, "exp2": {"$rdi": "double X"}, "exp2f": {"$rdi": "float X"}, "exp2l": {"$rdi": "long double X"}, "exp2fN": {"$rdi": "_FloatN X"}, "exp2fNx": {"$rdi": "_FloatNx X"}, "exp10": {"$rdi": "double X"}, "exp10f": {"$rdi": "float X"}, "exp10l": {"$rdi": "long double X"}, "exp10fN": {"$rdi": "_FloatN X"}, "exp10fNx": {"$rdi": "_FloatNx X"}, "log": {"$rdi": "double X"}, "logf": {"$rdi": "float X"}, "logl": {"$rdi": "long double X"}, "logfN": {"$rdi": "_FloatN X"}, "logfNx": {"$rdi": "_FloatNx X"}, "log10": {"$rdi": "double X"}, "log10f": {"$rdi": "float X"}, "log10l": {"$rdi": "long double X"}, "log10fN": {"$rdi": "_FloatN X"}, "log10fNx": {"$rdi": "_FloatNx X"}, "log2": {"$rdi": "double X"}, "log2f": {"$rdi": "float X"}, "log2l": {"$rdi": "long double X"}, "log2fN": {"$rdi": "_FloatN X"}, "log2fNx": {"$rdi": "_FloatNx X"}, "logb": {"$rdi": "double X"}, "logbf": {"$rdi": "float X"}, "logbl": {"$rdi": "long double X"}, "logbfN": {"$rdi": "_FloatN X"}, "logbfNx": {"$rdi": "_FloatNx X"}, "ilogb": {"$rdi": "double X"}, "ilogbf": {"$rdi": "float X"}, "ilogbl": {"$rdi": "long double X"}, "ilogbfN": {"$rdi": "_FloatN X"}, "ilogbfNx": {"$rdi": "_FloatNx X"}, "llogb": {"$rdi": "double X"}, "llogbf": {"$rdi": "float X"}, "llogbl": {"$rdi": "long double X"}, "llogbfN": {"$rdi": "_FloatN X"}, "llogbfNx": {"$rdi": "_FloatNx X"}, "pow": {"$rdi": "double BASE", "$rsi": "double POWER"}, "powf": {"$rdi": "float BASE", "$rsi": "float POWER"}, "powl": {"$rdi": "long double BASE", "$rsi": "long double POWER"}, "powfN": {"$rdi": "_FloatN BASE", "$rsi": "_FloatN POWER"}, "powfNx": {"$rdi": "_FloatNx BASE", "$rsi": "_FloatNx POWER"}, "sqrt": {"$rdi": "double X"}, "sqrtf": {"$rdi": "float X"}, "sqrtl": {"$rdi": "long double X"}, "sqrtfN": {"$rdi": "_FloatN X"}, "sqrtfNx": {"$rdi": "_FloatNx X"}, "cbrt": {"$rdi": "double X"}, "cbrtf": {"$rdi": "float X"}, "cbrtl": {"$rdi": "long double X"}, "cbrtfN": {"$rdi": "_FloatN X"}, "cbrtfNx": {"$rdi": "_FloatNx X"}, "hypot": {"$rdi": "double X", "$rsi": "double Y"}, "hypotf": {"$rdi": "float X", "$rsi": "float Y"}, "hypotl": {"$rdi": "long double X", "$rsi": "long double Y"}, "hypotfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "hypotfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "expm1": {"$rdi": "double X"}, "expm1f": {"$rdi": "float X"}, "expm1l": {"$rdi": "long double X"}, "expm1fN": {"$rdi": "_FloatN X"}, "expm1fNx": {"$rdi": "_FloatNx X"}, "log1p": {"$rdi": "double X"}, "log1pf": {"$rdi": "float X"}, "log1pl": {"$rdi": "long double X"}, "log1pfN": {"$rdi": "_FloatN X"}, "log1pfNx": {"$rdi": "_FloatNx X"}, "cexp": {"$rdi": "complex double Z"}, "cexpf": {"$rdi": "complex float Z"}, "cexpl": {"$rdi": "complex long double Z"}, "cexpfN": {"$rdi": "complex _FloatN Z"}, "cexpfNx": {"$rdi": "complex _FloatNx Z"}, "clog": {"$rdi": "complex double Z"}, "clogf": {"$rdi": "complex float Z"}, "clogl": {"$rdi": "complex long double Z"}, "clogfN": {"$rdi": "complex _FloatN Z"}, "clogfNx": {"$rdi": "complex _FloatNx Z"}, "clog10": {"$rdi": "complex double Z"}, "clog10f": {"$rdi": "complex float Z"}, "clog10l": {"$rdi": "complex long double Z"}, "clog10fN": {"$rdi": "complex _FloatN Z"}, "clog10fNx": {"$rdi": "complex _FloatNx Z"}, "csqrt": {"$rdi": "complex double Z"}, "csqrtf": {"$rdi": "complex float Z"}, "csqrtl": {"$rdi": "complex long double Z"}, "csqrtfN": {"$rdi": "_FloatN Z"}, "csqrtfNx": {"$rdi": "complex _FloatNx Z"}, "cpow": {"$rdi": "complex double BASE", "$rsi": "complex double POWER"}, "cpowf": {"$rdi": "complex float BASE", "$rsi": "complex float POWER"}, "cpowl": {"$rdi": "complex long double BASE", "$rsi": "complex long double POWER"}, "cpowfN": {"$rdi": "complex _FloatN BASE", "$rsi": "complex _FloatN POWER"}, "cpowfNx": {"$rdi": "complex _FloatNx BASE", "$rsi": "complex _FloatNx POWER"}, "sinh": {"$rdi": "double X"}, "sinhf": {"$rdi": "float X"}, "sinhl": {"$rdi": "long double X"}, "sinhfN": {"$rdi": "_FloatN X"}, "sinhfNx": {"$rdi": "_FloatNx X"}, "cosh": {"$rdi": "double X"}, "coshf": {"$rdi": "float X"}, "coshl": {"$rdi": "long double X"}, "coshfN": {"$rdi": "_FloatN X"}, "coshfNx": {"$rdi": "_FloatNx X"}, "tanh": {"$rdi": "double X"}, "tanhf": {"$rdi": "float X"}, "tanhl": {"$rdi": "long double X"}, "tanhfN": {"$rdi": "_FloatN X"}, "tanhfNx": {"$rdi": "_FloatNx X"}, "csinh": {"$rdi": "complex double Z"}, "csinhf": {"$rdi": "complex float Z"}, "csinhl": {"$rdi": "complex long double Z"}, "csinhfN": {"$rdi": "complex _FloatN Z"}, "csinhfNx": {"$rdi": "complex _FloatNx Z"}, "ccosh": {"$rdi": "complex double Z"}, "ccoshf": {"$rdi": "complex float Z"}, "ccoshl": {"$rdi": "complex long double Z"}, "ccoshfN": {"$rdi": "complex _FloatN Z"}, "ccoshfNx": {"$rdi": "complex _FloatNx Z"}, "ctanh": {"$rdi": "complex double Z"}, "ctanhf": {"$rdi": "complex float Z"}, "ctanhl": {"$rdi": "complex long double Z"}, "ctanhfN": {"$rdi": "complex _FloatN Z"}, "ctanhfNx": {"$rdi": "complex _FloatNx Z"}, "asinh": {"$rdi": "double X"}, "asinhf": {"$rdi": "float X"}, "asinhl": {"$rdi": "long double X"}, "asinhfN": {"$rdi": "_FloatN X"}, "asinhfNx": {"$rdi": "_FloatNx X"}, "acosh": {"$rdi": "double X"}, "acoshf": {"$rdi": "float X"}, "acoshl": {"$rdi": "long double X"}, "acoshfN": {"$rdi": "_FloatN X"}, "acoshfNx": {"$rdi": "_FloatNx X"}, "atanh": {"$rdi": "double X"}, "atanhf": {"$rdi": "float X"}, "atanhl": {"$rdi": "long double X"}, "atanhfN": {"$rdi": "_FloatN X"}, "atanhfNx": {"$rdi": "_FloatNx X"}, "casinh": {"$rdi": "complex double Z"}, "casinhf": {"$rdi": "complex float Z"}, "casinhl": {"$rdi": "complex long double Z"}, "casinhfN": {"$rdi": "complex _FloatN Z"}, "casinhfNx": {"$rdi": "complex _FloatNx Z"}, "cacosh": {"$rdi": "complex double Z"}, "cacoshf": {"$rdi": "complex float Z"}, "cacoshl": {"$rdi": "complex long double Z"}, "cacoshfN": {"$rdi": "complex _FloatN Z"}, "cacoshfNx": {"$rdi": "complex _FloatNx Z"}, "catanh": {"$rdi": "complex double Z"}, "catanhf": {"$rdi": "complex float Z"}, "catanhl": {"$rdi": "complex long double Z"}, "catanhfN": {"$rdi": "complex _FloatN Z"}, "catanhfNx": {"$rdi": "complex _FloatNx Z"}, "erf": {"$rdi": "double X"}, "erff": {"$rdi": "float X"}, "erfl": {"$rdi": "long double X"}, "erffN": {"$rdi": "_FloatN X"}, "erffNx": {"$rdi": "_FloatNx X"}, "erfc": {"$rdi": "double X"}, "erfcf": {"$rdi": "float X"}, "erfcl": {"$rdi": "long double X"}, "erfcfN": {"$rdi": "_FloatN X"}, "erfcfNx": {"$rdi": "_FloatNx X"}, "lgamma": {"$rdi": "double X"}, "lgammaf": {"$rdi": "float X"}, "lgammal": {"$rdi": "long double X"}, "lgammafN": {"$rdi": "_FloatN X"}, "lgammafNx": {"$rdi": "_FloatNx X"}, "lgamma_r": {"$rdi": "double X", "$rsi": "int *SIGNP"}, "lgammaf_r": {"$rdi": "float X", "$rsi": "int *SIGNP"}, "lgammal_r": {"$rdi": "long double X", "$rsi": "int *SIGNP"}, "lgammafN_r": {"$rdi": "_FloatN X", "$rsi": "int *SIGNP"}, "lgammafNx_r": {"$rdi": "_FloatNx X", "$rsi": "int *SIGNP"}, "gamma": {"$rdi": "double X"}, "gammaf": {"$rdi": "float X"}, "gammal": {"$rdi": "long double X"}, "tgamma": {"$rdi": "double X"}, "tgammaf": {"$rdi": "float X"}, "tgammal": {"$rdi": "long double X"}, "tgammafN": {"$rdi": "_FloatN X"}, "tgammafNx": {"$rdi": "_FloatNx X"}, "j0": {"$rdi": "double X"}, "j0f": {"$rdi": "float X"}, "j0l": {"$rdi": "long double X"}, "j0fN": {"$rdi": "_FloatN X"}, "j0fNx": {"$rdi": "_FloatNx X"}, "j1": {"$rdi": "double X"}, "j1f": {"$rdi": "float X"}, "j1l": {"$rdi": "long double X"}, "j1fN": {"$rdi": "_FloatN X"}, "j1fNx": {"$rdi": "_FloatNx X"}, "jn": {"$rdi": "int N", "$rsi": "double X"}, "jnf": {"$rdi": "int N", "$rsi": "float X"}, "jnl": {"$rdi": "int N", "$rsi": "long double X"}, "jnfN": {"$rdi": "int N", "$rsi": "_FloatN X"}, "jnfNx": {"$rdi": "int N", "$rsi": "_FloatNx X"}, "y0": {"$rdi": "double X"}, "y0f": {"$rdi": "float X"}, "y0l": {"$rdi": "long double X"}, "y0fN": {"$rdi": "_FloatN X"}, "y0fNx": {"$rdi": "_FloatNx X"}, "y1": {"$rdi": "double X"}, "y1f": {"$rdi": "float X"}, "y1l": {"$rdi": "long double X"}, "y1fN": {"$rdi": "_FloatN X"}, "y1fNx": {"$rdi": "_FloatNx X"}, "yn": {"$rdi": "int N", "$rsi": "double X"}, "ynf": {"$rdi": "int N", "$rsi": "float X"}, "ynl": {"$rdi": "int N", "$rsi": "long double X"}, "ynfN": {"$rdi": "int N", "$rsi": "_FloatN X"}, "ynfNx": {"$rdi": "int N", "$rsi": "_FloatNx X"}, "rand": {"$rdi": "void"}, "srand": {"$rdi": "unsigned int SEED"}, "rand_r": {"$rdi": "unsigned int *SEED"}, "random": {"$rdi": "void"}, "srandom": {"$rdi": "unsigned int SEED"}, "initstate": {"$rdi": "unsigned int SEED", "$rsi": "char *STATE", "$rdx": "size_t SIZE"}, "setstate": {"$rdi": "char *STATE"}, "random_r": {"$rdi": "struct random_data *restrict BUF", "$rsi": "int32_t *restrict RESULT"}, "srandom_r": {"$rdi": "unsigned int SEED", "$rsi": "struct random_data *BUF"}, "initstate_r": {"$rdi": "unsigned int SEED", "$rsi": "char *restrict STATEBUF", "$rdx": "size_t STATELEN", "$r10": "struct random_data *restrict BUF"}, "setstate_r": {"$rdi": "char *restrict STATEBUF", "$rsi": "struct random_data *restrict BUF"}, "drand48": {"$rdi": "void"}, "erand48": {"$rdi": "unsigned short int XSUBI[3]"}, "lrand48": {"$rdi": "void"}, "nrand48": {"$rdi": "unsigned short int XSUBI[3]"}, "mrand48": {"$rdi": "void"}, "jrand48": {"$rdi": "unsigned short int XSUBI[3]"}, "srand48": {"$rdi": "long int SEEDVAL"}, "seed48": {"$rdi": "unsigned short int SEED16V[3]"}, "lcong48": {"$rdi": "unsigned short int PARAM[7]"}, "drand48_r": {"$rdi": "struct drand48_data *BUFFER", "$rsi": "double *RESULT"}, "erand48_r": {"$rdi": "unsigned short int XSUBI[3]", "$rsi": "struct drand48_data *BUFFER", "$rdx": "double *RESULT"}, "lrand48_r": {"$rdi": "struct drand48_data *BUFFER", "$rsi": "long int *RESULT"}, "nrand48_r": {"$rdi": "unsigned short int XSUBI[3]", "$rsi": "struct drand48_data *BUFFER", "$rdx": "long int *RESULT"}, "mrand48_r": {"$rdi": "struct drand48_data *BUFFER", "$rsi": "long int *RESULT"}, "jrand48_r": {"$rdi": "unsigned short int XSUBI[3]", "$rsi": "struct drand48_data *BUFFER", "$rdx": "long int *RESULT"}, "srand48_r": {"$rdi": "long int SEEDVAL", "$rsi": "struct drand48_data *BUFFER"}, "seed48_r": {"$rdi": "unsigned short int SEED16V[3]", "$rsi": "struct drand48_data *BUFFER"}, "lcong48_r": {"$rdi": "unsigned short int PARAM[7]", "$rsi": "struct drand48_data *BUFFER"}, "div": {"$rdi": "int NUMERATOR", "$rsi": "int DENOMINATOR"}, "ldiv": {"$rdi": "long int NUMERATOR", "$rsi": "long int DENOMINATOR"}, "lldiv": {"$rdi": "long long int NUMERATOR", "$rsi": "long long int DENOMINATOR"}, "imaxdiv": {"$rdi": "intmax_t NUMERATOR", "$rsi": "intmax_t DENOMINATOR"}, "isinf": {"$rdi": "double X"}, "isinff": {"$rdi": "float X"}, "isinfl": {"$rdi": "long double X"}, "isnan": {"$rdi": "double X"}, "isnanf": {"$rdi": "float X"}, "isnanl": {"$rdi": "long double X"}, "finite": {"$rdi": "double X"}, "finitef": {"$rdi": "float X"}, "finitel": {"$rdi": "long double X"}, "feclearexcept": {"$rdi": "int EXCEPTS"}, "feraiseexcept": {"$rdi": "int EXCEPTS"}, "fesetexcept": {"$rdi": "int EXCEPTS"}, "fetestexcept": {"$rdi": "int EXCEPTS"}, "fegetexceptflag": {"$rdi": "fexcept_t *FLAGP", "$rsi": "int EXCEPTS"}, "fesetexceptflag": {"$rdi": "const fexcept_t *FLAGP", "$rsi": "int EXCEPTS"}, "fetestexceptflag": {"$rdi": "const fexcept_t *FLAGP", "$rsi": "int EXCEPTS"}, "fegetround": {"$rdi": "void"}, "fesetround": {"$rdi": "int ROUND"}, "fegetenv": {"$rdi": "fenv_t *ENVP"}, "feholdexcept": {"$rdi": "fenv_t *ENVP"}, "fesetenv": {"$rdi": "const fenv_t *ENVP"}, "feupdateenv": {"$rdi": "const fenv_t *ENVP"}, "fegetmode": {"$rdi": "femode_t *MODEP"}, "fesetmode": {"$rdi": "const femode_t *MODEP"}, "feenableexcept": {"$rdi": "int EXCEPTS"}, "fedisableexcept": {"$rdi": "int EXCEPTS"}, "fegetexcept": {"$rdi": "void"}, "abs": {"$rdi": "int NUMBER"}, "labs": {"$rdi": "long int NUMBER"}, "llabs": {"$rdi": "long long int NUMBER"}, "imaxabs": {"$rdi": "intmax_t NUMBER"}, "fabs": {"$rdi": "double NUMBER"}, "fabsf": {"$rdi": "float NUMBER"}, "fabsl": {"$rdi": "long double NUMBER"}, "fabsfN": {"$rdi": "_FloatN NUMBER"}, "fabsfNx": {"$rdi": "_FloatNx NUMBER"}, "cabs": {"$rdi": "complex double Z"}, "cabsf": {"$rdi": "complex float Z"}, "cabsl": {"$rdi": "complex long double Z"}, "cabsfN": {"$rdi": "complex _FloatN Z"}, "cabsfNx": {"$rdi": "complex _FloatNx Z"}, "frexp": {"$rdi": "double VALUE", "$rsi": "int *EXPONENT"}, "frexpf": {"$rdi": "float VALUE", "$rsi": "int *EXPONENT"}, "frexpl": {"$rdi": "long double VALUE", "$rsi": "int *EXPONENT"}, "frexpfN": {"$rdi": "_FloatN VALUE", "$rsi": "int *EXPONENT"}, "frexpfNx": {"$rdi": "_FloatNx VALUE", "$rsi": "int *EXPONENT"}, "ldexp": {"$rdi": "double VALUE", "$rsi": "int EXPONENT"}, "ldexpf": {"$rdi": "float VALUE", "$rsi": "int EXPONENT"}, "ldexpl": {"$rdi": "long double VALUE", "$rsi": "int EXPONENT"}, "ldexpfN": {"$rdi": "_FloatN VALUE", "$rsi": "int EXPONENT"}, "ldexpfNx": {"$rdi": "_FloatNx VALUE", "$rsi": "int EXPONENT"}, "scalb": {"$rdi": "double VALUE", "$rsi": "double EXPONENT"}, "scalbf": {"$rdi": "float VALUE", "$rsi": "float EXPONENT"}, "scalbl": {"$rdi": "long double VALUE", "$rsi": "long double EXPONENT"}, "scalbn": {"$rdi": "double X", "$rsi": "int N"}, "scalbnf": {"$rdi": "float X", "$rsi": "int N"}, "scalbnl": {"$rdi": "long double X", "$rsi": "int N"}, "scalbnfN": {"$rdi": "_FloatN X", "$rsi": "int N"}, "scalbnfNx": {"$rdi": "_FloatNx X", "$rsi": "int N"}, "scalbln": {"$rdi": "double X", "$rsi": "long int N"}, "scalblnf": {"$rdi": "float X", "$rsi": "long int N"}, "scalblnl": {"$rdi": "long double X", "$rsi": "long int N"}, "scalblnfN": {"$rdi": "_FloatN X", "$rsi": "long int N"}, "scalblnfNx": {"$rdi": "_FloatNx X", "$rsi": "long int N"}, "significand": {"$rdi": "double X"}, "significandf": {"$rdi": "float X"}, "significandl": {"$rdi": "long double X"}, "ceil": {"$rdi": "double X"}, "ceilf": {"$rdi": "float X"}, "ceill": {"$rdi": "long double X"}, "ceilfN": {"$rdi": "_FloatN X"}, "ceilfNx": {"$rdi": "_FloatNx X"}, "floor": {"$rdi": "double X"}, "floorf": {"$rdi": "float X"}, "floorl": {"$rdi": "long double X"}, "floorfN": {"$rdi": "_FloatN X"}, "floorfNx": {"$rdi": "_FloatNx X"}, "trunc": {"$rdi": "double X"}, "truncf": {"$rdi": "float X"}, "truncl": {"$rdi": "long double X"}, "truncfN": {"$rdi": "_FloatN X"}, "truncfNx": {"$rdi": "_FloatNx X"}, "rint": {"$rdi": "double X"}, "rintf": {"$rdi": "float X"}, "rintl": {"$rdi": "long double X"}, "rintfN": {"$rdi": "_FloatN X"}, "rintfNx": {"$rdi": "_FloatNx X"}, "nearbyint": {"$rdi": "double X"}, "nearbyintf": {"$rdi": "float X"}, "nearbyintl": {"$rdi": "long double X"}, "nearbyintfN": {"$rdi": "_FloatN X"}, "nearbyintfNx": {"$rdi": "_FloatNx X"}, "round": {"$rdi": "double X"}, "roundf": {"$rdi": "float X"}, "roundl": {"$rdi": "long double X"}, "roundfN": {"$rdi": "_FloatN X"}, "roundfNx": {"$rdi": "_FloatNx X"}, "roundeven": {"$rdi": "double X"}, "roundevenf": {"$rdi": "float X"}, "roundevenl": {"$rdi": "long double X"}, "roundevenfN": {"$rdi": "_FloatN X"}, "roundevenfNx": {"$rdi": "_FloatNx X"}, "lrint": {"$rdi": "double X"}, "lrintf": {"$rdi": "float X"}, "lrintl": {"$rdi": "long double X"}, "lrintfN": {"$rdi": "_FloatN X"}, "lrintfNx": {"$rdi": "_FloatNx X"}, "llrint": {"$rdi": "double X"}, "llrintf": {"$rdi": "float X"}, "llrintl": {"$rdi": "long double X"}, "llrintfN": {"$rdi": "_FloatN X"}, "llrintfNx": {"$rdi": "_FloatNx X"}, "lround": {"$rdi": "double X"}, "lroundf": {"$rdi": "float X"}, "lroundl": {"$rdi": "long double X"}, "lroundfN": {"$rdi": "_FloatN X"}, "lroundfNx": {"$rdi": "_FloatNx X"}, "llround": {"$rdi": "double X"}, "llroundf": {"$rdi": "float X"}, "llroundl": {"$rdi": "long double X"}, "llroundfN": {"$rdi": "_FloatN X"}, "llroundfNx": {"$rdi": "_FloatNx X"}, "fromfp": {"$rdi": "double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpf": {"$rdi": "float X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpl": {"$rdi": "long double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpfN": {"$rdi": "_FloatN X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpfNx": {"$rdi": "_FloatNx X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfp": {"$rdi": "double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpf": {"$rdi": "float X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpl": {"$rdi": "long double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpfN": {"$rdi": "_FloatN X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpfNx": {"$rdi": "_FloatNx X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpx": {"$rdi": "double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpxf": {"$rdi": "float X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpxl": {"$rdi": "long double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpxfN": {"$rdi": "_FloatN X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpxfNx": {"$rdi": "_FloatNx X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpx": {"$rdi": "double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpxf": {"$rdi": "float X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpxl": {"$rdi": "long double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpxfN": {"$rdi": "_FloatN X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpxfNx": {"$rdi": "_FloatNx X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "modf": {"$rdi": "double VALUE", "$rsi": "double *INTEGER-PART"}, "modff": {"$rdi": "float VALUE", "$rsi": "float *INTEGER-PART"}, "modfl": {"$rdi": "long double VALUE", "$rsi": "long double *INTEGER-PART"}, "modffN": {"$rdi": "_FloatN VALUE", "$rsi": "_FloatN *INTEGER-PART"}, "modffNx": {"$rdi": "_FloatNx VALUE", "$rsi": "_FloatNx *INTEGER-PART"}, "fmod": {"$rdi": "double NUMERATOR", "$rsi": "double DENOMINATOR"}, "fmodf": {"$rdi": "float NUMERATOR", "$rsi": "float DENOMINATOR"}, "fmodl": {"$rdi": "long double NUMERATOR", "$rsi": "long double DENOMINATOR"}, "fmodfN": {"$rdi": "_FloatN NUMERATOR", "$rsi": "_FloatN DENOMINATOR"}, "fmodfNx": {"$rdi": "_FloatNx NUMERATOR", "$rsi": "_FloatNx DENOMINATOR"}, "remainder": {"$rdi": "double NUMERATOR", "$rsi": "double DENOMINATOR"}, "remainderf": {"$rdi": "float NUMERATOR", "$rsi": "float DENOMINATOR"}, "remainderl": {"$rdi": "long double NUMERATOR", "$rsi": "long double DENOMINATOR"}, "remainderfN": {"$rdi": "_FloatN NUMERATOR", "$rsi": "_FloatN DENOMINATOR"}, "remainderfNx": {"$rdi": "_FloatNx NUMERATOR", "$rsi": "_FloatNx DENOMINATOR"}, "drem": {"$rdi": "double NUMERATOR", "$rsi": "double DENOMINATOR"}, "dremf": {"$rdi": "float NUMERATOR", "$rsi": "float DENOMINATOR"}, "dreml": {"$rdi": "long double NUMERATOR", "$rsi": "long double DENOMINATOR"}, "copysign": {"$rdi": "double X", "$rsi": "double Y"}, "copysignf": {"$rdi": "float X", "$rsi": "float Y"}, "copysignl": {"$rdi": "long double X", "$rsi": "long double Y"}, "copysignfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "copysignfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "signbit": {"$rdi": "_float-type_ X"}, "nextafter": {"$rdi": "double X", "$rsi": "double Y"}, "nextafterf": {"$rdi": "float X", "$rsi": "float Y"}, "nextafterl": {"$rdi": "long double X", "$rsi": "long double Y"}, "nextafterfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "nextafterfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "nexttoward": {"$rdi": "double X", "$rsi": "long double Y"}, "nexttowardf": {"$rdi": "float X", "$rsi": "long double Y"}, "nexttowardl": {"$rdi": "long double X", "$rsi": "long double Y"}, "nextup": {"$rdi": "double X"}, "nextupf": {"$rdi": "float X"}, "nextupl": {"$rdi": "long double X"}, "nextupfN": {"$rdi": "_FloatN X"}, "nextupfNx": {"$rdi": "_FloatNx X"}, "nextdown": {"$rdi": "double X"}, "nextdownf": {"$rdi": "float X"}, "nextdownl": {"$rdi": "long double X"}, "nextdownfN": {"$rdi": "_FloatN X"}, "nextdownfNx": {"$rdi": "_FloatNx X"}, "nan": {"$rdi": "const char *TAGP"}, "nanf": {"$rdi": "const char *TAGP"}, "nanl": {"$rdi": "const char *TAGP"}, "nanfN": {"$rdi": "const char *TAGP"}, "nanfNx": {"$rdi": "const char *TAGP"}, "canonicalize": {"$rdi": "double *CX", "$rsi": "const double *X"}, "canonicalizef": {"$rdi": "float *CX", "$rsi": "const float *X"}, "canonicalizel": {"$rdi": "long double *CX", "$rsi": "const long double *X"}, "canonicalizefN": {"$rdi": "_FloatN *CX", "$rsi": "const _FloatN *X"}, "canonicalizefNx": {"$rdi": "_FloatNx *CX", "$rsi": "const _FloatNx *X"}, "getpayload": {"$rdi": "const double *X"}, "getpayloadf": {"$rdi": "const float *X"}, "getpayloadl": {"$rdi": "const long double *X"}, "getpayloadfN": {"$rdi": "const _FloatN *X"}, "getpayloadfNx": {"$rdi": "const _FloatNx *X"}, "setpayload": {"$rdi": "double *X", "$rsi": "double PAYLOAD"}, "setpayloadf": {"$rdi": "float *X", "$rsi": "float PAYLOAD"}, "setpayloadl": {"$rdi": "long double *X", "$rsi": "long double PAYLOAD"}, "setpayloadfN": {"$rdi": "_FloatN *X", "$rsi": "_FloatN PAYLOAD"}, "setpayloadfNx": {"$rdi": "_FloatNx *X", "$rsi": "_FloatNx PAYLOAD"}, "setpayloadsig": {"$rdi": "double *X", "$rsi": "double PAYLOAD"}, "setpayloadsigf": {"$rdi": "float *X", "$rsi": "float PAYLOAD"}, "setpayloadsigl": {"$rdi": "long double *X", "$rsi": "long double PAYLOAD"}, "setpayloadsigfN": {"$rdi": "_FloatN *X", "$rsi": "_FloatN PAYLOAD"}, "setpayloadsigfNx": {"$rdi": "_FloatNx *X", "$rsi": "_FloatNx PAYLOAD"}, "totalorder": {"$rdi": "const double *X", "$rsi": "const double *Y"}, "totalorderf": {"$rdi": "const float *X", "$rsi": "const float *Y"}, "totalorderl": {"$rdi": "const long double *X", "$rsi": "const long double *Y"}, "totalorderfN": {"$rdi": "const _FloatN *X", "$rsi": "const _FloatN *Y"}, "totalorderfNx": {"$rdi": "const _FloatNx *X", "$rsi": "const _FloatNx *Y"}, "totalordermag": {"$rdi": "const double *X", "$rsi": "const double *Y"}, "totalordermagf": {"$rdi": "const float *X", "$rsi": "const float *Y"}, "totalordermagl": {"$rdi": "const long double *X", "$rsi": "const long double *Y"}, "totalordermagfN": {"$rdi": "const _FloatN *X", "$rsi": "const _FloatN *Y"}, "totalordermagfNx": {"$rdi": "const _FloatNx *X", "$rsi": "const _FloatNx *Y"}, "fmin": {"$rdi": "double X", "$rsi": "double Y"}, "fminf": {"$rdi": "float X", "$rsi": "float Y"}, "fminl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fminfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fminfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fmax": {"$rdi": "double X", "$rsi": "double Y"}, "fmaxf": {"$rdi": "float X", "$rsi": "float Y"}, "fmaxl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fmaxfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fmaxfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fminmag": {"$rdi": "double X", "$rsi": "double Y"}, "fminmagf": {"$rdi": "float X", "$rsi": "float Y"}, "fminmagl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fminmagfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fminmagfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fmaxmag": {"$rdi": "double X", "$rsi": "double Y"}, "fmaxmagf": {"$rdi": "float X", "$rsi": "float Y"}, "fmaxmagl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fmaxmagfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fmaxmagfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fdim": {"$rdi": "double X", "$rsi": "double Y"}, "fdimf": {"$rdi": "float X", "$rsi": "float Y"}, "fdiml": {"$rdi": "long double X", "$rsi": "long double Y"}, "fdimfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fdimfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fma": {"$rdi": "double X", "$rsi": "double Y", "$rdx": "double Z"}, "fmaf": {"$rdi": "float X", "$rsi": "float Y", "$rdx": "float Z"}, "fmal": {"$rdi": "long double X", "$rsi": "long double Y", "$rdx": "long double Z"}, "fmafN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y", "$rdx": "_FloatN Z"}, "fmafNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y", "$rdx": "_FloatNx Z"}, "fadd": {"$rdi": "double X", "$rsi": "double Y"}, "faddl": {"$rdi": "long double X", "$rsi": "long double Y"}, "daddl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fMaddfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMaddfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fMxaddfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMxaddfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fsub": {"$rdi": "double X", "$rsi": "double Y"}, "fsubl": {"$rdi": "long double X", "$rsi": "long double Y"}, "dsubl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fMsubfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMsubfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fMxsubfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMxsubfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fmul": {"$rdi": "double X", "$rsi": "double Y"}, "fmull": {"$rdi": "long double X", "$rsi": "long double Y"}, "dmull": {"$rdi": "long double X", "$rsi": "long double Y"}, "fMmulfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMmulfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fMxmulfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMxmulfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fdiv": {"$rdi": "double X", "$rsi": "double Y"}, "fdivl": {"$rdi": "long double X", "$rsi": "long double Y"}, "ddivl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fMdivfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMdivfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fMxdivfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMxdivfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "creal": {"$rdi": "complex double Z"}, "crealf": {"$rdi": "complex float Z"}, "creall": {"$rdi": "complex long double Z"}, "crealfN": {"$rdi": "complex _FloatN Z"}, "crealfNx": {"$rdi": "complex _FloatNx Z"}, "cimag": {"$rdi": "complex double Z"}, "cimagf": {"$rdi": "complex float Z"}, "cimagl": {"$rdi": "complex long double Z"}, "cimagfN": {"$rdi": "complex _FloatN Z"}, "cimagfNx": {"$rdi": "complex _FloatNx Z"}, "conj": {"$rdi": "complex double Z"}, "conjf": {"$rdi": "complex float Z"}, "conjl": {"$rdi": "complex long double Z"}, "conjfN": {"$rdi": "complex _FloatN Z"}, "conjfNx": {"$rdi": "complex _FloatNx Z"}, "carg": {"$rdi": "complex double Z"}, "cargf": {"$rdi": "complex float Z"}, "cargl": {"$rdi": "complex long double Z"}, "cargfN": {"$rdi": "complex _FloatN Z"}, "cargfNx": {"$rdi": "complex _FloatNx Z"}, "cproj": {"$rdi": "complex double Z"}, "cprojf": {"$rdi": "complex float Z"}, "cprojl": {"$rdi": "complex long double Z"}, "cprojfN": {"$rdi": "complex _FloatN Z"}, "cprojfNx": {"$rdi": "complex _FloatNx Z"}, "strtol": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstol": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoul": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoul": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoll": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoll": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoq": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoq": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoull": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoull": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtouq": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstouq": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoimax": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoimax": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoumax": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoumax": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "atol": {"$rdi": "const char *STRING"}, "atoi": {"$rdi": "const char *STRING"}, "atoll": {"$rdi": "const char *STRING"}, "strtod": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR"}, "strtof": {"$rdi": "const char *STRING", "$rsi": "char **TAILPTR"}, "strtold": {"$rdi": "const char *STRING", "$rsi": "char **TAILPTR"}, "strtofN": {"$rdi": "const char *STRING", "$rsi": "char **TAILPTR"}, "strtofNx": {"$rdi": "const char *STRING", "$rsi": "char **TAILPTR"}, "wcstod": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR"}, "wcstof": {"$rdi": "const wchar_t *STRING", "$rsi": "wchar_t **TAILPTR"}, "wcstold": {"$rdi": "const wchar_t *STRING", "$rsi": "wchar_t **TAILPTR"}, "wcstofN": {"$rdi": "const wchar_t *STRING", "$rsi": "wchar_t **TAILPTR"}, "wcstofNx": {"$rdi": "const wchar_t *STRING", "$rsi": "wchar_t **TAILPTR"}, "atof": {"$rdi": "const char *STRING"}, "strfromd": {"$rdi": "char *restrict STRING", "$rsi": "size_t SIZE", "$rdx": "const char *restrict FORMAT", "$r10": "double VALUE"}, "strfromf": {"$rdi": "char *restrict STRING", "$rsi": "size_t SIZE", "$rdx": "const char *restrict FORMAT", "$r10": "float VALUE"}, "strfroml": {"$rdi": "char *restrict STRING", "$rsi": "size_t SIZE", "$rdx": "const char *restrict FORMAT", "$r10": "long double VALUE"}, "strfromfN": {"$rdi": "char *restrict STRING", "$rsi": "size_t SIZE", "$rdx": "const char *restrict FORMAT", "$r10": "_FloatN VALUE"}, "strfromfNx": {"$rdi": "char *restrict STRING", "$rsi": "size_t SIZE", "$rdx": "const char *restrict FORMAT", "$r10": "_FloatNx VALUE"}, "ecvt": {"$rdi": "double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG"}, "fcvt": {"$rdi": "double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG"}, "gcvt": {"$rdi": "double VALUE", "$rsi": "int NDIGIT", "$rdx": "char *BUF"}, "qecvt": {"$rdi": "long double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG"}, "qfcvt": {"$rdi": "long double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG"}, "qgcvt": {"$rdi": "long double VALUE", "$rsi": "int NDIGIT", "$rdx": "char *BUF"}, "ecvt_r": {"$rdi": "double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG", "$r8": "char *BUF", "$r9": "size_t LEN"}, "fcvt_r": {"$rdi": "double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG", "$r8": "char *BUF", "$r9": "size_t LEN"}, "qecvt_r": {"$rdi": "long double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG", "$r8": "char *BUF", "$r9": "size_t LEN"}, "qfcvt_r": {"$rdi": "long double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG", "$r8": "char *BUF", "$r9": "size_t LEN"}, "difftime": {"$rdi": "time_t END", "$rsi": "time_t BEGIN"}, "clock": {"$rdi": "void"}, "times": {"$rdi": "struct tms *BUFFER"}, "time": {"$rdi": "time_t *RESULT"}, "clock_gettime": {"$rdi": "clockid_t CLOCK", "$rsi": "struct timespec *TS"}, "clock_getres": {"$rdi": "clockid_t CLOCK", "$rsi": "struct timespec *RES"}, "gettimeofday": {"$rdi": "struct timeval *TP", "$rsi": "void *TZP"}, "clock_settime": {"$rdi": "clockid_t CLOCK", "$rsi": "const struct timespec *TS"}, "ntp_gettime": {"$rdi": "struct ntptimeval *TPTR"}, "ntp_adjtime": {"$rdi": "struct timex *TPTR"}, "adjtime": {"$rdi": "const struct timeval *DELTA", "$rsi": "struct timeval *OLDDELTA"}, "stime": {"$rdi": "const time_t *NEWTIME"}, "adjtimex": {"$rdi": "struct timex *TIMEX"}, "settimeofday": {"$rdi": "const struct timeval *TP", "$rsi": "const void *TZP"}, "localtime": {"$rdi": "const time_t *TIME"}, "localtime_r": {"$rdi": "const time_t *TIME", "$rsi": "struct tm *RESULTP"}, "gmtime": {"$rdi": "const time_t *TIME"}, "gmtime_r": {"$rdi": "const time_t *TIME", "$rsi": "struct tm *RESULTP"}, "mktime": {"$rdi": "struct tm *BROKENTIME"}, "timelocal": {"$rdi": "struct tm *BROKENTIME"}, "timegm": {"$rdi": "struct tm *BROKENTIME"}, "asctime": {"$rdi": "const struct tm *BROKENTIME"}, "asctime_r": {"$rdi": "const struct tm *BROKENTIME", "$rsi": "char *BUFFER"}, "ctime": {"$rdi": "const time_t *TIME"}, "ctime_r": {"$rdi": "const time_t *TIME", "$rsi": "char *BUFFER"}, "strftime": {"$rdi": "char *S", "$rsi": "size_t SIZE", "$rdx": "const char *TEMPLATE", "$r10": "const struct tm *BROKENTIME"}, "wcsftime": {"$rdi": "wchar_t *S", "$rsi": "size_t SIZE", "$rdx": "const wchar_t *TEMPLATE", "$r10": "const struct tm *BROKENTIME"}, "strptime": {"$rdi": "const char *S", "$rsi": "const char *FMT", "$rdx": "struct tm *TP"}, "getdate": {"$rdi": "const char *STRING"}, "getdate_r": {"$rdi": "const char *STRING", "$rsi": "struct tm *TP"}, "tzset": {"$rdi": "void"}, "setitimer": {"$rdi": "int WHICH", "$rsi": "const struct itimerval *NEW", "$rdx": "struct itimerval *OLD"}, "getitimer": {"$rdi": "int WHICH", "$rsi": "struct itimerval *OLD"}, "alarm": {"$rdi": "unsigned int SECONDS"}, "sleep": {"$rdi": "unsigned int SECONDS"}, "nanosleep": {"$rdi": "const struct timespec *REQUESTED_TIME", "$rsi": "struct timespec *REMAINING"}, "getrusage": {"$rdi": "int PROCESSES", "$rsi": "struct rusage *RUSAGE"}, "vtimes": {"$rdi": "struct vtimes *CURRENT", "$rsi": "struct vtimes *CHILD"}, "getrlimit": {"$rdi": "int RESOURCE", "$rsi": "struct rlimit *RLP"}, "getrlimit64": {"$rdi": "int RESOURCE", "$rsi": "struct rlimit64 *RLP"}, "setrlimit": {"$rdi": "int RESOURCE", "$rsi": "const struct rlimit *RLP"}, "setrlimit64": {"$rdi": "int RESOURCE", "$rsi": "const struct rlimit64 *RLP"}, "ulimit": {"$rdi": "int CMD", "$rsi": "..."}, "vlimit": {"$rdi": "int RESOURCE", "$rsi": "int LIMIT"}, "sched_setscheduler": {"$rdi": "pid_t PID", "$rsi": "int POLICY", "$rdx": "const struct sched_param *PARAM"}, "sched_getscheduler": {"$rdi": "pid_t PID"}, "sched_setparam": {"$rdi": "pid_t PID", "$rsi": "const struct sched_param *PARAM"}, "sched_getparam": {"$rdi": "pid_t PID", "$rsi": "struct sched_param *PARAM"}, "sched_get_priority_min": {"$rdi": "int POLICY"}, "sched_get_priority_max": {"$rdi": "int POLICY"}, "sched_rr_get_interval": {"$rdi": "pid_t PID", "$rsi": "struct timespec *INTERVAL"}, "sched_yield": {"$rdi": "void"}, "getpriority": {"$rdi": "int CLASS", "$rsi": "int ID"}, "setpriority": {"$rdi": "int CLASS", "$rsi": "int ID", "$rdx": "int NICEVAL"}, "nice": {"$rdi": "int INCREMENT"}, "sched_getaffinity": {"$rdi": "pid_t PID", "$rsi": "size_t CPUSETSIZE", "$rdx": "cpu_set_t *CPUSET"}, "sched_setaffinity": {"$rdi": "pid_t PID", "$rsi": "size_t CPUSETSIZE", "$rdx": "const cpu_set_t *CPUSET"}, "getcpu": {"$rdi": "unsigned int *cpu", "$rsi": "unsigned int *node"}, "getpagesize": {"$rdi": "void"}, "get_phys_pages": {"$rdi": "void"}, "get_avphys_pages": {"$rdi": "void"}, "get_nprocs_conf": {"$rdi": "void"}, "get_nprocs": {"$rdi": "void"}, "getloadavg": {"$rdi": "double LOADAVG[]", "$rsi": "int NELEM"}, "longjmp": {"$rdi": "jmp_buf STATE", "$rsi": "int VALUE"}, "sigsetjmp": {"$rdi": "sigjmp_buf STATE", "$rsi": "int SAVESIGS"}, "siglongjmp": {"$rdi": "sigjmp_buf STATE", "$rsi": "int VALUE"}, "getcontext": {"$rdi": "ucontext_t *UCP"}, "makecontext": {"$rdi": "ucontext_t *UCP", "$rsi": "void (*FUNC) (void)", "$rdx": "int ARGC", "$r10": "..."}, "setcontext": {"$rdi": "const ucontext_t *UCP"}, "swapcontext": {"$rdi": "ucontext_t *restrict OUCP", "$rsi": "const ucontext_t *restrict UCP"}, "strsignal": {"$rdi": "int SIGNUM"}, "psignal": {"$rdi": "int SIGNUM", "$rsi": "const char *MESSAGE"}, "sigdescr_np": {"$rdi": "int SIGNUM"}, "sigabbrev_np": {"$rdi": "int SIGNUM"}, "signal": {"$rdi": "int SIGNUM", "$rsi": "sighandler_t ACTION"}, "sysv_signal": {"$rdi": "int SIGNUM", "$rsi": "sighandler_t ACTION"}, "ssignal": {"$rdi": "int SIGNUM", "$rsi": "sighandler_t ACTION"}, "sigaction": {"$rdi": "int SIGNUM", "$rsi": "const struct sigaction *restrict ACTION", "$rdx": "struct sigaction *restrict OLD-ACTION"}, "raise": {"$rdi": "int SIGNUM"}, "gsignal": {"$rdi": "int SIGNUM"}, "kill": {"$rdi": "pid_t PID", "$rsi": "int SIGNUM"}, "tgkill": {"$rdi": "pid_t PID", "$rsi": "pid_t TID", "$rdx": "int SIGNUM"}, "killpg": {"$rdi": "int PGID", "$rsi": "int SIGNUM"}, "sigemptyset": {"$rdi": "sigset_t *SET"}, "sigfillset": {"$rdi": "sigset_t *SET"}, "sigaddset": {"$rdi": "sigset_t *SET", "$rsi": "int SIGNUM"}, "sigdelset": {"$rdi": "sigset_t *SET", "$rsi": "int SIGNUM"}, "sigismember": {"$rdi": "const sigset_t *SET", "$rsi": "int SIGNUM"}, "sigprocmask": {"$rdi": "int HOW", "$rsi": "const sigset_t *restrict SET", "$rdx": "sigset_t *restrict OLDSET"}, "sigpending": {"$rdi": "sigset_t *SET"}, "pause": {"$rdi": "void"}, "sigsuspend": {"$rdi": "const sigset_t *SET"}, "sigaltstack": {"$rdi": "const stack_t *restrict STACK", "$rsi": "stack_t *restrict OLDSTACK"}, "sigstack": {"$rdi": "struct sigstack *STACK", "$rsi": "struct sigstack *OLDSTACK"}, "siginterrupt": {"$rdi": "int SIGNUM", "$rsi": "int FAILFLAG"}, "sigblock": {"$rdi": "int MASK"}, "sigsetmask": {"$rdi": "int MASK"}, "sigpause": {"$rdi": "int MASK"}, "getopt": {"$rdi": "int ARGC", "$rsi": "char *const *ARGV", "$rdx": "const char *OPTIONS"}, "getopt_long": {"$rdi": "int ARGC", "$rsi": "char *const *ARGV", "$rdx": "const char *SHORTOPTS", "$r10": "const struct option *LONGOPTS", "$r8": "int *INDEXPTR"}, "getopt_long_only": {"$rdi": "int ARGC", "$rsi": "char *const *ARGV", "$rdx": "const char *SHORTOPTS", "$r10": "const struct option *LONGOPTS", "$r8": "int *INDEXPTR"}, "argp_parse": {"$rdi": "const struct argp *ARGP", "$rsi": "int ARGC", "$rdx": "char **ARGV", "$r10": "unsigned FLAGS", "$r8": "int *ARG_INDEX", "$r9": "void *INPUT"}, "argp_usage": {"$rdi": "const struct argp_state *STATE"}, "argp_error": {"$rdi": "const struct argp_state *STATE", "$rsi": "const char *FMT", "$rdx": "..."}, "argp_failure": {"$rdi": "const struct argp_state *STATE", "$rsi": "int STATUS", "$rdx": "int ERRNUM", "$r10": "const char *FMT", "$r8": "..."}, "argp_state_help": {"$rdi": "const struct argp_state *STATE", "$rsi": "FILE *STREAM", "$rdx": "unsigned FLAGS"}, "argp_help": {"$rdi": "const struct argp *ARGP", "$rsi": "FILE *STREAM", "$rdx": "unsigned FLAGS", "$r10": "char *NAME"}, "getsubopt": {"$rdi": "char **OPTIONP", "$rsi": "char *const *TOKENS", "$rdx": "char **VALUEP"}, "getenv": {"$rdi": "const char *NAME"}, "secure_getenv": {"$rdi": "const char *NAME"}, "putenv": {"$rdi": "char *STRING"}, "setenv": {"$rdi": "const char *NAME", "$rsi": "const char *VALUE", "$rdx": "int REPLACE"}, "unsetenv": {"$rdi": "const char *NAME"}, "clearenv": {"$rdi": "void"}, "getauxval": {"$rdi": "unsigned long int TYPE"}, "syscall": {"$rdi": "long int SYSNO", "$rsi": "..."}, "exit": {"$rdi": "int STATUS"}, "atexit": {"$rdi": "void (*FUNCTION) (void)"}, "on_exit": {"$rdi": "void (*FUNCTION)(int STATUS", "$rsi": "void *ARG)", "$rdx": "void *ARG"}, "abort": {"$rdi": "void"}, "_exit": {"$rdi": "int STATUS"}, "_Exit": {"$rdi": "int STATUS"}, "system": {"$rdi": "const char *COMMAND"}, "getpid": {"$rdi": "void"}, "getppid": {"$rdi": "void"}, "gettid": {"$rdi": "void"}, "fork": {"$rdi": "void"}, "vfork": {"$rdi": "void"}, "execv": {"$rdi": "const char *FILENAME", "$rsi": "char *const ARGV[]"}, "execl": {"$rdi": "const char *FILENAME", "$rsi": "const char *ARG0", "$rdx": "..."}, "execve": {"$rdi": "const char *FILENAME", "$rsi": "char *const ARGV[]", "$rdx": "char *const ENV[]"}, "fexecve": {"$rdi": "int FD", "$rsi": "char *const ARGV[]", "$rdx": "char *const ENV[]"}, "execle": {"$rdi": "const char *FILENAME", "$rsi": "const char *ARG0", "$rdx": "...", "$r10": "char *const ENV[]"}, "execvp": {"$rdi": "const char *FILENAME", "$rsi": "char *const ARGV[]"}, "execlp": {"$rdi": "const char *FILENAME", "$rsi": "const char *ARG0", "$rdx": "..."}, "waitpid": {"$rdi": "pid_t PID", "$rsi": "int *STATUS-PTR", "$rdx": "int OPTIONS"}, "wait": {"$rdi": "int *STATUS-PTR"}, "wait4": {"$rdi": "pid_t PID", "$rsi": "int *STATUS-PTR", "$rdx": "int OPTIONS", "$r10": "struct rusage *USAGE"}, "wait3": {"$rdi": "int *STATUS-PTR", "$rsi": "int OPTIONS", "$rdx": "struct rusage *USAGE"}, "semctl": {"$rdi": "int SEMID", "$rsi": "int SEMNUM", "$rdx": "int CMD"}, "semget": {"$rdi": "key_t KEY", "$rsi": "int NSEMS", "$rdx": "int SEMFLG"}, "semop": {"$rdi": "int SEMID", "$rsi": "struct sembuf *SOPS", "$rdx": "size_t NSOPS"}, "semtimedop": {"$rdi": "int SEMID", "$rsi": "struct sembuf *SOPS", "$rdx": "size_t NSOPS", "$r10": "const struct timespec *TIMEOUT"}, "sem_init": {"$rdi": "sem_t *SEM", "$rsi": "int PSHARED", "$rdx": "unsigned int VALUE"}, "sem_destroy": {"$rdi": "sem_t *SEM"}, "*sem_open": {"$rdi": "const char *NAME", "$rsi": "int OFLAG", "$rdx": "..."}, "sem_close": {"$rdi": "sem_t *SEM"}, "sem_unlink": {"$rdi": "const char *NAME"}, "sem_wait": {"$rdi": "sem_t *SEM"}, "sem_timedwait": {"$rdi": "sem_t *SEM", "$rsi": "const struct timespec *ABSTIME"}, "sem_trywait": {"$rdi": "sem_t *SEM"}, "sem_post": {"$rdi": "sem_t *SEM"}, "sem_getvalue": {"$rdi": "sem_t *SEM", "$rsi": "int *SVAL"}, "ctermid": {"$rdi": "char *STRING"}, "setsid": {"$rdi": "void"}, "getsid": {"$rdi": "pid_t PID"}, "getpgrp": {"$rdi": "void"}, "getpgid": {"$rdi": "pid_t PID"}, "setpgid": {"$rdi": "pid_t PID", "$rsi": "pid_t PGID"}, "setpgrp": {"$rdi": "pid_t PID", "$rsi": "pid_t PGID"}, "tcgetpgrp": {"$rdi": "int FILEDES"}, "tcsetpgrp": {"$rdi": "int FILEDES", "$rsi": "pid_t PGID"}, "tcgetsid": {"$rdi": "int FILDES"}, "getuid": {"$rdi": "void"}, "getgid": {"$rdi": "void"}, "geteuid": {"$rdi": "void"}, "getegid": {"$rdi": "void"}, "getgroups": {"$rdi": "int COUNT", "$rsi": "gid_t *GROUPS"}, "seteuid": {"$rdi": "uid_t NEWEUID"}, "setuid": {"$rdi": "uid_t NEWUID"}, "setreuid": {"$rdi": "uid_t RUID", "$rsi": "uid_t EUID"}, "setegid": {"$rdi": "gid_t NEWGID"}, "setgid": {"$rdi": "gid_t NEWGID"}, "setregid": {"$rdi": "gid_t RGID", "$rsi": "gid_t EGID"}, "setgroups": {"$rdi": "size_t COUNT", "$rsi": "const gid_t *GROUPS"}, "initgroups": {"$rdi": "const char *USER", "$rsi": "gid_t GROUP"}, "getgrouplist": {"$rdi": "const char *USER", "$rsi": "gid_t GROUP", "$rdx": "gid_t *GROUPS", "$r10": "int *NGROUPS"}, "getlogin": {"$rdi": "void"}, "cuserid": {"$rdi": "char *STRING"}, "setutent": {"$rdi": "void"}, "getutent": {"$rdi": "void"}, "endutent": {"$rdi": "void"}, "getutid": {"$rdi": "const struct utmp *ID"}, "getutline": {"$rdi": "const struct utmp *LINE"}, "pututline": {"$rdi": "const struct utmp *UTMP"}, "getutent_r": {"$rdi": "struct utmp *BUFFER", "$rsi": "struct utmp **RESULT"}, "getutid_r": {"$rdi": "const struct utmp *ID", "$rsi": "struct utmp *BUFFER", "$rdx": "struct utmp **RESULT"}, "getutline_r": {"$rdi": "const struct utmp *LINE", "$rsi": "struct utmp *BUFFER", "$rdx": "struct utmp **RESULT"}, "utmpname": {"$rdi": "const char *FILE"}, "updwtmp": {"$rdi": "const char *WTMP_FILE", "$rsi": "const struct utmp *UTMP"}, "setutxent": {"$rdi": "void"}, "getutxent": {"$rdi": "void"}, "endutxent": {"$rdi": "void"}, "getutxid": {"$rdi": "const struct utmpx *ID"}, "getutxline": {"$rdi": "const struct utmpx *LINE"}, "pututxline": {"$rdi": "const struct utmpx *UTMP"}, "utmpxname": {"$rdi": "const char *FILE"}, "getutmp": {"$rdi": "const struct utmpx *UTMPX", "$rsi": "struct utmp *UTMP"}, "getutmpx": {"$rdi": "const struct utmp *UTMP", "$rsi": "struct utmpx *UTMPX"}, "login_tty": {"$rdi": "int FILEDES"}, "login": {"$rdi": "const struct utmp *ENTRY"}, "logout": {"$rdi": "const char *UT_LINE"}, "logwtmp": {"$rdi": "const char *UT_LINE", "$rsi": "const char *UT_NAME", "$rdx": "const char *UT_HOST"}, "getpwuid": {"$rdi": "uid_t UID"}, "getpwuid_r": {"$rdi": "uid_t UID", "$rsi": "struct passwd *RESULT_BUF", "$rdx": "char *BUFFER", "$r10": "size_t BUFLEN", "$r8": "struct passwd **RESULT"}, "getpwnam": {"$rdi": "const char *NAME"}, "getpwnam_r": {"$rdi": ""}, "fgetpwent": {"$rdi": "FILE *STREAM"}, "fgetpwent_r": {"$rdi": "FILE *STREAM", "$rsi": "struct passwd *RESULT_BUF", "$rdx": "char *BUFFER", "$r10": "size_t BUFLEN", "$r8": "struct passwd **RESULT"}, "setpwent": {"$rdi": "void"}, "getpwent": {"$rdi": "void"}, "getpwent_r": {"$rdi": "struct passwd *RESULT_BUF", "$rsi": "char *BUFFER", "$rdx": "size_t BUFLEN", "$r10": "struct passwd **RESULT"}, "endpwent": {"$rdi": "void"}, "putpwent": {"$rdi": "const struct passwd *P", "$rsi": "FILE *STREAM"}, "getgrgid": {"$rdi": "gid_t GID"}, "getgrgid_r": {"$rdi": "gid_t GID", "$rsi": "struct group *RESULT_BUF", "$rdx": "char *BUFFER", "$r10": "size_t BUFLEN", "$r8": "struct group **RESULT"}, "getgrnam": {"$rdi": "const char *NAME"}, "getgrnam_r": {"$rdi": ""}, "fgetgrent": {"$rdi": "FILE *STREAM"}, "fgetgrent_r": {"$rdi": "FILE *STREAM", "$rsi": "struct group *RESULT_BUF", "$rdx": "char *BUFFER", "$r10": "size_t BUFLEN", "$r8": "struct group **RESULT"}, "setgrent": {"$rdi": "void"}, "getgrent": {"$rdi": "void"}, "getgrent_r": {"$rdi": "struct group *RESULT_BUF", "$rsi": "char *BUFFER", "$rdx": "size_t BUFLEN", "$r10": "struct group **RESULT"}, "endgrent": {"$rdi": "void"}, "setnetgrent": {"$rdi": "const char *NETGROUP"}, "getnetgrent": {"$rdi": "char **HOSTP", "$rsi": "char **USERP", "$rdx": "char **DOMAINP"}, "getnetgrent_r": {"$rdi": "char **HOSTP", "$rsi": "char **USERP", "$rdx": "char **DOMAINP", "$r10": "char *BUFFER", "$r8": "size_t BUFLEN"}, "endnetgrent": {"$rdi": "void"}, "innetgr": {"$rdi": "const char *NETGROUP", "$rsi": "const char *HOST", "$rdx": "const char *USER", "$r10": "const char *DOMAIN"}, "gethostname": {"$rdi": "char *NAME", "$rsi": "size_t SIZE"}, "sethostname": {"$rdi": "const char *NAME", "$rsi": "size_t LENGTH"}, "getdomainnname": {"$rdi": "char *NAME", "$rsi": "size_t LENGTH"}, "setdomainname": {"$rdi": "const char *NAME", "$rsi": "size_t LENGTH"}, "gethostid": {"$rdi": "void"}, "sethostid": {"$rdi": "long int ID"}, "uname": {"$rdi": "struct utsname *INFO"}, "setfsent": {"$rdi": "void"}, "endfsent": {"$rdi": "void"}, "getfsent": {"$rdi": "void"}, "getfsspec": {"$rdi": "const char *NAME"}, "getfsfile": {"$rdi": "const char *NAME"}, "setmntent": {"$rdi": "const char *FILE", "$rsi": "const char *MODE"}, "endmntent": {"$rdi": "FILE *STREAM"}, "getmntent": {"$rdi": "FILE *STREAM"}, "getmntent_r": {"$rdi": "FILE *STREAM", "$rsi": "struct mntent *RESULT", "$rdx": "char *BUFFER", "$r10": "int BUFSIZE"}, "addmntent": {"$rdi": "FILE *STREAM", "$rsi": "const struct mntent *MNT"}, "hasmntopt": {"$rdi": "const struct mntent *MNT", "$rsi": "const char *OPT"}, "mount": {"$rdi": ""}, "umount2": {"$rdi": "const char *FILE", "$rsi": "int FLAGS"}, "umount": {"$rdi": "const char *FILE"}, "sysconf": {"$rdi": "int PARAMETER"}, "pathconf": {"$rdi": "const char *FILENAME", "$rsi": "int PARAMETER"}, "fpathconf": {"$rdi": "int FILEDES", "$rsi": "int PARAMETER"}, "confstr": {"$rdi": "int PARAMETER", "$rsi": "char *BUF", "$rdx": "size_t LEN"}, "crypt": {"$rdi": "const char *PHRASE", "$rsi": "const char *SALT"}, "crypt_r": {"$rdi": "const char *PHRASE", "$rsi": "const char *SALT", "$rdx": "struct crypt_data *DATA"}, "getentropy": {"$rdi": "void *BUFFER", "$rsi": "size_t LENGTH"}, "getrandom": {"$rdi": "void *BUFFER", "$rsi": "size_t LENGTH", "$rdx": "unsigned int FLAGS"}, "backtrace": {"$rdi": "void **BUFFER", "$rsi": "int SIZE"}, "backtrace_symbols": {"$rdi": "void *const *BUFFER", "$rsi": "int SIZE"}, "backtrace_symbols_fd": {"$rdi": "void *const *BUFFER", "$rsi": "int SIZE", "$rdx": "int FD"}, "thrd_create": {"$rdi": "thrd_t *THR", "$rsi": "thrd_start_t FUNC", "$rdx": "void *ARG"}, "thrd_current": {"$rdi": "void"}, "thrd_equal": {"$rdi": "thrd_t LHS", "$rsi": "thrd_t RHS"}, "thrd_sleep": {"$rdi": "const struct timespec *TIME_POINT", "$rsi": "struct timespec *REMAINING"}, "thrd_yield": {"$rdi": "void"}, "thrd_exit": {"$rdi": "int RES"}, "thrd_detach": {"$rdi": "thrd_t THR"}, "thrd_join": {"$rdi": "thrd_t THR", "$rsi": "int *RES"}, "call_once": {"$rdi": "once_flag *FLAG", "$rsi": "void (*FUNC) (void)"}, "mtx_init": {"$rdi": "mtx_t *MUTEX", "$rsi": "int TYPE"}, "mtx_lock": {"$rdi": "mtx_t *MUTEX"}, "mtx_timedlock": {"$rdi": "mtx_t *restrict MUTEX", "$rsi": "const struct timespec *restrict TIME_POINT"}, "mtx_trylock": {"$rdi": "mtx_t *MUTEX"}, "mtx_unlock": {"$rdi": "mtx_t *MUTEX"}, "mtx_destroy": {"$rdi": "mtx_t *MUTEX"}, "cnd_init": {"$rdi": "cnd_t *COND"}, "cnd_signal": {"$rdi": "cnd_t *COND"}, "cnd_broadcast": {"$rdi": "cnd_t *COND"}, "cnd_wait": {"$rdi": "cnd_t *COND", "$rsi": "mtx_t *MUTEX"}, "cnd_timedwait": {"$rdi": "cnd_t *restrict COND", "$rsi": "mtx_t *restrict MUTEX", "$rdx": "const struct timespec *restrict TIME_POINT"}, "cnd_destroy": {"$rdi": "cnd_t *COND"}, "tss_create": {"$rdi": "tss_t *TSS_KEY", "$rsi": "tss_dtor_t DESTRUCTOR"}, "tss_set": {"$rdi": "tss_t TSS_KEY", "$rsi": "void *VAL"}, "tss_get": {"$rdi": "tss_t TSS_KEY"}, "tss_delete": {"$rdi": "tss_t TSS_KEY"}, "pthread_key_create": {"$rdi": "pthread_key_t *KEY", "$rsi": "void (*DESTRUCTOR)(void*)"}, "pthread_key_delete": {"$rdi": "pthread_key_t KEY"}, "*pthread_getspecific": {"$rdi": "pthread_key_t KEY"}, "pthread_setspecific": {"$rdi": "pthread_key_t KEY", "$rsi": "const void *VALUE"}, "pthread_getattr_default_np": {"$rdi": "pthread_attr_t *ATTR"}, "pthread_setattr_default_np": {"$rdi": "pthread_attr_t *ATTR"}, "pthread_attr_setsigmask_np": {"$rdi": "pthread_attr_t *ATTR", "$rsi": "const sigset_t *SIGMASK"}, "pthread_attr_getsigmask_np": {"$rdi": "const pthread_attr_t *ATTR", "$rsi": "sigset_t *SIGMASK"}, "sem_clockwait": {"$rdi": "sem_t *SEM", "$rsi": "clockid_t CLOCKID", "$rdx": "const struct timespec *ABSTIME"}, "pthread_cond_clockwait": {"$rdi": ""}, "pthread_rwlock_clockrdlock": {"$rdi": "pthread_rwlock_t *RWLOCK", "$rsi": "clockid_t CLOCKID", "$rdx": "const struct timespec *ABSTIME"}, "pthread_rwlock_clockwrlock": {"$rdi": "pthread_rwlock_t *RWLOCK", "$rsi": "clockid_t CLOCKID", "$rdx": "const struct timespec *ABSTIME"}, "pthread_tryjoin_np": {"$rdi": "pthread_t *THREAD", "$rsi": "void **THREAD_RETURN"}, "pthread_timedjoin_np": {"$rdi": "pthread_t *THREAD", "$rsi": "void **THREAD_RETURN", "$rdx": "const struct timespec *ABSTIME"}, "pthread_clockjoin_np": {"$rdi": ""}, "__ppc_get_timebase": {"$rdi": "void"}, "__ppc_get_timebase_freq": {"$rdi": "void"}, "__ppc_yield": {"$rdi": "void"}, "__ppc_mdoio": {"$rdi": "void"}, "__ppc_mdoom": {"$rdi": "void"}, "__ppc_set_ppr_med": {"$rdi": "void"}, "__ppc_set_ppr_low": {"$rdi": "void"}, "__ppc_set_ppr_med_low": {"$rdi": "void"}, "__ppc_set_ppr_very_low": {"$rdi": "void"}, "__ppc_set_ppr_med_high": {"$rdi": "void"}, "__riscv_flush_icache": {"$rdi": "void *START", "$rsi": "void *END", "$rdx": "unsigned long int FLAGS"}} \ No newline at end of file +{"strerror": {"$rdi": "int ERRNUM"}, "strerror_r": {"$rdi": "int ERRNUM", "$rsi": "char *BUF", "$rdx": "size_t N"}, "perror": {"$rdi": "const char *MESSAGE"}, "strerrorname_np": {"$rdi": "int ERRNUM"}, "strerrordesc_np": {"$rdi": "int ERRNUM"}, "error": {"$rdi": "int STATUS", "$rsi": "int ERRNUM", "$rdx": "const char *FORMAT", "$r10": "..."}, "error_at_line": {"$rdi": "int STATUS", "$rsi": "int ERRNUM", "$rdx": "const char *FNAME", "$r10": "unsigned int LINENO", "$r8": "const char *FORMAT", "$r9": "..."}, "warn": {"$rdi": "const char *FORMAT", "$rsi": "..."}, "vwarn": {"$rdi": "const char *FORMAT", "$rsi": "va_list AP"}, "warnx": {"$rdi": "const char *FORMAT", "$rsi": "..."}, "vwarnx": {"$rdi": "const char *FORMAT", "$rsi": "va_list AP"}, "err": {"$rdi": "int STATUS", "$rsi": "const char *FORMAT", "$rdx": "..."}, "verr": {"$rdi": "int STATUS", "$rsi": "const char *FORMAT", "$rdx": "va_list AP"}, "errx": {"$rdi": "int STATUS", "$rsi": "const char *FORMAT", "$rdx": "..."}, "verrx": {"$rdi": "int STATUS", "$rsi": "const char *FORMAT", "$rdx": "va_list AP"}, "malloc": {"$rdi": "size_t SIZE"}, "free": {"$rdi": "void *PTR"}, "realloc": {"$rdi": "void *PTR", "$rsi": "size_t NEWSIZE"}, "reallocarray": {"$rdi": "void *PTR", "$rsi": "size_t NMEMB", "$rdx": "size_t SIZE"}, "calloc": {"$rdi": "size_t COUNT", "$rsi": "size_t ELTSIZE"}, "aligned_alloc": {"$rdi": "size_t ALIGNMENT", "$rsi": "size_t SIZE"}, "memalign": {"$rdi": "size_t BOUNDARY", "$rsi": "size_t SIZE"}, "posix_memalign": {"$rdi": "void **MEMPTR", "$rsi": "size_t ALIGNMENT", "$rdx": "size_t SIZE"}, "valloc": {"$rdi": "size_t SIZE"}, "mallopt": {"$rdi": "int PARAM", "$rsi": "int VALUE"}, "mcheck": {"$rdi": "void (*ABORTFN) (enum mcheck_status STATUS)"}, "mprobe": {"$rdi": "void *POINTER"}, "mallinfo": {"$rdi": "void"}, "mtrace": {"$rdi": "void"}, "muntrace": {"$rdi": "void"}, "obstack_init": {"$rdi": "struct obstack *OBSTACK-PTR"}, "obstack_alloc": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "int SIZE"}, "obstack_copy": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *ADDRESS", "$rdx": "int SIZE"}, "obstack_copy0": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *ADDRESS", "$rdx": "int SIZE"}, "obstack_free": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *OBJECT"}, "obstack_blank": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "int SIZE"}, "obstack_grow": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *DATA", "$rdx": "int SIZE"}, "obstack_grow0": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *DATA", "$rdx": "int SIZE"}, "obstack_1grow": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "char C"}, "obstack_ptr_grow": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *DATA"}, "obstack_int_grow": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "int DATA"}, "obstack_finish": {"$rdi": "struct obstack *OBSTACK-PTR"}, "obstack_object_size": {"$rdi": "struct obstack *OBSTACK-PTR"}, "obstack_room": {"$rdi": "struct obstack *OBSTACK-PTR"}, "obstack_1grow_fast": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "char C"}, "obstack_ptr_grow_fast": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "void *DATA"}, "obstack_int_grow_fast": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "int DATA"}, "obstack_blank_fast": {"$rdi": "struct obstack *OBSTACK-PTR", "$rsi": "int SIZE"}, "obstack_base": {"$rdi": "struct obstack *OBSTACK-PTR"}, "obstack_next_free": {"$rdi": "struct obstack *OBSTACK-PTR"}, "alloca": {"$rdi": "size_t SIZE"}, "brk": {"$rdi": "void *ADDR"}, "*sbrk": {"$rdi": "ptrdiff_t DELTA"}, "mprotect": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "int PROTECTION"}, "pkey_alloc": {"$rdi": "unsigned int FLAGS", "$rsi": "unsigned int RESTRICTIONS"}, "pkey_free": {"$rdi": "int KEY"}, "pkey_mprotect": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "int PROTECTION", "$r10": "int KEY"}, "pkey_set": {"$rdi": "int KEY", "$rsi": "unsigned int RIGHTS"}, "pkey_get": {"$rdi": "int KEY"}, "mlock": {"$rdi": "const void *ADDR", "$rsi": "size_t LEN"}, "mlock2": {"$rdi": "const void *ADDR", "$rsi": "size_t LEN", "$rdx": "unsigned int FLAGS"}, "munlock": {"$rdi": "const void *ADDR", "$rsi": "size_t LEN"}, "mlockall": {"$rdi": "int FLAGS"}, "munlockall": {"$rdi": "void"}, "islower": {"$rdi": "int C"}, "isupper": {"$rdi": "int C"}, "isalpha": {"$rdi": "int C"}, "isdigit": {"$rdi": "int C"}, "isalnum": {"$rdi": "int C"}, "isxdigit": {"$rdi": "int C"}, "ispunct": {"$rdi": "int C"}, "isspace": {"$rdi": "int C"}, "isblank": {"$rdi": "int C"}, "isgraph": {"$rdi": "int C"}, "isprint": {"$rdi": "int C"}, "iscntrl": {"$rdi": "int C"}, "isascii": {"$rdi": "int C"}, "tolower": {"$rdi": "int C"}, "toupper": {"$rdi": "int C"}, "toascii": {"$rdi": "int C"}, "_tolower": {"$rdi": "int C"}, "_toupper": {"$rdi": "int C"}, "wctype": {"$rdi": "const char *PROPERTY"}, "iswctype": {"$rdi": "wint_t WC", "$rsi": "wctype_t DESC"}, "iswalnum": {"$rdi": "wint_t WC"}, "iswalpha": {"$rdi": "wint_t WC"}, "iswcntrl": {"$rdi": "wint_t WC"}, "iswdigit": {"$rdi": "wint_t WC"}, "iswgraph": {"$rdi": "wint_t WC"}, "iswlower": {"$rdi": "wint_t WC"}, "iswprint": {"$rdi": "wint_t WC"}, "iswpunct": {"$rdi": "wint_t WC"}, "iswspace": {"$rdi": "wint_t WC"}, "iswupper": {"$rdi": "wint_t WC"}, "iswxdigit": {"$rdi": "wint_t WC"}, "iswblank": {"$rdi": "wint_t WC"}, "wctrans": {"$rdi": "const char *PROPERTY"}, "towctrans": {"$rdi": "wint_t WC", "$rsi": "wctrans_t DESC"}, "towlower": {"$rdi": "wint_t WC"}, "towupper": {"$rdi": "wint_t WC"}, "strlen": {"$rdi": "const char *S"}, "wcslen": {"$rdi": "const wchar_t *WS"}, "strnlen": {"$rdi": "const char *S", "$rsi": "size_t MAXLEN"}, "wcsnlen": {"$rdi": "const wchar_t *WS", "$rsi": "size_t MAXLEN"}, "memcpy": {"$rdi": "void *restrict TO", "$rsi": "const void *restrict FROM", "$rdx": "size_t SIZE"}, "wmemcpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM", "$rdx": "size_t SIZE"}, "mempcpy": {"$rdi": "void *restrict TO", "$rsi": "const void *restrict FROM", "$rdx": "size_t SIZE"}, "wmempcpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM", "$rdx": "size_t SIZE"}, "memmove": {"$rdi": "void *TO", "$rsi": "const void *FROM", "$rdx": "size_t SIZE"}, "wmemmove": {"$rdi": "wchar_t *WTO", "$rsi": "const wchar_t *WFROM", "$rdx": "size_t SIZE"}, "memccpy": {"$rdi": "void *restrict TO", "$rsi": "const void *restrict FROM", "$rdx": "int C", "$r10": "size_t SIZE"}, "memset": {"$rdi": "void *BLOCK", "$rsi": "int C", "$rdx": "size_t SIZE"}, "wmemset": {"$rdi": "wchar_t *BLOCK", "$rsi": "wchar_t WC", "$rdx": "size_t SIZE"}, "strcpy": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM"}, "wcscpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM"}, "strdup": {"$rdi": "const char *S"}, "wcsdup": {"$rdi": "const wchar_t *WS"}, "stpcpy": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM"}, "wcpcpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM"}, "bcopy": {"$rdi": "const void *FROM", "$rsi": "void *TO", "$rdx": "size_t SIZE"}, "bzero": {"$rdi": "void *BLOCK", "$rsi": "size_t SIZE"}, "strcat": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM"}, "wcscat": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM"}, "strncpy": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM", "$rdx": "size_t SIZE"}, "wcsncpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM", "$rdx": "size_t SIZE"}, "strndup": {"$rdi": "const char *S", "$rsi": "size_t SIZE"}, "stpncpy": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM", "$rdx": "size_t SIZE"}, "wcpncpy": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM", "$rdx": "size_t SIZE"}, "strncat": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM", "$rdx": "size_t SIZE"}, "wcsncat": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *restrict WFROM", "$rdx": "size_t SIZE"}, "memcmp": {"$rdi": "const void *A1", "$rsi": "const void *A2", "$rdx": "size_t SIZE"}, "wmemcmp": {"$rdi": "const wchar_t *A1", "$rsi": "const wchar_t *A2", "$rdx": "size_t SIZE"}, "strcmp": {"$rdi": "const char *S1", "$rsi": "const char *S2"}, "wcscmp": {"$rdi": "const wchar_t *WS1", "$rsi": "const wchar_t *WS2"}, "strcasecmp": {"$rdi": "const char *S1", "$rsi": "const char *S2"}, "wcscasecmp": {"$rdi": "const wchar_t *WS1", "$rsi": "const wchar_t *WS2"}, "strncmp": {"$rdi": "const char *S1", "$rsi": "const char *S2", "$rdx": "size_t SIZE"}, "wcsncmp": {"$rdi": "const wchar_t *WS1", "$rsi": "const wchar_t *WS2", "$rdx": "size_t SIZE"}, "strncasecmp": {"$rdi": "const char *S1", "$rsi": "const char *S2", "$rdx": "size_t N"}, "wcsncasecmp": {"$rdi": "const wchar_t *WS1", "$rsi": "const wchar_t *S2", "$rdx": "size_t N"}, "strverscmp": {"$rdi": "const char *S1", "$rsi": "const char *S2"}, "bcmp": {"$rdi": "const void *A1", "$rsi": "const void *A2", "$rdx": "size_t SIZE"}, "strcoll": {"$rdi": "const char *S1", "$rsi": "const char *S2"}, "wcscoll": {"$rdi": "const wchar_t *WS1", "$rsi": "const wchar_t *WS2"}, "strxfrm": {"$rdi": "char *restrict TO", "$rsi": "const char *restrict FROM", "$rdx": "size_t SIZE"}, "wcsxfrm": {"$rdi": "wchar_t *restrict WTO", "$rsi": "const wchar_t *WFROM", "$rdx": "size_t SIZE"}, "memchr": {"$rdi": "const void *BLOCK", "$rsi": "int C", "$rdx": "size_t SIZE"}, "wmemchr": {"$rdi": "const wchar_t *BLOCK", "$rsi": "wchar_t WC", "$rdx": "size_t SIZE"}, "rawmemchr": {"$rdi": "const void *BLOCK", "$rsi": "int C"}, "memrchr": {"$rdi": "const void *BLOCK", "$rsi": "int C", "$rdx": "size_t SIZE"}, "strchr": {"$rdi": "const char *STRING", "$rsi": "int C"}, "wcschr": {"$rdi": "const wchar_t *WSTRING", "$rsi": "wchar_t WC"}, "strchrnul": {"$rdi": "const char *STRING", "$rsi": "int C"}, "wcschrnul": {"$rdi": "const wchar_t *WSTRING", "$rsi": "wchar_t WC"}, "strrchr": {"$rdi": "const char *STRING", "$rsi": "int C"}, "wcsrchr": {"$rdi": "const wchar_t *WSTRING", "$rsi": "wchar_t WC"}, "strstr": {"$rdi": "const char *HAYSTACK", "$rsi": "const char *NEEDLE"}, "wcsstr": {"$rdi": "const wchar_t *HAYSTACK", "$rsi": "const wchar_t *NEEDLE"}, "wcswcs": {"$rdi": "const wchar_t *HAYSTACK", "$rsi": "const wchar_t *NEEDLE"}, "strcasestr": {"$rdi": "const char *HAYSTACK", "$rsi": "const char *NEEDLE"}, "memmem": {"$rdi": "const void *HAYSTACK", "$rsi": "size_t HAYSTACK-LEN", "$rdx": "const void *NEEDLE", "$r10": "size_t NEEDLE-LEN"}, "strspn": {"$rdi": "const char *STRING", "$rsi": "const char *SKIPSET"}, "wcsspn": {"$rdi": "const wchar_t *WSTRING", "$rsi": "const wchar_t *SKIPSET"}, "strcspn": {"$rdi": "const char *STRING", "$rsi": "const char *STOPSET"}, "wcscspn": {"$rdi": "const wchar_t *WSTRING", "$rsi": "const wchar_t *STOPSET"}, "strpbrk": {"$rdi": "const char *STRING", "$rsi": "const char *STOPSET"}, "wcspbrk": {"$rdi": "const wchar_t *WSTRING", "$rsi": "const wchar_t *STOPSET"}, "index": {"$rdi": "const char *STRING", "$rsi": "int C"}, "rindex": {"$rdi": "const char *STRING", "$rsi": "int C"}, "strtok": {"$rdi": "char *restrict NEWSTRING", "$rsi": "const char *restrict DELIMITERS"}, "wcstok": {"$rdi": "wchar_t *NEWSTRING", "$rsi": "const wchar_t *DELIMITERS", "$rdx": "wchar_t **SAVE_PTR"}, "strtok_r": {"$rdi": "char *NEWSTRING", "$rsi": "const char *DELIMITERS", "$rdx": "char **SAVE_PTR"}, "strsep": {"$rdi": "char **STRING_PTR", "$rsi": "const char *DELIMITER"}, "basename": {"$rdi": "char *PATH"}, "dirname": {"$rdi": "char *PATH"}, "explicit_bzero": {"$rdi": "void *BLOCK", "$rsi": "size_t LEN"}, "strfry": {"$rdi": "char *STRING"}, "memfrob": {"$rdi": "void *MEM", "$rsi": "size_t LENGTH"}, "l64a": {"$rdi": "long int N"}, "a64l": {"$rdi": "const char *STRING"}, "argz_create": {"$rdi": "char *const ARGV[]", "$rsi": "char **ARGZ", "$rdx": "size_t *ARGZ_LEN"}, "argz_create_sep": {"$rdi": "const char *STRING", "$rsi": "int SEP", "$rdx": "char **ARGZ", "$r10": "size_t *ARGZ_LEN"}, "argz_count": {"$rdi": "const char *ARGZ", "$rsi": "size_t ARGZ_LEN"}, "argz_extract": {"$rdi": "const char *ARGZ", "$rsi": "size_t ARGZ_LEN", "$rdx": "char **ARGV"}, "argz_stringify": {"$rdi": "char *ARGZ", "$rsi": "size_t LEN", "$rdx": "int SEP"}, "argz_add": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "const char *STR"}, "argz_add_sep": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "const char *STR", "$r10": "int DELIM"}, "argz_append": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "const char *BUF", "$r10": "size_t BUF_LEN"}, "argz_delete": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "char *ENTRY"}, "argz_insert": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "char *BEFORE", "$r10": "const char *ENTRY"}, "argz_next": {"$rdi": "const char *ARGZ", "$rsi": "size_t ARGZ_LEN", "$rdx": "const char *ENTRY"}, "argz_replace": {"$rdi": "char **ARGZ", "$rsi": "size_t *ARGZ_LEN", "$rdx": "const char *STR", "$r10": "const char *WITH", "$r8": "unsigned *REPLACE_COUNT"}, "envz_entry": {"$rdi": "const char *ENVZ", "$rsi": "size_t ENVZ_LEN", "$rdx": "const char *NAME"}, "envz_get": {"$rdi": "const char *ENVZ", "$rsi": "size_t ENVZ_LEN", "$rdx": "const char *NAME"}, "envz_add": {"$rdi": "char **ENVZ", "$rsi": "size_t *ENVZ_LEN", "$rdx": "const char *NAME", "$r10": "const char *VALUE"}, "envz_merge": {"$rdi": "char **ENVZ", "$rsi": "size_t *ENVZ_LEN", "$rdx": "const char *ENVZ2", "$r10": "size_t ENVZ2_LEN", "$r8": "int OVERRIDE"}, "envz_strip": {"$rdi": "char **ENVZ", "$rsi": "size_t *ENVZ_LEN"}, "envz_remove": {"$rdi": "char **ENVZ", "$rsi": "size_t *ENVZ_LEN", "$rdx": "const char *NAME"}, "mbsinit": {"$rdi": "const mbstate_t *PS"}, "btowc": {"$rdi": "int C"}, "wctob": {"$rdi": "wint_t C"}, "mbrtowc": {"$rdi": "wchar_t *restrict PWC", "$rsi": "const char *restrict S", "$rdx": "size_t N", "$r10": "mbstate_t *restrict PS"}, "mbrlen": {"$rdi": "const char *restrict S", "$rsi": "size_t N", "$rdx": "mbstate_t *PS"}, "wcrtomb": {"$rdi": "char *restrict S", "$rsi": "wchar_t WC", "$rdx": "mbstate_t *restrict PS"}, "mbsrtowcs": {"$rdi": "wchar_t *restrict DST", "$rsi": "const char **restrict SRC", "$rdx": "size_t LEN", "$r10": "mbstate_t *restrict PS"}, "wcsrtombs": {"$rdi": "char *restrict DST", "$rsi": "const wchar_t **restrict SRC", "$rdx": "size_t LEN", "$r10": "mbstate_t *restrict PS"}, "mbsnrtowcs": {"$rdi": ""}, "wcsnrtombs": {"$rdi": ""}, "mbtowc": {"$rdi": "wchar_t *restrict RESULT", "$rsi": "const char *restrict STRING", "$rdx": "size_t SIZE"}, "wctomb": {"$rdi": "char *STRING", "$rsi": "wchar_t WCHAR"}, "mblen": {"$rdi": "const char *STRING", "$rsi": "size_t SIZE"}, "mbstowcs": {"$rdi": "wchar_t *WSTRING", "$rsi": "const char *STRING", "$rdx": "size_t SIZE"}, "wcstombs": {"$rdi": "char *STRING", "$rsi": "const wchar_t *WSTRING", "$rdx": "size_t SIZE"}, "iconv_open": {"$rdi": "const char *TOCODE", "$rsi": "const char *FROMCODE"}, "iconv_close": {"$rdi": "iconv_t CD"}, "iconv": {"$rdi": "iconv_t CD", "$rsi": "char **INBUF", "$rdx": "size_t *INBYTESLEFT", "$r10": "char **OUTBUF", "$r8": "size_t *OUTBYTESLEFT"}, "setlocale": {"$rdi": "int CATEGORY", "$rsi": "const char *LOCALE"}, "localeconv": {"$rdi": "void"}, "nl_langinfo": {"$rdi": "nl_item ITEM"}, "strfmon": {"$rdi": "char *S", "$rsi": "size_t MAXSIZE", "$rdx": "const char *FORMAT", "$r10": "..."}, "rpmatch": {"$rdi": "const char *RESPONSE"}, "catopen": {"$rdi": "const char *CAT_NAME", "$rsi": "int FLAG"}, "catgets": {"$rdi": "nl_catd CATALOG_DESC", "$rsi": "int SET", "$rdx": "int MESSAGE", "$r10": "const char *STRING"}, "catclose": {"$rdi": "nl_catd CATALOG_DESC"}, "gettext": {"$rdi": "const char *MSGID"}, "dgettext": {"$rdi": "const char *DOMAINNAME", "$rsi": "const char *MSGID"}, "dcgettext": {"$rdi": "const char *DOMAINNAME", "$rsi": "const char *MSGID", "$rdx": "int CATEGORY"}, "textdomain": {"$rdi": "const char *DOMAINNAME"}, "bindtextdomain": {"$rdi": "const char *DOMAINNAME", "$rsi": "const char *DIRNAME"}, "ngettext": {"$rdi": "const char *MSGID1", "$rsi": "const char *MSGID2", "$rdx": "unsigned long int N"}, "dngettext": {"$rdi": "const char *DOMAIN", "$rsi": "const char *MSGID1", "$rdx": "const char *MSGID2", "$r10": "unsigned long int N"}, "dcngettext": {"$rdi": "const char *DOMAIN", "$rsi": "const char *MSGID1", "$rdx": "const char *MSGID2", "$r10": "unsigned long int N", "$r8": "int CATEGORY"}, "bind_textdomain_codeset": {"$rdi": "const char *DOMAINNAME", "$rsi": "const char *CODESET"}, "lfind": {"$rdi": "const void *KEY", "$rsi": "const void *BASE", "$rdx": "size_t *NMEMB", "$r10": "size_t SIZE", "$r8": "comparison_fn_t COMPAR"}, "lsearch": {"$rdi": "const void *KEY", "$rsi": "void *BASE", "$rdx": "size_t *NMEMB", "$r10": "size_t SIZE", "$r8": "comparison_fn_t COMPAR"}, "bsearch": {"$rdi": "const void *KEY", "$rsi": "const void *ARRAY", "$rdx": "size_t COUNT", "$r10": "size_t SIZE", "$r8": "comparison_fn_t COMPARE"}, "qsort": {"$rdi": "void *ARRAY", "$rsi": "size_t COUNT", "$rdx": "size_t SIZE", "$r10": "comparison_fn_t COMPARE"}, "hcreate": {"$rdi": "size_t NEL"}, "hdestroy": {"$rdi": "void"}, "hsearch": {"$rdi": "ENTRY ITEM", "$rsi": "ACTION ACTION"}, "hcreate_r": {"$rdi": "size_t NEL", "$rsi": "struct hsearch_data *HTAB"}, "hdestroy_r": {"$rdi": "struct hsearch_data *HTAB"}, "hsearch_r": {"$rdi": "ENTRY ITEM", "$rsi": "ACTION ACTION", "$rdx": "ENTRY **RETVAL", "$r10": "struct hsearch_data *HTAB"}, "tsearch": {"$rdi": "const void *KEY", "$rsi": "void **ROOTP", "$rdx": "comparison_fn_t COMPAR"}, "tfind": {"$rdi": "const void *KEY", "$rsi": "void *const *ROOTP", "$rdx": "comparison_fn_t COMPAR"}, "tdelete": {"$rdi": "const void *KEY", "$rsi": "void **ROOTP", "$rdx": "comparison_fn_t COMPAR"}, "tdestroy": {"$rdi": "void *VROOT", "$rsi": "__free_fn_t FREEFCT"}, "twalk": {"$rdi": "const void *ROOT", "$rsi": "__action_fn_t ACTION"}, "twalk_r": {"$rdi": "const void *ROOT", "$rsi": "void (*ACTION) (const void *KEY", "$rdx": "VISIT WHICH", "$r10": "void *CLOSURE)", "$r8": "void *CLOSURE"}, "fnmatch": {"$rdi": "const char *PATTERN", "$rsi": "const char *STRING", "$rdx": "int FLAGS"}, "glob": {"$rdi": "const char *PATTERN", "$rsi": "int FLAGS", "$rdx": "int (*ERRFUNC"}, "glob64": {"$rdi": "const char *PATTERN", "$rsi": "int FLAGS", "$rdx": "int (*ERRFUNC"}, "globfree": {"$rdi": "glob_t *PGLOB"}, "globfree64": {"$rdi": "glob64_t *PGLOB"}, "regcomp": {"$rdi": "regex_t *restrict COMPILED", "$rsi": "const char *restrict PATTERN", "$rdx": "int CFLAGS"}, "regexec": {"$rdi": ""}, "regfree": {"$rdi": "regex_t *COMPILED"}, "regerror": {"$rdi": "int ERRCODE", "$rsi": "const regex_t *restrict COMPILED", "$rdx": "char *restrict BUFFER", "$r10": "size_t LENGTH"}, "wordexp": {"$rdi": "const char *WORDS", "$rsi": "wordexp_t *WORD-VECTOR-PTR", "$rdx": "int FLAGS"}, "wordfree": {"$rdi": "wordexp_t *WORD-VECTOR-PTR"}, "fopen": {"$rdi": "const char *FILENAME", "$rsi": "const char *OPENTYPE"}, "fopen64": {"$rdi": "const char *FILENAME", "$rsi": "const char *OPENTYPE"}, "freopen": {"$rdi": "const char *FILENAME", "$rsi": "const char *OPENTYPE", "$rdx": "FILE *STREAM"}, "freopen64": {"$rdi": "const char *FILENAME", "$rsi": "const char *OPENTYPE", "$rdx": "FILE *STREAM"}, "__freadable": {"$rdi": "FILE *STREAM"}, "__fwritable": {"$rdi": "FILE *STREAM"}, "__freading": {"$rdi": "FILE *STREAM"}, "__fwriting": {"$rdi": "FILE *STREAM"}, "fclose": {"$rdi": "FILE *STREAM"}, "fcloseall": {"$rdi": "void"}, "flockfile": {"$rdi": "FILE *STREAM"}, "ftrylockfile": {"$rdi": "FILE *STREAM"}, "funlockfile": {"$rdi": "FILE *STREAM"}, "__fsetlocking": {"$rdi": "FILE *STREAM", "$rsi": "int TYPE"}, "fwide": {"$rdi": "FILE *STREAM", "$rsi": "int MODE"}, "fputc": {"$rdi": "int C", "$rsi": "FILE *STREAM"}, "fputwc": {"$rdi": "wchar_t WC", "$rsi": "FILE *STREAM"}, "fputc_unlocked": {"$rdi": "int C", "$rsi": "FILE *STREAM"}, "fputwc_unlocked": {"$rdi": "wchar_t WC", "$rsi": "FILE *STREAM"}, "putc": {"$rdi": "int C", "$rsi": "FILE *STREAM"}, "putwc": {"$rdi": "wchar_t WC", "$rsi": "FILE *STREAM"}, "putc_unlocked": {"$rdi": "int C", "$rsi": "FILE *STREAM"}, "putwc_unlocked": {"$rdi": "wchar_t WC", "$rsi": "FILE *STREAM"}, "putchar": {"$rdi": "int C"}, "putwchar": {"$rdi": "wchar_t WC"}, "putchar_unlocked": {"$rdi": "int C"}, "putwchar_unlocked": {"$rdi": "wchar_t WC"}, "fputs": {"$rdi": "const char *S", "$rsi": "FILE *STREAM"}, "fputws": {"$rdi": "const wchar_t *WS", "$rsi": "FILE *STREAM"}, "fputs_unlocked": {"$rdi": "const char *S", "$rsi": "FILE *STREAM"}, "fputws_unlocked": {"$rdi": "const wchar_t *WS", "$rsi": "FILE *STREAM"}, "puts": {"$rdi": "const char *S"}, "putw": {"$rdi": "int W", "$rsi": "FILE *STREAM"}, "fgetc": {"$rdi": "FILE *STREAM"}, "fgetwc": {"$rdi": "FILE *STREAM"}, "fgetc_unlocked": {"$rdi": "FILE *STREAM"}, "fgetwc_unlocked": {"$rdi": "FILE *STREAM"}, "getc": {"$rdi": "FILE *STREAM"}, "getwc": {"$rdi": "FILE *STREAM"}, "getc_unlocked": {"$rdi": "FILE *STREAM"}, "getwc_unlocked": {"$rdi": "FILE *STREAM"}, "getchar": {"$rdi": "void"}, "getwchar": {"$rdi": "void"}, "getchar_unlocked": {"$rdi": "void"}, "getwchar_unlocked": {"$rdi": "void"}, "getw": {"$rdi": "FILE *STREAM"}, "getline": {"$rdi": "char **LINEPTR", "$rsi": "size_t *N", "$rdx": "FILE *STREAM"}, "getdelim": {"$rdi": "char **LINEPTR", "$rsi": "size_t *N", "$rdx": "int DELIMITER", "$r10": "FILE *STREAM"}, "fgets": {"$rdi": "char *S", "$rsi": "int COUNT", "$rdx": "FILE *STREAM"}, "fgetws": {"$rdi": "wchar_t *WS", "$rsi": "int COUNT", "$rdx": "FILE *STREAM"}, "fgets_unlocked": {"$rdi": "char *S", "$rsi": "int COUNT", "$rdx": "FILE *STREAM"}, "fgetws_unlocked": {"$rdi": "wchar_t *WS", "$rsi": "int COUNT", "$rdx": "FILE *STREAM"}, "ungetc": {"$rdi": "int C", "$rsi": "FILE *STREAM"}, "ungetwc": {"$rdi": "wint_t WC", "$rsi": "FILE *STREAM"}, "fread": {"$rdi": "void *DATA", "$rsi": "size_t SIZE", "$rdx": "size_t COUNT", "$r10": "FILE *STREAM"}, "fread_unlocked": {"$rdi": "void *DATA", "$rsi": "size_t SIZE", "$rdx": "size_t COUNT", "$r10": "FILE *STREAM"}, "fwrite": {"$rdi": "const void *DATA", "$rsi": "size_t SIZE", "$rdx": "size_t COUNT", "$r10": "FILE *STREAM"}, "fwrite_unlocked": {"$rdi": "const void *DATA", "$rsi": "size_t SIZE", "$rdx": "size_t COUNT", "$r10": "FILE *STREAM"}, "printf": {"$rdi": "const char *TEMPLATE", "$rsi": "..."}, "wprintf": {"$rdi": "const wchar_t *TEMPLATE", "$rsi": "..."}, "fprintf": {"$rdi": "FILE *STREAM", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "fwprintf": {"$rdi": "FILE *STREAM", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "..."}, "sprintf": {"$rdi": "char *S", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "swprintf": {"$rdi": "wchar_t *WS", "$rsi": "size_t SIZE", "$rdx": "const wchar_t *TEMPLATE", "$r10": "..."}, "snprintf": {"$rdi": "char *S", "$rsi": "size_t SIZE", "$rdx": "const char *TEMPLATE", "$r10": "..."}, "asprintf": {"$rdi": "char **PTR", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "obstack_printf": {"$rdi": "struct obstack *OBSTACK", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "vprintf": {"$rdi": "const char *TEMPLATE", "$rsi": "va_list AP"}, "vwprintf": {"$rdi": "const wchar_t *TEMPLATE", "$rsi": "va_list AP"}, "vfprintf": {"$rdi": "FILE *STREAM", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "vfwprintf": {"$rdi": "FILE *STREAM", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "va_list AP"}, "vsprintf": {"$rdi": "char *S", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "vswprintf": {"$rdi": "wchar_t *WS", "$rsi": "size_t SIZE", "$rdx": "const wchar_t *TEMPLATE", "$r10": "va_list AP"}, "vsnprintf": {"$rdi": "char *S", "$rsi": "size_t SIZE", "$rdx": "const char *TEMPLATE", "$r10": "va_list AP"}, "vasprintf": {"$rdi": "char **PTR", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "obstack_vprintf": {"$rdi": "struct obstack *OBSTACK", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "parse_printf_format": {"$rdi": "const char *TEMPLATE", "$rsi": "size_t N", "$rdx": "int *ARGTYPES"}, "register_printf_function": {"$rdi": "int SPEC", "$rsi": "printf_function HANDLER-FUNCTION", "$rdx": "printf_arginfo_function ARGINFO-FUNCTION"}, "printf_size": {"$rdi": "FILE *FP", "$rsi": "const struct printf_info *INFO", "$rdx": "const void *const *ARGS"}, "printf_size_info": {"$rdi": "const struct printf_info *INFO", "$rsi": "size_t N", "$rdx": "int *ARGTYPES"}, "scanf": {"$rdi": "const char *TEMPLATE", "$rsi": "..."}, "wscanf": {"$rdi": "const wchar_t *TEMPLATE", "$rsi": "..."}, "fscanf": {"$rdi": "FILE *STREAM", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "fwscanf": {"$rdi": "FILE *STREAM", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "..."}, "sscanf": {"$rdi": "const char *S", "$rsi": "const char *TEMPLATE", "$rdx": "..."}, "swscanf": {"$rdi": "const wchar_t *WS", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "..."}, "vscanf": {"$rdi": "const char *TEMPLATE", "$rsi": "va_list AP"}, "vwscanf": {"$rdi": "const wchar_t *TEMPLATE", "$rsi": "va_list AP"}, "vfscanf": {"$rdi": "FILE *STREAM", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "vfwscanf": {"$rdi": "FILE *STREAM", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "va_list AP"}, "vsscanf": {"$rdi": "const char *S", "$rsi": "const char *TEMPLATE", "$rdx": "va_list AP"}, "vswscanf": {"$rdi": "const wchar_t *S", "$rsi": "const wchar_t *TEMPLATE", "$rdx": "va_list AP"}, "feof": {"$rdi": "FILE *STREAM"}, "feof_unlocked": {"$rdi": "FILE *STREAM"}, "ferror": {"$rdi": "FILE *STREAM"}, "ferror_unlocked": {"$rdi": "FILE *STREAM"}, "clearerr": {"$rdi": "FILE *STREAM"}, "clearerr_unlocked": {"$rdi": "FILE *STREAM"}, "ftell": {"$rdi": "FILE *STREAM"}, "ftello": {"$rdi": "FILE *STREAM"}, "ftello64": {"$rdi": "FILE *STREAM"}, "fseek": {"$rdi": "FILE *STREAM", "$rsi": "long int OFFSET", "$rdx": "int WHENCE"}, "fseeko": {"$rdi": "FILE *STREAM", "$rsi": "off_t OFFSET", "$rdx": "int WHENCE"}, "fseeko64": {"$rdi": "FILE *STREAM", "$rsi": "off64_t OFFSET", "$rdx": "int WHENCE"}, "rewind": {"$rdi": "FILE *STREAM"}, "fgetpos": {"$rdi": "FILE *STREAM", "$rsi": "fpos_t *POSITION"}, "fgetpos64": {"$rdi": "FILE *STREAM", "$rsi": "fpos64_t *POSITION"}, "fsetpos": {"$rdi": "FILE *STREAM", "$rsi": "const fpos_t *POSITION"}, "fsetpos64": {"$rdi": "FILE *STREAM", "$rsi": "const fpos64_t *POSITION"}, "fflush": {"$rdi": "FILE *STREAM"}, "fflush_unlocked": {"$rdi": "FILE *STREAM"}, "_flushlbf": {"$rdi": "void"}, "__fpurge": {"$rdi": "FILE *STREAM"}, "setvbuf": {"$rdi": "FILE *STREAM", "$rsi": "char *BUF", "$rdx": "int MODE", "$r10": "size_t SIZE"}, "setbuf": {"$rdi": "FILE *STREAM", "$rsi": "char *BUF"}, "setbuffer": {"$rdi": "FILE *STREAM", "$rsi": "char *BUF", "$rdx": "size_t SIZE"}, "setlinebuf": {"$rdi": "FILE *STREAM"}, "__flbf": {"$rdi": "FILE *STREAM"}, "__fbufsize": {"$rdi": "FILE *STREAM"}, "__fpending": {"$rdi": "FILE *STREAM"}, "fmemopen": {"$rdi": "void *BUF", "$rsi": "size_t SIZE", "$rdx": "const char *OPENTYPE"}, "open_memstream": {"$rdi": "char **PTR", "$rsi": "size_t *SIZELOC"}, "fopencookie": {"$rdi": "void *COOKIE", "$rsi": "const char *OPENTYPE", "$rdx": "cookie_io_functions_t IO-FUNCTIONS"}, "fmtmsg": {"$rdi": ""}, "addseverity": {"$rdi": "int SEVERITY", "$rsi": "const char *STRING"}, "open": {"$rdi": "const char *FILENAME", "$rsi": "int FLAGS[", "$rdx": "mode_t MODE]"}, "open64": {"$rdi": "const char *FILENAME", "$rsi": "int FLAGS[", "$rdx": "mode_t MODE]"}, "close": {"$rdi": "int FILEDES"}, "read": {"$rdi": "int FILEDES", "$rsi": "void *BUFFER", "$rdx": "size_t SIZE"}, "pread": {"$rdi": "int FILEDES", "$rsi": "void *BUFFER", "$rdx": "size_t SIZE", "$r10": "off_t OFFSET"}, "pread64": {"$rdi": "int FILEDES", "$rsi": "void *BUFFER", "$rdx": "size_t SIZE", "$r10": "off64_t OFFSET"}, "write": {"$rdi": "int FILEDES", "$rsi": "const void *BUFFER", "$rdx": "size_t SIZE"}, "pwrite": {"$rdi": "int FILEDES", "$rsi": "const void *BUFFER", "$rdx": "size_t SIZE", "$r10": "off_t OFFSET"}, "pwrite64": {"$rdi": "int FILEDES", "$rsi": "const void *BUFFER", "$rdx": "size_t SIZE", "$r10": "off64_t OFFSET"}, "lseek": {"$rdi": "int FILEDES", "$rsi": "off_t OFFSET", "$rdx": "int WHENCE"}, "lseek64": {"$rdi": "int FILEDES", "$rsi": "off64_t OFFSET", "$rdx": "int WHENCE"}, "fdopen": {"$rdi": "int FILEDES", "$rsi": "const char *OPENTYPE"}, "fileno": {"$rdi": "FILE *STREAM"}, "fileno_unlocked": {"$rdi": "FILE *STREAM"}, "readv": {"$rdi": "int FILEDES", "$rsi": "const struct iovec *VECTOR", "$rdx": "int COUNT"}, "writev": {"$rdi": "int FILEDES", "$rsi": "const struct iovec *VECTOR", "$rdx": "int COUNT"}, "preadv": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off_t OFFSET"}, "preadv64": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off64_t OFFSET"}, "pwritev": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off_t OFFSET"}, "pwritev64": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off64_t OFFSET"}, "preadv2": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off_t OFFSET", "$r8": "int FLAGS"}, "preadv64v2": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off64_t OFFSET", "$r8": "int FLAGS"}, "pwritev2": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off_t OFFSET", "$r8": "int FLAGS"}, "pwritev64v2": {"$rdi": "int FD", "$rsi": "const struct iovec *IOV", "$rdx": "int IOVCNT", "$r10": "off64_t OFFSET", "$r8": "int FLAGS"}, "copy_file_range": {"$rdi": ""}, "mmap": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "int PROTECT", "$r10": "int FLAGS", "$r8": "int FILEDES", "$r9": "off_t OFFSET"}, "mmap64": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "int PROTECT", "$r10": "int FLAGS", "$r8": "int FILEDES", "$r9": "off64_t OFFSET"}, "munmap": {"$rdi": "void *ADDR", "$rsi": "size_t LENGTH"}, "msync": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "int FLAGS"}, "mremap": {"$rdi": "void *ADDRESS", "$rsi": "size_t LENGTH", "$rdx": "size_t NEW_LENGTH", "$r10": "int FLAG"}, "madvise": {"$rdi": "void *ADDR", "$rsi": "size_t LENGTH", "$rdx": "int ADVICE"}, "shm_open": {"$rdi": "const char *NAME", "$rsi": "int OFLAG", "$rdx": "mode_t MODE"}, "shm_unlink": {"$rdi": "const char *NAME"}, "memfd_create": {"$rdi": "const char *NAME", "$rsi": "unsigned int FLAGS"}, "select": {"$rdi": "int NFDS", "$rsi": "fd_set *READ-FDS", "$rdx": "fd_set *WRITE-FDS", "$r10": "fd_set *EXCEPT-FDS", "$r8": "struct timeval *TIMEOUT"}, "sync": {"$rdi": "void"}, "fsync": {"$rdi": "int FILDES"}, "fdatasync": {"$rdi": "int FILDES"}, "aio_read": {"$rdi": "struct aiocb *AIOCBP"}, "aio_read64": {"$rdi": "struct aiocb64 *AIOCBP"}, "aio_write": {"$rdi": "struct aiocb *AIOCBP"}, "aio_write64": {"$rdi": "struct aiocb64 *AIOCBP"}, "lio_listio": {"$rdi": "int MODE", "$rsi": "struct aiocb *const LIST[]", "$rdx": "int NENT", "$r10": "struct sigevent *SIG"}, "lio_listio64": {"$rdi": "int MODE", "$rsi": "struct aiocb64 *const LIST[]", "$rdx": "int NENT", "$r10": "struct sigevent *SIG"}, "aio_error": {"$rdi": "const struct aiocb *AIOCBP"}, "aio_error64": {"$rdi": "const struct aiocb64 *AIOCBP"}, "aio_return": {"$rdi": "struct aiocb *AIOCBP"}, "aio_return64": {"$rdi": "struct aiocb64 *AIOCBP"}, "aio_fsync": {"$rdi": "int OP", "$rsi": "struct aiocb *AIOCBP"}, "aio_fsync64": {"$rdi": "int OP", "$rsi": "struct aiocb64 *AIOCBP"}, "aio_suspend": {"$rdi": "const struct aiocb *const LIST[]", "$rsi": "int NENT", "$rdx": "const struct timespec *TIMEOUT"}, "aio_suspend64": {"$rdi": "const struct aiocb64 *const LIST[]", "$rsi": "int NENT", "$rdx": "const struct timespec *TIMEOUT"}, "aio_cancel": {"$rdi": "int FILDES", "$rsi": "struct aiocb *AIOCBP"}, "aio_cancel64": {"$rdi": "int FILDES", "$rsi": "struct aiocb64 *AIOCBP"}, "aio_init": {"$rdi": "const struct aioinit *INIT"}, "fcntl": {"$rdi": "int FILEDES", "$rsi": "int COMMAND", "$rdx": "..."}, "dup": {"$rdi": "int OLD"}, "dup2": {"$rdi": "int OLD", "$rsi": "int NEW"}, "ioctl": {"$rdi": "int FILEDES", "$rsi": "int COMMAND", "$rdx": "..."}, "getcwd": {"$rdi": "char *BUFFER", "$rsi": "size_t SIZE"}, "get_current_dir_name": {"$rdi": "void"}, "chdir": {"$rdi": "const char *FILENAME"}, "fchdir": {"$rdi": "int FILEDES"}, "IFTODT": {"$rdi": "mode_t MODE"}, "DTTOIF": {"$rdi": "int DTYPE"}, "opendir": {"$rdi": "const char *DIRNAME"}, "fdopendir": {"$rdi": "int FD"}, "dirfd": {"$rdi": "DIR *DIRSTREAM"}, "readdir": {"$rdi": "DIR *DIRSTREAM"}, "readdir_r": {"$rdi": "DIR *DIRSTREAM", "$rsi": "struct dirent *ENTRY", "$rdx": "struct dirent **RESULT"}, "readdir64": {"$rdi": "DIR *DIRSTREAM"}, "readdir64_r": {"$rdi": "DIR *DIRSTREAM", "$rsi": "struct dirent64 *ENTRY", "$rdx": "struct dirent64 **RESULT"}, "closedir": {"$rdi": "DIR *DIRSTREAM"}, "rewinddir": {"$rdi": "DIR *DIRSTREAM"}, "telldir": {"$rdi": "DIR *DIRSTREAM"}, "seekdir": {"$rdi": "DIR *DIRSTREAM", "$rsi": "long int POS"}, "scandir": {"$rdi": "const char *DIR", "$rsi": "struct dirent ***NAMELIST", "$rdx": "int (*SELECTOR) (const struct dirent *)", "$r10": "int (*CMP"}, "alphasort": {"$rdi": "const struct dirent **A", "$rsi": "const struct dirent **B"}, "versionsort": {"$rdi": "const struct dirent **A", "$rsi": "const struct dirent **B"}, "scandir64": {"$rdi": "const char *DIR", "$rsi": "struct dirent64 ***NAMELIST", "$rdx": "int (*SELECTOR) (const struct dirent64 *"}, "alphasort64": {"$rdi": "const struct dirent64 **A", "$rsi": "const struct dirent **B"}, "versionsort64": {"$rdi": "const struct dirent64 **A", "$rsi": "const struct dirent64 **B"}, "getdents64": {"$rdi": "int FD", "$rsi": "void *BUFFER", "$rdx": "size_t LENGTH"}, "ftw": {"$rdi": "const char *FILENAME", "$rsi": "__ftw_func_t FUNC", "$rdx": "int DESCRIPTORS"}, "ftw64": {"$rdi": "const char *FILENAME", "$rsi": "__ftw64_func_t FUNC", "$rdx": "int DESCRIPTORS"}, "nftw": {"$rdi": "const char *FILENAME", "$rsi": "__nftw_func_t FUNC", "$rdx": "int DESCRIPTORS", "$r10": "int FLAG"}, "nftw64": {"$rdi": "const char *FILENAME", "$rsi": "__nftw64_func_t FUNC", "$rdx": "int DESCRIPTORS", "$r10": "int FLAG"}, "link": {"$rdi": "const char *OLDNAME", "$rsi": "const char *NEWNAME"}, "linkat": {"$rdi": "int oldfd", "$rsi": "const char *OLDNAME", "$rdx": "int newfd", "$r10": "const char *NEWNAME", "$r8": "int flags"}, "symlink": {"$rdi": "const char *OLDNAME", "$rsi": "const char *NEWNAME"}, "readlink": {"$rdi": "const char *FILENAME", "$rsi": "char *BUFFER", "$rdx": "size_t SIZE"}, "canonicalize_file_name": {"$rdi": "const char *NAME"}, "realpath": {"$rdi": "const char *restrict NAME", "$rsi": "char *restrict RESOLVED"}, "unlink": {"$rdi": "const char *FILENAME"}, "rmdir": {"$rdi": "const char *FILENAME"}, "remove": {"$rdi": "const char *FILENAME"}, "rename": {"$rdi": "const char *OLDNAME", "$rsi": "const char *NEWNAME"}, "mkdir": {"$rdi": "const char *FILENAME", "$rsi": "mode_t MODE"}, "stat": {"$rdi": "const char *FILENAME", "$rsi": "struct stat *BUF"}, "stat64": {"$rdi": "const char *FILENAME", "$rsi": "struct stat64 *BUF"}, "fstat": {"$rdi": "int FILEDES", "$rsi": "struct stat *BUF"}, "fstat64": {"$rdi": "int FILEDES", "$rsi": "struct stat64 *BUF"}, "lstat": {"$rdi": "const char *FILENAME", "$rsi": "struct stat *BUF"}, "lstat64": {"$rdi": "const char *FILENAME", "$rsi": "struct stat64 *BUF"}, "chown": {"$rdi": "const char *FILENAME", "$rsi": "uid_t OWNER", "$rdx": "gid_t GROUP"}, "fchown": {"$rdi": "int FILEDES", "$rsi": "uid_t OWNER", "$rdx": "gid_t GROUP"}, "umask": {"$rdi": "mode_t MASK"}, "getumask": {"$rdi": "void"}, "chmod": {"$rdi": "const char *FILENAME", "$rsi": "mode_t MODE"}, "fchmod": {"$rdi": "int FILEDES", "$rsi": "mode_t MODE"}, "access": {"$rdi": "const char *FILENAME", "$rsi": "int HOW"}, "utime": {"$rdi": "const char *FILENAME", "$rsi": "const struct utimbuf *TIMES"}, "utimes": {"$rdi": "const char *FILENAME", "$rsi": "const struct timeval TVP[2]"}, "lutimes": {"$rdi": "const char *FILENAME", "$rsi": "const struct timeval TVP[2]"}, "futimes": {"$rdi": "int FD", "$rsi": "const struct timeval TVP[2]"}, "truncate": {"$rdi": "const char *FILENAME", "$rsi": "off_t LENGTH"}, "truncate64": {"$rdi": "const char *NAME", "$rsi": "off64_t LENGTH"}, "ftruncate": {"$rdi": "int FD", "$rsi": "off_t LENGTH"}, "ftruncate64": {"$rdi": "int ID", "$rsi": "off64_t LENGTH"}, "posix_fallocate": {"$rdi": "int FD", "$rsi": "off_t OFFSET", "$rdx": "off_t LENGTH"}, "posix_fallocate64": {"$rdi": "int FD", "$rsi": "off64_t OFFSET", "$rdx": "off64_t LENGTH"}, "mknod": {"$rdi": "const char *FILENAME", "$rsi": "mode_t MODE", "$rdx": "dev_t DEV"}, "tmpfile": {"$rdi": "void"}, "tmpfile64": {"$rdi": "void"}, "tmpnam": {"$rdi": "char *RESULT"}, "tmpnam_r": {"$rdi": "char *RESULT"}, "tempnam": {"$rdi": "const char *DIR", "$rsi": "const char *PREFIX"}, "mktemp": {"$rdi": "char *TEMPLATE"}, "mkstemp": {"$rdi": "char *TEMPLATE"}, "mkdtemp": {"$rdi": "char *TEMPLATE"}, "pipe": {"$rdi": "int FILEDES[2]"}, "popen": {"$rdi": "const char *COMMAND", "$rsi": "const char *MODE"}, "pclose": {"$rdi": "FILE *STREAM"}, "mkfifo": {"$rdi": "const char *FILENAME", "$rsi": "mode_t MODE"}, "bind": {"$rdi": "int SOCKET", "$rsi": "struct sockaddr *ADDR", "$rdx": "socklen_t LENGTH"}, "getsockname": {"$rdi": "int SOCKET", "$rsi": "struct sockaddr *ADDR", "$rdx": "socklen_t *LENGTH-PTR"}, "if_nametoindex": {"$rdi": "const char *IFNAME"}, "if_indextoname": {"$rdi": "unsigned int IFINDEX", "$rsi": "char *IFNAME"}, "if_nameindex": {"$rdi": "void"}, "if_freenameindex": {"$rdi": "struct if_nameindex *PTR"}, "inet_aton": {"$rdi": "const char *NAME", "$rsi": "struct in_addr *ADDR"}, "inet_addr": {"$rdi": "const char *NAME"}, "inet_network": {"$rdi": "const char *NAME"}, "inet_ntoa": {"$rdi": "struct in_addr ADDR"}, "inet_makeaddr": {"$rdi": "uint32_t NET", "$rsi": "uint32_t LOCAL"}, "inet_lnaof": {"$rdi": "struct in_addr ADDR"}, "inet_netof": {"$rdi": "struct in_addr ADDR"}, "inet_pton": {"$rdi": "int AF", "$rsi": "const char *CP", "$rdx": "void *BUF"}, "inet_ntop": {"$rdi": "int AF", "$rsi": "const void *CP", "$rdx": "char *BUF", "$r10": "socklen_t LEN"}, "gethostbyname": {"$rdi": "const char *NAME"}, "gethostbyname2": {"$rdi": "const char *NAME", "$rsi": "int AF"}, "gethostbyaddr": {"$rdi": "const void *ADDR", "$rsi": "socklen_t LENGTH", "$rdx": "int FORMAT"}, "gethostbyname_r": {"$rdi": ""}, "gethostbyname2_r": {"$rdi": ""}, "gethostbyaddr_r": {"$rdi": ""}, "sethostent": {"$rdi": "int STAYOPEN"}, "gethostent": {"$rdi": "void"}, "endhostent": {"$rdi": "void"}, "getservbyname": {"$rdi": "const char *NAME", "$rsi": "const char *PROTO"}, "getservbyport": {"$rdi": "int PORT", "$rsi": "const char *PROTO"}, "setservent": {"$rdi": "int STAYOPEN"}, "getservent": {"$rdi": "void"}, "endservent": {"$rdi": "void"}, "htons": {"$rdi": "uint16_t HOSTSHORT"}, "ntohs": {"$rdi": "uint16_t NETSHORT"}, "htonl": {"$rdi": "uint32_t HOSTLONG"}, "ntohl": {"$rdi": "uint32_t NETLONG"}, "getprotobyname": {"$rdi": "const char *NAME"}, "getprotobynumber": {"$rdi": "int PROTOCOL"}, "setprotoent": {"$rdi": "int STAYOPEN"}, "getprotoent": {"$rdi": "void"}, "endprotoent": {"$rdi": "void"}, "socket": {"$rdi": "int NAMESPACE", "$rsi": "int STYLE", "$rdx": "int PROTOCOL"}, "shutdown": {"$rdi": "int SOCKET", "$rsi": "int HOW"}, "socketpair": {"$rdi": "int NAMESPACE", "$rsi": "int STYLE", "$rdx": "int PROTOCOL", "$r10": "int FILEDES[2]"}, "connect": {"$rdi": "int SOCKET", "$rsi": "struct sockaddr *ADDR", "$rdx": "socklen_t LENGTH"}, "listen": {"$rdi": "int SOCKET", "$rsi": "int N"}, "accept": {"$rdi": "int SOCKET", "$rsi": "struct sockaddr *ADDR", "$rdx": "socklen_t *LENGTH_PTR"}, "getpeername": {"$rdi": "int SOCKET", "$rsi": "struct sockaddr *ADDR", "$rdx": "socklen_t *LENGTH-PTR"}, "send": {"$rdi": "int SOCKET", "$rsi": "const void *BUFFER", "$rdx": "size_t SIZE", "$r10": "int FLAGS"}, "recv": {"$rdi": "int SOCKET", "$rsi": "void *BUFFER", "$rdx": "size_t SIZE", "$r10": "int FLAGS"}, "sendto": {"$rdi": "int SOCKET", "$rsi": "const void *BUFFER", "$rdx": "size_t SIZE", "$r10": "int FLAGS", "$r8": "struct sockaddr *ADDR", "$r9": "socklen_t LENGTH"}, "recvfrom": {"$rdi": "int SOCKET", "$rsi": "void *BUFFER", "$rdx": "size_t SIZE", "$r10": "int FLAGS", "$r8": "struct sockaddr *ADDR", "$r9": "socklen_t *LENGTH-PTR"}, "getsockopt": {"$rdi": "int SOCKET", "$rsi": "int LEVEL", "$rdx": "int OPTNAME", "$r10": "void *OPTVAL", "$r8": "socklen_t *OPTLEN-PTR"}, "setsockopt": {"$rdi": "int SOCKET", "$rsi": "int LEVEL", "$rdx": "int OPTNAME", "$r10": "const void *OPTVAL", "$r8": "socklen_t OPTLEN"}, "getnetbyname": {"$rdi": "const char *NAME"}, "getnetbyaddr": {"$rdi": "uint32_t NET", "$rsi": "int TYPE"}, "setnetent": {"$rdi": "int STAYOPEN"}, "getnetent": {"$rdi": "void"}, "endnetent": {"$rdi": "void"}, "isatty": {"$rdi": "int FILEDES"}, "ttyname": {"$rdi": "int FILEDES"}, "ttyname_r": {"$rdi": "int FILEDES", "$rsi": "char *BUF", "$rdx": "size_t LEN"}, "tcgetattr": {"$rdi": "int FILEDES", "$rsi": "struct termios *TERMIOS-P"}, "tcsetattr": {"$rdi": "int FILEDES", "$rsi": "int WHEN", "$rdx": "const struct termios *TERMIOS-P"}, "cfgetospeed": {"$rdi": "const struct termios *TERMIOS-P"}, "cfgetispeed": {"$rdi": "const struct termios *TERMIOS-P"}, "cfsetospeed": {"$rdi": "struct termios *TERMIOS-P", "$rsi": "speed_t SPEED"}, "cfsetispeed": {"$rdi": "struct termios *TERMIOS-P", "$rsi": "speed_t SPEED"}, "cfsetspeed": {"$rdi": "struct termios *TERMIOS-P", "$rsi": "speed_t SPEED"}, "cfmakeraw": {"$rdi": "struct termios *TERMIOS-P"}, "gtty": {"$rdi": "int FILEDES", "$rsi": "struct sgttyb *ATTRIBUTES"}, "stty": {"$rdi": "int FILEDES", "$rsi": "const struct sgttyb *ATTRIBUTES"}, "tcsendbreak": {"$rdi": "int FILEDES", "$rsi": "int DURATION"}, "tcdrain": {"$rdi": "int FILEDES"}, "tcflush": {"$rdi": "int FILEDES", "$rsi": "int QUEUE"}, "tcflow": {"$rdi": "int FILEDES", "$rsi": "int ACTION"}, "getpass": {"$rdi": "const char *PROMPT"}, "getpt": {"$rdi": "void"}, "grantpt": {"$rdi": "int FILEDES"}, "unlockpt": {"$rdi": "int FILEDES"}, "ptsname": {"$rdi": "int FILEDES"}, "ptsname_r": {"$rdi": "int FILEDES", "$rsi": "char *BUF", "$rdx": "size_t LEN"}, "openpty": {"$rdi": "int *AMASTER", "$rsi": "int *ASLAVE", "$rdx": "char *NAME", "$r10": "const struct termios *TERMP", "$r8": "const struct winsize *WINP"}, "forkpty": {"$rdi": "int *AMASTER", "$rsi": "char *NAME", "$rdx": "const struct termios *TERMP", "$r10": "const struct winsize *WINP"}, "openlog": {"$rdi": "const char *IDENT", "$rsi": "int OPTION", "$rdx": "int FACILITY"}, "syslog": {"$rdi": "int FACILITY_PRIORITY", "$rsi": "const char *FORMAT", "$rdx": "..."}, "vsyslog": {"$rdi": "int FACILITY_PRIORITY", "$rsi": "const char *FORMAT", "$rdx": "va_list ARGLIST"}, "closelog": {"$rdi": "void"}, "setlogmask": {"$rdi": "int MASK"}, "sin": {"$rdi": "double X"}, "sinf": {"$rdi": "float X"}, "sinl": {"$rdi": "long double X"}, "sinfN": {"$rdi": "_FloatN X"}, "sinfNx": {"$rdi": "_FloatNx X"}, "cos": {"$rdi": "double X"}, "cosf": {"$rdi": "float X"}, "cosl": {"$rdi": "long double X"}, "cosfN": {"$rdi": "_FloatN X"}, "cosfNx": {"$rdi": "_FloatNx X"}, "tan": {"$rdi": "double X"}, "tanf": {"$rdi": "float X"}, "tanl": {"$rdi": "long double X"}, "tanfN": {"$rdi": "_FloatN X"}, "tanfNx": {"$rdi": "_FloatNx X"}, "sincos": {"$rdi": "double X", "$rsi": "double *SINX", "$rdx": "double *COSX"}, "sincosf": {"$rdi": "float X", "$rsi": "float *SINX", "$rdx": "float *COSX"}, "sincosl": {"$rdi": "long double X", "$rsi": "long double *SINX", "$rdx": "long double *COSX"}, "sincosfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN *SINX", "$rdx": "_FloatN *COSX"}, "sincosfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx *SINX", "$rdx": "_FloatNx *COSX"}, "csin": {"$rdi": "complex double Z"}, "csinf": {"$rdi": "complex float Z"}, "csinl": {"$rdi": "complex long double Z"}, "csinfN": {"$rdi": "complex _FloatN Z"}, "csinfNx": {"$rdi": "complex _FloatNx Z"}, "ccos": {"$rdi": "complex double Z"}, "ccosf": {"$rdi": "complex float Z"}, "ccosl": {"$rdi": "complex long double Z"}, "ccosfN": {"$rdi": "complex _FloatN Z"}, "ccosfNx": {"$rdi": "complex _FloatNx Z"}, "ctan": {"$rdi": "complex double Z"}, "ctanf": {"$rdi": "complex float Z"}, "ctanl": {"$rdi": "complex long double Z"}, "ctanfN": {"$rdi": "complex _FloatN Z"}, "ctanfNx": {"$rdi": "complex _FloatNx Z"}, "asin": {"$rdi": "double X"}, "asinf": {"$rdi": "float X"}, "asinl": {"$rdi": "long double X"}, "asinfN": {"$rdi": "_FloatN X"}, "asinfNx": {"$rdi": "_FloatNx X"}, "acos": {"$rdi": "double X"}, "acosf": {"$rdi": "float X"}, "acosl": {"$rdi": "long double X"}, "acosfN": {"$rdi": "_FloatN X"}, "acosfNx": {"$rdi": "_FloatNx X"}, "atan": {"$rdi": "double X"}, "atanf": {"$rdi": "float X"}, "atanl": {"$rdi": "long double X"}, "atanfN": {"$rdi": "_FloatN X"}, "atanfNx": {"$rdi": "_FloatNx X"}, "atan2": {"$rdi": "double Y", "$rsi": "double X"}, "atan2f": {"$rdi": "float Y", "$rsi": "float X"}, "atan2l": {"$rdi": "long double Y", "$rsi": "long double X"}, "atan2fN": {"$rdi": "_FloatN Y", "$rsi": "_FloatN X"}, "atan2fNx": {"$rdi": "_FloatNx Y", "$rsi": "_FloatNx X"}, "casin": {"$rdi": "complex double Z"}, "casinf": {"$rdi": "complex float Z"}, "casinl": {"$rdi": "complex long double Z"}, "casinfN": {"$rdi": "complex _FloatN Z"}, "casinfNx": {"$rdi": "complex _FloatNx Z"}, "cacos": {"$rdi": "complex double Z"}, "cacosf": {"$rdi": "complex float Z"}, "cacosl": {"$rdi": "complex long double Z"}, "cacosfN": {"$rdi": "complex _FloatN Z"}, "cacosfNx": {"$rdi": "complex _FloatNx Z"}, "catan": {"$rdi": "complex double Z"}, "catanf": {"$rdi": "complex float Z"}, "catanl": {"$rdi": "complex long double Z"}, "catanfN": {"$rdi": "complex _FloatN Z"}, "catanfNx": {"$rdi": "complex _FloatNx Z"}, "exp": {"$rdi": "double X"}, "expf": {"$rdi": "float X"}, "expl": {"$rdi": "long double X"}, "expfN": {"$rdi": "_FloatN X"}, "expfNx": {"$rdi": "_FloatNx X"}, "exp2": {"$rdi": "double X"}, "exp2f": {"$rdi": "float X"}, "exp2l": {"$rdi": "long double X"}, "exp2fN": {"$rdi": "_FloatN X"}, "exp2fNx": {"$rdi": "_FloatNx X"}, "exp10": {"$rdi": "double X"}, "exp10f": {"$rdi": "float X"}, "exp10l": {"$rdi": "long double X"}, "exp10fN": {"$rdi": "_FloatN X"}, "exp10fNx": {"$rdi": "_FloatNx X"}, "log": {"$rdi": "double X"}, "logf": {"$rdi": "float X"}, "logl": {"$rdi": "long double X"}, "logfN": {"$rdi": "_FloatN X"}, "logfNx": {"$rdi": "_FloatNx X"}, "log10": {"$rdi": "double X"}, "log10f": {"$rdi": "float X"}, "log10l": {"$rdi": "long double X"}, "log10fN": {"$rdi": "_FloatN X"}, "log10fNx": {"$rdi": "_FloatNx X"}, "log2": {"$rdi": "double X"}, "log2f": {"$rdi": "float X"}, "log2l": {"$rdi": "long double X"}, "log2fN": {"$rdi": "_FloatN X"}, "log2fNx": {"$rdi": "_FloatNx X"}, "logb": {"$rdi": "double X"}, "logbf": {"$rdi": "float X"}, "logbl": {"$rdi": "long double X"}, "logbfN": {"$rdi": "_FloatN X"}, "logbfNx": {"$rdi": "_FloatNx X"}, "ilogb": {"$rdi": "double X"}, "ilogbf": {"$rdi": "float X"}, "ilogbl": {"$rdi": "long double X"}, "ilogbfN": {"$rdi": "_FloatN X"}, "ilogbfNx": {"$rdi": "_FloatNx X"}, "llogb": {"$rdi": "double X"}, "llogbf": {"$rdi": "float X"}, "llogbl": {"$rdi": "long double X"}, "llogbfN": {"$rdi": "_FloatN X"}, "llogbfNx": {"$rdi": "_FloatNx X"}, "pow": {"$rdi": "double BASE", "$rsi": "double POWER"}, "powf": {"$rdi": "float BASE", "$rsi": "float POWER"}, "powl": {"$rdi": "long double BASE", "$rsi": "long double POWER"}, "powfN": {"$rdi": "_FloatN BASE", "$rsi": "_FloatN POWER"}, "powfNx": {"$rdi": "_FloatNx BASE", "$rsi": "_FloatNx POWER"}, "sqrt": {"$rdi": "double X"}, "sqrtf": {"$rdi": "float X"}, "sqrtl": {"$rdi": "long double X"}, "sqrtfN": {"$rdi": "_FloatN X"}, "sqrtfNx": {"$rdi": "_FloatNx X"}, "cbrt": {"$rdi": "double X"}, "cbrtf": {"$rdi": "float X"}, "cbrtl": {"$rdi": "long double X"}, "cbrtfN": {"$rdi": "_FloatN X"}, "cbrtfNx": {"$rdi": "_FloatNx X"}, "hypot": {"$rdi": "double X", "$rsi": "double Y"}, "hypotf": {"$rdi": "float X", "$rsi": "float Y"}, "hypotl": {"$rdi": "long double X", "$rsi": "long double Y"}, "hypotfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "hypotfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "expm1": {"$rdi": "double X"}, "expm1f": {"$rdi": "float X"}, "expm1l": {"$rdi": "long double X"}, "expm1fN": {"$rdi": "_FloatN X"}, "expm1fNx": {"$rdi": "_FloatNx X"}, "log1p": {"$rdi": "double X"}, "log1pf": {"$rdi": "float X"}, "log1pl": {"$rdi": "long double X"}, "log1pfN": {"$rdi": "_FloatN X"}, "log1pfNx": {"$rdi": "_FloatNx X"}, "cexp": {"$rdi": "complex double Z"}, "cexpf": {"$rdi": "complex float Z"}, "cexpl": {"$rdi": "complex long double Z"}, "cexpfN": {"$rdi": "complex _FloatN Z"}, "cexpfNx": {"$rdi": "complex _FloatNx Z"}, "clog": {"$rdi": "complex double Z"}, "clogf": {"$rdi": "complex float Z"}, "clogl": {"$rdi": "complex long double Z"}, "clogfN": {"$rdi": "complex _FloatN Z"}, "clogfNx": {"$rdi": "complex _FloatNx Z"}, "clog10": {"$rdi": "complex double Z"}, "clog10f": {"$rdi": "complex float Z"}, "clog10l": {"$rdi": "complex long double Z"}, "clog10fN": {"$rdi": "complex _FloatN Z"}, "clog10fNx": {"$rdi": "complex _FloatNx Z"}, "csqrt": {"$rdi": "complex double Z"}, "csqrtf": {"$rdi": "complex float Z"}, "csqrtl": {"$rdi": "complex long double Z"}, "csqrtfN": {"$rdi": "_FloatN Z"}, "csqrtfNx": {"$rdi": "complex _FloatNx Z"}, "cpow": {"$rdi": "complex double BASE", "$rsi": "complex double POWER"}, "cpowf": {"$rdi": "complex float BASE", "$rsi": "complex float POWER"}, "cpowl": {"$rdi": "complex long double BASE", "$rsi": "complex long double POWER"}, "cpowfN": {"$rdi": "complex _FloatN BASE", "$rsi": "complex _FloatN POWER"}, "cpowfNx": {"$rdi": "complex _FloatNx BASE", "$rsi": "complex _FloatNx POWER"}, "sinh": {"$rdi": "double X"}, "sinhf": {"$rdi": "float X"}, "sinhl": {"$rdi": "long double X"}, "sinhfN": {"$rdi": "_FloatN X"}, "sinhfNx": {"$rdi": "_FloatNx X"}, "cosh": {"$rdi": "double X"}, "coshf": {"$rdi": "float X"}, "coshl": {"$rdi": "long double X"}, "coshfN": {"$rdi": "_FloatN X"}, "coshfNx": {"$rdi": "_FloatNx X"}, "tanh": {"$rdi": "double X"}, "tanhf": {"$rdi": "float X"}, "tanhl": {"$rdi": "long double X"}, "tanhfN": {"$rdi": "_FloatN X"}, "tanhfNx": {"$rdi": "_FloatNx X"}, "csinh": {"$rdi": "complex double Z"}, "csinhf": {"$rdi": "complex float Z"}, "csinhl": {"$rdi": "complex long double Z"}, "csinhfN": {"$rdi": "complex _FloatN Z"}, "csinhfNx": {"$rdi": "complex _FloatNx Z"}, "ccosh": {"$rdi": "complex double Z"}, "ccoshf": {"$rdi": "complex float Z"}, "ccoshl": {"$rdi": "complex long double Z"}, "ccoshfN": {"$rdi": "complex _FloatN Z"}, "ccoshfNx": {"$rdi": "complex _FloatNx Z"}, "ctanh": {"$rdi": "complex double Z"}, "ctanhf": {"$rdi": "complex float Z"}, "ctanhl": {"$rdi": "complex long double Z"}, "ctanhfN": {"$rdi": "complex _FloatN Z"}, "ctanhfNx": {"$rdi": "complex _FloatNx Z"}, "asinh": {"$rdi": "double X"}, "asinhf": {"$rdi": "float X"}, "asinhl": {"$rdi": "long double X"}, "asinhfN": {"$rdi": "_FloatN X"}, "asinhfNx": {"$rdi": "_FloatNx X"}, "acosh": {"$rdi": "double X"}, "acoshf": {"$rdi": "float X"}, "acoshl": {"$rdi": "long double X"}, "acoshfN": {"$rdi": "_FloatN X"}, "acoshfNx": {"$rdi": "_FloatNx X"}, "atanh": {"$rdi": "double X"}, "atanhf": {"$rdi": "float X"}, "atanhl": {"$rdi": "long double X"}, "atanhfN": {"$rdi": "_FloatN X"}, "atanhfNx": {"$rdi": "_FloatNx X"}, "casinh": {"$rdi": "complex double Z"}, "casinhf": {"$rdi": "complex float Z"}, "casinhl": {"$rdi": "complex long double Z"}, "casinhfN": {"$rdi": "complex _FloatN Z"}, "casinhfNx": {"$rdi": "complex _FloatNx Z"}, "cacosh": {"$rdi": "complex double Z"}, "cacoshf": {"$rdi": "complex float Z"}, "cacoshl": {"$rdi": "complex long double Z"}, "cacoshfN": {"$rdi": "complex _FloatN Z"}, "cacoshfNx": {"$rdi": "complex _FloatNx Z"}, "catanh": {"$rdi": "complex double Z"}, "catanhf": {"$rdi": "complex float Z"}, "catanhl": {"$rdi": "complex long double Z"}, "catanhfN": {"$rdi": "complex _FloatN Z"}, "catanhfNx": {"$rdi": "complex _FloatNx Z"}, "erf": {"$rdi": "double X"}, "erff": {"$rdi": "float X"}, "erfl": {"$rdi": "long double X"}, "erffN": {"$rdi": "_FloatN X"}, "erffNx": {"$rdi": "_FloatNx X"}, "erfc": {"$rdi": "double X"}, "erfcf": {"$rdi": "float X"}, "erfcl": {"$rdi": "long double X"}, "erfcfN": {"$rdi": "_FloatN X"}, "erfcfNx": {"$rdi": "_FloatNx X"}, "lgamma": {"$rdi": "double X"}, "lgammaf": {"$rdi": "float X"}, "lgammal": {"$rdi": "long double X"}, "lgammafN": {"$rdi": "_FloatN X"}, "lgammafNx": {"$rdi": "_FloatNx X"}, "lgamma_r": {"$rdi": "double X", "$rsi": "int *SIGNP"}, "lgammaf_r": {"$rdi": "float X", "$rsi": "int *SIGNP"}, "lgammal_r": {"$rdi": "long double X", "$rsi": "int *SIGNP"}, "lgammafN_r": {"$rdi": "_FloatN X", "$rsi": "int *SIGNP"}, "lgammafNx_r": {"$rdi": "_FloatNx X", "$rsi": "int *SIGNP"}, "gamma": {"$rdi": "double X"}, "gammaf": {"$rdi": "float X"}, "gammal": {"$rdi": "long double X"}, "tgamma": {"$rdi": "double X"}, "tgammaf": {"$rdi": "float X"}, "tgammal": {"$rdi": "long double X"}, "tgammafN": {"$rdi": "_FloatN X"}, "tgammafNx": {"$rdi": "_FloatNx X"}, "j0": {"$rdi": "double X"}, "j0f": {"$rdi": "float X"}, "j0l": {"$rdi": "long double X"}, "j0fN": {"$rdi": "_FloatN X"}, "j0fNx": {"$rdi": "_FloatNx X"}, "j1": {"$rdi": "double X"}, "j1f": {"$rdi": "float X"}, "j1l": {"$rdi": "long double X"}, "j1fN": {"$rdi": "_FloatN X"}, "j1fNx": {"$rdi": "_FloatNx X"}, "jn": {"$rdi": "int N", "$rsi": "double X"}, "jnf": {"$rdi": "int N", "$rsi": "float X"}, "jnl": {"$rdi": "int N", "$rsi": "long double X"}, "jnfN": {"$rdi": "int N", "$rsi": "_FloatN X"}, "jnfNx": {"$rdi": "int N", "$rsi": "_FloatNx X"}, "y0": {"$rdi": "double X"}, "y0f": {"$rdi": "float X"}, "y0l": {"$rdi": "long double X"}, "y0fN": {"$rdi": "_FloatN X"}, "y0fNx": {"$rdi": "_FloatNx X"}, "y1": {"$rdi": "double X"}, "y1f": {"$rdi": "float X"}, "y1l": {"$rdi": "long double X"}, "y1fN": {"$rdi": "_FloatN X"}, "y1fNx": {"$rdi": "_FloatNx X"}, "yn": {"$rdi": "int N", "$rsi": "double X"}, "ynf": {"$rdi": "int N", "$rsi": "float X"}, "ynl": {"$rdi": "int N", "$rsi": "long double X"}, "ynfN": {"$rdi": "int N", "$rsi": "_FloatN X"}, "ynfNx": {"$rdi": "int N", "$rsi": "_FloatNx X"}, "rand": {"$rdi": "void"}, "srand": {"$rdi": "unsigned int SEED"}, "rand_r": {"$rdi": "unsigned int *SEED"}, "random": {"$rdi": "void"}, "srandom": {"$rdi": "unsigned int SEED"}, "initstate": {"$rdi": "unsigned int SEED", "$rsi": "char *STATE", "$rdx": "size_t SIZE"}, "setstate": {"$rdi": "char *STATE"}, "random_r": {"$rdi": "struct random_data *restrict BUF", "$rsi": "int32_t *restrict RESULT"}, "srandom_r": {"$rdi": "unsigned int SEED", "$rsi": "struct random_data *BUF"}, "initstate_r": {"$rdi": "unsigned int SEED", "$rsi": "char *restrict STATEBUF", "$rdx": "size_t STATELEN", "$r10": "struct random_data *restrict BUF"}, "setstate_r": {"$rdi": "char *restrict STATEBUF", "$rsi": "struct random_data *restrict BUF"}, "drand48": {"$rdi": "void"}, "erand48": {"$rdi": "unsigned short int XSUBI[3]"}, "lrand48": {"$rdi": "void"}, "nrand48": {"$rdi": "unsigned short int XSUBI[3]"}, "mrand48": {"$rdi": "void"}, "jrand48": {"$rdi": "unsigned short int XSUBI[3]"}, "srand48": {"$rdi": "long int SEEDVAL"}, "seed48": {"$rdi": "unsigned short int SEED16V[3]"}, "lcong48": {"$rdi": "unsigned short int PARAM[7]"}, "drand48_r": {"$rdi": "struct drand48_data *BUFFER", "$rsi": "double *RESULT"}, "erand48_r": {"$rdi": "unsigned short int XSUBI[3]", "$rsi": "struct drand48_data *BUFFER", "$rdx": "double *RESULT"}, "lrand48_r": {"$rdi": "struct drand48_data *BUFFER", "$rsi": "long int *RESULT"}, "nrand48_r": {"$rdi": "unsigned short int XSUBI[3]", "$rsi": "struct drand48_data *BUFFER", "$rdx": "long int *RESULT"}, "mrand48_r": {"$rdi": "struct drand48_data *BUFFER", "$rsi": "long int *RESULT"}, "jrand48_r": {"$rdi": "unsigned short int XSUBI[3]", "$rsi": "struct drand48_data *BUFFER", "$rdx": "long int *RESULT"}, "srand48_r": {"$rdi": "long int SEEDVAL", "$rsi": "struct drand48_data *BUFFER"}, "seed48_r": {"$rdi": "unsigned short int SEED16V[3]", "$rsi": "struct drand48_data *BUFFER"}, "lcong48_r": {"$rdi": "unsigned short int PARAM[7]", "$rsi": "struct drand48_data *BUFFER"}, "div": {"$rdi": "int NUMERATOR", "$rsi": "int DENOMINATOR"}, "ldiv": {"$rdi": "long int NUMERATOR", "$rsi": "long int DENOMINATOR"}, "lldiv": {"$rdi": "long long int NUMERATOR", "$rsi": "long long int DENOMINATOR"}, "imaxdiv": {"$rdi": "intmax_t NUMERATOR", "$rsi": "intmax_t DENOMINATOR"}, "isinf": {"$rdi": "double X"}, "isinff": {"$rdi": "float X"}, "isinfl": {"$rdi": "long double X"}, "isnan": {"$rdi": "double X"}, "isnanf": {"$rdi": "float X"}, "isnanl": {"$rdi": "long double X"}, "finite": {"$rdi": "double X"}, "finitef": {"$rdi": "float X"}, "finitel": {"$rdi": "long double X"}, "feclearexcept": {"$rdi": "int EXCEPTS"}, "feraiseexcept": {"$rdi": "int EXCEPTS"}, "fesetexcept": {"$rdi": "int EXCEPTS"}, "fetestexcept": {"$rdi": "int EXCEPTS"}, "fegetexceptflag": {"$rdi": "fexcept_t *FLAGP", "$rsi": "int EXCEPTS"}, "fesetexceptflag": {"$rdi": "const fexcept_t *FLAGP", "$rsi": "int EXCEPTS"}, "fetestexceptflag": {"$rdi": "const fexcept_t *FLAGP", "$rsi": "int EXCEPTS"}, "fegetround": {"$rdi": "void"}, "fesetround": {"$rdi": "int ROUND"}, "fegetenv": {"$rdi": "fenv_t *ENVP"}, "feholdexcept": {"$rdi": "fenv_t *ENVP"}, "fesetenv": {"$rdi": "const fenv_t *ENVP"}, "feupdateenv": {"$rdi": "const fenv_t *ENVP"}, "fegetmode": {"$rdi": "femode_t *MODEP"}, "fesetmode": {"$rdi": "const femode_t *MODEP"}, "feenableexcept": {"$rdi": "int EXCEPTS"}, "fedisableexcept": {"$rdi": "int EXCEPTS"}, "fegetexcept": {"$rdi": "void"}, "abs": {"$rdi": "int NUMBER"}, "labs": {"$rdi": "long int NUMBER"}, "llabs": {"$rdi": "long long int NUMBER"}, "imaxabs": {"$rdi": "intmax_t NUMBER"}, "fabs": {"$rdi": "double NUMBER"}, "fabsf": {"$rdi": "float NUMBER"}, "fabsl": {"$rdi": "long double NUMBER"}, "fabsfN": {"$rdi": "_FloatN NUMBER"}, "fabsfNx": {"$rdi": "_FloatNx NUMBER"}, "cabs": {"$rdi": "complex double Z"}, "cabsf": {"$rdi": "complex float Z"}, "cabsl": {"$rdi": "complex long double Z"}, "cabsfN": {"$rdi": "complex _FloatN Z"}, "cabsfNx": {"$rdi": "complex _FloatNx Z"}, "frexp": {"$rdi": "double VALUE", "$rsi": "int *EXPONENT"}, "frexpf": {"$rdi": "float VALUE", "$rsi": "int *EXPONENT"}, "frexpl": {"$rdi": "long double VALUE", "$rsi": "int *EXPONENT"}, "frexpfN": {"$rdi": "_FloatN VALUE", "$rsi": "int *EXPONENT"}, "frexpfNx": {"$rdi": "_FloatNx VALUE", "$rsi": "int *EXPONENT"}, "ldexp": {"$rdi": "double VALUE", "$rsi": "int EXPONENT"}, "ldexpf": {"$rdi": "float VALUE", "$rsi": "int EXPONENT"}, "ldexpl": {"$rdi": "long double VALUE", "$rsi": "int EXPONENT"}, "ldexpfN": {"$rdi": "_FloatN VALUE", "$rsi": "int EXPONENT"}, "ldexpfNx": {"$rdi": "_FloatNx VALUE", "$rsi": "int EXPONENT"}, "scalb": {"$rdi": "double VALUE", "$rsi": "double EXPONENT"}, "scalbf": {"$rdi": "float VALUE", "$rsi": "float EXPONENT"}, "scalbl": {"$rdi": "long double VALUE", "$rsi": "long double EXPONENT"}, "scalbn": {"$rdi": "double X", "$rsi": "int N"}, "scalbnf": {"$rdi": "float X", "$rsi": "int N"}, "scalbnl": {"$rdi": "long double X", "$rsi": "int N"}, "scalbnfN": {"$rdi": "_FloatN X", "$rsi": "int N"}, "scalbnfNx": {"$rdi": "_FloatNx X", "$rsi": "int N"}, "scalbln": {"$rdi": "double X", "$rsi": "long int N"}, "scalblnf": {"$rdi": "float X", "$rsi": "long int N"}, "scalblnl": {"$rdi": "long double X", "$rsi": "long int N"}, "scalblnfN": {"$rdi": "_FloatN X", "$rsi": "long int N"}, "scalblnfNx": {"$rdi": "_FloatNx X", "$rsi": "long int N"}, "significand": {"$rdi": "double X"}, "significandf": {"$rdi": "float X"}, "significandl": {"$rdi": "long double X"}, "ceil": {"$rdi": "double X"}, "ceilf": {"$rdi": "float X"}, "ceill": {"$rdi": "long double X"}, "ceilfN": {"$rdi": "_FloatN X"}, "ceilfNx": {"$rdi": "_FloatNx X"}, "floor": {"$rdi": "double X"}, "floorf": {"$rdi": "float X"}, "floorl": {"$rdi": "long double X"}, "floorfN": {"$rdi": "_FloatN X"}, "floorfNx": {"$rdi": "_FloatNx X"}, "trunc": {"$rdi": "double X"}, "truncf": {"$rdi": "float X"}, "truncl": {"$rdi": "long double X"}, "truncfN": {"$rdi": "_FloatN X"}, "truncfNx": {"$rdi": "_FloatNx X"}, "rint": {"$rdi": "double X"}, "rintf": {"$rdi": "float X"}, "rintl": {"$rdi": "long double X"}, "rintfN": {"$rdi": "_FloatN X"}, "rintfNx": {"$rdi": "_FloatNx X"}, "nearbyint": {"$rdi": "double X"}, "nearbyintf": {"$rdi": "float X"}, "nearbyintl": {"$rdi": "long double X"}, "nearbyintfN": {"$rdi": "_FloatN X"}, "nearbyintfNx": {"$rdi": "_FloatNx X"}, "round": {"$rdi": "double X"}, "roundf": {"$rdi": "float X"}, "roundl": {"$rdi": "long double X"}, "roundfN": {"$rdi": "_FloatN X"}, "roundfNx": {"$rdi": "_FloatNx X"}, "roundeven": {"$rdi": "double X"}, "roundevenf": {"$rdi": "float X"}, "roundevenl": {"$rdi": "long double X"}, "roundevenfN": {"$rdi": "_FloatN X"}, "roundevenfNx": {"$rdi": "_FloatNx X"}, "lrint": {"$rdi": "double X"}, "lrintf": {"$rdi": "float X"}, "lrintl": {"$rdi": "long double X"}, "lrintfN": {"$rdi": "_FloatN X"}, "lrintfNx": {"$rdi": "_FloatNx X"}, "llrint": {"$rdi": "double X"}, "llrintf": {"$rdi": "float X"}, "llrintl": {"$rdi": "long double X"}, "llrintfN": {"$rdi": "_FloatN X"}, "llrintfNx": {"$rdi": "_FloatNx X"}, "lround": {"$rdi": "double X"}, "lroundf": {"$rdi": "float X"}, "lroundl": {"$rdi": "long double X"}, "lroundfN": {"$rdi": "_FloatN X"}, "lroundfNx": {"$rdi": "_FloatNx X"}, "llround": {"$rdi": "double X"}, "llroundf": {"$rdi": "float X"}, "llroundl": {"$rdi": "long double X"}, "llroundfN": {"$rdi": "_FloatN X"}, "llroundfNx": {"$rdi": "_FloatNx X"}, "fromfp": {"$rdi": "double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpf": {"$rdi": "float X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpl": {"$rdi": "long double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpfN": {"$rdi": "_FloatN X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpfNx": {"$rdi": "_FloatNx X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfp": {"$rdi": "double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpf": {"$rdi": "float X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpl": {"$rdi": "long double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpfN": {"$rdi": "_FloatN X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpfNx": {"$rdi": "_FloatNx X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpx": {"$rdi": "double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpxf": {"$rdi": "float X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpxl": {"$rdi": "long double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpxfN": {"$rdi": "_FloatN X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "fromfpxfNx": {"$rdi": "_FloatNx X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpx": {"$rdi": "double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpxf": {"$rdi": "float X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpxl": {"$rdi": "long double X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpxfN": {"$rdi": "_FloatN X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "ufromfpxfNx": {"$rdi": "_FloatNx X", "$rsi": "int ROUND", "$rdx": "unsigned int WIDTH"}, "modf": {"$rdi": "double VALUE", "$rsi": "double *INTEGER-PART"}, "modff": {"$rdi": "float VALUE", "$rsi": "float *INTEGER-PART"}, "modfl": {"$rdi": "long double VALUE", "$rsi": "long double *INTEGER-PART"}, "modffN": {"$rdi": "_FloatN VALUE", "$rsi": "_FloatN *INTEGER-PART"}, "modffNx": {"$rdi": "_FloatNx VALUE", "$rsi": "_FloatNx *INTEGER-PART"}, "fmod": {"$rdi": "double NUMERATOR", "$rsi": "double DENOMINATOR"}, "fmodf": {"$rdi": "float NUMERATOR", "$rsi": "float DENOMINATOR"}, "fmodl": {"$rdi": "long double NUMERATOR", "$rsi": "long double DENOMINATOR"}, "fmodfN": {"$rdi": "_FloatN NUMERATOR", "$rsi": "_FloatN DENOMINATOR"}, "fmodfNx": {"$rdi": "_FloatNx NUMERATOR", "$rsi": "_FloatNx DENOMINATOR"}, "remainder": {"$rdi": "double NUMERATOR", "$rsi": "double DENOMINATOR"}, "remainderf": {"$rdi": "float NUMERATOR", "$rsi": "float DENOMINATOR"}, "remainderl": {"$rdi": "long double NUMERATOR", "$rsi": "long double DENOMINATOR"}, "remainderfN": {"$rdi": "_FloatN NUMERATOR", "$rsi": "_FloatN DENOMINATOR"}, "remainderfNx": {"$rdi": "_FloatNx NUMERATOR", "$rsi": "_FloatNx DENOMINATOR"}, "drem": {"$rdi": "double NUMERATOR", "$rsi": "double DENOMINATOR"}, "dremf": {"$rdi": "float NUMERATOR", "$rsi": "float DENOMINATOR"}, "dreml": {"$rdi": "long double NUMERATOR", "$rsi": "long double DENOMINATOR"}, "copysign": {"$rdi": "double X", "$rsi": "double Y"}, "copysignf": {"$rdi": "float X", "$rsi": "float Y"}, "copysignl": {"$rdi": "long double X", "$rsi": "long double Y"}, "copysignfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "copysignfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "signbit": {"$rdi": "_float-type_ X"}, "nextafter": {"$rdi": "double X", "$rsi": "double Y"}, "nextafterf": {"$rdi": "float X", "$rsi": "float Y"}, "nextafterl": {"$rdi": "long double X", "$rsi": "long double Y"}, "nextafterfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "nextafterfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "nexttoward": {"$rdi": "double X", "$rsi": "long double Y"}, "nexttowardf": {"$rdi": "float X", "$rsi": "long double Y"}, "nexttowardl": {"$rdi": "long double X", "$rsi": "long double Y"}, "nextup": {"$rdi": "double X"}, "nextupf": {"$rdi": "float X"}, "nextupl": {"$rdi": "long double X"}, "nextupfN": {"$rdi": "_FloatN X"}, "nextupfNx": {"$rdi": "_FloatNx X"}, "nextdown": {"$rdi": "double X"}, "nextdownf": {"$rdi": "float X"}, "nextdownl": {"$rdi": "long double X"}, "nextdownfN": {"$rdi": "_FloatN X"}, "nextdownfNx": {"$rdi": "_FloatNx X"}, "nan": {"$rdi": "const char *TAGP"}, "nanf": {"$rdi": "const char *TAGP"}, "nanl": {"$rdi": "const char *TAGP"}, "nanfN": {"$rdi": "const char *TAGP"}, "nanfNx": {"$rdi": "const char *TAGP"}, "canonicalize": {"$rdi": "double *CX", "$rsi": "const double *X"}, "canonicalizef": {"$rdi": "float *CX", "$rsi": "const float *X"}, "canonicalizel": {"$rdi": "long double *CX", "$rsi": "const long double *X"}, "canonicalizefN": {"$rdi": "_FloatN *CX", "$rsi": "const _FloatN *X"}, "canonicalizefNx": {"$rdi": "_FloatNx *CX", "$rsi": "const _FloatNx *X"}, "getpayload": {"$rdi": "const double *X"}, "getpayloadf": {"$rdi": "const float *X"}, "getpayloadl": {"$rdi": "const long double *X"}, "getpayloadfN": {"$rdi": "const _FloatN *X"}, "getpayloadfNx": {"$rdi": "const _FloatNx *X"}, "setpayload": {"$rdi": "double *X", "$rsi": "double PAYLOAD"}, "setpayloadf": {"$rdi": "float *X", "$rsi": "float PAYLOAD"}, "setpayloadl": {"$rdi": "long double *X", "$rsi": "long double PAYLOAD"}, "setpayloadfN": {"$rdi": "_FloatN *X", "$rsi": "_FloatN PAYLOAD"}, "setpayloadfNx": {"$rdi": "_FloatNx *X", "$rsi": "_FloatNx PAYLOAD"}, "setpayloadsig": {"$rdi": "double *X", "$rsi": "double PAYLOAD"}, "setpayloadsigf": {"$rdi": "float *X", "$rsi": "float PAYLOAD"}, "setpayloadsigl": {"$rdi": "long double *X", "$rsi": "long double PAYLOAD"}, "setpayloadsigfN": {"$rdi": "_FloatN *X", "$rsi": "_FloatN PAYLOAD"}, "setpayloadsigfNx": {"$rdi": "_FloatNx *X", "$rsi": "_FloatNx PAYLOAD"}, "totalorder": {"$rdi": "const double *X", "$rsi": "const double *Y"}, "totalorderf": {"$rdi": "const float *X", "$rsi": "const float *Y"}, "totalorderl": {"$rdi": "const long double *X", "$rsi": "const long double *Y"}, "totalorderfN": {"$rdi": "const _FloatN *X", "$rsi": "const _FloatN *Y"}, "totalorderfNx": {"$rdi": "const _FloatNx *X", "$rsi": "const _FloatNx *Y"}, "totalordermag": {"$rdi": "const double *X", "$rsi": "const double *Y"}, "totalordermagf": {"$rdi": "const float *X", "$rsi": "const float *Y"}, "totalordermagl": {"$rdi": "const long double *X", "$rsi": "const long double *Y"}, "totalordermagfN": {"$rdi": "const _FloatN *X", "$rsi": "const _FloatN *Y"}, "totalordermagfNx": {"$rdi": "const _FloatNx *X", "$rsi": "const _FloatNx *Y"}, "fmin": {"$rdi": "double X", "$rsi": "double Y"}, "fminf": {"$rdi": "float X", "$rsi": "float Y"}, "fminl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fminfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fminfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fmax": {"$rdi": "double X", "$rsi": "double Y"}, "fmaxf": {"$rdi": "float X", "$rsi": "float Y"}, "fmaxl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fmaxfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fmaxfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fminmag": {"$rdi": "double X", "$rsi": "double Y"}, "fminmagf": {"$rdi": "float X", "$rsi": "float Y"}, "fminmagl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fminmagfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fminmagfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fmaxmag": {"$rdi": "double X", "$rsi": "double Y"}, "fmaxmagf": {"$rdi": "float X", "$rsi": "float Y"}, "fmaxmagl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fmaxmagfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fmaxmagfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fdim": {"$rdi": "double X", "$rsi": "double Y"}, "fdimf": {"$rdi": "float X", "$rsi": "float Y"}, "fdiml": {"$rdi": "long double X", "$rsi": "long double Y"}, "fdimfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fdimfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fma": {"$rdi": "double X", "$rsi": "double Y", "$rdx": "double Z"}, "fmaf": {"$rdi": "float X", "$rsi": "float Y", "$rdx": "float Z"}, "fmal": {"$rdi": "long double X", "$rsi": "long double Y", "$rdx": "long double Z"}, "fmafN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y", "$rdx": "_FloatN Z"}, "fmafNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y", "$rdx": "_FloatNx Z"}, "fadd": {"$rdi": "double X", "$rsi": "double Y"}, "faddl": {"$rdi": "long double X", "$rsi": "long double Y"}, "daddl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fMaddfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMaddfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fMxaddfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMxaddfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fsub": {"$rdi": "double X", "$rsi": "double Y"}, "fsubl": {"$rdi": "long double X", "$rsi": "long double Y"}, "dsubl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fMsubfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMsubfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fMxsubfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMxsubfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fmul": {"$rdi": "double X", "$rsi": "double Y"}, "fmull": {"$rdi": "long double X", "$rsi": "long double Y"}, "dmull": {"$rdi": "long double X", "$rsi": "long double Y"}, "fMmulfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMmulfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fMxmulfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMxmulfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fdiv": {"$rdi": "double X", "$rsi": "double Y"}, "fdivl": {"$rdi": "long double X", "$rsi": "long double Y"}, "ddivl": {"$rdi": "long double X", "$rsi": "long double Y"}, "fMdivfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMdivfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "fMxdivfN": {"$rdi": "_FloatN X", "$rsi": "_FloatN Y"}, "fMxdivfNx": {"$rdi": "_FloatNx X", "$rsi": "_FloatNx Y"}, "creal": {"$rdi": "complex double Z"}, "crealf": {"$rdi": "complex float Z"}, "creall": {"$rdi": "complex long double Z"}, "crealfN": {"$rdi": "complex _FloatN Z"}, "crealfNx": {"$rdi": "complex _FloatNx Z"}, "cimag": {"$rdi": "complex double Z"}, "cimagf": {"$rdi": "complex float Z"}, "cimagl": {"$rdi": "complex long double Z"}, "cimagfN": {"$rdi": "complex _FloatN Z"}, "cimagfNx": {"$rdi": "complex _FloatNx Z"}, "conj": {"$rdi": "complex double Z"}, "conjf": {"$rdi": "complex float Z"}, "conjl": {"$rdi": "complex long double Z"}, "conjfN": {"$rdi": "complex _FloatN Z"}, "conjfNx": {"$rdi": "complex _FloatNx Z"}, "carg": {"$rdi": "complex double Z"}, "cargf": {"$rdi": "complex float Z"}, "cargl": {"$rdi": "complex long double Z"}, "cargfN": {"$rdi": "complex _FloatN Z"}, "cargfNx": {"$rdi": "complex _FloatNx Z"}, "cproj": {"$rdi": "complex double Z"}, "cprojf": {"$rdi": "complex float Z"}, "cprojl": {"$rdi": "complex long double Z"}, "cprojfN": {"$rdi": "complex _FloatN Z"}, "cprojfNx": {"$rdi": "complex _FloatNx Z"}, "strtol": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstol": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoul": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoul": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoll": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoll": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoq": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoq": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoull": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoull": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtouq": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstouq": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoimax": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoimax": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "strtoumax": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR", "$rdx": "int BASE"}, "wcstoumax": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR", "$rdx": "int BASE"}, "atol": {"$rdi": "const char *STRING"}, "atoi": {"$rdi": "const char *STRING"}, "atoll": {"$rdi": "const char *STRING"}, "strtod": {"$rdi": "const char *restrict STRING", "$rsi": "char **restrict TAILPTR"}, "strtof": {"$rdi": "const char *STRING", "$rsi": "char **TAILPTR"}, "strtold": {"$rdi": "const char *STRING", "$rsi": "char **TAILPTR"}, "strtofN": {"$rdi": "const char *STRING", "$rsi": "char **TAILPTR"}, "strtofNx": {"$rdi": "const char *STRING", "$rsi": "char **TAILPTR"}, "wcstod": {"$rdi": "const wchar_t *restrict STRING", "$rsi": "wchar_t **restrict TAILPTR"}, "wcstof": {"$rdi": "const wchar_t *STRING", "$rsi": "wchar_t **TAILPTR"}, "wcstold": {"$rdi": "const wchar_t *STRING", "$rsi": "wchar_t **TAILPTR"}, "wcstofN": {"$rdi": "const wchar_t *STRING", "$rsi": "wchar_t **TAILPTR"}, "wcstofNx": {"$rdi": "const wchar_t *STRING", "$rsi": "wchar_t **TAILPTR"}, "atof": {"$rdi": "const char *STRING"}, "strfromd": {"$rdi": "char *restrict STRING", "$rsi": "size_t SIZE", "$rdx": "const char *restrict FORMAT", "$r10": "double VALUE"}, "strfromf": {"$rdi": "char *restrict STRING", "$rsi": "size_t SIZE", "$rdx": "const char *restrict FORMAT", "$r10": "float VALUE"}, "strfroml": {"$rdi": "char *restrict STRING", "$rsi": "size_t SIZE", "$rdx": "const char *restrict FORMAT", "$r10": "long double VALUE"}, "strfromfN": {"$rdi": "char *restrict STRING", "$rsi": "size_t SIZE", "$rdx": "const char *restrict FORMAT", "$r10": "_FloatN VALUE"}, "strfromfNx": {"$rdi": "char *restrict STRING", "$rsi": "size_t SIZE", "$rdx": "const char *restrict FORMAT", "$r10": "_FloatNx VALUE"}, "ecvt": {"$rdi": "double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG"}, "fcvt": {"$rdi": "double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG"}, "gcvt": {"$rdi": "double VALUE", "$rsi": "int NDIGIT", "$rdx": "char *BUF"}, "qecvt": {"$rdi": "long double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG"}, "qfcvt": {"$rdi": "long double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG"}, "qgcvt": {"$rdi": "long double VALUE", "$rsi": "int NDIGIT", "$rdx": "char *BUF"}, "ecvt_r": {"$rdi": "double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG", "$r8": "char *BUF", "$r9": "size_t LEN"}, "fcvt_r": {"$rdi": "double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG", "$r8": "char *BUF", "$r9": "size_t LEN"}, "qecvt_r": {"$rdi": "long double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG", "$r8": "char *BUF", "$r9": "size_t LEN"}, "qfcvt_r": {"$rdi": "long double VALUE", "$rsi": "int NDIGIT", "$rdx": "int *DECPT", "$r10": "int *NEG", "$r8": "char *BUF", "$r9": "size_t LEN"}, "difftime": {"$rdi": "time_t END", "$rsi": "time_t BEGIN"}, "clock": {"$rdi": "void"}, "times": {"$rdi": "struct tms *BUFFER"}, "time": {"$rdi": "time_t *RESULT"}, "clock_gettime": {"$rdi": "clockid_t CLOCK", "$rsi": "struct timespec *TS"}, "clock_getres": {"$rdi": "clockid_t CLOCK", "$rsi": "struct timespec *RES"}, "gettimeofday": {"$rdi": "struct timeval *TP", "$rsi": "void *TZP"}, "clock_settime": {"$rdi": "clockid_t CLOCK", "$rsi": "const struct timespec *TS"}, "ntp_gettime": {"$rdi": "struct ntptimeval *TPTR"}, "ntp_adjtime": {"$rdi": "struct timex *TPTR"}, "adjtime": {"$rdi": "const struct timeval *DELTA", "$rsi": "struct timeval *OLDDELTA"}, "stime": {"$rdi": "const time_t *NEWTIME"}, "adjtimex": {"$rdi": "struct timex *TIMEX"}, "settimeofday": {"$rdi": "const struct timeval *TP", "$rsi": "const void *TZP"}, "localtime": {"$rdi": "const time_t *TIME"}, "localtime_r": {"$rdi": "const time_t *TIME", "$rsi": "struct tm *RESULTP"}, "gmtime": {"$rdi": "const time_t *TIME"}, "gmtime_r": {"$rdi": "const time_t *TIME", "$rsi": "struct tm *RESULTP"}, "mktime": {"$rdi": "struct tm *BROKENTIME"}, "timelocal": {"$rdi": "struct tm *BROKENTIME"}, "timegm": {"$rdi": "struct tm *BROKENTIME"}, "asctime": {"$rdi": "const struct tm *BROKENTIME"}, "asctime_r": {"$rdi": "const struct tm *BROKENTIME", "$rsi": "char *BUFFER"}, "ctime": {"$rdi": "const time_t *TIME"}, "ctime_r": {"$rdi": "const time_t *TIME", "$rsi": "char *BUFFER"}, "strftime": {"$rdi": "char *S", "$rsi": "size_t SIZE", "$rdx": "const char *TEMPLATE", "$r10": "const struct tm *BROKENTIME"}, "wcsftime": {"$rdi": "wchar_t *S", "$rsi": "size_t SIZE", "$rdx": "const wchar_t *TEMPLATE", "$r10": "const struct tm *BROKENTIME"}, "strptime": {"$rdi": "const char *S", "$rsi": "const char *FMT", "$rdx": "struct tm *TP"}, "getdate": {"$rdi": "const char *STRING"}, "getdate_r": {"$rdi": "const char *STRING", "$rsi": "struct tm *TP"}, "tzset": {"$rdi": "void"}, "setitimer": {"$rdi": "int WHICH", "$rsi": "const struct itimerval *NEW", "$rdx": "struct itimerval *OLD"}, "getitimer": {"$rdi": "int WHICH", "$rsi": "struct itimerval *OLD"}, "alarm": {"$rdi": "unsigned int SECONDS"}, "sleep": {"$rdi": "unsigned int SECONDS"}, "nanosleep": {"$rdi": "const struct timespec *REQUESTED_TIME", "$rsi": "struct timespec *REMAINING"}, "getrusage": {"$rdi": "int PROCESSES", "$rsi": "struct rusage *RUSAGE"}, "vtimes": {"$rdi": "struct vtimes *CURRENT", "$rsi": "struct vtimes *CHILD"}, "getrlimit": {"$rdi": "int RESOURCE", "$rsi": "struct rlimit *RLP"}, "getrlimit64": {"$rdi": "int RESOURCE", "$rsi": "struct rlimit64 *RLP"}, "setrlimit": {"$rdi": "int RESOURCE", "$rsi": "const struct rlimit *RLP"}, "setrlimit64": {"$rdi": "int RESOURCE", "$rsi": "const struct rlimit64 *RLP"}, "ulimit": {"$rdi": "int CMD", "$rsi": "..."}, "vlimit": {"$rdi": "int RESOURCE", "$rsi": "int LIMIT"}, "sched_setscheduler": {"$rdi": "pid_t PID", "$rsi": "int POLICY", "$rdx": "const struct sched_param *PARAM"}, "sched_getscheduler": {"$rdi": "pid_t PID"}, "sched_setparam": {"$rdi": "pid_t PID", "$rsi": "const struct sched_param *PARAM"}, "sched_getparam": {"$rdi": "pid_t PID", "$rsi": "struct sched_param *PARAM"}, "sched_get_priority_min": {"$rdi": "int POLICY"}, "sched_get_priority_max": {"$rdi": "int POLICY"}, "sched_rr_get_interval": {"$rdi": "pid_t PID", "$rsi": "struct timespec *INTERVAL"}, "sched_yield": {"$rdi": "void"}, "getpriority": {"$rdi": "int CLASS", "$rsi": "int ID"}, "setpriority": {"$rdi": "int CLASS", "$rsi": "int ID", "$rdx": "int NICEVAL"}, "nice": {"$rdi": "int INCREMENT"}, "sched_getaffinity": {"$rdi": "pid_t PID", "$rsi": "size_t CPUSETSIZE", "$rdx": "cpu_set_t *CPUSET"}, "sched_setaffinity": {"$rdi": "pid_t PID", "$rsi": "size_t CPUSETSIZE", "$rdx": "const cpu_set_t *CPUSET"}, "getcpu": {"$rdi": "unsigned int *cpu", "$rsi": "unsigned int *node"}, "getpagesize": {"$rdi": "void"}, "get_phys_pages": {"$rdi": "void"}, "get_avphys_pages": {"$rdi": "void"}, "get_nprocs_conf": {"$rdi": "void"}, "get_nprocs": {"$rdi": "void"}, "getloadavg": {"$rdi": "double LOADAVG[]", "$rsi": "int NELEM"}, "longjmp": {"$rdi": "jmp_buf STATE", "$rsi": "int VALUE"}, "sigsetjmp": {"$rdi": "sigjmp_buf STATE", "$rsi": "int SAVESIGS"}, "siglongjmp": {"$rdi": "sigjmp_buf STATE", "$rsi": "int VALUE"}, "getcontext": {"$rdi": "ucontext_t *UCP"}, "makecontext": {"$rdi": "ucontext_t *UCP", "$rsi": "void (*FUNC) (void)", "$rdx": "int ARGC", "$r10": "..."}, "setcontext": {"$rdi": "const ucontext_t *UCP"}, "swapcontext": {"$rdi": "ucontext_t *restrict OUCP", "$rsi": "const ucontext_t *restrict UCP"}, "strsignal": {"$rdi": "int SIGNUM"}, "psignal": {"$rdi": "int SIGNUM", "$rsi": "const char *MESSAGE"}, "sigdescr_np": {"$rdi": "int SIGNUM"}, "sigabbrev_np": {"$rdi": "int SIGNUM"}, "signal": {"$rdi": "int SIGNUM", "$rsi": "sighandler_t ACTION"}, "sysv_signal": {"$rdi": "int SIGNUM", "$rsi": "sighandler_t ACTION"}, "ssignal": {"$rdi": "int SIGNUM", "$rsi": "sighandler_t ACTION"}, "sigaction": {"$rdi": "int SIGNUM", "$rsi": "const struct sigaction *restrict ACTION", "$rdx": "struct sigaction *restrict OLD-ACTION"}, "raise": {"$rdi": "int SIGNUM"}, "gsignal": {"$rdi": "int SIGNUM"}, "kill": {"$rdi": "pid_t PID", "$rsi": "int SIGNUM"}, "tgkill": {"$rdi": "pid_t PID", "$rsi": "pid_t TID", "$rdx": "int SIGNUM"}, "killpg": {"$rdi": "int PGID", "$rsi": "int SIGNUM"}, "sigemptyset": {"$rdi": "sigset_t *SET"}, "sigfillset": {"$rdi": "sigset_t *SET"}, "sigaddset": {"$rdi": "sigset_t *SET", "$rsi": "int SIGNUM"}, "sigdelset": {"$rdi": "sigset_t *SET", "$rsi": "int SIGNUM"}, "sigismember": {"$rdi": "const sigset_t *SET", "$rsi": "int SIGNUM"}, "sigprocmask": {"$rdi": "int HOW", "$rsi": "const sigset_t *restrict SET", "$rdx": "sigset_t *restrict OLDSET"}, "sigpending": {"$rdi": "sigset_t *SET"}, "pause": {"$rdi": "void"}, "sigsuspend": {"$rdi": "const sigset_t *SET"}, "sigaltstack": {"$rdi": "const stack_t *restrict STACK", "$rsi": "stack_t *restrict OLDSTACK"}, "sigstack": {"$rdi": "struct sigstack *STACK", "$rsi": "struct sigstack *OLDSTACK"}, "siginterrupt": {"$rdi": "int SIGNUM", "$rsi": "int FAILFLAG"}, "sigblock": {"$rdi": "int MASK"}, "sigsetmask": {"$rdi": "int MASK"}, "sigpause": {"$rdi": "int MASK"}, "getopt": {"$rdi": "int ARGC", "$rsi": "char *const *ARGV", "$rdx": "const char *OPTIONS"}, "getopt_long": {"$rdi": "int ARGC", "$rsi": "char *const *ARGV", "$rdx": "const char *SHORTOPTS", "$r10": "const struct option *LONGOPTS", "$r8": "int *INDEXPTR"}, "getopt_long_only": {"$rdi": "int ARGC", "$rsi": "char *const *ARGV", "$rdx": "const char *SHORTOPTS", "$r10": "const struct option *LONGOPTS", "$r8": "int *INDEXPTR"}, "argp_parse": {"$rdi": "const struct argp *ARGP", "$rsi": "int ARGC", "$rdx": "char **ARGV", "$r10": "unsigned FLAGS", "$r8": "int *ARG_INDEX", "$r9": "void *INPUT"}, "argp_usage": {"$rdi": "const struct argp_state *STATE"}, "argp_error": {"$rdi": "const struct argp_state *STATE", "$rsi": "const char *FMT", "$rdx": "..."}, "argp_failure": {"$rdi": "const struct argp_state *STATE", "$rsi": "int STATUS", "$rdx": "int ERRNUM", "$r10": "const char *FMT", "$r8": "..."}, "argp_state_help": {"$rdi": "const struct argp_state *STATE", "$rsi": "FILE *STREAM", "$rdx": "unsigned FLAGS"}, "argp_help": {"$rdi": "const struct argp *ARGP", "$rsi": "FILE *STREAM", "$rdx": "unsigned FLAGS", "$r10": "char *NAME"}, "getsubopt": {"$rdi": "char **OPTIONP", "$rsi": "char *const *TOKENS", "$rdx": "char **VALUEP"}, "getenv": {"$rdi": "const char *NAME"}, "secure_getenv": {"$rdi": "const char *NAME"}, "putenv": {"$rdi": "char *STRING"}, "setenv": {"$rdi": "const char *NAME", "$rsi": "const char *VALUE", "$rdx": "int REPLACE"}, "unsetenv": {"$rdi": "const char *NAME"}, "clearenv": {"$rdi": "void"}, "getauxval": {"$rdi": "unsigned long int TYPE"}, "syscall": {"$rdi": "long int SYSNO", "$rsi": "..."}, "exit": {"$rdi": "int STATUS"}, "atexit": {"$rdi": "void (*FUNCTION) (void)"}, "on_exit": {"$rdi": "void (*FUNCTION)(int STATUS", "$rsi": "void *ARG)", "$rdx": "void *ARG"}, "abort": {"$rdi": "void"}, "_exit": {"$rdi": "int STATUS"}, "_Exit": {"$rdi": "int STATUS"}, "system": {"$rdi": "const char *COMMAND"}, "getpid": {"$rdi": "void"}, "getppid": {"$rdi": "void"}, "gettid": {"$rdi": "void"}, "fork": {"$rdi": "void"}, "vfork": {"$rdi": "void"}, "execv": {"$rdi": "const char *FILENAME", "$rsi": "char *const ARGV[]"}, "execl": {"$rdi": "const char *FILENAME", "$rsi": "const char *ARG0", "$rdx": "..."}, "execve": {"$rdi": "const char *FILENAME", "$rsi": "char *const ARGV[]", "$rdx": "char *const ENV[]"}, "fexecve": {"$rdi": "int FD", "$rsi": "char *const ARGV[]", "$rdx": "char *const ENV[]"}, "execle": {"$rdi": "const char *FILENAME", "$rsi": "const char *ARG0", "$rdx": "...", "$r10": "char *const ENV[]"}, "execvp": {"$rdi": "const char *FILENAME", "$rsi": "char *const ARGV[]"}, "execlp": {"$rdi": "const char *FILENAME", "$rsi": "const char *ARG0", "$rdx": "..."}, "waitpid": {"$rdi": "pid_t PID", "$rsi": "int *STATUS-PTR", "$rdx": "int OPTIONS"}, "wait": {"$rdi": "int *STATUS-PTR"}, "wait4": {"$rdi": "pid_t PID", "$rsi": "int *STATUS-PTR", "$rdx": "int OPTIONS", "$r10": "struct rusage *USAGE"}, "wait3": {"$rdi": "int *STATUS-PTR", "$rsi": "int OPTIONS", "$rdx": "struct rusage *USAGE"}, "semctl": {"$rdi": "int SEMID", "$rsi": "int SEMNUM", "$rdx": "int CMD"}, "semget": {"$rdi": "key_t KEY", "$rsi": "int NSEMS", "$rdx": "int SEMFLG"}, "semop": {"$rdi": "int SEMID", "$rsi": "struct sembuf *SOPS", "$rdx": "size_t NSOPS"}, "semtimedop": {"$rdi": "int SEMID", "$rsi": "struct sembuf *SOPS", "$rdx": "size_t NSOPS", "$r10": "const struct timespec *TIMEOUT"}, "sem_init": {"$rdi": "sem_t *SEM", "$rsi": "int PSHARED", "$rdx": "unsigned int VALUE"}, "sem_destroy": {"$rdi": "sem_t *SEM"}, "*sem_open": {"$rdi": "const char *NAME", "$rsi": "int OFLAG", "$rdx": "..."}, "sem_close": {"$rdi": "sem_t *SEM"}, "sem_unlink": {"$rdi": "const char *NAME"}, "sem_wait": {"$rdi": "sem_t *SEM"}, "sem_timedwait": {"$rdi": "sem_t *SEM", "$rsi": "const struct timespec *ABSTIME"}, "sem_trywait": {"$rdi": "sem_t *SEM"}, "sem_post": {"$rdi": "sem_t *SEM"}, "sem_getvalue": {"$rdi": "sem_t *SEM", "$rsi": "int *SVAL"}, "ctermid": {"$rdi": "char *STRING"}, "setsid": {"$rdi": "void"}, "getsid": {"$rdi": "pid_t PID"}, "getpgrp": {"$rdi": "void"}, "getpgid": {"$rdi": "pid_t PID"}, "setpgid": {"$rdi": "pid_t PID", "$rsi": "pid_t PGID"}, "setpgrp": {"$rdi": "pid_t PID", "$rsi": "pid_t PGID"}, "tcgetpgrp": {"$rdi": "int FILEDES"}, "tcsetpgrp": {"$rdi": "int FILEDES", "$rsi": "pid_t PGID"}, "tcgetsid": {"$rdi": "int FILDES"}, "getuid": {"$rdi": "void"}, "getgid": {"$rdi": "void"}, "geteuid": {"$rdi": "void"}, "getegid": {"$rdi": "void"}, "getgroups": {"$rdi": "int COUNT", "$rsi": "gid_t *GROUPS"}, "seteuid": {"$rdi": "uid_t NEWEUID"}, "setuid": {"$rdi": "uid_t NEWUID"}, "setreuid": {"$rdi": "uid_t RUID", "$rsi": "uid_t EUID"}, "setegid": {"$rdi": "gid_t NEWGID"}, "setgid": {"$rdi": "gid_t NEWGID"}, "setregid": {"$rdi": "gid_t RGID", "$rsi": "gid_t EGID"}, "setgroups": {"$rdi": "size_t COUNT", "$rsi": "const gid_t *GROUPS"}, "initgroups": {"$rdi": "const char *USER", "$rsi": "gid_t GROUP"}, "getgrouplist": {"$rdi": "const char *USER", "$rsi": "gid_t GROUP", "$rdx": "gid_t *GROUPS", "$r10": "int *NGROUPS"}, "getlogin": {"$rdi": "void"}, "cuserid": {"$rdi": "char *STRING"}, "setutent": {"$rdi": "void"}, "getutent": {"$rdi": "void"}, "endutent": {"$rdi": "void"}, "getutid": {"$rdi": "const struct utmp *ID"}, "getutline": {"$rdi": "const struct utmp *LINE"}, "pututline": {"$rdi": "const struct utmp *UTMP"}, "getutent_r": {"$rdi": "struct utmp *BUFFER", "$rsi": "struct utmp **RESULT"}, "getutid_r": {"$rdi": "const struct utmp *ID", "$rsi": "struct utmp *BUFFER", "$rdx": "struct utmp **RESULT"}, "getutline_r": {"$rdi": "const struct utmp *LINE", "$rsi": "struct utmp *BUFFER", "$rdx": "struct utmp **RESULT"}, "utmpname": {"$rdi": "const char *FILE"}, "updwtmp": {"$rdi": "const char *WTMP_FILE", "$rsi": "const struct utmp *UTMP"}, "setutxent": {"$rdi": "void"}, "getutxent": {"$rdi": "void"}, "endutxent": {"$rdi": "void"}, "getutxid": {"$rdi": "const struct utmpx *ID"}, "getutxline": {"$rdi": "const struct utmpx *LINE"}, "pututxline": {"$rdi": "const struct utmpx *UTMP"}, "utmpxname": {"$rdi": "const char *FILE"}, "getutmp": {"$rdi": "const struct utmpx *UTMPX", "$rsi": "struct utmp *UTMP"}, "getutmpx": {"$rdi": "const struct utmp *UTMP", "$rsi": "struct utmpx *UTMPX"}, "login_tty": {"$rdi": "int FILEDES"}, "login": {"$rdi": "const struct utmp *ENTRY"}, "logout": {"$rdi": "const char *UT_LINE"}, "logwtmp": {"$rdi": "const char *UT_LINE", "$rsi": "const char *UT_NAME", "$rdx": "const char *UT_HOST"}, "getpwuid": {"$rdi": "uid_t UID"}, "getpwuid_r": {"$rdi": "uid_t UID", "$rsi": "struct passwd *RESULT_BUF", "$rdx": "char *BUFFER", "$r10": "size_t BUFLEN", "$r8": "struct passwd **RESULT"}, "getpwnam": {"$rdi": "const char *NAME"}, "getpwnam_r": {"$rdi": ""}, "fgetpwent": {"$rdi": "FILE *STREAM"}, "fgetpwent_r": {"$rdi": "FILE *STREAM", "$rsi": "struct passwd *RESULT_BUF", "$rdx": "char *BUFFER", "$r10": "size_t BUFLEN", "$r8": "struct passwd **RESULT"}, "setpwent": {"$rdi": "void"}, "getpwent": {"$rdi": "void"}, "getpwent_r": {"$rdi": "struct passwd *RESULT_BUF", "$rsi": "char *BUFFER", "$rdx": "size_t BUFLEN", "$r10": "struct passwd **RESULT"}, "endpwent": {"$rdi": "void"}, "putpwent": {"$rdi": "const struct passwd *P", "$rsi": "FILE *STREAM"}, "getgrgid": {"$rdi": "gid_t GID"}, "getgrgid_r": {"$rdi": "gid_t GID", "$rsi": "struct group *RESULT_BUF", "$rdx": "char *BUFFER", "$r10": "size_t BUFLEN", "$r8": "struct group **RESULT"}, "getgrnam": {"$rdi": "const char *NAME"}, "getgrnam_r": {"$rdi": ""}, "fgetgrent": {"$rdi": "FILE *STREAM"}, "fgetgrent_r": {"$rdi": "FILE *STREAM", "$rsi": "struct group *RESULT_BUF", "$rdx": "char *BUFFER", "$r10": "size_t BUFLEN", "$r8": "struct group **RESULT"}, "setgrent": {"$rdi": "void"}, "getgrent": {"$rdi": "void"}, "getgrent_r": {"$rdi": "struct group *RESULT_BUF", "$rsi": "char *BUFFER", "$rdx": "size_t BUFLEN", "$r10": "struct group **RESULT"}, "endgrent": {"$rdi": "void"}, "setnetgrent": {"$rdi": "const char *NETGROUP"}, "getnetgrent": {"$rdi": "char **HOSTP", "$rsi": "char **USERP", "$rdx": "char **DOMAINP"}, "getnetgrent_r": {"$rdi": "char **HOSTP", "$rsi": "char **USERP", "$rdx": "char **DOMAINP", "$r10": "char *BUFFER", "$r8": "size_t BUFLEN"}, "endnetgrent": {"$rdi": "void"}, "innetgr": {"$rdi": "const char *NETGROUP", "$rsi": "const char *HOST", "$rdx": "const char *USER", "$r10": "const char *DOMAIN"}, "gethostname": {"$rdi": "char *NAME", "$rsi": "size_t SIZE"}, "sethostname": {"$rdi": "const char *NAME", "$rsi": "size_t LENGTH"}, "getdomainnname": {"$rdi": "char *NAME", "$rsi": "size_t LENGTH"}, "setdomainname": {"$rdi": "const char *NAME", "$rsi": "size_t LENGTH"}, "gethostid": {"$rdi": "void"}, "sethostid": {"$rdi": "long int ID"}, "uname": {"$rdi": "struct utsname *INFO"}, "setfsent": {"$rdi": "void"}, "endfsent": {"$rdi": "void"}, "getfsent": {"$rdi": "void"}, "getfsspec": {"$rdi": "const char *NAME"}, "getfsfile": {"$rdi": "const char *NAME"}, "setmntent": {"$rdi": "const char *FILE", "$rsi": "const char *MODE"}, "endmntent": {"$rdi": "FILE *STREAM"}, "getmntent": {"$rdi": "FILE *STREAM"}, "getmntent_r": {"$rdi": "FILE *STREAM", "$rsi": "struct mntent *RESULT", "$rdx": "char *BUFFER", "$r10": "int BUFSIZE"}, "addmntent": {"$rdi": "FILE *STREAM", "$rsi": "const struct mntent *MNT"}, "hasmntopt": {"$rdi": "const struct mntent *MNT", "$rsi": "const char *OPT"}, "mount": {"$rdi": ""}, "umount2": {"$rdi": "const char *FILE", "$rsi": "int FLAGS"}, "umount": {"$rdi": "const char *FILE"}, "sysconf": {"$rdi": "int PARAMETER"}, "pathconf": {"$rdi": "const char *FILENAME", "$rsi": "int PARAMETER"}, "fpathconf": {"$rdi": "int FILEDES", "$rsi": "int PARAMETER"}, "confstr": {"$rdi": "int PARAMETER", "$rsi": "char *BUF", "$rdx": "size_t LEN"}, "crypt": {"$rdi": "const char *PHRASE", "$rsi": "const char *SALT"}, "crypt_r": {"$rdi": "const char *PHRASE", "$rsi": "const char *SALT", "$rdx": "struct crypt_data *DATA"}, "getentropy": {"$rdi": "void *BUFFER", "$rsi": "size_t LENGTH"}, "getrandom": {"$rdi": "void *BUFFER", "$rsi": "size_t LENGTH", "$rdx": "unsigned int FLAGS"}, "backtrace": {"$rdi": "void **BUFFER", "$rsi": "int SIZE"}, "backtrace_symbols": {"$rdi": "void *const *BUFFER", "$rsi": "int SIZE"}, "backtrace_symbols_fd": {"$rdi": "void *const *BUFFER", "$rsi": "int SIZE", "$rdx": "int FD"}, "thrd_create": {"$rdi": "thrd_t *THR", "$rsi": "thrd_start_t FUNC", "$rdx": "void *ARG"}, "thrd_current": {"$rdi": "void"}, "thrd_equal": {"$rdi": "thrd_t LHS", "$rsi": "thrd_t RHS"}, "thrd_sleep": {"$rdi": "const struct timespec *TIME_POINT", "$rsi": "struct timespec *REMAINING"}, "thrd_yield": {"$rdi": "void"}, "thrd_exit": {"$rdi": "int RES"}, "thrd_detach": {"$rdi": "thrd_t THR"}, "thrd_join": {"$rdi": "thrd_t THR", "$rsi": "int *RES"}, "call_once": {"$rdi": "once_flag *FLAG", "$rsi": "void (*FUNC) (void)"}, "mtx_init": {"$rdi": "mtx_t *MUTEX", "$rsi": "int TYPE"}, "mtx_lock": {"$rdi": "mtx_t *MUTEX"}, "mtx_timedlock": {"$rdi": "mtx_t *restrict MUTEX", "$rsi": "const struct timespec *restrict TIME_POINT"}, "mtx_trylock": {"$rdi": "mtx_t *MUTEX"}, "mtx_unlock": {"$rdi": "mtx_t *MUTEX"}, "mtx_destroy": {"$rdi": "mtx_t *MUTEX"}, "cnd_init": {"$rdi": "cnd_t *COND"}, "cnd_signal": {"$rdi": "cnd_t *COND"}, "cnd_broadcast": {"$rdi": "cnd_t *COND"}, "cnd_wait": {"$rdi": "cnd_t *COND", "$rsi": "mtx_t *MUTEX"}, "cnd_timedwait": {"$rdi": "cnd_t *restrict COND", "$rsi": "mtx_t *restrict MUTEX", "$rdx": "const struct timespec *restrict TIME_POINT"}, "cnd_destroy": {"$rdi": "cnd_t *COND"}, "tss_create": {"$rdi": "tss_t *TSS_KEY", "$rsi": "tss_dtor_t DESTRUCTOR"}, "tss_set": {"$rdi": "tss_t TSS_KEY", "$rsi": "void *VAL"}, "tss_get": {"$rdi": "tss_t TSS_KEY"}, "tss_delete": {"$rdi": "tss_t TSS_KEY"}, "pthread_key_create": {"$rdi": "pthread_key_t *KEY", "$rsi": "void (*DESTRUCTOR)(void*)"}, "pthread_key_delete": {"$rdi": "pthread_key_t KEY"}, "*pthread_getspecific": {"$rdi": "pthread_key_t KEY"}, "pthread_setspecific": {"$rdi": "pthread_key_t KEY", "$rsi": "const void *VALUE"}, "pthread_getattr_default_np": {"$rdi": "pthread_attr_t *ATTR"}, "pthread_setattr_default_np": {"$rdi": "pthread_attr_t *ATTR"}, "pthread_attr_setsigmask_np": {"$rdi": "pthread_attr_t *ATTR", "$rsi": "const sigset_t *SIGMASK"}, "pthread_attr_getsigmask_np": {"$rdi": "const pthread_attr_t *ATTR", "$rsi": "sigset_t *SIGMASK"}, "sem_clockwait": {"$rdi": "sem_t *SEM", "$rsi": "clockid_t CLOCKID", "$rdx": "const struct timespec *ABSTIME"}, "pthread_cond_clockwait": {"$rdi": ""}, "pthread_rwlock_clockrdlock": {"$rdi": "pthread_rwlock_t *RWLOCK", "$rsi": "clockid_t CLOCKID", "$rdx": "const struct timespec *ABSTIME"}, "pthread_rwlock_clockwrlock": {"$rdi": "pthread_rwlock_t *RWLOCK", "$rsi": "clockid_t CLOCKID", "$rdx": "const struct timespec *ABSTIME"}, "pthread_tryjoin_np": {"$rdi": "pthread_t *THREAD", "$rsi": "void **THREAD_RETURN"}, "pthread_timedjoin_np": {"$rdi": "pthread_t *THREAD", "$rsi": "void **THREAD_RETURN", "$rdx": "const struct timespec *ABSTIME"}, "pthread_clockjoin_np": {"$rdi": ""}, "__ppc_get_timebase": {"$rdi": "void"}, "__ppc_get_timebase_freq": {"$rdi": "void"}, "__ppc_yield": {"$rdi": "void"}, "__ppc_mdoio": {"$rdi": "void"}, "__ppc_mdoom": {"$rdi": "void"}, "__ppc_set_ppr_med": {"$rdi": "void"}, "__ppc_set_ppr_low": {"$rdi": "void"}, "__ppc_set_ppr_med_low": {"$rdi": "void"}, "__ppc_set_ppr_very_low": {"$rdi": "void"}, "__ppc_set_ppr_med_high": {"$rdi": "void"}, "__riscv_flush_icache": {"$rdi": "void *START", "$rsi": "void *END", "$rdx": "unsigned long int FLAGS"}} diff --git a/scripts/stack.py b/scripts/stack.py index 910da45..c47a495 100644 --- a/scripts/stack.py +++ b/scripts/stack.py @@ -57,4 +57,3 @@ def do_invoke(self, argv): else: gef_print(titlify("Stack top (higher address)")) return - diff --git a/structs/README.md b/structs/README.md index dbcd7f0..19c8004 100644 --- a/structs/README.md +++ b/structs/README.md @@ -1,10 +1,12 @@ -# gef-structs +## Custom structures -Open repositories of custom structures for GDB Enhanced Features (GEF). Structures are available via the `pcustom` command (often aliased as `dt`) and allow to recreate and parse at runtime a segment of memory as-if you had the structure defined in symbols. +Open repositories of custom structures for GDB Enhanced Features (GEF). Structures are available +via the `pcustom` command (often aliased as `dt`) and allow to recreate and parse at runtime a +segment of memory as-if you had the structure defined in symbols. Example: -``` +```text gef➤ pcustom list [+] Listing custom structures from '/tmp/structs' → /tmp/structs/elf64_t.py (elf64_t) @@ -36,7 +38,8 @@ Start End Offset Perm Path 0x7ffff7d9e000+0x003e e_shstrndx : 68 (c_ushort) ``` -To add a new structure, use the skeleton below (refer to the [`ctypes` documentation](https://docs.python.org/3/library/ctypes.html) for the syntax) +To add a new structure, use the skeleton below (refer to the +[`ctypes` documentation](https://docs.python.org/3/library/ctypes.html) for the syntax) ```python from ctypes import * @@ -50,4 +53,4 @@ class MyStructure(Structure): _values_ = [] ``` -See [`pcustom`](https://hugsy.github.io/commands/pcustom/) for complete documentation \ No newline at end of file +See [`pcustom`](https://hugsy.github.io/commands/pcustom/) for complete documentation diff --git a/tests/binaries/unicorn.c b/tests/binaries/unicorn.c index 1e4c3c9..1dea5d4 100644 --- a/tests/binaries/unicorn.c +++ b/tests/binaries/unicorn.c @@ -11,4 +11,4 @@ int function1() int main() { return function1(); -} \ No newline at end of file +} diff --git a/tests/commands/ropper.py b/tests/commands/ropper.py index 93679e4..f7a2cb4 100644 --- a/tests/commands/ropper.py +++ b/tests/commands/ropper.py @@ -29,4 +29,3 @@ def test_cmd_ropper(self): self.assertNoException(res) self.assertNotIn(": error:", res) self.assertTrue(len(res.splitlines()) > 2) -