shm: new functions: shm_cookie_*()

These functions return a SHM cookie given a terminal instance.
This commit is contained in:
Daniel Eklöf 2020-03-18 16:52:33 +01:00
parent 7b610e018b
commit 6a35abb6ca
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 5 additions and 4 deletions

View file

@ -39,10 +39,6 @@ static struct {
static void fdm_hook_refresh_pending_terminals(struct fdm *fdm, void *data);
#define shm_cookie_grid(term) ((unsigned long)((uintptr_t)term + 0))
#define shm_cookie_search(term) ((unsigned long)((uintptr_t)term + 1))
#define shm_cookie_csd(term, n) ((unsigned long)((uintptr_t)term + 2 + (n))) /* Should be placed last */
struct renderer *
render_init(struct fdm *fdm, struct wayland *wayl)
{

5
shm.h
View file

@ -28,3 +28,8 @@ struct buffer *shm_get_buffer(
void shm_fini(void);
void shm_purge(struct wl_shm *shm, unsigned long cookie);
struct terminal;
static inline unsigned long shm_cookie_grid(const struct terminal *term) { return (unsigned long)((uintptr_t)term + 0); }
static inline unsigned long shm_cookie_search(const struct terminal *term) { return (unsigned long)((uintptr_t)term + 1); }
static inline unsigned long shm_cookie_csd(const struct terminal *term, int n) { return (unsigned long)((uintptr_t)term + 2 + (n)); }