github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xkbcommon/include/xcb/shm.h (about)

     1  /*
     2   * This file generated automatically from shm.xml by c_client.py.
     3   * Edit at your peril.
     4   */
     5  
     6  /**
     7   * @defgroup XCB_Shm_API XCB Shm API
     8   * @brief Shm XCB Protocol Implementation.
     9   * @{
    10   **/
    11  
    12  #ifndef __SHM_H
    13  #define __SHM_H
    14  
    15  #include "xcb.h"
    16  #include "xproto.h"
    17  
    18  #ifdef __cplusplus
    19  extern "C" {
    20  #endif
    21  
    22  #define XCB_SHM_MAJOR_VERSION 1
    23  #define XCB_SHM_MINOR_VERSION 2
    24  
    25  extern xcb_extension_t xcb_shm_id;
    26  
    27  typedef uint32_t xcb_shm_seg_t;
    28  
    29  /**
    30   * @brief xcb_shm_seg_iterator_t
    31   **/
    32  typedef struct xcb_shm_seg_iterator_t {
    33      xcb_shm_seg_t *data;
    34      int            rem;
    35      int            index;
    36  } xcb_shm_seg_iterator_t;
    37  
    38  /** Opcode for xcb_shm_completion. */
    39  #define XCB_SHM_COMPLETION 0
    40  
    41  /**
    42   * @brief xcb_shm_completion_event_t
    43   **/
    44  typedef struct xcb_shm_completion_event_t {
    45      uint8_t        response_type;
    46      uint8_t        pad0;
    47      uint16_t       sequence;
    48      xcb_drawable_t drawable;
    49      uint16_t       minor_event;
    50      uint8_t        major_event;
    51      uint8_t        pad1;
    52      xcb_shm_seg_t  shmseg;
    53      uint32_t       offset;
    54  } xcb_shm_completion_event_t;
    55  
    56  /** Opcode for xcb_shm_bad_seg. */
    57  #define XCB_SHM_BAD_SEG 0
    58  
    59  typedef xcb_value_error_t xcb_shm_bad_seg_error_t;
    60  
    61  /**
    62   * @brief xcb_shm_query_version_cookie_t
    63   **/
    64  typedef struct xcb_shm_query_version_cookie_t {
    65      unsigned int sequence;
    66  } xcb_shm_query_version_cookie_t;
    67  
    68  /** Opcode for xcb_shm_query_version. */
    69  #define XCB_SHM_QUERY_VERSION 0
    70  
    71  /**
    72   * @brief xcb_shm_query_version_request_t
    73   **/
    74  typedef struct xcb_shm_query_version_request_t {
    75      uint8_t  major_opcode;
    76      uint8_t  minor_opcode;
    77      uint16_t length;
    78  } xcb_shm_query_version_request_t;
    79  
    80  /**
    81   * @brief xcb_shm_query_version_reply_t
    82   **/
    83  typedef struct xcb_shm_query_version_reply_t {
    84      uint8_t  response_type;
    85      uint8_t  shared_pixmaps;
    86      uint16_t sequence;
    87      uint32_t length;
    88      uint16_t major_version;
    89      uint16_t minor_version;
    90      uint16_t uid;
    91      uint16_t gid;
    92      uint8_t  pixmap_format;
    93      uint8_t  pad0[15];
    94  } xcb_shm_query_version_reply_t;
    95  
    96  /** Opcode for xcb_shm_attach. */
    97  #define XCB_SHM_ATTACH 1
    98  
    99  /**
   100   * @brief xcb_shm_attach_request_t
   101   **/
   102  typedef struct xcb_shm_attach_request_t {
   103      uint8_t       major_opcode;
   104      uint8_t       minor_opcode;
   105      uint16_t      length;
   106      xcb_shm_seg_t shmseg;
   107      uint32_t      shmid;
   108      uint8_t       read_only;
   109      uint8_t       pad0[3];
   110  } xcb_shm_attach_request_t;
   111  
   112  /** Opcode for xcb_shm_detach. */
   113  #define XCB_SHM_DETACH 2
   114  
   115  /**
   116   * @brief xcb_shm_detach_request_t
   117   **/
   118  typedef struct xcb_shm_detach_request_t {
   119      uint8_t       major_opcode;
   120      uint8_t       minor_opcode;
   121      uint16_t      length;
   122      xcb_shm_seg_t shmseg;
   123  } xcb_shm_detach_request_t;
   124  
   125  /** Opcode for xcb_shm_put_image. */
   126  #define XCB_SHM_PUT_IMAGE 3
   127  
   128  /**
   129   * @brief xcb_shm_put_image_request_t
   130   **/
   131  typedef struct xcb_shm_put_image_request_t {
   132      uint8_t        major_opcode;
   133      uint8_t        minor_opcode;
   134      uint16_t       length;
   135      xcb_drawable_t drawable;
   136      xcb_gcontext_t gc;
   137      uint16_t       total_width;
   138      uint16_t       total_height;
   139      uint16_t       src_x;
   140      uint16_t       src_y;
   141      uint16_t       src_width;
   142      uint16_t       src_height;
   143      int16_t        dst_x;
   144      int16_t        dst_y;
   145      uint8_t        depth;
   146      uint8_t        format;
   147      uint8_t        send_event;
   148      uint8_t        pad0;
   149      xcb_shm_seg_t  shmseg;
   150      uint32_t       offset;
   151  } xcb_shm_put_image_request_t;
   152  
   153  /**
   154   * @brief xcb_shm_get_image_cookie_t
   155   **/
   156  typedef struct xcb_shm_get_image_cookie_t {
   157      unsigned int sequence;
   158  } xcb_shm_get_image_cookie_t;
   159  
   160  /** Opcode for xcb_shm_get_image. */
   161  #define XCB_SHM_GET_IMAGE 4
   162  
   163  /**
   164   * @brief xcb_shm_get_image_request_t
   165   **/
   166  typedef struct xcb_shm_get_image_request_t {
   167      uint8_t        major_opcode;
   168      uint8_t        minor_opcode;
   169      uint16_t       length;
   170      xcb_drawable_t drawable;
   171      int16_t        x;
   172      int16_t        y;
   173      uint16_t       width;
   174      uint16_t       height;
   175      uint32_t       plane_mask;
   176      uint8_t        format;
   177      uint8_t        pad0[3];
   178      xcb_shm_seg_t  shmseg;
   179      uint32_t       offset;
   180  } xcb_shm_get_image_request_t;
   181  
   182  /**
   183   * @brief xcb_shm_get_image_reply_t
   184   **/
   185  typedef struct xcb_shm_get_image_reply_t {
   186      uint8_t        response_type;
   187      uint8_t        depth;
   188      uint16_t       sequence;
   189      uint32_t       length;
   190      xcb_visualid_t visual;
   191      uint32_t       size;
   192  } xcb_shm_get_image_reply_t;
   193  
   194  /** Opcode for xcb_shm_create_pixmap. */
   195  #define XCB_SHM_CREATE_PIXMAP 5
   196  
   197  /**
   198   * @brief xcb_shm_create_pixmap_request_t
   199   **/
   200  typedef struct xcb_shm_create_pixmap_request_t {
   201      uint8_t        major_opcode;
   202      uint8_t        minor_opcode;
   203      uint16_t       length;
   204      xcb_pixmap_t   pid;
   205      xcb_drawable_t drawable;
   206      uint16_t       width;
   207      uint16_t       height;
   208      uint8_t        depth;
   209      uint8_t        pad0[3];
   210      xcb_shm_seg_t  shmseg;
   211      uint32_t       offset;
   212  } xcb_shm_create_pixmap_request_t;
   213  
   214  /** Opcode for xcb_shm_attach_fd. */
   215  #define XCB_SHM_ATTACH_FD 6
   216  
   217  /**
   218   * @brief xcb_shm_attach_fd_request_t
   219   **/
   220  typedef struct xcb_shm_attach_fd_request_t {
   221      uint8_t       major_opcode;
   222      uint8_t       minor_opcode;
   223      uint16_t      length;
   224      xcb_shm_seg_t shmseg;
   225      uint8_t       read_only;
   226      uint8_t       pad0[3];
   227  } xcb_shm_attach_fd_request_t;
   228  
   229  /**
   230   * @brief xcb_shm_create_segment_cookie_t
   231   **/
   232  typedef struct xcb_shm_create_segment_cookie_t {
   233      unsigned int sequence;
   234  } xcb_shm_create_segment_cookie_t;
   235  
   236  /** Opcode for xcb_shm_create_segment. */
   237  #define XCB_SHM_CREATE_SEGMENT 7
   238  
   239  /**
   240   * @brief xcb_shm_create_segment_request_t
   241   **/
   242  typedef struct xcb_shm_create_segment_request_t {
   243      uint8_t       major_opcode;
   244      uint8_t       minor_opcode;
   245      uint16_t      length;
   246      xcb_shm_seg_t shmseg;
   247      uint32_t      size;
   248      uint8_t       read_only;
   249      uint8_t       pad0[3];
   250  } xcb_shm_create_segment_request_t;
   251  
   252  /**
   253   * @brief xcb_shm_create_segment_reply_t
   254   **/
   255  typedef struct xcb_shm_create_segment_reply_t {
   256      uint8_t  response_type;
   257      uint8_t  nfd;
   258      uint16_t sequence;
   259      uint32_t length;
   260      uint8_t  pad0[24];
   261  } xcb_shm_create_segment_reply_t;
   262  
   263  /**
   264   * Get the next element of the iterator
   265   * @param i Pointer to a xcb_shm_seg_iterator_t
   266   *
   267   * Get the next element in the iterator. The member rem is
   268   * decreased by one. The member data points to the next
   269   * element. The member index is increased by sizeof(xcb_shm_seg_t)
   270   */
   271  void
   272  xcb_shm_seg_next (xcb_shm_seg_iterator_t *i);
   273  
   274  /**
   275   * Return the iterator pointing to the last element
   276   * @param i An xcb_shm_seg_iterator_t
   277   * @return  The iterator pointing to the last element
   278   *
   279   * Set the current element in the iterator to the last element.
   280   * The member rem is set to 0. The member data points to the
   281   * last element.
   282   */
   283  xcb_generic_iterator_t
   284  xcb_shm_seg_end (xcb_shm_seg_iterator_t i);
   285  
   286  /**
   287   *
   288   * @param c The connection
   289   * @return A cookie
   290   *
   291   * Delivers a request to the X server.
   292   *
   293   */
   294  xcb_shm_query_version_cookie_t
   295  xcb_shm_query_version (xcb_connection_t *c);
   296  
   297  /**
   298   *
   299   * @param c The connection
   300   * @return A cookie
   301   *
   302   * Delivers a request to the X server.
   303   *
   304   * This form can be used only if the request will cause
   305   * a reply to be generated. Any returned error will be
   306   * placed in the event queue.
   307   */
   308  xcb_shm_query_version_cookie_t
   309  xcb_shm_query_version_unchecked (xcb_connection_t *c);
   310  
   311  /**
   312   * Return the reply
   313   * @param c      The connection
   314   * @param cookie The cookie
   315   * @param e      The xcb_generic_error_t supplied
   316   *
   317   * Returns the reply of the request asked by
   318   *
   319   * The parameter @p e supplied to this function must be NULL if
   320   * xcb_shm_query_version_unchecked(). is used.
   321   * Otherwise, it stores the error if any.
   322   *
   323   * The returned value must be freed by the caller using free().
   324   */
   325  xcb_shm_query_version_reply_t *
   326  xcb_shm_query_version_reply (xcb_connection_t                *c,
   327                               xcb_shm_query_version_cookie_t   cookie  /**< */,
   328                               xcb_generic_error_t            **e);
   329  
   330  /**
   331   *
   332   * @param c The connection
   333   * @return A cookie
   334   *
   335   * Delivers a request to the X server.
   336   *
   337   * This form can be used only if the request will not cause
   338   * a reply to be generated. Any returned error will be
   339   * saved for handling by xcb_request_check().
   340   */
   341  xcb_void_cookie_t
   342  xcb_shm_attach_checked (xcb_connection_t *c,
   343                          xcb_shm_seg_t     shmseg,
   344                          uint32_t          shmid,
   345                          uint8_t           read_only);
   346  
   347  /**
   348   *
   349   * @param c The connection
   350   * @return A cookie
   351   *
   352   * Delivers a request to the X server.
   353   *
   354   */
   355  xcb_void_cookie_t
   356  xcb_shm_attach (xcb_connection_t *c,
   357                  xcb_shm_seg_t     shmseg,
   358                  uint32_t          shmid,
   359                  uint8_t           read_only);
   360  
   361  /**
   362   *
   363   * @param c The connection
   364   * @return A cookie
   365   *
   366   * Delivers a request to the X server.
   367   *
   368   * This form can be used only if the request will not cause
   369   * a reply to be generated. Any returned error will be
   370   * saved for handling by xcb_request_check().
   371   */
   372  xcb_void_cookie_t
   373  xcb_shm_detach_checked (xcb_connection_t *c,
   374                          xcb_shm_seg_t     shmseg);
   375  
   376  /**
   377   *
   378   * @param c The connection
   379   * @return A cookie
   380   *
   381   * Delivers a request to the X server.
   382   *
   383   */
   384  xcb_void_cookie_t
   385  xcb_shm_detach (xcb_connection_t *c,
   386                  xcb_shm_seg_t     shmseg);
   387  
   388  /**
   389   *
   390   * @param c The connection
   391   * @return A cookie
   392   *
   393   * Delivers a request to the X server.
   394   *
   395   * This form can be used only if the request will not cause
   396   * a reply to be generated. Any returned error will be
   397   * saved for handling by xcb_request_check().
   398   */
   399  xcb_void_cookie_t
   400  xcb_shm_put_image_checked (xcb_connection_t *c,
   401                             xcb_drawable_t    drawable,
   402                             xcb_gcontext_t    gc,
   403                             uint16_t          total_width,
   404                             uint16_t          total_height,
   405                             uint16_t          src_x,
   406                             uint16_t          src_y,
   407                             uint16_t          src_width,
   408                             uint16_t          src_height,
   409                             int16_t           dst_x,
   410                             int16_t           dst_y,
   411                             uint8_t           depth,
   412                             uint8_t           format,
   413                             uint8_t           send_event,
   414                             xcb_shm_seg_t     shmseg,
   415                             uint32_t          offset);
   416  
   417  /**
   418   *
   419   * @param c The connection
   420   * @return A cookie
   421   *
   422   * Delivers a request to the X server.
   423   *
   424   */
   425  xcb_void_cookie_t
   426  xcb_shm_put_image (xcb_connection_t *c,
   427                     xcb_drawable_t    drawable,
   428                     xcb_gcontext_t    gc,
   429                     uint16_t          total_width,
   430                     uint16_t          total_height,
   431                     uint16_t          src_x,
   432                     uint16_t          src_y,
   433                     uint16_t          src_width,
   434                     uint16_t          src_height,
   435                     int16_t           dst_x,
   436                     int16_t           dst_y,
   437                     uint8_t           depth,
   438                     uint8_t           format,
   439                     uint8_t           send_event,
   440                     xcb_shm_seg_t     shmseg,
   441                     uint32_t          offset);
   442  
   443  /**
   444   *
   445   * @param c The connection
   446   * @return A cookie
   447   *
   448   * Delivers a request to the X server.
   449   *
   450   */
   451  xcb_shm_get_image_cookie_t
   452  xcb_shm_get_image (xcb_connection_t *c,
   453                     xcb_drawable_t    drawable,
   454                     int16_t           x,
   455                     int16_t           y,
   456                     uint16_t          width,
   457                     uint16_t          height,
   458                     uint32_t          plane_mask,
   459                     uint8_t           format,
   460                     xcb_shm_seg_t     shmseg,
   461                     uint32_t          offset);
   462  
   463  /**
   464   *
   465   * @param c The connection
   466   * @return A cookie
   467   *
   468   * Delivers a request to the X server.
   469   *
   470   * This form can be used only if the request will cause
   471   * a reply to be generated. Any returned error will be
   472   * placed in the event queue.
   473   */
   474  xcb_shm_get_image_cookie_t
   475  xcb_shm_get_image_unchecked (xcb_connection_t *c,
   476                               xcb_drawable_t    drawable,
   477                               int16_t           x,
   478                               int16_t           y,
   479                               uint16_t          width,
   480                               uint16_t          height,
   481                               uint32_t          plane_mask,
   482                               uint8_t           format,
   483                               xcb_shm_seg_t     shmseg,
   484                               uint32_t          offset);
   485  
   486  /**
   487   * Return the reply
   488   * @param c      The connection
   489   * @param cookie The cookie
   490   * @param e      The xcb_generic_error_t supplied
   491   *
   492   * Returns the reply of the request asked by
   493   *
   494   * The parameter @p e supplied to this function must be NULL if
   495   * xcb_shm_get_image_unchecked(). is used.
   496   * Otherwise, it stores the error if any.
   497   *
   498   * The returned value must be freed by the caller using free().
   499   */
   500  xcb_shm_get_image_reply_t *
   501  xcb_shm_get_image_reply (xcb_connection_t            *c,
   502                           xcb_shm_get_image_cookie_t   cookie  /**< */,
   503                           xcb_generic_error_t        **e);
   504  
   505  /**
   506   *
   507   * @param c The connection
   508   * @return A cookie
   509   *
   510   * Delivers a request to the X server.
   511   *
   512   * This form can be used only if the request will not cause
   513   * a reply to be generated. Any returned error will be
   514   * saved for handling by xcb_request_check().
   515   */
   516  xcb_void_cookie_t
   517  xcb_shm_create_pixmap_checked (xcb_connection_t *c,
   518                                 xcb_pixmap_t      pid,
   519                                 xcb_drawable_t    drawable,
   520                                 uint16_t          width,
   521                                 uint16_t          height,
   522                                 uint8_t           depth,
   523                                 xcb_shm_seg_t     shmseg,
   524                                 uint32_t          offset);
   525  
   526  /**
   527   *
   528   * @param c The connection
   529   * @return A cookie
   530   *
   531   * Delivers a request to the X server.
   532   *
   533   */
   534  xcb_void_cookie_t
   535  xcb_shm_create_pixmap (xcb_connection_t *c,
   536                         xcb_pixmap_t      pid,
   537                         xcb_drawable_t    drawable,
   538                         uint16_t          width,
   539                         uint16_t          height,
   540                         uint8_t           depth,
   541                         xcb_shm_seg_t     shmseg,
   542                         uint32_t          offset);
   543  
   544  /**
   545   *
   546   * @param c The connection
   547   * @return A cookie
   548   *
   549   * Delivers a request to the X server.
   550   *
   551   * This form can be used only if the request will not cause
   552   * a reply to be generated. Any returned error will be
   553   * saved for handling by xcb_request_check().
   554   */
   555  xcb_void_cookie_t
   556  xcb_shm_attach_fd_checked (xcb_connection_t *c,
   557                             xcb_shm_seg_t     shmseg,
   558                             int32_t           shm_fd,
   559                             uint8_t           read_only);
   560  
   561  /**
   562   *
   563   * @param c The connection
   564   * @return A cookie
   565   *
   566   * Delivers a request to the X server.
   567   *
   568   */
   569  xcb_void_cookie_t
   570  xcb_shm_attach_fd (xcb_connection_t *c,
   571                     xcb_shm_seg_t     shmseg,
   572                     int32_t           shm_fd,
   573                     uint8_t           read_only);
   574  
   575  /**
   576   *
   577   * @param c The connection
   578   * @return A cookie
   579   *
   580   * Delivers a request to the X server.
   581   *
   582   */
   583  xcb_shm_create_segment_cookie_t
   584  xcb_shm_create_segment (xcb_connection_t *c,
   585                          xcb_shm_seg_t     shmseg,
   586                          uint32_t          size,
   587                          uint8_t           read_only);
   588  
   589  /**
   590   *
   591   * @param c The connection
   592   * @return A cookie
   593   *
   594   * Delivers a request to the X server.
   595   *
   596   * This form can be used only if the request will cause
   597   * a reply to be generated. Any returned error will be
   598   * placed in the event queue.
   599   */
   600  xcb_shm_create_segment_cookie_t
   601  xcb_shm_create_segment_unchecked (xcb_connection_t *c,
   602                                    xcb_shm_seg_t     shmseg,
   603                                    uint32_t          size,
   604                                    uint8_t           read_only);
   605  
   606  /**
   607   * Return the reply
   608   * @param c      The connection
   609   * @param cookie The cookie
   610   * @param e      The xcb_generic_error_t supplied
   611   *
   612   * Returns the reply of the request asked by
   613   *
   614   * The parameter @p e supplied to this function must be NULL if
   615   * xcb_shm_create_segment_unchecked(). is used.
   616   * Otherwise, it stores the error if any.
   617   *
   618   * The returned value must be freed by the caller using free().
   619   */
   620  xcb_shm_create_segment_reply_t *
   621  xcb_shm_create_segment_reply (xcb_connection_t                 *c,
   622                                xcb_shm_create_segment_cookie_t   cookie  /**< */,
   623                                xcb_generic_error_t             **e);
   624  
   625  /**
   626   * Return the reply fds
   627   * @param c      The connection
   628   * @param reply  The reply
   629   *
   630   * Returns the array of reply fds of the request asked by
   631   *
   632   * The returned value must be freed by the caller using free().
   633   */
   634  int *
   635  xcb_shm_create_segment_reply_fds (xcb_connection_t                *c  /**< */,
   636                                    xcb_shm_create_segment_reply_t  *reply);
   637  
   638  
   639  #ifdef __cplusplus
   640  }
   641  #endif
   642  
   643  #endif
   644  
   645  /**
   646   * @}
   647   */