Buckets:
| /* | |
| Copyright 1984, 1985, 1987, 1989, 1998 The Open Group | |
| Permission to use, copy, modify, distribute, and sell this software and its | |
| documentation for any purpose is hereby granted without fee, provided that | |
| the above copyright notice appear in all copies and that both that | |
| copyright notice and this permission notice appear in supporting | |
| documentation. | |
| The above copyright notice and this permission notice shall be included | |
| in all copies or substantial portions of the Software. | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
| OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |
| IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR | |
| OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |
| ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |
| OTHER DEALINGS IN THE SOFTWARE. | |
| Except as contained in this notice, the name of The Open Group shall | |
| not be used in advertising or otherwise to promote the sale, use or | |
| other dealings in this Software without prior written authorization | |
| from The Open Group. | |
| */ | |
| /* | |
| * Xlibint.h - Header definition and support file for the internal | |
| * support routines used by the C subroutine interface | |
| * library (Xlib) to the X Window System. | |
| * | |
| * Warning, there be dragons here.... | |
| */ | |
| /* | |
| * If your BytesReadable correctly detects broken connections, then | |
| * you should NOT define XCONN_CHECK_FREQ. | |
| */ | |
| struct _XGC | |
| { | |
| XExtData *ext_data; /* hook for extension to hang data */ | |
| GContext gid; /* protocol ID for graphics context */ | |
| Bool rects; /* boolean: TRUE if clipmask is list of rectangles */ | |
| Bool dashes; /* boolean: TRUE if dash-list is really a list */ | |
| unsigned long dirty;/* cache dirty bits */ | |
| XGCValues values; /* shadow structure of values */ | |
| }; | |
| struct _XDisplay | |
| { | |
| XExtData *ext_data; /* hook for extension to hang data */ | |
| struct _XFreeFuncs *free_funcs; /* internal free functions */ | |
| int fd; /* Network socket. */ | |
| int conn_checker; /* ugly thing used by _XEventsQueued */ | |
| int proto_major_version;/* maj. version of server's X protocol */ | |
| int proto_minor_version;/* minor version of server's X protocol */ | |
| char *vendor; /* vendor of the server hardware */ | |
| XID resource_base; /* resource ID base */ | |
| XID resource_mask; /* resource ID mask bits */ | |
| XID resource_id; /* allocator current ID */ | |
| int resource_shift; /* allocator shift to correct bits */ | |
| XID (*resource_alloc)( /* allocator function */ | |
| struct _XDisplay* | |
| ); | |
| int byte_order; /* screen byte order, LSBFirst, MSBFirst */ | |
| int bitmap_unit; /* padding and data requirements */ | |
| int bitmap_pad; /* padding requirements on bitmaps */ | |
| int bitmap_bit_order; /* LeastSignificant or MostSignificant */ | |
| int nformats; /* number of pixmap formats in list */ | |
| ScreenFormat *pixmap_format; /* pixmap format list */ | |
| int vnumber; /* Xlib's X protocol version number. */ | |
| int release; /* release of the server */ | |
| struct _XSQEvent *head, *tail; /* Input event queue. */ | |
| int qlen; /* Length of input event queue */ | |
| unsigned long last_request_read; /* seq number of last event read */ | |
| unsigned long request; /* sequence number of last request. */ | |
| char *last_req; /* beginning of last request, or dummy */ | |
| char *buffer; /* Output buffer starting address. */ | |
| char *bufptr; /* Output buffer index pointer. */ | |
| char *bufmax; /* Output buffer maximum+1 address. */ | |
| unsigned max_request_size; /* maximum number 32 bit words in request*/ | |
| struct _XrmHashBucketRec *db; | |
| int (*synchandler)( /* Synchronization handler */ | |
| struct _XDisplay* | |
| ); | |
| char *display_name; /* "host:display" string used on this connect*/ | |
| int default_screen; /* default screen for operations */ | |
| int nscreens; /* number of screens on this server*/ | |
| Screen *screens; /* pointer to list of screens */ | |
| unsigned long motion_buffer; /* size of motion buffer */ | |
| volatile unsigned long flags; /* internal connection flags */ | |
| int min_keycode; /* minimum defined keycode */ | |
| int max_keycode; /* maximum defined keycode */ | |
| KeySym *keysyms; /* This server's keysyms */ | |
| XModifierKeymap *modifiermap; /* This server's modifier keymap */ | |
| int keysyms_per_keycode;/* number of rows */ | |
| char *xdefaults; /* contents of defaults from server */ | |
| char *scratch_buffer; /* place to hang scratch buffer */ | |
| unsigned long scratch_length; /* length of scratch buffer */ | |
| int ext_number; /* extension number on this display */ | |
| struct _XExten *ext_procs; /* extensions initialized on this display */ | |
| /* | |
| * the following can be fixed size, as the protocol defines how | |
| * much address space is available. | |
| * While this could be done using the extension vector, there | |
| * may be MANY events processed, so a search through the extension | |
| * list to find the right procedure for each event might be | |
| * expensive if many extensions are being used. | |
| */ | |
| Bool (*event_vec[128])( /* vector for wire to event */ | |
| Display * /* dpy */, | |
| XEvent * /* re */, | |
| xEvent * /* event */ | |
| ); | |
| Status (*wire_vec[128])( /* vector for event to wire */ | |
| Display * /* dpy */, | |
| XEvent * /* re */, | |
| xEvent * /* event */ | |
| ); | |
| KeySym lock_meaning; /* for XLookupString */ | |
| struct _XLockInfo *lock; /* multi-thread state, display lock */ | |
| struct _XInternalAsync *async_handlers; /* for internal async */ | |
| unsigned long bigreq_size; /* max size of big requests */ | |
| struct _XLockPtrs *lock_fns; /* pointers to threads functions */ | |
| void (*idlist_alloc)( /* XID list allocator function */ | |
| Display * /* dpy */, | |
| XID * /* ids */, | |
| int /* count */ | |
| ); | |
| /* things above this line should not move, for binary compatibility */ | |
| struct _XKeytrans *key_bindings; /* for XLookupString */ | |
| Font cursor_font; /* for XCreateFontCursor */ | |
| struct _XDisplayAtoms *atoms; /* for XInternAtom */ | |
| unsigned int mode_switch; /* keyboard group modifiers */ | |
| unsigned int num_lock; /* keyboard numlock modifiers */ | |
| struct _XContextDB *context_db; /* context database */ | |
| Bool (**error_vec)( /* vector for wire to error */ | |
| Display * /* display */, | |
| XErrorEvent * /* he */, | |
| xError * /* we */ | |
| ); | |
| /* | |
| * Xcms information | |
| */ | |
| struct { | |
| XPointer defaultCCCs; /* pointer to an array of default XcmsCCC */ | |
| XPointer clientCmaps; /* pointer to linked list of XcmsCmapRec */ | |
| XPointer perVisualIntensityMaps; | |
| /* linked list of XcmsIntensityMap */ | |
| } cms; | |
| struct _XIMFilter *im_filters; | |
| struct _XSQEvent *qfree; /* unallocated event queue elements */ | |
| unsigned long next_event_serial_num; /* inserted into next queue elt */ | |
| struct _XExten *flushes; /* Flush hooks */ | |
| struct _XConnectionInfo *im_fd_info; /* _XRegisterInternalConnection */ | |
| int im_fd_length; /* number of im_fd_info */ | |
| struct _XConnWatchInfo *conn_watchers; /* XAddConnectionWatch */ | |
| int watcher_count; /* number of conn_watchers */ | |
| XPointer filedes; /* struct pollfd cache for _XWaitForReadable */ | |
| int (*savedsynchandler)( /* user synchandler when Xlib usurps */ | |
| Display * /* dpy */ | |
| ); | |
| XID resource_max; /* allocator max ID */ | |
| int xcmisc_opcode; /* major opcode for XC-MISC */ | |
| struct _XkbInfoRec *xkb_info; /* XKB info */ | |
| struct _XtransConnInfo *trans_conn; /* transport connection object */ | |
| struct _X11XCBPrivate *xcb; /* XCB glue private data */ | |
| /* Generic event cookie handling */ | |
| unsigned int next_cookie; /* next event cookie */ | |
| /* vector for wire to generic event, index is (extension - 128) */ | |
| Bool (*generic_event_vec[128])( | |
| Display * /* dpy */, | |
| XGenericEventCookie * /* Xlib event */, | |
| xEvent * /* wire event */); | |
| /* vector for event copy, index is (extension - 128) */ | |
| Bool (*generic_event_copy_vec[128])( | |
| Display * /* dpy */, | |
| XGenericEventCookie * /* in */, | |
| XGenericEventCookie * /* out*/); | |
| void *cookiejar; /* cookie events returned but not claimed */ | |
| }; | |
| /* | |
| * define the following if you want the Data macro to be a procedure instead | |
| */ | |
| /* | |
| * _QEvent datatype for use in input queueing. | |
| */ | |
| typedef struct _XSQEvent | |
| { | |
| struct _XSQEvent *next; | |
| XEvent event; | |
| unsigned long qserial_num; /* so multi-threaded code can find new ones */ | |
| } _XQEvent; | |
| /* Utek leaves kernel macros around in include files (bleah) */ | |
| _XFUNCPROTOBEGIN | |
| /* | |
| * The following definitions can be used for locking requests in multi-threaded | |
| * address spaces. | |
| */ | |
| /* Author: Stephen Gildea, MIT X Consortium | |
| * | |
| * declarations for C Threads locking | |
| */ | |
| typedef struct _LockInfoRec *LockInfoPtr; | |
| /* interfaces for locking.c */ | |
| struct _XLockPtrs { | |
| /* used by all, including extensions; do not move */ | |
| void (*lock_display)( | |
| Display *dpy | |
| , char *file | |
| , int line | |
| ); | |
| void (*unlock_display)( | |
| Display *dpy | |
| , char *file | |
| , int line | |
| ); | |
| }; | |
| /* in XlibInt.c */ | |
| extern void (*_XCreateMutex_fn)( | |
| LockInfoPtr /* lock */ | |
| ); | |
| extern void (*_XFreeMutex_fn)( | |
| LockInfoPtr /* lock */ | |
| ); | |
| extern void (*_XLockMutex_fn)( | |
| LockInfoPtr /* lock */ | |
| #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) | |
| , char * /* file */ | |
| , int /* line */ | |
| #endif | |
| ); | |
| extern void (*_XUnlockMutex_fn)( | |
| LockInfoPtr /* lock */ | |
| #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) | |
| , char * /* file */ | |
| , int /* line */ | |
| #endif | |
| ); | |
| extern LockInfoPtr _Xglobal_lock; | |
| /* used everywhere, so must be fast if not using threads */ | |
| /* | |
| * Note that some machines do not return a valid pointer for malloc(0), in | |
| * which case we provide an alternate under the control of the | |
| * define MALLOC_0_RETURNS_NULL. This is necessary because some | |
| * Xlib code expects malloc(0) to return a valid pointer to storage. | |
| */ | |
| /* | |
| * Display flags | |
| */ | |
| /* | |
| * X Protocol packetizing macros. | |
| */ | |
| /* Need to start requests on 64 bit word boundaries | |
| * on a CRAY computer so add a NoOp (127) if needed. | |
| * A character pointer on a CRAY computer will be non-zero | |
| * after shifting right 61 bits of it is not pointing to | |
| * a word boundary. | |
| */ | |
| /** | |
| * Return a len-sized request buffer for the request type. This function may | |
| * flush the output queue. | |
| * | |
| * @param dpy The display connection | |
| * @param type The request type | |
| * @param len Length of the request in bytes | |
| * | |
| * @returns A pointer to the request buffer with a few default values | |
| * initialized. | |
| */ | |
| extern void *_XGetRequest(Display *dpy, CARD8 type, size_t len); | |
| /* GetReqSized is the same as GetReq but allows the caller to specify the | |
| * size in bytes. 'sz' must be a multiple of 4! */ | |
| /* | |
| * GetReq - Get the next available X request packet in the buffer and | |
| * return it. | |
| * | |
| * "name" is the name of the request, e.g. CreatePixmap, OpenFont, etc. | |
| * "req" is the name of the request pointer. | |
| * | |
| */ | |
| /* GetReqExtra is the same as GetReq, but allocates "n" additional | |
| bytes after the request. "n" must be a multiple of 4! */ | |
| /* | |
| * GetResReq is for those requests that have a resource ID | |
| * (Window, Pixmap, GContext, etc.) as their single argument. | |
| * "rid" is the name of the resource. | |
| */ | |
| /* | |
| * GetEmptyReq is for those requests that have no arguments | |
| * at all. | |
| */ | |
| extern void _XFlushGCCache(Display *dpy, GC gc); | |
| /* | |
| * Data - Place data in the buffer and pad the end to provide | |
| * 32 bit word alignment. Transmit if the buffer fills. | |
| * | |
| * "dpy" is a pointer to a Display. | |
| * "data" is a pinter to a data buffer. | |
| * "len" is the length of the data buffer. | |
| */ | |
| /* Allocate bytes from the buffer. No padding is done, so if | |
| * the length is not a multiple of 4, the caller must be | |
| * careful to leave the buffer aligned after sending the | |
| * current request. | |
| * | |
| * "type" is the type of the pointer being assigned to. | |
| * "ptr" is the pointer being assigned to. | |
| * "n" is the number of bytes to allocate. | |
| * | |
| * Example: | |
| * xTextElt *elt; | |
| * BufAlloc (xTextElt *, elt, nbytes) | |
| */ | |
| extern int _XData32( | |
| Display *dpy, | |
| register long *data, | |
| unsigned len | |
| ); | |
| extern void _XRead32( | |
| Display *dpy, | |
| register long *data, | |
| long len | |
| ); | |
| /* Xlib manual is bogus */ | |
| /* | |
| * CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit | |
| * character. If the character is in the column and exists, then return the | |
| * appropriate metrics (note that fonts with common per-character metrics will | |
| * return min_bounds). If none of these hold true, try again with the default | |
| * char. | |
| */ | |
| /* | |
| * CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and | |
| * column. This is used for fonts that have more than row zero. | |
| */ | |
| /* for when 32-bit alignment is not good enough */ | |
| /* srcvar must be a variable for large architecture version */ | |
| typedef struct _XInternalAsync { | |
| struct _XInternalAsync *next; | |
| /* | |
| * handler arguments: | |
| * rep is the generic reply that caused this handler | |
| * to be invoked. It must also be passed to _XGetAsyncReply. | |
| * buf and len are opaque values that must be passed to | |
| * _XGetAsyncReply or _XGetAsyncData. | |
| * data is the closure stored in this struct. | |
| * The handler returns True iff it handled this reply. | |
| */ | |
| Bool (*handler)( | |
| Display* /* dpy */, | |
| xReply* /* rep */, | |
| char* /* buf */, | |
| int /* len */, | |
| XPointer /* data */ | |
| ); | |
| XPointer data; | |
| } _XAsyncHandler; | |
| typedef struct _XAsyncEState { | |
| unsigned long min_sequence_number; | |
| unsigned long max_sequence_number; | |
| unsigned char error_code; | |
| unsigned char major_opcode; | |
| unsigned short minor_opcode; | |
| unsigned char last_error_received; | |
| int error_count; | |
| } _XAsyncErrorState; | |
| extern void _XDeqAsyncHandler(Display *dpy, _XAsyncHandler *handler); | |
| typedef void (*FreeFuncType) ( | |
| Display* /* display */ | |
| ); | |
| typedef int (*FreeModmapType) ( | |
| XModifierKeymap* /* modmap */ | |
| ); | |
| /* | |
| * This structure is private to the library. | |
| */ | |
| typedef struct _XFreeFuncs { | |
| FreeFuncType atoms; /* _XFreeAtomTable */ | |
| FreeModmapType modifiermap; /* XFreeModifiermap */ | |
| FreeFuncType key_bindings; /* _XFreeKeyBindings */ | |
| FreeFuncType context_db; /* _XFreeContextDB */ | |
| FreeFuncType defaultCCCs; /* _XcmsFreeDefaultCCCs */ | |
| FreeFuncType clientCmaps; /* _XcmsFreeClientCmaps */ | |
| FreeFuncType intensityMaps; /* _XcmsFreeIntensityMaps */ | |
| FreeFuncType im_filters; /* _XFreeIMFilters */ | |
| FreeFuncType xkb; /* _XkbFreeInfo */ | |
| } _XFreeFuncRec; | |
| /* types for InitExt.c */ | |
| typedef int (*CreateGCType) ( | |
| Display* /* display */, | |
| GC /* gc */, | |
| XExtCodes* /* codes */ | |
| ); | |
| typedef int (*CopyGCType)( | |
| Display* /* display */, | |
| GC /* gc */, | |
| XExtCodes* /* codes */ | |
| ); | |
| typedef int (*FlushGCType) ( | |
| Display* /* display */, | |
| GC /* gc */, | |
| XExtCodes* /* codes */ | |
| ); | |
| typedef int (*FreeGCType) ( | |
| Display* /* display */, | |
| GC /* gc */, | |
| XExtCodes* /* codes */ | |
| ); | |
| typedef int (*CreateFontType) ( | |
| Display* /* display */, | |
| XFontStruct* /* fs */, | |
| XExtCodes* /* codes */ | |
| ); | |
| typedef int (*FreeFontType) ( | |
| Display* /* display */, | |
| XFontStruct* /* fs */, | |
| XExtCodes* /* codes */ | |
| ); | |
| typedef int (*CloseDisplayType) ( | |
| Display* /* display */, | |
| XExtCodes* /* codes */ | |
| ); | |
| typedef int (*ErrorType) ( | |
| Display* /* display */, | |
| xError* /* err */, | |
| XExtCodes* /* codes */, | |
| int* /* ret_code */ | |
| ); | |
| typedef char* (*ErrorStringType) ( | |
| Display* /* display */, | |
| int /* code */, | |
| XExtCodes* /* codes */, | |
| char* /* buffer */, | |
| int /* nbytes */ | |
| ); | |
| typedef void (*PrintErrorType)( | |
| Display* /* display */, | |
| XErrorEvent* /* ev */, | |
| void* /* fp */ | |
| ); | |
| typedef void (*BeforeFlushType)( | |
| Display* /* display */, | |
| XExtCodes* /* codes */, | |
| _Xconst char* /* data */, | |
| long /* len */ | |
| ); | |
| /* | |
| * This structure is private to the library. | |
| */ | |
| typedef struct _XExten { /* private to extension mechanism */ | |
| struct _XExten *next; /* next in list */ | |
| XExtCodes codes; /* public information, all extension told */ | |
| CreateGCType create_GC; /* routine to call when GC created */ | |
| CopyGCType copy_GC; /* routine to call when GC copied */ | |
| FlushGCType flush_GC; /* routine to call when GC flushed */ | |
| FreeGCType free_GC; /* routine to call when GC freed */ | |
| CreateFontType create_Font; /* routine to call when Font created */ | |
| FreeFontType free_Font; /* routine to call when Font freed */ | |
| CloseDisplayType close_display; /* routine to call when connection closed */ | |
| ErrorType error; /* who to call when an error occurs */ | |
| ErrorStringType error_string; /* routine to supply error string */ | |
| char *name; /* name of this extension */ | |
| PrintErrorType error_values; /* routine to supply error values */ | |
| BeforeFlushType before_flush; /* routine to call when sending data */ | |
| struct _XExten *next_flush; /* next in list of those with flushes */ | |
| } _XExtension; | |
| /* Temporary definition until we can depend on an xproto release with it */ | |
| /* extension hooks */ | |
| extern void Data(Display *dpy, char *data, long len); | |
| extern int _XError( | |
| Display* /* dpy */, | |
| xError* /* rep */ | |
| ); | |
| extern int _XIOError( | |
| Display* /* dpy */ | |
| ) _X_NORETURN; | |
| extern int (*_XIOErrorFunction)( | |
| Display* /* dpy */ | |
| ); | |
| extern int (*_XErrorFunction)( | |
| Display* /* dpy */, | |
| XErrorEvent* /* error_event */ | |
| ); | |
| extern void _XEatData( | |
| Display* /* dpy */, | |
| unsigned long /* n */ | |
| ) _XLIB_COLD; | |
| extern void _XEatDataWords( | |
| Display* /* dpy */, | |
| unsigned long /* n */ | |
| ) _XLIB_COLD _X_HIDDEN; | |
| extern char *_XAllocScratch( | |
| Display* /* dpy */, | |
| unsigned long /* nbytes */ | |
| ); | |
| extern char *_XAllocTemp( | |
| Display* /* dpy */, | |
| unsigned long /* nbytes */ | |
| ); | |
| extern void _XFreeTemp( | |
| Display* /* dpy */, | |
| char* /* buf */, | |
| unsigned long /* nbytes */ | |
| ); | |
| extern Visual *_XVIDtoVisual( | |
| Display* /* dpy */, | |
| VisualID /* id */ | |
| ); | |
| extern unsigned long _XSetLastRequestRead( | |
| Display* /* dpy */, | |
| xGenericReply* /* rep */ | |
| ); | |
| extern int _XGetHostname( | |
| char* /* buf */, | |
| int /* maxlen */ | |
| ); | |
| extern Screen *_XScreenOfWindow( | |
| Display* /* dpy */, | |
| Window /* w */ | |
| ); | |
| extern Bool _XAsyncErrorHandler( | |
| Display* /* dpy */, | |
| xReply* /* rep */, | |
| char* /* buf */, | |
| int /* len */, | |
| XPointer /* data */ | |
| ); | |
| extern char *_XGetAsyncReply( | |
| Display* /* dpy */, | |
| char* /* replbuf */, | |
| xReply* /* rep */, | |
| char* /* buf */, | |
| int /* len */, | |
| int /* extra */, | |
| Bool /* discard */ | |
| ); | |
| extern void _XGetAsyncData( | |
| Display* /* dpy */, | |
| char * /* data */, | |
| char * /* buf */, | |
| int /* len */, | |
| int /* skip */, | |
| int /* datalen */, | |
| int /* discardtotal */ | |
| ); | |
| extern void _XFlush( | |
| Display* /* dpy */ | |
| ); | |
| extern int _XEventsQueued( | |
| Display* /* dpy */, | |
| int /* mode */ | |
| ); | |
| extern void _XReadEvents( | |
| Display* /* dpy */ | |
| ); | |
| extern int _XRead( | |
| Display* /* dpy */, | |
| char* /* data */, | |
| long /* size */ | |
| ); | |
| extern void _XReadPad( | |
| Display* /* dpy */, | |
| char* /* data */, | |
| long /* size */ | |
| ); | |
| extern void _XSend( | |
| Display* /* dpy */, | |
| _Xconst char* /* data */, | |
| long /* size */ | |
| ); | |
| extern Status _XReply( | |
| Display* /* dpy */, | |
| xReply* /* rep */, | |
| int /* extra */, | |
| Bool /* discard */ | |
| ); | |
| extern void _XEnq( | |
| Display* /* dpy */, | |
| xEvent* /* event */ | |
| ); | |
| extern void _XDeq( | |
| Display* /* dpy */, | |
| _XQEvent* /* prev */, | |
| _XQEvent* /* qelt */ | |
| ); | |
| extern Bool _XUnknownWireEvent( | |
| Display* /* dpy */, | |
| XEvent* /* re */, | |
| xEvent* /* event */ | |
| ); | |
| extern Bool _XUnknownWireEventCookie( | |
| Display* /* dpy */, | |
| XGenericEventCookie* /* re */, | |
| xEvent* /* event */ | |
| ); | |
| extern Bool _XUnknownCopyEventCookie( | |
| Display* /* dpy */, | |
| XGenericEventCookie* /* in */, | |
| XGenericEventCookie* /* out */ | |
| ); | |
| extern Status _XUnknownNativeEvent( | |
| Display* /* dpy */, | |
| XEvent* /* re */, | |
| xEvent* /* event */ | |
| ); | |
| extern Bool _XWireToEvent(Display *dpy, XEvent *re, xEvent *event); | |
| extern Bool _XDefaultWireError(Display *display, XErrorEvent *he, xError *we); | |
| extern Bool _XPollfdCacheInit(Display *dpy); | |
| extern void _XPollfdCacheAdd(Display *dpy, int fd); | |
| extern void _XPollfdCacheDel(Display *dpy, int fd); | |
| extern XID _XAllocID(Display *dpy); | |
| extern void _XAllocIDs(Display *dpy, XID *ids, int count); | |
| extern int _XFreeExtData( | |
| XExtData* /* extension */ | |
| ); | |
| extern int (*XESetCreateGC( | |
| Display* /* display */, | |
| int /* extension */, | |
| int (*) ( | |
| Display* /* display */, | |
| GC /* gc */, | |
| XExtCodes* /* codes */ | |
| ) /* proc */ | |
| ))( | |
| Display*, GC, XExtCodes* | |
| ); | |
| extern int (*XESetCopyGC( | |
| Display* /* display */, | |
| int /* extension */, | |
| int (*) ( | |
| Display* /* display */, | |
| GC /* gc */, | |
| XExtCodes* /* codes */ | |
| ) /* proc */ | |
| ))( | |
| Display*, GC, XExtCodes* | |
| ); | |
| extern int (*XESetFlushGC( | |
| Display* /* display */, | |
| int /* extension */, | |
| int (*) ( | |
| Display* /* display */, | |
| GC /* gc */, | |
| XExtCodes* /* codes */ | |
| ) /* proc */ | |
| ))( | |
| Display*, GC, XExtCodes* | |
| ); | |
| extern int (*XESetFreeGC( | |
| Display* /* display */, | |
| int /* extension */, | |
| int (*) ( | |
| Display* /* display */, | |
| GC /* gc */, | |
| XExtCodes* /* codes */ | |
| ) /* proc */ | |
| ))( | |
| Display*, GC, XExtCodes* | |
| ); | |
| extern int (*XESetCreateFont( | |
| Display* /* display */, | |
| int /* extension */, | |
| int (*) ( | |
| Display* /* display */, | |
| XFontStruct* /* fs */, | |
| XExtCodes* /* codes */ | |
| ) /* proc */ | |
| ))( | |
| Display*, XFontStruct*, XExtCodes* | |
| ); | |
| extern int (*XESetFreeFont( | |
| Display* /* display */, | |
| int /* extension */, | |
| int (*) ( | |
| Display* /* display */, | |
| XFontStruct* /* fs */, | |
| XExtCodes* /* codes */ | |
| ) /* proc */ | |
| ))( | |
| Display*, XFontStruct*, XExtCodes* | |
| ); | |
| extern int (*XESetCloseDisplay( | |
| Display* /* display */, | |
| int /* extension */, | |
| int (*) ( | |
| Display* /* display */, | |
| XExtCodes* /* codes */ | |
| ) /* proc */ | |
| ))( | |
| Display*, XExtCodes* | |
| ); | |
| extern int (*XESetError( | |
| Display* /* display */, | |
| int /* extension */, | |
| int (*) ( | |
| Display* /* display */, | |
| xError* /* err */, | |
| XExtCodes* /* codes */, | |
| int* /* ret_code */ | |
| ) /* proc */ | |
| ))( | |
| Display*, xError*, XExtCodes*, int* | |
| ); | |
| extern char* (*XESetErrorString( | |
| Display* /* display */, | |
| int /* extension */, | |
| char* (*) ( | |
| Display* /* display */, | |
| int /* code */, | |
| XExtCodes* /* codes */, | |
| char* /* buffer */, | |
| int /* nbytes */ | |
| ) /* proc */ | |
| ))( | |
| Display*, int, XExtCodes*, char*, int | |
| ); | |
| extern void (*XESetPrintErrorValues ( | |
| Display* /* display */, | |
| int /* extension */, | |
| void (*)( | |
| Display* /* display */, | |
| XErrorEvent* /* ev */, | |
| void* /* fp */ | |
| ) /* proc */ | |
| ))( | |
| Display*, XErrorEvent*, void* | |
| ); | |
| extern Bool (*XESetWireToEvent( | |
| Display* /* display */, | |
| int /* event_number */, | |
| Bool (*) ( | |
| Display* /* display */, | |
| XEvent* /* re */, | |
| xEvent* /* event */ | |
| ) /* proc */ | |
| ))( | |
| Display*, XEvent*, xEvent* | |
| ); | |
| extern Bool (*XESetWireToEventCookie( | |
| Display* /* display */, | |
| int /* extension */, | |
| Bool (*) ( | |
| Display* /* display */, | |
| XGenericEventCookie* /* re */, | |
| xEvent* /* event */ | |
| ) /* proc */ | |
| ))( | |
| Display*, XGenericEventCookie*, xEvent* | |
| ); | |
| extern Bool (*XESetCopyEventCookie( | |
| Display* /* display */, | |
| int /* extension */, | |
| Bool (*) ( | |
| Display* /* display */, | |
| XGenericEventCookie* /* in */, | |
| XGenericEventCookie* /* out */ | |
| ) /* proc */ | |
| ))( | |
| Display*, XGenericEventCookie*, XGenericEventCookie* | |
| ); | |
| extern Status (*XESetEventToWire( | |
| Display* /* display */, | |
| int /* event_number */, | |
| Status (*) ( | |
| Display* /* display */, | |
| XEvent* /* re */, | |
| xEvent* /* event */ | |
| ) /* proc */ | |
| ))( | |
| Display*, XEvent*, xEvent* | |
| ); | |
| extern Bool (*XESetWireToError( | |
| Display* /* display */, | |
| int /* error_number */, | |
| Bool (*) ( | |
| Display* /* display */, | |
| XErrorEvent* /* he */, | |
| xError* /* we */ | |
| ) /* proc */ | |
| ))( | |
| Display*, XErrorEvent*, xError* | |
| ); | |
| extern void (*XESetBeforeFlush( | |
| Display* /* display */, | |
| int /* error_number */, | |
| void (*) ( | |
| Display* /* display */, | |
| XExtCodes* /* codes */, | |
| _Xconst char* /* data */, | |
| long /* len */ | |
| ) /* proc */ | |
| ))( | |
| Display*, XExtCodes*, _Xconst char*, long | |
| ); | |
| /* internal connections for IMs */ | |
| typedef void (*_XInternalConnectionProc)( | |
| Display* /* dpy */, | |
| int /* fd */, | |
| XPointer /* call_data */ | |
| ); | |
| extern Status _XRegisterInternalConnection( | |
| Display* /* dpy */, | |
| int /* fd */, | |
| _XInternalConnectionProc /* callback */, | |
| XPointer /* call_data */ | |
| ); | |
| extern void _XUnregisterInternalConnection( | |
| Display* /* dpy */, | |
| int /* fd */ | |
| ); | |
| extern void _XProcessInternalConnection( | |
| Display* /* dpy */, | |
| struct _XConnectionInfo* /* conn_info */ | |
| ); | |
| /* Display structure has pointers to these */ | |
| struct _XConnectionInfo { /* info from _XRegisterInternalConnection */ | |
| int fd; | |
| _XInternalConnectionProc read_callback; | |
| XPointer call_data; | |
| XPointer *watch_data; /* set/used by XConnectionWatchProc */ | |
| struct _XConnectionInfo *next; | |
| }; | |
| struct _XConnWatchInfo { /* info from XAddConnectionWatch */ | |
| XConnectionWatchProc fn; | |
| XPointer client_data; | |
| struct _XConnWatchInfo *next; | |
| }; | |
| extern char* __XOS2RedirRoot( | |
| char* | |
| ); | |
| extern int _XTextHeight( | |
| XFontStruct* /* font_struct */, | |
| _Xconst char* /* string */, | |
| int /* count */ | |
| ); | |
| extern int _XTextHeight16( | |
| XFontStruct* /* font_struct */, | |
| _Xconst XChar2b* /* string */, | |
| int /* count */ | |
| ); | |
| extern int _XOpenFile( | |
| _Xconst char* /* path */, | |
| int /* flags */ | |
| ); | |
| extern int _XOpenFileMode( | |
| _Xconst char* /* path */, | |
| int /* flags */, | |
| mode_t /* mode */ | |
| ); | |
| extern void* _XFopenFile( | |
| _Xconst char* /* path */, | |
| _Xconst char* /* mode */ | |
| ); | |
| extern int _XAccessFile( | |
| _Xconst char* /* path */ | |
| ); | |
| /* EvToWire.c */ | |
| extern Status _XEventToWire(Display *dpy, XEvent *re, xEvent *event); | |
| extern int _XF86LoadQueryLocaleFont( | |
| Display* /* dpy */, | |
| _Xconst char* /* name*/, | |
| XFontStruct** /* xfp*/, | |
| Font* /* fidp */ | |
| ); | |
| extern void _XProcessWindowAttributes ( | |
| register Display *dpy, | |
| xChangeWindowAttributesReq *req, | |
| register unsigned long valuemask, | |
| register XSetWindowAttributes *attributes); | |
| extern int _XDefaultError( | |
| Display *dpy, | |
| XErrorEvent *event); | |
| extern int _XDefaultIOError( | |
| Display *dpy); | |
| extern void _XSetClipRectangles ( | |
| register Display *dpy, | |
| GC gc, | |
| int clip_x_origin, int clip_y_origin, | |
| XRectangle *rectangles, | |
| int n, | |
| int ordering); | |
| Status _XGetWindowAttributes( | |
| register Display *dpy, | |
| Window w, | |
| XWindowAttributes *attr); | |
| int _XPutBackEvent ( | |
| register Display *dpy, | |
| register XEvent *event); | |
| extern Bool _XIsEventCookie( | |
| Display *dpy, | |
| XEvent *ev); | |
| extern void _XFreeEventCookies( | |
| Display *dpy); | |
| extern void _XStoreEventCookie( | |
| Display *dpy, | |
| XEvent *ev); | |
| extern Bool _XFetchEventCookie( | |
| Display *dpy, | |
| XGenericEventCookie *ev); | |
| extern Bool _XCopyEventCookie( | |
| Display *dpy, | |
| XGenericEventCookie *in, | |
| XGenericEventCookie *out); | |
| /* lcFile.c */ | |
| extern void xlocaledir( | |
| char *buf, | |
| int buf_len | |
| ); | |
| _XFUNCPROTOEND | |
Xet Storage Details
- Size:
- 38.6 kB
- Xet hash:
- bb1deef4d9d1436b2b2540facfd49fa4248ed87176962fb8ca59084f2e2ec5f2
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.