1126a8a12Smrg/*
2126a8a12Smrg
3126a8a12SmrgCopyright 1993, 1998  The Open Group
4126a8a12Smrg
5126a8a12SmrgPermission to use, copy, modify, distribute, and sell this software and its
6126a8a12Smrgdocumentation for any purpose is hereby granted without fee, provided that
7126a8a12Smrgthe above copyright notice appear in all copies and that both that
8126a8a12Smrgcopyright notice and this permission notice appear in supporting
9126a8a12Smrgdocumentation.
10126a8a12Smrg
11126a8a12SmrgThe above copyright notice and this permission notice shall be included in
12126a8a12Smrgall copies or substantial portions of the Software.
13126a8a12Smrg
14126a8a12SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15126a8a12SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16126a8a12SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
17126a8a12SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18126a8a12SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19126a8a12SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20126a8a12Smrg
21126a8a12SmrgExcept as contained in this notice, the name of The Open Group shall not be
22126a8a12Smrgused in advertising or otherwise to promote the sale, use or other dealings
23126a8a12Smrgin this Software without prior written authorization from The Open Group.
24126a8a12Smrg
25126a8a12Smrg*/
26126a8a12Smrg
27126a8a12Smrg/*
28126a8a12Smrg * Author: Ralph Mor, X Consortium
29126a8a12Smrg */
30126a8a12Smrg
31126a8a12Smrg#ifndef _SM_H_
32126a8a12Smrg#define _SM_H_
33126a8a12Smrg
34126a8a12Smrg/*
35126a8a12Smrg * Protocol Version
36126a8a12Smrg */
37126a8a12Smrg
38126a8a12Smrg#define SmProtoMajor	1
39126a8a12Smrg#define SmProtoMinor	0
40126a8a12Smrg
41126a8a12Smrg
42126a8a12Smrg/*
43126a8a12Smrg * Interact Style
44126a8a12Smrg */
45126a8a12Smrg
46126a8a12Smrg#define SmInteractStyleNone	0
47126a8a12Smrg#define SmInteractStyleErrors	1
48126a8a12Smrg#define SmInteractStyleAny	2
49126a8a12Smrg
50126a8a12Smrg
51126a8a12Smrg/*
52126a8a12Smrg * Dialog Type
53126a8a12Smrg */
54126a8a12Smrg
55126a8a12Smrg#define SmDialogError		0
56126a8a12Smrg#define SmDialogNormal		1
57126a8a12Smrg
58126a8a12Smrg
59126a8a12Smrg/*
60126a8a12Smrg * Save Type
61126a8a12Smrg */
62126a8a12Smrg
63126a8a12Smrg#define SmSaveGlobal	0
64126a8a12Smrg#define SmSaveLocal	1
65126a8a12Smrg#define SmSaveBoth	2
66126a8a12Smrg
67126a8a12Smrg
68126a8a12Smrg/*
69126a8a12Smrg * Restart Style Hints
70126a8a12Smrg */
71126a8a12Smrg
72126a8a12Smrg#define SmRestartIfRunning	0
73126a8a12Smrg#define SmRestartAnyway		1
74126a8a12Smrg#define SmRestartImmediately	2
75126a8a12Smrg#define SmRestartNever		3
76126a8a12Smrg
77126a8a12Smrg
78126a8a12Smrg/*
79126a8a12Smrg * Property names
80126a8a12Smrg */
81126a8a12Smrg
82126a8a12Smrg#define SmCloneCommand		"CloneCommand"
83126a8a12Smrg#define SmCurrentDirectory	"CurrentDirectory"
84126a8a12Smrg#define SmDiscardCommand	"DiscardCommand"
85126a8a12Smrg#define SmEnvironment		"Environment"
86126a8a12Smrg#define SmProcessID		"ProcessID"
87126a8a12Smrg#define SmProgram		"Program"
88126a8a12Smrg#define SmRestartCommand	"RestartCommand"
89126a8a12Smrg#define SmResignCommand		"ResignCommand"
90126a8a12Smrg#define SmRestartStyleHint	"RestartStyleHint"
91126a8a12Smrg#define SmShutdownCommand	"ShutdownCommand"
92126a8a12Smrg#define SmUserID		"UserID"
93126a8a12Smrg
94126a8a12Smrg
95126a8a12Smrg/*
96126a8a12Smrg * Property types
97126a8a12Smrg */
98126a8a12Smrg
99126a8a12Smrg#define SmCARD8			"CARD8"
100126a8a12Smrg#define SmARRAY8		"ARRAY8"
101126a8a12Smrg#define SmLISTofARRAY8		"LISTofARRAY8"
102126a8a12Smrg
103126a8a12Smrg
104126a8a12Smrg/*
105126a8a12Smrg * SM minor opcodes
106126a8a12Smrg */
107126a8a12Smrg
108126a8a12Smrg#define SM_Error			0
109126a8a12Smrg#define SM_RegisterClient 		1
110126a8a12Smrg#define SM_RegisterClientReply 		2
111126a8a12Smrg#define SM_SaveYourself 		3
112126a8a12Smrg#define SM_SaveYourselfRequest 		4
113126a8a12Smrg#define SM_InteractRequest 		5
114126a8a12Smrg#define SM_Interact 			6
115126a8a12Smrg#define SM_InteractDone 		7
116126a8a12Smrg#define SM_SaveYourselfDone 		8
117126a8a12Smrg#define SM_Die 				9
118126a8a12Smrg#define SM_ShutdownCancelled		10
119126a8a12Smrg#define SM_CloseConnection 		11
120126a8a12Smrg#define SM_SetProperties 		12
121126a8a12Smrg#define SM_DeleteProperties 		13
122126a8a12Smrg#define SM_GetProperties 		14
123126a8a12Smrg#define SM_PropertiesReply 		15
124126a8a12Smrg#define SM_SaveYourselfPhase2Request	16
125126a8a12Smrg#define SM_SaveYourselfPhase2		17
126126a8a12Smrg#define SM_SaveComplete			18
127126a8a12Smrg
128126a8a12Smrg#endif /* _SM_H_ */
129