1 # Citadel components for Android 2 3 ## `libnos` 4 5 `libnos_datagram` implements the interface for connecting to a Citadel device 6 and transferring datagrams. This is wrapped by the C++ `libnos` library which 7 further supports the transport API. 8 9 ## `citadeld` 10 11 Citadel will be running Nugget. In order to synchronize access to the driver, 12 HALs should proxy all communication via the `citadeld` daemon which will be the 13 only service with driver access. 14 15 Synchronizing with this service, rather than in the driver, allows for easier 16 debugging and fixing should the need arise. 17 18 `CitadeldProxyClient` will implement `NuggetClient` to handle proxying 19 communication via `citadeld` without requiring change to the HALs. 20