Package org.lwjgl.system

Contains implementation details and platform-specific functionality required to make LWJGL work. Unlike other packages, this package and its sub-packages make no guarantees of forward compatibility. Any public API contained here may change between releases and revisions.

In more detail, this package contains the following:

  • Functionality required for loading native shared libraries (the LWJGL JNI code, as well as 3rd-party libraries) and invoking native functions.
  • Functionality required for efficiently accessing and managing off-heap memory.
  • Platform and operating system specific API bindings.
  • The dyncall bindings, used for implementing native function callbacks via Java code.
  • Miscellaneous bindings for advanced users, or bindings that are not proven to be generally useful yet.
  • Functionality used internally by API bindings. This functionality is unfortunately public, as it is shared by all bindings.

Even though this package is reserved for breaking changes, some of the above functionality may be very useful to advanced users. For this to be practical, the API of certain interfaces and classes will remain as stable as possible. This affects the following classes: