#ifndef WAYLAND_PRIVATE_H
#define WAYLAND_PRIVATE_H
#include <stdarg.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#define WL_HIDE_DEPRECATED …
#include "wayland-util.h"
#define WL_ARRAY_POISON_PTR …
#define ARRAY_LENGTH(a) …
#define WL_MAP_SERVER_SIDE …
#define WL_MAP_CLIENT_SIDE …
#define WL_SERVER_ID_START …
#define WL_MAP_MAX_OBJECTS …
#define WL_CLOSURE_MAX_ARGS …
#define WL_BUFFER_DEFAULT_SIZE_POT …
#define WL_BUFFER_DEFAULT_MAX_SIZE …
enum wl_arg_type { … };
struct wl_object { … };
int
wl_interface_equal(const struct wl_interface *iface1,
const struct wl_interface *iface2);
enum wl_map_entry_flags { … };
struct wl_map { … };
wl_iterator_func_t;
void
wl_map_init(struct wl_map *map, uint32_t side);
void
wl_map_release(struct wl_map *map);
uint32_t
wl_map_insert_new(struct wl_map *map, uint32_t flags, void *data);
int
wl_map_insert_at(struct wl_map *map, uint32_t flags, uint32_t i, void *data);
int
wl_map_reserve_new(struct wl_map *map, uint32_t i);
void
wl_map_remove(struct wl_map *map, uint32_t i);
void *
wl_map_lookup(struct wl_map *map, uint32_t i);
uint32_t
wl_map_lookup_flags(struct wl_map *map, uint32_t i);
void
wl_map_for_each(struct wl_map *map, wl_iterator_func_t func, void *data);
struct wl_connection *
wl_connection_create(int fd, size_t max_buffer_size);
int
wl_connection_destroy(struct wl_connection *connection);
void
wl_connection_copy(struct wl_connection *connection, void *data, size_t size);
void
wl_connection_consume(struct wl_connection *connection, size_t size);
int
wl_connection_flush(struct wl_connection *connection);
uint32_t
wl_connection_pending_input(struct wl_connection *connection);
int
wl_connection_read(struct wl_connection *connection);
int
wl_connection_write(struct wl_connection *connection,
const void *data, size_t count);
int
wl_connection_queue(struct wl_connection *connection,
const void *data, size_t count);
int
wl_connection_get_fd(struct wl_connection *connection);
struct wl_closure { … };
struct argument_details { … };
const char *
get_next_argument(const char *signature, struct argument_details *details);
int
arg_count_for_signature(const char *signature);
int
wl_message_count_arrays(const struct wl_message *message);
int
wl_message_get_since(const struct wl_message *message);
void
wl_argument_from_va_list(const char *signature, union wl_argument *args,
int count, va_list ap);
struct wl_closure *
wl_closure_marshal(struct wl_object *sender,
uint32_t opcode, union wl_argument *args,
const struct wl_message *message);
struct wl_closure *
wl_closure_vmarshal(struct wl_object *sender,
uint32_t opcode, va_list ap,
const struct wl_message *message);
struct wl_closure *
wl_connection_demarshal(struct wl_connection *connection,
uint32_t size,
struct wl_map *objects,
const struct wl_message *message);
bool
wl_object_is_zombie(struct wl_map *map, uint32_t id);
int
wl_closure_lookup_objects(struct wl_closure *closure, struct wl_map *objects);
enum wl_closure_invoke_flag { … };
void
wl_closure_invoke(struct wl_closure *closure, uint32_t flags,
struct wl_object *target, uint32_t opcode, void *data);
void
wl_closure_dispatch(struct wl_closure *closure, wl_dispatcher_func_t dispatcher,
struct wl_object *target, uint32_t opcode);
int
wl_closure_send(struct wl_closure *closure, struct wl_connection *connection);
int
wl_closure_queue(struct wl_closure *closure, struct wl_connection *connection);
void
wl_closure_print(struct wl_closure *closure,
struct wl_object *target, int send, int discarded,
uint32_t (*n_parse)(union wl_argument *arg),
const char *queue_name);
void
wl_closure_destroy(struct wl_closure *closure);
extern wl_log_func_t wl_log_handler;
void wl_log(const char *fmt, ...);
void wl_abort(const char *fmt, ...);
struct wl_display;
struct wl_array *
wl_display_get_additional_shm_formats(struct wl_display *display);
static inline void *
zalloc(size_t s)
{ … }
void
wl_connection_close_fds_in(struct wl_connection *connection, int max);
void
wl_connection_set_max_buffer_size(struct wl_connection *connection,
size_t max_buffer_size);
#endif