1void zmq_version(int *major, int *minor, int *patch);
2
3void* zmq_socket(void *context, int type);
4int zmq_close(void *socket);
5
6int zmq_bind(void *socket, const char *endpoint);
7int zmq_connect(void *socket, const char *endpoint);
8
9int zmq_errno(void);
10const char * zmq_strerror(int errnum);
11
12void* zmq_stopwatch_start(void);
13unsigned long zmq_stopwatch_stop(void *watch);
14void zmq_sleep(int seconds_);
15int zmq_device(int device, void *frontend, void *backend);
16
17int zmq_unbind(void *socket, const char *endpoint);
18int zmq_disconnect(void *socket, const char *endpoint);
19void* zmq_ctx_new();
20int zmq_ctx_destroy(void *context);
21int zmq_ctx_get(void *context, int opt);
22int zmq_ctx_set(void *context, int opt, int optval);
23int zmq_proxy(void *frontend, void *backend, void *capture);
24int zmq_socket_monitor(void *socket, const char *addr, int events);
25
26int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key);
27int zmq_has (const char *capability);
28
29typedef struct { ...; } zmq_msg_t;
30typedef ... zmq_free_fn;
31
32int zmq_msg_init(zmq_msg_t *msg);
33int zmq_msg_init_size(zmq_msg_t *msg, size_t size);
34int zmq_msg_init_data(zmq_msg_t *msg,
35                      void *data,
36                      size_t size,
37                      zmq_free_fn *ffn,
38                      void *hint);
39
40size_t zmq_msg_size(zmq_msg_t *msg);
41void *zmq_msg_data(zmq_msg_t *msg);
42int zmq_msg_close(zmq_msg_t *msg);
43
44int zmq_msg_send(zmq_msg_t *msg, void *socket, int flags);
45int zmq_msg_recv(zmq_msg_t *msg, void *socket, int flags);
46
47int zmq_getsockopt(void *socket,
48                   int option_name,
49                   void *option_value,
50                   size_t *option_len);
51
52int zmq_setsockopt(void *socket,
53                   int option_name,
54                   const void *option_value,
55                   size_t option_len);
56typedef struct
57{
58    void *socket;
59    int fd;
60    short events;
61    short revents;
62} zmq_pollitem_t;
63
64int zmq_poll(zmq_pollitem_t *items, int nitems, long timeout);
65
66// miscellany
67void * memcpy(void *restrict s1, const void *restrict s2, size_t n);
68int get_ipc_path_max_len(void);
69