1Mojo Public C API 2================= 3 4This directory contains C language bindings for the Mojo Public API. 5 6Environment 7----------- 8 9The environment/ subdirectory defines some common things that, while not part of 10the system API, may be required for GLES2 (for example). These are things that a 11Mojo application may be required to provide to the GLES2 (for example) library 12in order to use it. (However, the Mojo application may implement these things as 13it sees fit.) 14 15GLES2 16----- 17 18The gles2/ subdirectory defines the GLES2 C API that's available to Mojo 19applications. To use GLES2, Mojo applications must link against a dynamic 20library (the exact mechanism being platform-dependent) and use the header files 21in this directory as well as the standard Khronos GLES2 header files. 22 23The reason for this, rather than providing GLES2 using the standard Mojo IPC 24mechanism, is performance: The protocol (and transport mechanisms) used to 25communicate with the Mojo GLES2 service is not stable nor "public" (mainly for 26performance reasons), and using the dynamic library shields the application from 27changes to the underlying system. 28 29System 30------ 31 32The system/ subdirectory provides definitions of the basic low-level API used by 33all Mojo applications (whether directly or indirectly). These consist primarily 34of the IPC primitives used to communicate with Mojo services. 35 36Though the message protocol is stable, the implementation of the transport is 37not, and access to the IPC mechanisms must be via the primitives defined in this 38directory. 39 40Test Support 41------------ 42 43This directory contains a C API for running tests. This API is only available 44under special, specific test conditions. It is not meant for general use by Mojo 45applications. 46