SMproto.h revision 126a8a12
1/* $Xorg: SMproto.h,v 1.5 2001/02/09 02:03:30 xorgcvs Exp $ */ 2 3/* 4 5Copyright 1993, 1998 The Open Group 6 7Permission to use, copy, modify, distribute, and sell this software and its 8documentation for any purpose is hereby granted without fee, provided that 9the above copyright notice appear in all copies and that both that 10copyright notice and this permission notice appear in supporting 11documentation. 12 13The above copyright notice and this permission notice shall be included in 14all copies or substantial portions of the Software. 15 16THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 20AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 23Except as contained in this notice, the name of The Open Group shall not be 24used in advertising or otherwise to promote the sale, use or other dealings 25in this Software without prior written authorization from The Open Group. 26 27*/ 28 29/* 30 * Author: Ralph Mor, X Consortium 31 */ 32 33#ifndef _SMPROTO_H_ 34#define _SMPROTO_H_ 35 36#include <X11/Xmd.h> 37 38typedef struct { 39 CARD8 majorOpcode; 40 CARD8 minorOpcode; 41 CARD8 unused[2]; 42 CARD32 length B32; 43 /* n ARRAY8 previousId */ 44} smRegisterClientMsg; 45 46typedef struct { 47 CARD8 majorOpcode; 48 CARD8 minorOpcode; 49 CARD8 unused[2]; 50 CARD32 length B32; 51 /* n ARRAY8 clientId */ 52} smRegisterClientReplyMsg; 53 54typedef struct { 55 CARD8 majorOpcode; 56 CARD8 minorOpcode; 57 CARD8 unused1[2]; 58 CARD32 length B32; 59 CARD8 saveType; 60 CARD8 shutdown; 61 CARD8 interactStyle; 62 CARD8 fast; 63 CARD8 unused2[4]; 64} smSaveYourselfMsg; 65 66typedef struct { 67 CARD8 majorOpcode; 68 CARD8 minorOpcode; 69 CARD8 unused1[2]; 70 CARD32 length B32; 71 CARD8 saveType; 72 CARD8 shutdown; 73 CARD8 interactStyle; 74 CARD8 fast; 75 CARD8 global; 76 CARD8 unused2[3]; 77} smSaveYourselfRequestMsg; 78 79typedef struct { 80 CARD8 majorOpcode; 81 CARD8 minorOpcode; 82 CARD8 dialogType; 83 CARD8 unused; 84 CARD32 length B32; 85} smInteractRequestMsg; 86 87typedef struct { 88 CARD8 majorOpcode; 89 CARD8 minorOpcode; 90 CARD8 unused[2]; 91 CARD32 length B32; 92} smInteractMsg; 93 94typedef struct { 95 CARD8 majorOpcode; 96 CARD8 minorOpcode; 97 CARD8 cancelShutdown; 98 CARD8 unused; 99 CARD32 length B32; 100} smInteractDoneMsg; 101 102typedef struct { 103 CARD8 majorOpcode; 104 CARD8 minorOpcode; 105 CARD8 success; 106 CARD8 unused; 107 CARD32 length B32; 108} smSaveYourselfDoneMsg; 109 110typedef struct { 111 CARD8 majorOpcode; 112 CARD8 minorOpcode; 113 CARD8 unused[2]; 114 CARD32 length B32; 115} smDieMsg; 116 117typedef struct { 118 CARD8 majorOpcode; 119 CARD8 minorOpcode; 120 CARD8 unused[2]; 121 CARD32 length B32; 122} smShutdownCancelledMsg; 123 124typedef struct { 125 CARD8 majorOpcode; 126 CARD8 minorOpcode; 127 CARD8 unused[2]; 128 CARD32 length B32; 129 /* b LISTofARRAY8 reasons */ 130} smCloseConnectionMsg; 131 132typedef struct { 133 CARD8 majorOpcode; 134 CARD8 minorOpcode; 135 CARD8 unused[2]; 136 CARD32 length B32; 137 /* a LISTofPROPERTY properties */ 138} smSetPropertiesMsg; 139 140typedef struct { 141 CARD8 majorOpcode; 142 CARD8 minorOpcode; 143 CARD8 unused[2]; 144 CARD32 length B32; 145 /* a LISTofARRAY8 property names */ 146} smDeletePropertiesMsg; 147 148typedef struct { 149 CARD8 majorOpcode; 150 CARD8 minorOpcode; 151 CARD8 unused[2]; 152 CARD32 length B32; 153} smGetPropertiesMsg; 154 155typedef struct { 156 CARD8 majorOpcode; 157 CARD8 minorOpcode; 158 CARD8 unused[2]; 159 CARD32 length B32; 160 /* a LISTofPROPERTY properties */ 161} smPropertiesReplyMsg; 162 163typedef struct { 164 CARD8 majorOpcode; 165 CARD8 minorOpcode; 166 CARD8 unused[2]; 167 CARD32 length B32; 168} smSaveYourselfPhase2RequestMsg; 169 170typedef struct { 171 CARD8 majorOpcode; 172 CARD8 minorOpcode; 173 CARD8 unused[2]; 174 CARD32 length B32; 175} smSaveYourselfPhase2Msg; 176 177typedef struct { 178 CARD8 majorOpcode; 179 CARD8 minorOpcode; 180 CARD8 unused[2]; 181 CARD32 length B32; 182} smSaveCompleteMsg; 183 184 185/* 186 * SIZEOF values. These better be multiples of 8. 187 */ 188 189#define sz_smRegisterClientMsg 8 190#define sz_smRegisterClientReplyMsg 8 191#define sz_smSaveYourselfMsg 16 192#define sz_smSaveYourselfRequestMsg 16 193#define sz_smInteractRequestMsg 8 194#define sz_smInteractMsg 8 195#define sz_smInteractDoneMsg 8 196#define sz_smSaveYourselfDoneMsg 8 197#define sz_smDieMsg 8 198#define sz_smShutdownCancelledMsg 8 199#define sz_smCloseConnectionMsg 8 200#define sz_smSetPropertiesMsg 8 201#define sz_smDeletePropertiesMsg 8 202#define sz_smGetPropertiesMsg 8 203#define sz_smPropertiesReplyMsg 8 204#define sz_smSaveYourselfPhase2RequestMsg 8 205#define sz_smSaveYourselfPhase2Msg 8 206#define sz_smSaveCompleteMsg 8 207 208#endif /* _SMPROTO_H_ */ 209