SMproto.h revision 126a8a12
1126a8a12Smrg/* $Xorg: SMproto.h,v 1.5 2001/02/09 02:03:30 xorgcvs Exp $ */ 2126a8a12Smrg 3126a8a12Smrg/* 4126a8a12Smrg 5126a8a12SmrgCopyright 1993, 1998 The Open Group 6126a8a12Smrg 7126a8a12SmrgPermission to use, copy, modify, distribute, and sell this software and its 8126a8a12Smrgdocumentation for any purpose is hereby granted without fee, provided that 9126a8a12Smrgthe above copyright notice appear in all copies and that both that 10126a8a12Smrgcopyright notice and this permission notice appear in supporting 11126a8a12Smrgdocumentation. 12126a8a12Smrg 13126a8a12SmrgThe above copyright notice and this permission notice shall be included in 14126a8a12Smrgall copies or substantial portions of the Software. 15126a8a12Smrg 16126a8a12SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17126a8a12SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18126a8a12SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19126a8a12SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 20126a8a12SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21126a8a12SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22126a8a12Smrg 23126a8a12SmrgExcept as contained in this notice, the name of The Open Group shall not be 24126a8a12Smrgused in advertising or otherwise to promote the sale, use or other dealings 25126a8a12Smrgin this Software without prior written authorization from The Open Group. 26126a8a12Smrg 27126a8a12Smrg*/ 28126a8a12Smrg 29126a8a12Smrg/* 30126a8a12Smrg * Author: Ralph Mor, X Consortium 31126a8a12Smrg */ 32126a8a12Smrg 33126a8a12Smrg#ifndef _SMPROTO_H_ 34126a8a12Smrg#define _SMPROTO_H_ 35126a8a12Smrg 36126a8a12Smrg#include <X11/Xmd.h> 37126a8a12Smrg 38126a8a12Smrgtypedef struct { 39126a8a12Smrg CARD8 majorOpcode; 40126a8a12Smrg CARD8 minorOpcode; 41126a8a12Smrg CARD8 unused[2]; 42126a8a12Smrg CARD32 length B32; 43126a8a12Smrg /* n ARRAY8 previousId */ 44126a8a12Smrg} smRegisterClientMsg; 45126a8a12Smrg 46126a8a12Smrgtypedef struct { 47126a8a12Smrg CARD8 majorOpcode; 48126a8a12Smrg CARD8 minorOpcode; 49126a8a12Smrg CARD8 unused[2]; 50126a8a12Smrg CARD32 length B32; 51126a8a12Smrg /* n ARRAY8 clientId */ 52126a8a12Smrg} smRegisterClientReplyMsg; 53126a8a12Smrg 54126a8a12Smrgtypedef struct { 55126a8a12Smrg CARD8 majorOpcode; 56126a8a12Smrg CARD8 minorOpcode; 57126a8a12Smrg CARD8 unused1[2]; 58126a8a12Smrg CARD32 length B32; 59126a8a12Smrg CARD8 saveType; 60126a8a12Smrg CARD8 shutdown; 61126a8a12Smrg CARD8 interactStyle; 62126a8a12Smrg CARD8 fast; 63126a8a12Smrg CARD8 unused2[4]; 64126a8a12Smrg} smSaveYourselfMsg; 65126a8a12Smrg 66126a8a12Smrgtypedef struct { 67126a8a12Smrg CARD8 majorOpcode; 68126a8a12Smrg CARD8 minorOpcode; 69126a8a12Smrg CARD8 unused1[2]; 70126a8a12Smrg CARD32 length B32; 71126a8a12Smrg CARD8 saveType; 72126a8a12Smrg CARD8 shutdown; 73126a8a12Smrg CARD8 interactStyle; 74126a8a12Smrg CARD8 fast; 75126a8a12Smrg CARD8 global; 76126a8a12Smrg CARD8 unused2[3]; 77126a8a12Smrg} smSaveYourselfRequestMsg; 78126a8a12Smrg 79126a8a12Smrgtypedef struct { 80126a8a12Smrg CARD8 majorOpcode; 81126a8a12Smrg CARD8 minorOpcode; 82126a8a12Smrg CARD8 dialogType; 83126a8a12Smrg CARD8 unused; 84126a8a12Smrg CARD32 length B32; 85126a8a12Smrg} smInteractRequestMsg; 86126a8a12Smrg 87126a8a12Smrgtypedef struct { 88126a8a12Smrg CARD8 majorOpcode; 89126a8a12Smrg CARD8 minorOpcode; 90126a8a12Smrg CARD8 unused[2]; 91126a8a12Smrg CARD32 length B32; 92126a8a12Smrg} smInteractMsg; 93126a8a12Smrg 94126a8a12Smrgtypedef struct { 95126a8a12Smrg CARD8 majorOpcode; 96126a8a12Smrg CARD8 minorOpcode; 97126a8a12Smrg CARD8 cancelShutdown; 98126a8a12Smrg CARD8 unused; 99126a8a12Smrg CARD32 length B32; 100126a8a12Smrg} smInteractDoneMsg; 101126a8a12Smrg 102126a8a12Smrgtypedef struct { 103126a8a12Smrg CARD8 majorOpcode; 104126a8a12Smrg CARD8 minorOpcode; 105126a8a12Smrg CARD8 success; 106126a8a12Smrg CARD8 unused; 107126a8a12Smrg CARD32 length B32; 108126a8a12Smrg} smSaveYourselfDoneMsg; 109126a8a12Smrg 110126a8a12Smrgtypedef struct { 111126a8a12Smrg CARD8 majorOpcode; 112126a8a12Smrg CARD8 minorOpcode; 113126a8a12Smrg CARD8 unused[2]; 114126a8a12Smrg CARD32 length B32; 115126a8a12Smrg} smDieMsg; 116126a8a12Smrg 117126a8a12Smrgtypedef struct { 118126a8a12Smrg CARD8 majorOpcode; 119126a8a12Smrg CARD8 minorOpcode; 120126a8a12Smrg CARD8 unused[2]; 121126a8a12Smrg CARD32 length B32; 122126a8a12Smrg} smShutdownCancelledMsg; 123126a8a12Smrg 124126a8a12Smrgtypedef struct { 125126a8a12Smrg CARD8 majorOpcode; 126126a8a12Smrg CARD8 minorOpcode; 127126a8a12Smrg CARD8 unused[2]; 128126a8a12Smrg CARD32 length B32; 129126a8a12Smrg /* b LISTofARRAY8 reasons */ 130126a8a12Smrg} smCloseConnectionMsg; 131126a8a12Smrg 132126a8a12Smrgtypedef struct { 133126a8a12Smrg CARD8 majorOpcode; 134126a8a12Smrg CARD8 minorOpcode; 135126a8a12Smrg CARD8 unused[2]; 136126a8a12Smrg CARD32 length B32; 137126a8a12Smrg /* a LISTofPROPERTY properties */ 138126a8a12Smrg} smSetPropertiesMsg; 139126a8a12Smrg 140126a8a12Smrgtypedef struct { 141126a8a12Smrg CARD8 majorOpcode; 142126a8a12Smrg CARD8 minorOpcode; 143126a8a12Smrg CARD8 unused[2]; 144126a8a12Smrg CARD32 length B32; 145126a8a12Smrg /* a LISTofARRAY8 property names */ 146126a8a12Smrg} smDeletePropertiesMsg; 147126a8a12Smrg 148126a8a12Smrgtypedef struct { 149126a8a12Smrg CARD8 majorOpcode; 150126a8a12Smrg CARD8 minorOpcode; 151126a8a12Smrg CARD8 unused[2]; 152126a8a12Smrg CARD32 length B32; 153126a8a12Smrg} smGetPropertiesMsg; 154126a8a12Smrg 155126a8a12Smrgtypedef struct { 156126a8a12Smrg CARD8 majorOpcode; 157126a8a12Smrg CARD8 minorOpcode; 158126a8a12Smrg CARD8 unused[2]; 159126a8a12Smrg CARD32 length B32; 160126a8a12Smrg /* a LISTofPROPERTY properties */ 161126a8a12Smrg} smPropertiesReplyMsg; 162126a8a12Smrg 163126a8a12Smrgtypedef struct { 164126a8a12Smrg CARD8 majorOpcode; 165126a8a12Smrg CARD8 minorOpcode; 166126a8a12Smrg CARD8 unused[2]; 167126a8a12Smrg CARD32 length B32; 168126a8a12Smrg} smSaveYourselfPhase2RequestMsg; 169126a8a12Smrg 170126a8a12Smrgtypedef struct { 171126a8a12Smrg CARD8 majorOpcode; 172126a8a12Smrg CARD8 minorOpcode; 173126a8a12Smrg CARD8 unused[2]; 174126a8a12Smrg CARD32 length B32; 175126a8a12Smrg} smSaveYourselfPhase2Msg; 176126a8a12Smrg 177126a8a12Smrgtypedef struct { 178126a8a12Smrg CARD8 majorOpcode; 179126a8a12Smrg CARD8 minorOpcode; 180126a8a12Smrg CARD8 unused[2]; 181126a8a12Smrg CARD32 length B32; 182126a8a12Smrg} smSaveCompleteMsg; 183126a8a12Smrg 184126a8a12Smrg 185126a8a12Smrg/* 186126a8a12Smrg * SIZEOF values. These better be multiples of 8. 187126a8a12Smrg */ 188126a8a12Smrg 189126a8a12Smrg#define sz_smRegisterClientMsg 8 190126a8a12Smrg#define sz_smRegisterClientReplyMsg 8 191126a8a12Smrg#define sz_smSaveYourselfMsg 16 192126a8a12Smrg#define sz_smSaveYourselfRequestMsg 16 193126a8a12Smrg#define sz_smInteractRequestMsg 8 194126a8a12Smrg#define sz_smInteractMsg 8 195126a8a12Smrg#define sz_smInteractDoneMsg 8 196126a8a12Smrg#define sz_smSaveYourselfDoneMsg 8 197126a8a12Smrg#define sz_smDieMsg 8 198126a8a12Smrg#define sz_smShutdownCancelledMsg 8 199126a8a12Smrg#define sz_smCloseConnectionMsg 8 200126a8a12Smrg#define sz_smSetPropertiesMsg 8 201126a8a12Smrg#define sz_smDeletePropertiesMsg 8 202126a8a12Smrg#define sz_smGetPropertiesMsg 8 203126a8a12Smrg#define sz_smPropertiesReplyMsg 8 204126a8a12Smrg#define sz_smSaveYourselfPhase2RequestMsg 8 205126a8a12Smrg#define sz_smSaveYourselfPhase2Msg 8 206126a8a12Smrg#define sz_smSaveCompleteMsg 8 207126a8a12Smrg 208126a8a12Smrg#endif /* _SMPROTO_H_ */ 209