aboutsummaryrefslogtreecommitdiffstats
path: root/bus.5
blob: 213f2d28fd61bd06304b0570a64b32a0b2352438 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
.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)