We have prepared some examples, which might help you to implement your first Sandboxed API library.
- The sandbox definition can be found in the sandbox.h file.
- The (automatically generated) function annotation file (a file providing
prototypes of sandboxed functions) can be found in
bazel-out/genfiles/sandboxed_api/examples/sum/lib/sum-sapi.sapi.hafter a Bazel build.
- The actual execution logic (a.k.a. host code) making use of the exported sandboxed procedures can be found in main_sum.cc.
This is a demo implementation (functional, but currently not used in production) for the zlib library exporting some of its functions, and making them available to the host code.
The demonstrated functionality of the host code is decoding of zlib streams from stdin to stdout.
This SAPI library doesn't use the
sandbox.h file, as it uses the default
Sandbox2 policy, and an embedded SAPI library, so there is no need to provide