The C and C++ Include Header Files
/usr/include/X11/SM/SMlib.h
$ cat -n /usr/include/X11/SM/SMlib.h 1 /* 2 3 Copyright 1993, 1998 The Open Group 4 5 Permission to use, copy, modify, distribute, and sell this software and its 6 documentation for any purpose is hereby granted without fee, provided that 7 the above copyright notice appear in all copies and that both that 8 copyright notice and this permission notice appear in supporting 9 documentation. 10 11 The above copyright notice and this permission notice shall be included in 12 all copies or substantial portions of the Software. 13 14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 18 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 19 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 21 Except as contained in this notice, the name of The Open Group shall not be 22 used in advertising or otherwise to promote the sale, use or other dealings 23 in this Software without prior written authorization from The Open Group. 24 25 */ 26 27 /* 28 * Author: Ralph Mor, X Consortium 29 */ 30 31 #ifndef _SMLIB_H_ 32 #define _SMLIB_H_ 33 34 #include
35 #include
36 37 38 /* 39 * Generic SM pointer 40 */ 41 42 typedef IcePointer SmPointer; 43 44 45 /* 46 * Connection objects. Defined in SMlibint.h 47 */ 48 49 typedef struct _SmcConn *SmcConn; 50 typedef struct _SmsConn *SmsConn; 51 52 53 /* 54 * Session Management property 55 */ 56 57 typedef struct { 58 int length; /* length (in bytes) of the value */ 59 SmPointer value; /* the value */ 60 } SmPropValue; 61 62 typedef struct { 63 char *name; /* name of property */ 64 char *type; /* type of property */ 65 int num_vals; /* number of values in property */ 66 SmPropValue *vals; /* the values */ 67 } SmProp; 68 69 70 71 /* 72 * SmcCloseConnection status return 73 */ 74 75 typedef enum { 76 SmcClosedNow, 77 SmcClosedASAP, 78 SmcConnectionInUse 79 } SmcCloseStatus; 80 81 82 83 /* 84 * Client callbacks 85 */ 86 87 typedef void (*SmcSaveYourselfProc) ( 88 SmcConn /* smcConn */, 89 SmPointer /* clientData */, 90 int /* saveType */, 91 Bool /* shutdown */, 92 int /* interactStyle */, 93 Bool /* fast */ 94 ); 95 96 typedef void (*SmcSaveYourselfPhase2Proc) ( 97 SmcConn /* smcConn */, 98 SmPointer /* clientData */ 99 ); 100 101 typedef void (*SmcInteractProc) ( 102 SmcConn /* smcConn */, 103 SmPointer /* clientData */ 104 ); 105 106 typedef void (*SmcDieProc) ( 107 SmcConn /* smcConn */, 108 SmPointer /* clientData */ 109 ); 110 111 typedef void (*SmcShutdownCancelledProc) ( 112 SmcConn /* smcConn */, 113 SmPointer /* clientData */ 114 ); 115 116 typedef void (*SmcSaveCompleteProc) ( 117 SmcConn /* smcConn */, 118 SmPointer /* clientData */ 119 ); 120 121 typedef void (*SmcPropReplyProc) ( 122 SmcConn /* smcConn */, 123 SmPointer /* clientData */, 124 int /* numProps */, 125 SmProp ** /* props */ 126 ); 127 128 129 /* 130 * Callbacks set up at SmcOpenConnection time 131 */ 132 133 typedef struct { 134 135 struct { 136 SmcSaveYourselfProc callback; 137 SmPointer client_data; 138 } save_yourself; 139 140 struct { 141 SmcDieProc callback; 142 SmPointer client_data; 143 } die; 144 145 struct { 146 SmcSaveCompleteProc callback; 147 SmPointer client_data; 148 } save_complete; 149 150 struct { 151 SmcShutdownCancelledProc callback; 152 SmPointer client_data; 153 } shutdown_cancelled; 154 155 } SmcCallbacks; 156 157 #define SmcSaveYourselfProcMask (1L << 0) 158 #define SmcDieProcMask (1L << 1) 159 #define SmcSaveCompleteProcMask (1L << 2) 160 #define SmcShutdownCancelledProcMask (1L << 3) 161 162 163 164 /* 165 * Session manager callbacks 166 */ 167 168 typedef Status (*SmsRegisterClientProc) ( 169 SmsConn /* smsConn */, 170 SmPointer /* managerData */, 171 char * /* previousId */ 172 ); 173 174 typedef void (*SmsInteractRequestProc) ( 175 SmsConn /* smsConn */, 176 SmPointer /* managerData */, 177 int /* dialogType */ 178 ); 179 180 typedef void (*SmsInteractDoneProc) ( 181 SmsConn /* smsConn */, 182 SmPointer /* managerData */, 183 Bool /* cancelShutdown */ 184 ); 185 186 typedef void (*SmsSaveYourselfRequestProc) ( 187 SmsConn /* smsConn */, 188 SmPointer /* managerData */, 189 int /* saveType */, 190 Bool /* shutdown */, 191 int /* interactStyle */, 192 Bool /* fast */, 193 Bool /* global */ 194 ); 195 196 typedef void (*SmsSaveYourselfPhase2RequestProc) ( 197 SmsConn /* smsConn */, 198 SmPointer /* managerData */ 199 ); 200 201 typedef void (*SmsSaveYourselfDoneProc) ( 202 SmsConn /* smsConn */, 203 SmPointer /* managerData */, 204 Bool /* success */ 205 ); 206 207 typedef void (*SmsCloseConnectionProc) ( 208 SmsConn /* smsConn */, 209 SmPointer /* managerData */, 210 int /* count */, 211 char ** /* reasonMsgs */ 212 ); 213 214 typedef void (*SmsSetPropertiesProc) ( 215 SmsConn /* smsConn */, 216 SmPointer /* managerData */, 217 int /* numProps */, 218 SmProp ** /* props */ 219 ); 220 221 typedef void (*SmsDeletePropertiesProc) ( 222 SmsConn /* smsConn */, 223 SmPointer /* managerData */, 224 int /* numProps */, 225 char ** /* propNames */ 226 ); 227 228 typedef void (*SmsGetPropertiesProc) ( 229 SmsConn /* smsConn */, 230 SmPointer /* managerData */ 231 ); 232 233 234 /* 235 * Callbacks set up by a session manager when a new client connects. 236 */ 237 238 typedef struct { 239 240 struct { 241 SmsRegisterClientProc callback; 242 SmPointer manager_data; 243 } register_client; 244 245 struct { 246 SmsInteractRequestProc callback; 247 SmPointer manager_data; 248 } interact_request; 249 250 struct { 251 SmsInteractDoneProc callback; 252 SmPointer manager_data; 253 } interact_done; 254 255 struct { 256 SmsSaveYourselfRequestProc callback; 257 SmPointer manager_data; 258 } save_yourself_request; 259 260 struct { 261 SmsSaveYourselfPhase2RequestProc callback; 262 SmPointer manager_data; 263 } save_yourself_phase2_request; 264 265 struct { 266 SmsSaveYourselfDoneProc callback; 267 SmPointer manager_data; 268 } save_yourself_done; 269 270 struct { 271 SmsCloseConnectionProc callback; 272 SmPointer manager_data; 273 } close_connection; 274 275 struct { 276 SmsSetPropertiesProc callback; 277 SmPointer manager_data; 278 } set_properties; 279 280 struct { 281 SmsDeletePropertiesProc callback; 282 SmPointer manager_data; 283 } delete_properties; 284 285 struct { 286 SmsGetPropertiesProc callback; 287 SmPointer manager_data; 288 } get_properties; 289 290 } SmsCallbacks; 291 292 293 #define SmsRegisterClientProcMask (1L << 0) 294 #define SmsInteractRequestProcMask (1L << 1) 295 #define SmsInteractDoneProcMask (1L << 2) 296 #define SmsSaveYourselfRequestProcMask (1L << 3) 297 #define SmsSaveYourselfP2RequestProcMask (1L << 4) 298 #define SmsSaveYourselfDoneProcMask (1L << 5) 299 #define SmsCloseConnectionProcMask (1L << 6) 300 #define SmsSetPropertiesProcMask (1L << 7) 301 #define SmsDeletePropertiesProcMask (1L << 8) 302 #define SmsGetPropertiesProcMask (1L << 9) 303 304 305 306 typedef Status (*SmsNewClientProc) ( 307 SmsConn /* smsConn */, 308 SmPointer /* managerData */, 309 unsigned long * /* maskRet */, 310 SmsCallbacks * /* callbacksRet */, 311 char ** /* failureReasonRet */ 312 ); 313 314 315 316 /* 317 * Error handlers 318 */ 319 320 typedef void (*SmcErrorHandler) ( 321 SmcConn /* smcConn */, 322 Bool /* swap */, 323 int /* offendingMinorOpcode */, 324 unsigned long /* offendingSequence */, 325 int /* errorClass */, 326 int /* severity */, 327 SmPointer /* values */ 328 ); 329 330 typedef void (*SmsErrorHandler) ( 331 SmsConn /* smsConn */, 332 Bool /* swap */, 333 int /* offendingMinorOpcode */, 334 unsigned long /* offendingSequence */, 335 int /* errorClass */, 336 int /* severity */, 337 SmPointer /* values */ 338 ); 339 340 341 342 /* 343 * Function Prototypes 344 */ 345 346 _XFUNCPROTOBEGIN 347 348 extern SmcConn SmcOpenConnection ( 349 char * /* networkIdsList */, 350 SmPointer /* context */, 351 int /* xsmpMajorRev */, 352 int /* xsmpMinorRev */, 353 unsigned long /* mask */, 354 SmcCallbacks * /* callbacks */, 355 const char * /* previousId */, 356 char ** /* clientIdRet */, 357 int /* errorLength */, 358 char * /* errorStringRet */ 359 ); 360 361 extern SmcCloseStatus SmcCloseConnection ( 362 SmcConn /* smcConn */, 363 int /* count */, 364 char ** /* reasonMsgs */ 365 ); 366 367 extern void SmcModifyCallbacks ( 368 SmcConn /* smcConn */, 369 unsigned long /* mask */, 370 SmcCallbacks * /* callbacks */ 371 ); 372 373 extern void SmcSetProperties ( 374 SmcConn /* smcConn */, 375 int /* numProps */, 376 SmProp ** /* props */ 377 ); 378 379 extern void SmcDeleteProperties ( 380 SmcConn /* smcConn */, 381 int /* numProps */, 382 char ** /* propNames */ 383 ); 384 385 extern Status SmcGetProperties ( 386 SmcConn /* smcConn */, 387 SmcPropReplyProc /* propReplyProc */, 388 SmPointer /* clientData */ 389 ); 390 391 extern Status SmcInteractRequest ( 392 SmcConn /* smcConn */, 393 int /* dialogType */, 394 SmcInteractProc /* interactProc */, 395 SmPointer /* clientData */ 396 ); 397 398 extern void SmcInteractDone ( 399 SmcConn /* smcConn */, 400 Bool /* cancelShutdown */ 401 ); 402 403 extern void SmcRequestSaveYourself ( 404 SmcConn /* smcConn */, 405 int /* saveType */, 406 Bool /* shutdown */, 407 int /* interactStyle */, 408 Bool /* fast */, 409 Bool /* global */ 410 ); 411 412 extern Status SmcRequestSaveYourselfPhase2 ( 413 SmcConn /* smcConn */, 414 SmcSaveYourselfPhase2Proc /* saveYourselfPhase2Proc */, 415 SmPointer /* clientData */ 416 ); 417 418 extern void SmcSaveYourselfDone ( 419 SmcConn /* smcConn */, 420 Bool /* success */ 421 ); 422 423 extern int SmcProtocolVersion ( 424 SmcConn /* smcConn */ 425 ); 426 427 extern int SmcProtocolRevision ( 428 SmcConn /* smcConn */ 429 ); 430 431 extern char *SmcVendor ( 432 SmcConn /* smcConn */ 433 ); 434 435 extern char *SmcRelease ( 436 SmcConn /* smcConn */ 437 ); 438 439 extern char *SmcClientID ( 440 SmcConn /* smcConn */ 441 ); 442 443 extern IceConn SmcGetIceConnection ( 444 SmcConn /* smcConn */ 445 ); 446 447 extern Status SmsInitialize ( 448 const char * /* vendor */, 449 const char * /* release */, 450 SmsNewClientProc /* newClientProc */, 451 SmPointer /* managerData */, 452 IceHostBasedAuthProc /* hostBasedAuthProc */, 453 int /* errorLength */, 454 char * /* errorStringRet */ 455 ); 456 457 extern char *SmsClientHostName ( 458 SmsConn /* smsConn */ 459 ); 460 461 extern char *SmsGenerateClientID ( 462 SmsConn /* smsConn */ 463 ); 464 465 extern Status SmsRegisterClientReply ( 466 SmsConn /* smsConn */, 467 char * /* clientId */ 468 ); 469 470 extern void SmsSaveYourself ( 471 SmsConn /* smsConn */, 472 int /* saveType */, 473 Bool /* shutdown */, 474 int /* interactStyle */, 475 Bool /* fast */ 476 ); 477 478 extern void SmsSaveYourselfPhase2 ( 479 SmsConn /* smsConn */ 480 ); 481 482 extern void SmsInteract ( 483 SmsConn /* smsConn */ 484 ); 485 486 extern void SmsDie ( 487 SmsConn /* smsConn */ 488 ); 489 490 extern void SmsSaveComplete ( 491 SmsConn /* smsConn */ 492 ); 493 494 extern void SmsShutdownCancelled ( 495 SmsConn /* smsConn */ 496 ); 497 498 extern void SmsReturnProperties ( 499 SmsConn /* smsConn */, 500 int /* numProps */, 501 SmProp ** /* props */ 502 ); 503 504 extern void SmsCleanUp ( 505 SmsConn /* smsConn */ 506 ); 507 508 extern int SmsProtocolVersion ( 509 SmsConn /* smsConn */ 510 ); 511 512 extern int SmsProtocolRevision ( 513 SmsConn /* smsConn */ 514 ); 515 516 extern char *SmsClientID ( 517 SmsConn /* smsConn */ 518 ); 519 520 extern IceConn SmsGetIceConnection ( 521 SmsConn /* smsConn */ 522 ); 523 524 extern SmcErrorHandler SmcSetErrorHandler ( 525 SmcErrorHandler /* handler */ 526 ); 527 528 extern SmsErrorHandler SmsSetErrorHandler ( 529 SmsErrorHandler /* handler */ 530 ); 531 532 extern void SmFreeProperty ( 533 SmProp * /* prop */ 534 ); 535 536 extern void SmFreeReasons ( 537 int /* count */, 538 char ** /* reasonMsgs */ 539 ); 540 541 _XFUNCPROTOEND 542 543 #endif /* _SMLIB_H_ */
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2024 MyWebUniversity.com ™