.TH BUS 5 BUS .SH NAME bus - A simple daemonless system for broadcasting messages locally .SH DESCRIPTION \fBbus\fP is a simple interprocess communication system for broadcasting messages to other processes on the same machine. \fBbus\fP does not use any daemon. Instead, all communication and synchronisation is managed using System V (XSI) semaphores and System V (XSI) shared memory. .PP The command \fBbus create\fP can be used to create new buses. By convention, buses should be stored in \fI$XDG_RUNTIME_DIR/bus\fP, this is what \fBbus create\fP does if no pathname is given. The pathname of the bus should be tracked using \fIBUS_X\fP, where \fIX\fP is replaced with either: .TP .B GENERIC For the bus used in generic cases. That is all but the cases of the buses listed below. .TP .B AUDIO For the bus used in with the audio subsystem is involved. .TP .B VIDEO For the bus used in with the video subsystem is involved. .TP .B INPUT For the bus used in with the input subsystem is involved. .TP .B FILES For the bus used in with the storage subsystem is involved. .PP Messages broadcasted on a bus cannot be longer than 2047 bytes, excluding NULL termination. Message should be encoded in UTF-8, and most not contain the NULL character. .PP Broadcasted message should start with the process ID, or 0 if ephemeral, whence the message originated, followed by a single regular space. .SH SEE ALSO .BR bus (1), .BR libbus (7), .BR semop (2), .BR shmop (2)