Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/X11/InitialI.h
$ cat -n /usr/include/X11/InitialI.h 1 /*********************************************************** 2 3 Copyright 1987, 1988, 1994, 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 Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. 27 28 All Rights Reserved 29 30 Permission to use, copy, modify, and distribute this software and its 31 documentation for any purpose and without fee is hereby granted, 32 provided that the above copyright notice appear in all copies and that 33 both that copyright notice and this permission notice appear in 34 supporting documentation, and that the name of Digital not be 35 used in advertising or publicity pertaining to distribution of the 36 software without specific, written prior permission. 37 38 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 39 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 40 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 41 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 42 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 43 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 44 SOFTWARE. 45 46 ******************************************************************/ 47 48 #ifndef _XtinitialI_h 49 #define _XtinitialI_h 50 51 /**************************************************************** 52 * 53 * Displays 54 * 55 ****************************************************************/ 56 57 #ifndef X_NOT_POSIX 58 #ifdef _POSIX_SOURCE 59 #include
60 #else 61 #define _POSIX_SOURCE 62 #include
63 #undef _POSIX_SOURCE 64 #endif 65 #endif 66 #ifndef PATH_MAX 67 #ifdef WIN32 68 #define PATH_MAX 512 69 #else 70 #include
71 #endif 72 #ifndef PATH_MAX 73 #ifdef MAXPATHLEN 74 #define PATH_MAX MAXPATHLEN 75 #else 76 #define PATH_MAX 1024 77 #endif 78 #endif 79 #endif 80 81 #include
82 #include
83 84 _XFUNCPROTOBEGIN 85 86 typedef struct _TimerEventRec { 87 struct timeval te_timer_value; 88 struct _TimerEventRec *te_next; 89 XtTimerCallbackProc te_proc; 90 XtAppContext app; 91 XtPointer te_closure; 92 } TimerEventRec; 93 94 typedef struct _InputEvent { 95 XtInputCallbackProc ie_proc; 96 XtPointer ie_closure; 97 struct _InputEvent *ie_next; 98 struct _InputEvent *ie_oq; 99 XtAppContext app; 100 int ie_source; 101 XtInputMask ie_condition; 102 } InputEvent; 103 104 typedef struct _SignalEventRec { 105 XtSignalCallbackProc se_proc; 106 XtPointer se_closure; 107 struct _SignalEventRec *se_next; 108 XtAppContext app; 109 Boolean se_notice; 110 } SignalEventRec; 111 112 typedef struct _WorkProcRec { 113 XtWorkProc proc; 114 XtPointer closure; 115 struct _WorkProcRec *next; 116 XtAppContext app; 117 } WorkProcRec; 118 119 120 typedef struct 121 { 122 #ifndef USE_POLL 123 fd_set rmask; 124 fd_set wmask; 125 fd_set emask; 126 #endif 127 int nfds; 128 } FdStruct; 129 130 typedef struct _LangProcRec { 131 XtLanguageProc proc; 132 XtPointer closure; 133 } LangProcRec; 134 135 typedef struct _ProcessContextRec { 136 XtAppContext defaultAppContext; 137 XtAppContext appContextList; 138 ConverterTable globalConverterTable; 139 LangProcRec globalLangProcRec; 140 } ProcessContextRec, *ProcessContext; 141 142 typedef struct { 143 char* start; 144 char* current; 145 int bytes_remaining; 146 } Heap; 147 148 typedef struct _DestroyRec DestroyRec; 149 150 151 typedef struct _XtAppStruct { 152 XtAppContext next; /* link to next app in process context */ 153 ProcessContext process; /* back pointer to our process context */ 154 InternalCallbackList destroy_callbacks; 155 Display **list; 156 TimerEventRec *timerQueue; 157 WorkProcRec *workQueue; 158 InputEvent **input_list; 159 InputEvent *outstandingQueue; 160 SignalEventRec *signalQueue; 161 XrmDatabase errorDB; 162 XtErrorMsgHandler errorMsgHandler, warningMsgHandler; 163 XtErrorHandler errorHandler, warningHandler; 164 struct _ActionListRec *action_table; 165 ConverterTable converterTable; 166 unsigned long selectionTimeout; 167 FdStruct fds; 168 short count; /* num of assigned entries in list */ 169 short max; /* allocate size of list */ 170 short last; 171 short input_count; 172 short input_max; /* elts input_list init'd with */ 173 Boolean sync, being_destroyed, error_inited; 174 #ifndef NO_IDENTIFY_WINDOWS 175 Boolean identify_windows; /* debugging hack */ 176 #endif 177 Heap heap; 178 String * fallback_resources; /* Set by XtAppSetFallbackResources. */ 179 struct _ActionHookRec* action_hook_list; 180 struct _BlockHookRec* block_hook_list; 181 int destroy_list_size; /* state data for 2-phase destroy */ 182 int destroy_count; 183 int dispatch_level; 184 DestroyRec* destroy_list; 185 Widget in_phase2_destroy; 186 LangProcRec langProcRec; 187 struct _TMBindCacheRec * free_bindings; 188 _XtString display_name_tried; 189 Display **dpy_destroy_list; 190 int dpy_destroy_count; 191 Boolean exit_flag; 192 Boolean rebuild_fdlist; 193 #ifdef XTHREADS 194 LockPtr lock_info; 195 ThreadAppProc lock; 196 ThreadAppProc unlock; 197 ThreadAppYieldLockProc yield_lock; 198 ThreadAppRestoreLockProc restore_lock; 199 ThreadAppProc free_lock; 200 #endif 201 } XtAppStruct; 202 203 extern void _XtHeapInit(Heap* heap); 204 extern void _XtHeapFree(Heap* heap); 205 206 #ifdef XTTRACEMEMORY 207 208 209 extern char *_XtHeapMalloc( 210 Heap* /* heap */, 211 Cardinal /* size */, 212 const char */* file */, 213 int /* line */ 214 ); 215 216 #define _XtHeapAlloc(heap,bytes) _XtHeapMalloc(heap, bytes, __FILE__, __LINE__) 217 218 #else /* XTTRACEMEMORY */ 219 220 extern char* _XtHeapAlloc( 221 Heap* /* heap */, 222 Cardinal /* size */ 223 ); 224 225 #endif /* XTTRACEMEMORY */ 226 227 extern void _XtSetDefaultErrorHandlers( 228 XtErrorMsgHandler* /* errMsg */, 229 XtErrorMsgHandler* /* warnMsg */, 230 XtErrorHandler* /* err */, 231 XtErrorHandler* /* warn */ 232 ); 233 234 extern void _XtSetDefaultSelectionTimeout( 235 unsigned long* /* timeout */ 236 ); 237 238 extern XtAppContext _XtDefaultAppContext( 239 void 240 ); 241 242 extern ProcessContext _XtGetProcessContext( 243 void 244 ); 245 246 Display * 247 _XtAppInit( 248 XtAppContext* /* app_context_return */, 249 String /* application_class */, 250 XrmOptionDescRec* /* options */, 251 Cardinal /* num_options */, 252 int* /* argc_in_out */, 253 _XtString** /* argv_in_out */, 254 String* /* fallback_resources */ 255 ); 256 257 extern void _XtDestroyAppContexts( 258 void 259 ); 260 261 extern void _XtCloseDisplays( 262 XtAppContext /* app */ 263 ); 264 265 extern int _XtAppDestroyCount; 266 267 extern int _XtWaitForSomething( 268 XtAppContext /* app */, 269 _XtBoolean /* ignoreEvents */, 270 _XtBoolean /* ignoreTimers */, 271 _XtBoolean /* ignoreInputs */, 272 _XtBoolean /* ignoreSignals */, 273 _XtBoolean /* block */, 274 #ifdef XTHREADS 275 _XtBoolean /* drop_lock */, 276 #endif 277 unsigned long* /* howlong */ 278 ); 279 280 typedef struct _CaseConverterRec *CaseConverterPtr; 281 typedef struct _CaseConverterRec { 282 KeySym start; /* first KeySym valid in converter */ 283 KeySym stop; /* last KeySym valid in converter */ 284 XtCaseProc proc; /* case converter function */ 285 CaseConverterPtr next; /* next converter record */ 286 } CaseConverterRec; 287 288 typedef struct _ExtensionSelectorRec { 289 XtExtensionSelectProc proc; 290 int min, max; 291 XtPointer client_data; 292 } ExtSelectRec; 293 294 typedef struct _XtPerDisplayStruct { 295 InternalCallbackList destroy_callbacks; 296 Region region; 297 CaseConverterPtr case_cvt; /* user-registered case converters */ 298 XtKeyProc defaultKeycodeTranslator; 299 XtAppContext appContext; 300 unsigned long keysyms_serial; /* for tracking MappingNotify events */ 301 KeySym *keysyms; /* keycode to keysym table */ 302 int keysyms_per_keycode; /* number of keysyms for each keycode*/ 303 int min_keycode, max_keycode; /* range of keycodes */ 304 KeySym *modKeysyms; /* keysym values for modToKeysysm */ 305 ModToKeysymTable *modsToKeysyms; /* modifiers to Keysysms index table*/ 306 unsigned char isModifier[32]; /* key-is-modifier-p bit table */ 307 KeySym lock_meaning; /* Lock modifier meaning */ 308 Modifiers mode_switch; /* keyboard group modifiers */ 309 Modifiers num_lock; /* keyboard numlock modifiers */ 310 Boolean being_destroyed; 311 Boolean rv; /* reverse_video resource */ 312 XrmName name; /* resolved app name */ 313 XrmClass class; /* application class */ 314 Heap heap; 315 struct _GCrec *GClist; /* support for XtGetGC */ 316 Drawable **pixmap_tab; /* ditto for XtGetGC */ 317 String language; /* XPG language string */ 318 XEvent last_event; /* last event dispatched */ 319 Time last_timestamp; /* from last event dispatched */ 320 int multi_click_time; /* for XtSetMultiClickTime */ 321 struct _TMKeyContextRec* tm_context; /* for XtGetActionKeysym */ 322 InternalCallbackList mapping_callbacks; /* special case for TM */ 323 XtPerDisplayInputRec pdi; /* state for modal grabs & kbd focus */ 324 struct _WWTable *WWtable; /* window to widget table */ 325 XrmDatabase *per_screen_db; /* per screen resource databases */ 326 XrmDatabase cmd_db; /* db from command line, if needed */ 327 XrmDatabase server_db; /* resource property else .Xdefaults */ 328 XtEventDispatchProc* dispatcher_list; 329 ExtSelectRec* ext_select_list; 330 int ext_select_count; 331 Widget hook_object; 332 #ifndef X_NO_RESOURCE_CONFIGURATION_MANAGEMENT 333 Atom rcm_init; /* ResConfig - initialize */ 334 Atom rcm_data; /* ResConfig - data atom */ 335 #endif 336 } XtPerDisplayStruct, *XtPerDisplay; 337 338 typedef struct _PerDisplayTable { 339 Display *dpy; 340 XtPerDisplayStruct perDpy; 341 struct _PerDisplayTable *next; 342 } PerDisplayTable, *PerDisplayTablePtr; 343 344 extern PerDisplayTablePtr _XtperDisplayList; 345 346 extern XtPerDisplay _XtSortPerDisplayList( 347 Display* /* dpy */ 348 ); 349 350 extern XtPerDisplay _XtGetPerDisplay( 351 Display* /* dpy */ 352 ); 353 354 extern XtPerDisplayInputRec* _XtGetPerDisplayInput( 355 Display* /* dpy */ 356 ); 357 358 #if 0 359 #ifdef DEBUG 360 #define _XtGetPerDisplay(display) \ 361 ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \ 362 ? &_XtperDisplayList->perDpy \ 363 : _XtSortPerDisplayList(display)) 364 #define _XtGetPerDisplayInput(display) \ 365 ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \ 366 ? &_XtperDisplayList->perDpy.pdi \ 367 : &_XtSortPerDisplayList(display)->pdi) 368 #else 369 #define _XtGetPerDisplay(display) \ 370 ((_XtperDisplayList->dpy == (display)) \ 371 ? &_XtperDisplayList->perDpy \ 372 : _XtSortPerDisplayList(display)) 373 #define _XtGetPerDisplayInput(display) \ 374 ((_XtperDisplayList->dpy == (display)) \ 375 ? &_XtperDisplayList->perDpy.pdi \ 376 : &_XtSortPerDisplayList(display)->pdi) 377 #endif /*DEBUG*/ 378 #endif 379 380 extern void _XtDisplayInitialize( 381 Display* /* dpy */, 382 XtPerDisplay /* pd */, 383 _Xconst char* /* name */, 384 XrmOptionDescRec* /* urlist */, 385 Cardinal /* num_urs */, 386 int* /* argc */, 387 _XtString* /* argv */ 388 ); 389 390 extern void _XtCacheFlushTag( 391 XtAppContext /* app */, 392 XtPointer /* tag */ 393 ); 394 395 extern void _XtFreeActions( 396 struct _ActionListRec* /* action_table */ 397 ); 398 399 extern void _XtDoPhase2Destroy( 400 XtAppContext /* app */, 401 int /* dispatch_level */ 402 ); 403 404 extern void _XtDoFreeBindings( 405 XtAppContext /* app */ 406 ); 407 408 extern void _XtExtensionSelect( 409 Widget /* widget */ 410 ); 411 412 #define _XtSafeToDestroy(app) ((app)->dispatch_level == 0) 413 414 extern void _XtAllocWWTable( 415 XtPerDisplay pd 416 ); 417 418 extern void _XtFreeWWTable( 419 XtPerDisplay pd 420 ); 421 422 extern String _XtGetUserName(_XtString dest, int len); 423 extern XrmDatabase _XtPreparseCommandLine(XrmOptionDescRec *urlist, 424 Cardinal num_urs, int argc, _XtString *argv, 425 String *applName, String *displayName, 426 String *language); 427 428 _XFUNCPROTOEND 429 430 #endif /* _XtinitialI_h */
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™