1ecce36beSmrg#ifndef __XCB_ATOM_H__ 2ecce36beSmrg#define __XCB_ATOM_H__ 3ecce36beSmrg 4ecce36beSmrg#include <xcb/xcb.h> 5ecce36beSmrg 6ecce36beSmrg#ifdef __cplusplus 7ecce36beSmrgextern "C" { 8ecce36beSmrg#endif 9ecce36beSmrg 10ecce36beSmrgenum xcb_atom_fast_tag_t { 11ecce36beSmrg TAG_COOKIE, 12ecce36beSmrg TAG_VALUE 13ecce36beSmrg}; 14ecce36beSmrgtypedef struct { 15ecce36beSmrg enum xcb_atom_fast_tag_t tag; 16ecce36beSmrg union { 17ecce36beSmrg xcb_intern_atom_cookie_t cookie; 18ecce36beSmrg xcb_atom_t atom; 19ecce36beSmrg } u; 20ecce36beSmrg} xcb_atom_fast_cookie_t; 21ecce36beSmrg 22ecce36beSmrg/** 23ecce36beSmrg * @brief Get an atom synchronously. 24ecce36beSmrg * @param connection The connection to the X server. 25ecce36beSmrg * @param atom_name The name of the atom that should be returned. 26ecce36beSmrg * @return The requested atom, or XCB_NONE if there is an error. 27ecce36beSmrg * 28ecce36beSmrg * xcb_atom_get() is essentially a synchronous version of xcb_intern_atom(), 29ecce36beSmrg * use it only on non-performance critical execution paths. 30ecce36beSmrg */ 31ecce36beSmrgxcb_atom_t xcb_atom_get(xcb_connection_t *connection, const char *atom_name); 32ecce36beSmrgxcb_atom_t xcb_atom_get_predefined(uint16_t name_len, const char *name); 33ecce36beSmrgxcb_atom_fast_cookie_t xcb_atom_get_fast(xcb_connection_t *c, uint8_t only_if_exists, uint16_t name_len, const char *name); 34ecce36beSmrgxcb_atom_t xcb_atom_get_fast_reply(xcb_connection_t *c, xcb_atom_fast_cookie_t cookie, xcb_generic_error_t **e); 35ecce36beSmrg 36ecce36beSmrgconst char *xcb_atom_get_name_predefined(xcb_atom_t atom); 37ecce36beSmrgint xcb_atom_get_name(xcb_connection_t *c, xcb_atom_t atom, const char **namep, int *lengthp); 38ecce36beSmrg 39ecce36beSmrgchar *xcb_atom_name_by_screen(const char *base, uint8_t screen); 40ecce36beSmrgchar *xcb_atom_name_by_resource(const char *base, uint32_t resource); 41ecce36beSmrgchar *xcb_atom_name_unique(const char *base, uint32_t id); 42ecce36beSmrg 43ecce36beSmrgextern const xcb_atom_t PRIMARY; 44ecce36beSmrgextern const xcb_atom_t SECONDARY; 45ecce36beSmrgextern const xcb_atom_t ARC; 46ecce36beSmrgextern const xcb_atom_t ATOM; 47ecce36beSmrgextern const xcb_atom_t BITMAP; 48ecce36beSmrgextern const xcb_atom_t CARDINAL; 49ecce36beSmrgextern const xcb_atom_t COLORMAP; 50ecce36beSmrgextern const xcb_atom_t CURSOR; 51ecce36beSmrgextern const xcb_atom_t CUT_BUFFER0; 52ecce36beSmrgextern const xcb_atom_t CUT_BUFFER1; 53ecce36beSmrgextern const xcb_atom_t CUT_BUFFER2; 54ecce36beSmrgextern const xcb_atom_t CUT_BUFFER3; 55ecce36beSmrgextern const xcb_atom_t CUT_BUFFER4; 56ecce36beSmrgextern const xcb_atom_t CUT_BUFFER5; 57ecce36beSmrgextern const xcb_atom_t CUT_BUFFER6; 58ecce36beSmrgextern const xcb_atom_t CUT_BUFFER7; 59ecce36beSmrgextern const xcb_atom_t DRAWABLE; 60ecce36beSmrgextern const xcb_atom_t FONT; 61ecce36beSmrgextern const xcb_atom_t INTEGER; 62ecce36beSmrgextern const xcb_atom_t PIXMAP; 63ecce36beSmrgextern const xcb_atom_t POINT; 64ecce36beSmrgextern const xcb_atom_t RECTANGLE; 65ecce36beSmrgextern const xcb_atom_t RESOURCE_MANAGER; 66ecce36beSmrgextern const xcb_atom_t RGB_COLOR_MAP; 67ecce36beSmrgextern const xcb_atom_t RGB_BEST_MAP; 68ecce36beSmrgextern const xcb_atom_t RGB_BLUE_MAP; 69ecce36beSmrgextern const xcb_atom_t RGB_DEFAULT_MAP; 70ecce36beSmrgextern const xcb_atom_t RGB_GRAY_MAP; 71ecce36beSmrgextern const xcb_atom_t RGB_GREEN_MAP; 72ecce36beSmrgextern const xcb_atom_t RGB_RED_MAP; 73ecce36beSmrgextern const xcb_atom_t STRING; 74ecce36beSmrgextern const xcb_atom_t VISUALID; 75ecce36beSmrgextern const xcb_atom_t WINDOW; 76ecce36beSmrgextern const xcb_atom_t WM_COMMAND; 77ecce36beSmrgextern const xcb_atom_t WM_HINTS; 78ecce36beSmrgextern const xcb_atom_t WM_CLIENT_MACHINE; 79ecce36beSmrgextern const xcb_atom_t WM_ICON_NAME; 80ecce36beSmrgextern const xcb_atom_t WM_ICON_SIZE; 81ecce36beSmrgextern const xcb_atom_t WM_NAME; 82ecce36beSmrgextern const xcb_atom_t WM_NORMAL_HINTS; 83ecce36beSmrgextern const xcb_atom_t WM_SIZE_HINTS; 84ecce36beSmrgextern const xcb_atom_t WM_ZOOM_HINTS; 85ecce36beSmrgextern const xcb_atom_t MIN_SPACE; 86ecce36beSmrgextern const xcb_atom_t NORM_SPACE; 87ecce36beSmrgextern const xcb_atom_t MAX_SPACE; 88ecce36beSmrgextern const xcb_atom_t END_SPACE; 89ecce36beSmrgextern const xcb_atom_t SUPERSCRIPT_X; 90ecce36beSmrgextern const xcb_atom_t SUPERSCRIPT_Y; 91ecce36beSmrgextern const xcb_atom_t SUBSCRIPT_X; 92ecce36beSmrgextern const xcb_atom_t SUBSCRIPT_Y; 93ecce36beSmrgextern const xcb_atom_t UNDERLINE_POSITION; 94ecce36beSmrgextern const xcb_atom_t UNDERLINE_THICKNESS; 95ecce36beSmrgextern const xcb_atom_t STRIKEOUT_ASCENT; 96ecce36beSmrgextern const xcb_atom_t STRIKEOUT_DESCENT; 97ecce36beSmrgextern const xcb_atom_t ITALIC_ANGLE; 98ecce36beSmrgextern const xcb_atom_t X_HEIGHT; 99ecce36beSmrgextern const xcb_atom_t QUAD_WIDTH; 100ecce36beSmrgextern const xcb_atom_t WEIGHT; 101ecce36beSmrgextern const xcb_atom_t POINT_SIZE; 102ecce36beSmrgextern const xcb_atom_t RESOLUTION; 103ecce36beSmrgextern const xcb_atom_t COPYRIGHT; 104ecce36beSmrgextern const xcb_atom_t NOTICE; 105ecce36beSmrgextern const xcb_atom_t FONT_NAME; 106ecce36beSmrgextern const xcb_atom_t FAMILY_NAME; 107ecce36beSmrgextern const xcb_atom_t FULL_NAME; 108ecce36beSmrgextern const xcb_atom_t CAP_HEIGHT; 109ecce36beSmrgextern const xcb_atom_t WM_CLASS; 110ecce36beSmrgextern const xcb_atom_t WM_TRANSIENT_FOR; 111ecce36beSmrg 112ecce36beSmrg#ifdef __cplusplus 113ecce36beSmrg} 114ecce36beSmrg#endif 115ecce36beSmrg 116ecce36beSmrg#endif /* __XCB_ATOM_H__ */ 117