User-Side Hardware Abstraction

The User-Side Hardware Abstraction (HAL) component provides a simple interface for programs to read and set hardware-specific settings, for example, the display contrast.

A base port must define the attributes that clients can use on a phone, and implement any functions that are required to get and set the attributes.

To define attributes, you must change the source of the hal.dll library and rebuild it. Functions that get and set attributes are implemented as HAL handler functions in kernel-side programs, for example, device drivers.