| Mojo Public C API |
| ================= |
| |
| This directory contains C language bindings for the Mojo Public API. |
| |
| Environment |
| ----------- |
| |
| The environment/ subdirectory defines some common things that, while not part of |
| the system API, may be required for GLES2 (for example). These are things that a |
| Mojo application may be required to provide to the GLES2 (for example) library |
| in order to use it. (However, the Mojo application may implement these things as |
| it sees fit.) |
| |
| GLES2 |
| ----- |
| |
| The gles2/ subdirectory defines the GLES2 C API that's available to Mojo |
| applications. To use GLES2, Mojo applications must link against a dynamic |
| library (the exact mechanism being platform-dependent) and use the header files |
| in this directory as well as the standard Khronos GLES2 header files. |
| |
| The reason for this, rather than providing GLES2 using the standard Mojo IPC |
| mechanism, is performance: The protocol (and transport mechanisms) used to |
| communicate with the Mojo GLES2 service is not stable nor "public" (mainly for |
| performance reasons), and using the dynamic library shields the application from |
| changes to the underlying system. |
| |
| System |
| ------ |
| |
| The system/ subdirectory provides definitions of the basic low-level API used by |
| all Mojo applications (whether directly or indirectly). These consist primarily |
| of the IPC primitives used to communicate with Mojo services. |
| |
| Though the message protocol is stable, the implementation of the transport is |
| not, and access to the IPC mechanisms must be via the primitives defined in this |
| directory. |
| |
| Test Support |
| ------------ |
| |
| This directory contains a C API for running tests. This API is only available |
| under special, specific test conditions. It is not meant for general use by Mojo |
| applications. |