//! IPC protocol shared between the `loginmanager` greeter (client) and the
//! `loginmanager-daemon` (server).
//!
//! Wire format: each message is a 4-byte little-endian length prefix followed
//! by a serde_json body. Mirrors greetd's framing so existing tooling (socat,
//! ad-hoc Python clients) keeps working.
//!
//! Default socket: `/run/loginmanager/ctrl.sock`, owner `root:_loginmanager`,
//! mode `0666`. The daemon accepts PowerOff / Reboot commands from any
//! user (e.g. the crustace compositor running as an unprivileged user).
//! The auth protocol is only triggered by `BeginAuth`, which still requires
//! valid PAM credentials.

pub mod proto;
#[ cfg( feature = "wire" ) ]
pub mod wire;

pub use proto::*;

pub const DEFAULT_SOCKET_PATH: &str = "/run/loginmanager/ctrl.sock";
