Fix potential issue stopping process services.
[oweals/dinit.git] / src / control-cmds.h
1 // Dinit control command packet types
2
3 // Requests:
4
5 // Query protocol version:
6 constexpr static int DINIT_CP_QUERYVERSION = 0;
7
8 // Find (but don't load) a service:
9 constexpr static int DINIT_CP_FINDSERVICE = 1;
10
11 // Find or load a service:
12 constexpr static int DINIT_CP_LOADSERVICE = 2;
13
14 // Start or stop a service:
15 constexpr static int DINIT_CP_STARTSERVICE = 3;
16 constexpr static int DINIT_CP_STOPSERVICE  = 4;
17 constexpr static int DINIT_CP_WAKESERVICE = 5;
18 constexpr static int DINIT_CP_RELEASESERVICE = 6;
19
20 constexpr static int DINIT_CP_UNPINSERVICE = 7;
21
22 // List services:
23 constexpr static int DINIT_CP_LISTSERVICES = 8;
24
25 // Shutdown:
26 constexpr static int DINIT_CP_SHUTDOWN = 10;
27  // followed by 1-byte shutdown type
28
29
30
31 // Replies:
32
33 // Reply: ACK/NAK to request
34 constexpr static int DINIT_RP_ACK = 50;
35 constexpr static int DINIT_RP_NAK = 51;
36
37 // Request was bad (connection will be closed)
38 constexpr static int DINIT_RP_BADREQ = 52;
39
40 // Connection being closed due to out-of-memory condition
41 constexpr static int DINIT_RP_OOM = 53;
42
43 // Start service replies:
44 constexpr static int DINIT_RP_SERVICELOADERR = 54;
45 constexpr static int DINIT_RP_SERVICEOOM = 55; // couldn't start due to out-of-memory
46
47 constexpr static int DINIT_RP_SSISSUED = 56;  // service start/stop was issued (includes 4-byte service handle)
48 constexpr static int DINIT_RP_SSREDUNDANT = 57;  // service was already started/stopped (or for stop, not loaded)
49
50 // Query version response:
51 constexpr static int DINIT_RP_CPVERSION = 58;
52
53 // Service record loaded/found
54 constexpr static int DINIT_RP_SERVICERECORD = 59;
55 //     followed by 4-byte service handle, 1-byte service state
56
57 // Couldn't find/load service
58 constexpr static int DINIT_RP_NOSERVICE = 60;
59
60 // Service is already started/stopped
61 constexpr static int DINIT_RP_ALREADYSS = 61;
62
63 // Information on a service / list complete:
64 constexpr static int DINIT_RP_SVCINFO = 62;
65 constexpr static int DINIT_RP_LISTDONE = 63;
66
67 // Information:
68
69 // Service event occurred (4-byte service handle, 1 byte event code)
70 constexpr static int DINIT_IP_SERVICEEVENT = 100;
71
72 // rollback completed
73 constexpr static int DINIT_ROLLBACK_COMPLETED = 101;