The native_client/src/public/ directory holds header files intended for
NaCl embedders.  That is, things here will be used by code outside of
native_client/ that is part of the implementation of a particular
deployment of NaCl.  This includes both the native OS code (what's
called "trusted" in NaCl implementation parlance) that links in and
calls the NaCl service runtime, and the NaCl-sandbox code (what's called
"untrusted" in NaCl implementation parlance) that is built into an
integrated runtime (IRT) or similar thing.

This does not include NaCl application code.  That is, nothing here
should go into a NaCl SDK, nor into individual NaCl applications.
Things here may be used by NaCl programs that are tests or ancillary
programs of a particular NaCl embedding (e.g., the PNaCl translator).
Anything that is part of the API for NaCl applications but is not part
of a toolchain build belongs instead in native_client/src/include/nacl/.
