mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
8a780a58aa
This change fixes the pipeline behavior when producing targets: * produce and extract now return rp_buffer, which has a start pointer and size * the python api `revng.api` will return on produce/extract either str or bytes depending on the mime type of the container * the GraphQL api will encode bytes in base64
1.1 KiB
1.1 KiB
MIME types
-
MIMEs describe the content of the container in its entirety (not what's contained within)
-
Trying to conform as close as possible to RFC2045 and RFC6838
-
Types:
text/*: the output will be opened in a text editor- everything else: the output needs to be managed by an "external application"
-
Base MIMEs:
- Built-in MIMEs:
application/x-executable-> a binaryapplication/x-object-> an object filetext/plain-> Plain text file
- Custom MIMEs:
text/x.c-> Ctext/x.asm-> Assemblytext/x.yaml-> Plain YAMLimage/svg-> svgtext/x.llvm.ir-> LLVM IRapplication/x.llvm.bc-> LLVM Bitcode
Mimes that are not
text/*orimage/svgwill be transmitted over GraphQL via Base64 encoding - Built-in MIMEs:
-
Suffixes (order matters):
+ptmlLHS is wrapped in PTML+yamlLHS is wrapped in a YAML dictionary with keys being functions metaaddresses (soon: locations)