Blame


1 87d297d1 2024-02-22 op /*
2 87d297d1 2024-02-22 op * Copyright (c) 2021, 2024 Omar Polo <op@omarpolo.com>
3 87d297d1 2024-02-22 op *
4 87d297d1 2024-02-22 op * Permission to use, copy, modify, and distribute this software for any
5 87d297d1 2024-02-22 op * purpose with or without fee is hereby granted, provided that the above
6 87d297d1 2024-02-22 op * copyright notice and this permission notice appear in all copies.
7 87d297d1 2024-02-22 op *
8 87d297d1 2024-02-22 op * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 87d297d1 2024-02-22 op * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 87d297d1 2024-02-22 op * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 87d297d1 2024-02-22 op * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 87d297d1 2024-02-22 op * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 87d297d1 2024-02-22 op * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 87d297d1 2024-02-22 op * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 87d297d1 2024-02-22 op */
16 87d297d1 2024-02-22 op
17 87d297d1 2024-02-22 op struct imsgev {
18 87d297d1 2024-02-22 op struct imsgbuf ibuf;
19 87d297d1 2024-02-22 op void (*handler)(int, int, void *);
20 87d297d1 2024-02-22 op short events;
21 87d297d1 2024-02-22 op };
22 87d297d1 2024-02-22 op
23 87d297d1 2024-02-22 op #define IMSG_DATA_SIZE(imsg) ((imsg).hdr.len - IMSG_HEADER_SIZE)
24 87d297d1 2024-02-22 op
25 87d297d1 2024-02-22 op enum imsg_type {
26 87d297d1 2024-02-22 op /* ui <-> net */
27 87d297d1 2024-02-22 op IMSG_GET, /* struct get_req, peerid is the tab id */
28 87d297d1 2024-02-22 op IMSG_ERR,
29 87d297d1 2024-02-22 op IMSG_CHECK_CERT,
30 87d297d1 2024-02-22 op IMSG_CERT_STATUS,
31 87d297d1 2024-02-22 op IMSG_REPLY, /* reply code (int) + meta string */
32 87d297d1 2024-02-22 op IMSG_PROCEED,
33 87d297d1 2024-02-22 op IMSG_STOP,
34 87d297d1 2024-02-22 op IMSG_BUF,
35 87d297d1 2024-02-22 op IMSG_EOF,
36 87d297d1 2024-02-22 op IMSG_QUIT,
37 87d297d1 2024-02-22 op
38 87d297d1 2024-02-22 op /* ui <-> ctl */
39 87d297d1 2024-02-22 op IMSG_CTL_OPEN_URL,
40 87d297d1 2024-02-22 op };
41 87d297d1 2024-02-22 op
42 87d297d1 2024-02-22 op void imsg_event_add(struct imsgev *);
43 87d297d1 2024-02-22 op int imsg_compose_event(struct imsgev *, uint16_t, uint32_t, pid_t, int, const void *, uint16_t);
44 87d297d1 2024-02-22 op
45 87d297d1 2024-02-22 op int ibuf_borrow_str(struct ibuf *, char **);