README.md
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