From: David Herrmann Date: Sat, 15 Sep 2012 17:10:37 +0000 (+0200) Subject: shl: move dlist implementation to shl_dlist_* X-Git-Tag: kmscon-7~542 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=715e247676a0b4e167a0d44849264f844e0189f2;p=platform%2Fupstream%2Fkmscon.git shl: move dlist implementation to shl_dlist_* Shl (Static helper library) is the new name of all static helpers in kmscon that might be shared between different applications. Signed-off-by: David Herrmann --- diff --git a/src/eloop.c b/src/eloop.c index 3b2f0e5..cb876ed 100644 --- a/src/eloop.c +++ b/src/eloop.c @@ -203,7 +203,7 @@ struct ev_eloop { struct ev_fd *fd; int idle_fd; - struct kmscon_dlist sig_list; + struct shl_dlist sig_list; struct kmscon_hook *idlers; struct kmscon_hook *pres; struct kmscon_hook *posts; @@ -295,7 +295,7 @@ struct ev_counter { * are called if the signal is catched. */ struct ev_signal_shared { - struct kmscon_dlist list; + struct shl_dlist list; struct ev_fd *fd; int signum; @@ -417,7 +417,7 @@ static int signal_new(struct ev_signal_shared **out, struct ev_eloop *loop, goto err_sig; pthread_sigmask(SIG_BLOCK, &mask, NULL); - kmscon_dlist_link(&loop->sig_list, &sig->list); + shl_dlist_link(&loop->sig_list, &sig->list); *out = sig; return 0; @@ -447,7 +447,7 @@ static void signal_free(struct ev_signal_shared *sig) if (!sig) return; - kmscon_dlist_unlink(&sig->list); + shl_dlist_unlink(&sig->list); fd = sig->fd->fd; ev_eloop_rm_fd(sig->fd); close(fd); @@ -592,7 +592,7 @@ int ev_eloop_new(struct ev_eloop **out, ev_log_t log) memset(loop, 0, sizeof(*loop)); loop->ref = 1; loop->llog = log; - kmscon_dlist_init(&loop->sig_list); + shl_dlist_init(&loop->sig_list); loop->cur_fds_size = 32; loop->cur_fds = malloc(sizeof(struct epoll_event) * @@ -706,7 +706,7 @@ void ev_eloop_unref(struct ev_eloop *loop) llog_debug(loop, "free eloop object %p", loop); while (loop->sig_list.next != &loop->sig_list) { - sig = kmscon_dlist_entry(loop->sig_list.next, + sig = shl_dlist_entry(loop->sig_list.next, struct ev_signal_shared, list); signal_free(sig); @@ -2116,15 +2116,15 @@ int ev_eloop_register_signal_cb(struct ev_eloop *loop, int signum, { struct ev_signal_shared *sig = NULL; int ret; - struct kmscon_dlist *iter; + struct shl_dlist *iter; if (!loop) return -EINVAL; if (signum < 0 || !cb) return llog_EINVAL(loop); - kmscon_dlist_for_each(iter, &loop->sig_list) { - sig = kmscon_dlist_entry(iter, struct ev_signal_shared, list); + shl_dlist_for_each(iter, &loop->sig_list) { + sig = shl_dlist_entry(iter, struct ev_signal_shared, list); if (sig->signum == signum) break; sig = NULL; @@ -2155,13 +2155,13 @@ void ev_eloop_unregister_signal_cb(struct ev_eloop *loop, int signum, ev_signal_shared_cb cb, void *data) { struct ev_signal_shared *sig; - struct kmscon_dlist *iter; + struct shl_dlist *iter; if (!loop) return; - kmscon_dlist_for_each(iter, &loop->sig_list) { - sig = kmscon_dlist_entry(iter, struct ev_signal_shared, list); + shl_dlist_for_each(iter, &loop->sig_list) { + sig = shl_dlist_entry(iter, struct ev_signal_shared, list); if (sig->signum == signum) { kmscon_hook_rm_cast(sig->hook, cb, data); if (!kmscon_hook_num(sig->hook)) diff --git a/src/main.c b/src/main.c index 282ff79..e7eabe1 100644 --- a/src/main.c +++ b/src/main.c @@ -46,11 +46,11 @@ struct kmscon_app { struct uterm_vt_master *vtm; struct uterm_monitor *mon; - struct kmscon_dlist seats; + struct shl_dlist seats; }; struct kmscon_seat { - struct kmscon_dlist list; + struct shl_dlist list; struct kmscon_app *app; struct uterm_monitor_seat *useat; @@ -60,11 +60,11 @@ struct kmscon_seat { struct uterm_vt *vt; struct uterm_input *input; struct kmscon_ui *ui; - struct kmscon_dlist videos; + struct shl_dlist videos; }; struct kmscon_video { - struct kmscon_dlist list; + struct shl_dlist list; struct uterm_monitor_dev *vdev; struct uterm_video *video; }; @@ -81,22 +81,22 @@ static void sig_generic(struct ev_eloop *eloop, struct signalfd_siginfo *info, static int vt_event(struct uterm_vt *vt, unsigned int action, void *data) { struct kmscon_seat *seat = data; - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct kmscon_video *vid; if (action == UTERM_VT_ACTIVATE) { seat->awake = true; uterm_input_wake_up(seat->input); - kmscon_dlist_for_each(iter, &seat->videos) { - vid = kmscon_dlist_entry(iter, struct kmscon_video, list); + shl_dlist_for_each(iter, &seat->videos) { + vid = shl_dlist_entry(iter, struct kmscon_video, list); uterm_video_wake_up(vid->video); } kmscon_ui_wake_up(seat->ui); } else if (action == UTERM_VT_DEACTIVATE) { kmscon_ui_sleep(seat->ui); - kmscon_dlist_for_each(iter, &seat->videos) { - vid = kmscon_dlist_entry(iter, struct kmscon_video, list); + shl_dlist_for_each(iter, &seat->videos) { + vid = shl_dlist_entry(iter, struct kmscon_video, list); uterm_video_sleep(vid->video); } @@ -140,7 +140,7 @@ static void seat_new(struct kmscon_app *app, memset(seat, 0, sizeof(*seat)); seat->app = app; seat->useat = useat; - kmscon_dlist_init(&seat->videos); + shl_dlist_init(&seat->videos); seat->sname = strdup(sname); if (!seat->sname) { @@ -165,7 +165,7 @@ static void seat_new(struct kmscon_app *app, goto err_vt; uterm_monitor_set_seat_data(seat->useat, seat); - kmscon_dlist_link(&app->seats, &seat->list); + shl_dlist_link(&app->seats, &seat->list); log_info("new seat %s", seat->sname); return; @@ -184,7 +184,7 @@ static void seat_free(struct kmscon_seat *seat) { log_info("free seat %s", seat->sname); - kmscon_dlist_unlink(&seat->list); + shl_dlist_unlink(&seat->list); uterm_monitor_set_seat_data(seat->useat, NULL); kmscon_ui_free(seat->ui); uterm_input_unref(seat->input); @@ -234,7 +234,7 @@ static void seat_add_video(struct kmscon_seat *seat, kmscon_ui_add_video(seat->ui, vid->video); if (seat->awake) uterm_video_wake_up(vid->video); - kmscon_dlist_link(&seat->videos, &vid->list); + shl_dlist_link(&seat->videos, &vid->list); log_debug("new graphics device on seat %s", seat->sname); return; @@ -248,11 +248,11 @@ err_free: static void seat_rm_video(struct kmscon_seat *seat, struct uterm_monitor_dev *dev) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct kmscon_video *vid; - kmscon_dlist_for_each(iter, &seat->videos) { - vid = kmscon_dlist_entry(iter, struct kmscon_video, list); + shl_dlist_for_each(iter, &seat->videos) { + vid = shl_dlist_entry(iter, struct kmscon_video, list); if (vid->vdev != dev) continue; @@ -260,7 +260,7 @@ static void seat_rm_video(struct kmscon_seat *seat, kmscon_ui_remove_video(seat->ui, vid->video); uterm_video_unref(vid->video); - kmscon_dlist_unlink(&vid->list); + shl_dlist_unlink(&vid->list); free(vid); break; @@ -270,11 +270,11 @@ static void seat_rm_video(struct kmscon_seat *seat, static void seat_hotplug_video(struct kmscon_seat *seat, struct uterm_monitor_dev *dev) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct kmscon_video *vid; - kmscon_dlist_for_each(iter, &seat->videos) { - vid = kmscon_dlist_entry(iter, struct kmscon_video, list); + shl_dlist_for_each(iter, &seat->videos) { + vid = shl_dlist_entry(iter, struct kmscon_video, list); if (vid->vdev != dev) continue; @@ -364,7 +364,7 @@ static int setup_app(struct kmscon_app *app) if (ret) goto err_app; - kmscon_dlist_init(&app->seats); + shl_dlist_init(&app->seats); ret = uterm_monitor_new(&app->mon, app->eloop, monitor_event, app); if (ret) diff --git a/src/static_dlist.h b/src/static_dlist.h index e6d4154..226eb01 100644 --- a/src/static_dlist.h +++ b/src/static_dlist.h @@ -1,5 +1,5 @@ /* - * kmscon - Double Linked List + * shl - Double Linked List * * Copyright (c) 2011-2012 David Herrmann * Copyright (c) 2011 University of Tuebingen @@ -28,8 +28,8 @@ * A simple double linked list implementation */ -#ifndef KMSCON_STATIC_DLIST_H -#define KMSCON_STATIC_DLIST_H +#ifndef SHL_DLIST_H +#define SHL_DLIST_H #include #include @@ -38,29 +38,29 @@ /* miscellaneous */ -#define kmscon_offsetof(pointer, type, member) ({ \ +#define shl_offsetof(pointer, type, member) ({ \ const typeof(((type*)0)->member) *__ptr = (pointer); \ (type*)(((char*)__ptr) - offsetof(type, member)); \ }) /* double linked list */ -struct kmscon_dlist { - struct kmscon_dlist *next; - struct kmscon_dlist *prev; +struct shl_dlist { + struct shl_dlist *next; + struct shl_dlist *prev; }; -#define KMSCON_DLIST_INIT(head) { &(head), &(head) } +#define SHL_DLIST_INIT(head) { &(head), &(head) } -static inline void kmscon_dlist_init(struct kmscon_dlist *list) +static inline void shl_dlist_init(struct shl_dlist *list) { list->next = list; list->prev = list; } -static inline void kmscon_dlist__link(struct kmscon_dlist *prev, - struct kmscon_dlist *next, - struct kmscon_dlist *n) +static inline void shl_dlist__link(struct shl_dlist *prev, + struct shl_dlist *next, + struct shl_dlist *n) { next->prev = n; n->next = next; @@ -68,45 +68,45 @@ static inline void kmscon_dlist__link(struct kmscon_dlist *prev, prev->next = n; } -static inline void kmscon_dlist_link(struct kmscon_dlist *head, - struct kmscon_dlist *n) +static inline void shl_dlist_link(struct shl_dlist *head, + struct shl_dlist *n) { - return kmscon_dlist__link(head, head->next, n); + return shl_dlist__link(head, head->next, n); } -static inline void kmscon_dlist_link_tail(struct kmscon_dlist *head, - struct kmscon_dlist *n) +static inline void shl_dlist_link_tail(struct shl_dlist *head, + struct shl_dlist *n) { - return kmscon_dlist__link(head->prev, head, n); + return shl_dlist__link(head->prev, head, n); } -static inline void kmscon_dlist__unlink(struct kmscon_dlist *prev, - struct kmscon_dlist *next) +static inline void shl_dlist__unlink(struct shl_dlist *prev, + struct shl_dlist *next) { next->prev = prev; prev->next = next; } -static inline void kmscon_dlist_unlink(struct kmscon_dlist *e) +static inline void shl_dlist_unlink(struct shl_dlist *e) { - kmscon_dlist__unlink(e->prev, e->next); + shl_dlist__unlink(e->prev, e->next); e->prev = NULL; e->next = NULL; } -static inline bool kmscon_dlist_empty(struct kmscon_dlist *head) +static inline bool shl_dlist_empty(struct shl_dlist *head) { return head->next == head; } -#define kmscon_dlist_entry(ptr, type, member) \ - kmscon_offsetof((ptr), type, member) +#define shl_dlist_entry(ptr, type, member) \ + shl_offsetof((ptr), type, member) -#define kmscon_dlist_for_each(iter, head) \ +#define shl_dlist_for_each(iter, head) \ for (iter = (head)->next; iter != (head); iter = iter->next) -#define kmscon_dlist_for_each_safe(iter, tmp, head) \ +#define shl_dlist_for_each_safe(iter, tmp, head) \ for (iter = (head)->next, tmp = iter->next; iter != (head); \ iter = tmp, tmp = iter->next) -#endif /* KMSCON_STATIC_DLIST_H */ +#endif /* SHL_STATIC_DLIST_H */ diff --git a/src/terminal.c b/src/terminal.c index 5f9ef9b..231827a 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -48,7 +48,7 @@ #define LOG_SUBSYSTEM "terminal" struct screen { - struct kmscon_dlist list; + struct shl_dlist list; struct uterm_display *disp; struct uterm_screen *screen; struct kmscon_font *font; @@ -62,7 +62,7 @@ struct kmscon_terminal { bool opened; bool awake; - struct kmscon_dlist screens; + struct shl_dlist screens; unsigned int min_cols; unsigned int min_rows; @@ -80,14 +80,14 @@ struct kmscon_terminal { static void redraw(struct kmscon_terminal *term) { struct uterm_screen *screen; - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct screen *ent; if (!term->awake) return; - kmscon_dlist_for_each(iter, &term->screens) { - ent = kmscon_dlist_entry(iter, struct screen, list); + shl_dlist_for_each(iter, &term->screens) { + ent = shl_dlist_entry(iter, struct screen, list); screen = ent->screen; kmscon_console_draw(term->console, @@ -180,7 +180,7 @@ static void terminal_resize(struct kmscon_terminal *term, static int add_display(struct kmscon_terminal *term, struct uterm_display *disp) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct screen *scr; int ret; unsigned int cols, rows; @@ -191,8 +191,8 @@ static int add_display(struct kmscon_terminal *term, struct uterm_display *disp) strncpy(attr.name, kmscon_conf.font_name, KMSCON_FONT_MAX_NAME - 1); attr.name[KMSCON_FONT_MAX_NAME - 1] = 0; - kmscon_dlist_for_each(iter, &term->screens) { - scr = kmscon_dlist_entry(iter, struct screen, list); + shl_dlist_for_each(iter, &term->screens) { + scr = shl_dlist_entry(iter, struct screen, list); if (scr->disp == disp) return 0; } @@ -241,7 +241,7 @@ static int add_display(struct kmscon_terminal *term, struct uterm_display *disp) rows = kmscon_text_get_rows(scr->txt); terminal_resize(term, cols, rows, false, true); - kmscon_dlist_link(&term->screens, &scr->list); + shl_dlist_link(&term->screens, &scr->list); log_debug("added display %p to terminal %p", disp, term); schedule_redraw(term); @@ -262,11 +262,11 @@ err_free: static void free_screen(struct kmscon_terminal *term, struct screen *scr, bool update) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct screen *ent; log_debug("destroying terminal screen %p", scr); - kmscon_dlist_unlink(&scr->list); + shl_dlist_unlink(&scr->list); kmscon_text_unref(scr->txt); kmscon_font_unref(scr->font); uterm_screen_unref(scr->screen); @@ -278,8 +278,8 @@ static void free_screen(struct kmscon_terminal *term, struct screen *scr, term->min_cols = 0; term->min_rows = 0; - kmscon_dlist_for_each(iter, &term->screens) { - ent = kmscon_dlist_entry(iter, struct screen, list); + shl_dlist_for_each(iter, &term->screens) { + ent = shl_dlist_entry(iter, struct screen, list); terminal_resize(term, kmscon_text_get_cols(ent->txt), kmscon_text_get_rows(ent->txt), @@ -291,11 +291,11 @@ static void free_screen(struct kmscon_terminal *term, struct screen *scr, static void rm_display(struct kmscon_terminal *term, struct uterm_display *disp) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct screen *scr; - kmscon_dlist_for_each(iter, &term->screens) { - scr = kmscon_dlist_entry(iter, struct screen, list); + shl_dlist_for_each(iter, &term->screens) { + scr = shl_dlist_entry(iter, struct screen, list); if (scr->disp == disp) break; } @@ -305,17 +305,17 @@ static void rm_display(struct kmscon_terminal *term, struct uterm_display *disp) log_debug("removed display %p from terminal %p", disp, term); free_screen(term, scr, true); - if (kmscon_dlist_empty(&term->screens) && term->cb) + if (shl_dlist_empty(&term->screens) && term->cb) term->cb(term, KMSCON_TERMINAL_NO_DISPLAY, term->data); } static void rm_all_screens(struct kmscon_terminal *term) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct screen *scr; while ((iter = term->screens.next) != &term->screens) { - scr = kmscon_dlist_entry(iter, struct screen, list); + scr = shl_dlist_entry(iter, struct screen, list); free_screen(term, scr, false); } @@ -406,7 +406,7 @@ int kmscon_terminal_new(struct kmscon_terminal **out, term->ref = 1; term->eloop = loop; term->input = input; - kmscon_dlist_init(&term->screens); + shl_dlist_init(&term->screens); if (kmscon_conf.fps) { fps = 1000000000ULL / kmscon_conf.fps; diff --git a/src/text.c b/src/text.c index d4f30c2..bbdfeab 100644 --- a/src/text.c +++ b/src/text.c @@ -43,12 +43,12 @@ #define LOG_SUBSYSTEM "text" struct text_backend { - struct kmscon_dlist list; + struct shl_dlist list; const struct kmscon_text_ops *ops; }; static pthread_mutex_t text_mutex = PTHREAD_MUTEX_INITIALIZER; -static struct kmscon_dlist text__list = KMSCON_DLIST_INIT(text__list); +static struct shl_dlist text__list = SHL_DLIST_INIT(text__list); static void text_lock() { @@ -76,7 +76,7 @@ static void text_unlock() */ int kmscon_text_register(const struct kmscon_text_ops *ops) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct text_backend *be; int ret; @@ -87,8 +87,8 @@ int kmscon_text_register(const struct kmscon_text_ops *ops) text_lock(); - kmscon_dlist_for_each(iter, &text__list) { - be = kmscon_dlist_entry(iter, struct text_backend, list); + shl_dlist_for_each(iter, &text__list) { + be = shl_dlist_entry(iter, struct text_backend, list); if (!strcmp(be->ops->name, ops->name)) { log_error("registering already available backend %s", ops->name); @@ -106,7 +106,7 @@ int kmscon_text_register(const struct kmscon_text_ops *ops) memset(be, 0, sizeof(*be)); be->ops = ops; - kmscon_dlist_link(&text__list, &be->list); + shl_dlist_link(&text__list, &be->list); ret = 0; @@ -124,7 +124,7 @@ out_unlock: */ void kmscon_text_unregister(const char *name) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct text_backend *be; if (!name) @@ -134,12 +134,12 @@ void kmscon_text_unregister(const char *name) text_lock(); - kmscon_dlist_for_each(iter, &text__list) { - be = kmscon_dlist_entry(iter, struct text_backend, list); + shl_dlist_for_each(iter, &text__list) { + be = shl_dlist_entry(iter, struct text_backend, list); if (strcmp(name, be->ops->name)) continue; - kmscon_dlist_unlink(&be->list); + shl_dlist_unlink(&be->list); break; } @@ -166,7 +166,7 @@ int kmscon_text_new(struct kmscon_text **out, const char *backend) { struct kmscon_text *text; - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct text_backend *be, *def; int ret; @@ -175,19 +175,19 @@ int kmscon_text_new(struct kmscon_text **out, text_lock(); - if (kmscon_dlist_empty(&text__list)) { + if (shl_dlist_empty(&text__list)) { log_error("no text backend available"); ret = -EFAULT; } else { ret = 0; - def = kmscon_dlist_entry(text__list.prev, + def = shl_dlist_entry(text__list.prev, struct text_backend, list); if (!backend) { be = def; } else { - kmscon_dlist_for_each(iter, &text__list) { - be = kmscon_dlist_entry(iter, + shl_dlist_for_each(iter, &text__list) { + be = shl_dlist_entry(iter, struct text_backend, list); if (!strcmp(backend, be->ops->name)) diff --git a/src/text_font.c b/src/text_font.c index d0c191b..ecd4e3c 100644 --- a/src/text_font.c +++ b/src/text_font.c @@ -64,12 +64,12 @@ #define LOG_SUBSYSTEM "text_font" struct font_backend { - struct kmscon_dlist list; + struct shl_dlist list; const struct kmscon_font_ops *ops; }; static pthread_mutex_t font_mutex = PTHREAD_MUTEX_INITIALIZER; -static struct kmscon_dlist font__list = KMSCON_DLIST_INIT(font__list); +static struct shl_dlist font__list = SHL_DLIST_INIT(font__list); static void font_lock() { @@ -164,7 +164,7 @@ bool kmscon_font_attr_match(const struct kmscon_font_attr *a1, */ int kmscon_font_register(const struct kmscon_font_ops *ops) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct font_backend *be; int ret; @@ -175,8 +175,8 @@ int kmscon_font_register(const struct kmscon_font_ops *ops) font_lock(); - kmscon_dlist_for_each(iter, &font__list) { - be = kmscon_dlist_entry(iter, struct font_backend, list); + shl_dlist_for_each(iter, &font__list) { + be = shl_dlist_entry(iter, struct font_backend, list); if (!strcmp(be->ops->name, ops->name)) { log_error("registering already available font backend %s", ops->name); @@ -194,7 +194,7 @@ int kmscon_font_register(const struct kmscon_font_ops *ops) memset(be, 0, sizeof(*be)); be->ops = ops; - kmscon_dlist_link(&font__list, &be->list); + shl_dlist_link(&font__list, &be->list); ret = 0; @@ -212,7 +212,7 @@ out_unlock: */ void kmscon_font_unregister(const char *name) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct font_backend *be; if (!name) @@ -222,12 +222,12 @@ void kmscon_font_unregister(const char *name) font_lock(); - kmscon_dlist_for_each(iter, &font__list) { - be = kmscon_dlist_entry(iter, struct font_backend, list); + shl_dlist_for_each(iter, &font__list) { + be = shl_dlist_entry(iter, struct font_backend, list); if (strcmp(name, be->ops->name)) continue; - kmscon_dlist_unlink(&be->list); + shl_dlist_unlink(&be->list); break; } @@ -322,7 +322,7 @@ int kmscon_font_find(struct kmscon_font **out, const char *backend) { struct kmscon_font *font; - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct font_backend *be, *def; int ret; @@ -336,19 +336,19 @@ int kmscon_font_find(struct kmscon_font **out, attr->bold, attr->italic, attr->height, attr->width); - if (kmscon_dlist_empty(&font__list)) { + if (shl_dlist_empty(&font__list)) { log_error("no font backend available"); ret = -EFAULT; } else { ret = 0; - def = kmscon_dlist_entry(font__list.prev, + def = shl_dlist_entry(font__list.prev, struct font_backend, list); if (!backend) { be = def; } else { - kmscon_dlist_for_each(iter, &font__list) { - be = kmscon_dlist_entry(iter, + shl_dlist_for_each(iter, &font__list) { + be = shl_dlist_entry(iter, struct font_backend, list); if (!strcmp(backend, be->ops->name)) diff --git a/src/text_font_freetype2.c b/src/text_font_freetype2.c index 827c6de..74bd33c 100644 --- a/src/text_font_freetype2.c +++ b/src/text_font_freetype2.c @@ -59,7 +59,7 @@ struct glyph { struct face { unsigned long ref; - struct kmscon_dlist list; + struct shl_dlist list; bool shrink; struct kmscon_font_attr attr; @@ -76,7 +76,7 @@ struct face { static pthread_mutex_t manager_mutex = PTHREAD_MUTEX_INITIALIZER; static unsigned long manager__refcnt; static FT_Library manager__lib; -static struct kmscon_dlist manager__list = KMSCON_DLIST_INIT(manager__list); +static struct shl_dlist manager__list = SHL_DLIST_INIT(manager__list); static void manager_lock() { @@ -297,7 +297,7 @@ static void free_glyph(void *data) static int manager_get_face(struct face **out, struct kmscon_font_attr *attr) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct face *face, *f; FcPattern *pat, *mat; FcResult res; @@ -316,8 +316,8 @@ static int manager_get_face(struct face **out, struct kmscon_font_attr *attr) if (!attr->width) attr->width = attr->height; - kmscon_dlist_for_each(iter, &manager__list) { - face = kmscon_dlist_entry(iter, struct face, list); + shl_dlist_for_each(iter, &manager__list) { + face = shl_dlist_entry(iter, struct face, list); if (kmscon_font_attr_match(&face->attr, attr)) { ++face->ref; *out = face; @@ -485,8 +485,8 @@ static int manager_get_face(struct face **out, struct kmscon_font_attr *attr) /* The real metrics probably differ from the requested metrics so try * again to find a suitable cached font. */ - kmscon_dlist_for_each(iter, &manager__list) { - f = kmscon_dlist_entry(iter, struct face, list); + shl_dlist_for_each(iter, &manager__list) { + f = shl_dlist_entry(iter, struct face, list); if (kmscon_font_attr_match(&f->real_attr, &face->real_attr)) { ++f->ref; *out = f; @@ -495,7 +495,7 @@ static int manager_get_face(struct face **out, struct kmscon_font_attr *attr) } } - kmscon_dlist_link(&manager__list, &face->list); + shl_dlist_link(&manager__list, &face->list); *out = face; ret = 0; goto out_unlock; @@ -520,7 +520,7 @@ static void manager_put_face(struct face *face) manager_lock(); if (!--face->ref) { - kmscon_dlist_unlink(&face->list); + shl_dlist_unlink(&face->list); kmscon_hashtable_free(face->glyphs); pthread_mutex_destroy(&face->glyph_lock); FT_Done_Face(face->face); diff --git a/src/text_font_pango.c b/src/text_font_pango.c index 4de5c10..cca2332 100644 --- a/src/text_font_pango.c +++ b/src/text_font_pango.c @@ -61,7 +61,7 @@ struct face { unsigned long ref; - struct kmscon_dlist list; + struct shl_dlist list; struct kmscon_font_attr attr; struct kmscon_font_attr real_attr; @@ -74,7 +74,7 @@ struct face { static pthread_mutex_t manager_mutex = PTHREAD_MUTEX_INITIALIZER; static unsigned long manager__refcnt; static PangoFontMap *manager__lib; -static struct kmscon_dlist manager__list = KMSCON_DLIST_INIT(manager__list); +static struct shl_dlist manager__list = SHL_DLIST_INIT(manager__list); static void manager_lock() { @@ -220,7 +220,7 @@ static void free_glyph(void *data) static int manager_get_face(struct face **out, struct kmscon_font_attr *attr) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct face *face, *f; PangoFontDescription *desc; PangoLayout *layout; @@ -230,8 +230,8 @@ static int manager_get_face(struct face **out, struct kmscon_font_attr *attr) manager_lock(); - kmscon_dlist_for_each(iter, &manager__list) { - face = kmscon_dlist_entry(iter, struct face, list); + shl_dlist_for_each(iter, &manager__list) { + face = shl_dlist_entry(iter, struct face, list); if (kmscon_font_attr_match(&face->attr, attr)) { ++face->ref; *out = face; @@ -310,8 +310,8 @@ static int manager_get_face(struct face **out, struct kmscon_font_attr *attr) /* The real metrics probably differ from the requested metrics so try * again to find a suitable cached font. */ - kmscon_dlist_for_each(iter, &manager__list) { - f = kmscon_dlist_entry(iter, struct face, list); + shl_dlist_for_each(iter, &manager__list) { + f = shl_dlist_entry(iter, struct face, list); if (kmscon_font_attr_match(&f->real_attr, &face->real_attr)) { ++f->ref; *out = f; @@ -320,7 +320,7 @@ static int manager_get_face(struct face **out, struct kmscon_font_attr *attr) } } - kmscon_dlist_link(&manager__list, &face->list); + shl_dlist_link(&manager__list, &face->list); *out = face; ret = 0; goto out_unlock; @@ -344,7 +344,7 @@ static void manager_put_face(struct face *face) manager_lock(); if (!--face->ref) { - kmscon_dlist_unlink(&face->list); + shl_dlist_unlink(&face->list); kmscon_hashtable_free(face->glyphs); pthread_mutex_destroy(&face->glyph_lock); g_object_unref(face->ctx); diff --git a/src/text_gltex.c b/src/text_gltex.c index a53ab3a..68f0586 100644 --- a/src/text_gltex.c +++ b/src/text_gltex.c @@ -55,7 +55,7 @@ #define LOG_SUBSYSTEM "text_gltex" struct atlas { - struct kmscon_dlist list; + struct shl_dlist list; GLuint tex; unsigned int height; @@ -90,7 +90,7 @@ struct gltex { unsigned int max_tex_size; bool supports_rowlen; - struct kmscon_dlist atlases; + struct shl_dlist atlases; GLfloat advance_x; GLfloat advance_y; @@ -148,7 +148,7 @@ static int gltex_set(struct kmscon_text *txt) const char *ext; memset(gt, 0, sizeof(*gt)); - kmscon_dlist_init(>->atlases); + shl_dlist_init(>->atlases); ret = kmscon_hashtable_new(>->glyphs, kmscon_direct_hash, kmscon_direct_equal, NULL, @@ -214,7 +214,7 @@ static void gltex_unset(struct kmscon_text *txt) { struct gltex *gt = txt->data; int ret; - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct atlas *atlas; bool gl = true; @@ -226,10 +226,10 @@ static void gltex_unset(struct kmscon_text *txt) kmscon_hashtable_free(gt->glyphs); - while (!kmscon_dlist_empty(>->atlases)) { + while (!shl_dlist_empty(>->atlases)) { iter = gt->atlases.next; - kmscon_dlist_unlink(iter); - atlas = kmscon_dlist_entry(iter, struct atlas, list); + shl_dlist_unlink(iter); + atlas = shl_dlist_entry(iter, struct atlas, list); free(atlas->cache_pos); free(atlas->cache_texpos); @@ -271,8 +271,8 @@ static struct atlas *get_atlas(struct kmscon_text *txt) GLenum err; /* check whether the last added atlas has still room for one glyph */ - if (!kmscon_dlist_empty(>->atlases)) { - atlas = kmscon_dlist_entry(gt->atlases.next, struct atlas, + if (!shl_dlist_empty(>->atlases)) { + atlas = shl_dlist_entry(gt->atlases.next, struct atlas, list); if (atlas->fill < atlas->count) return atlas; @@ -350,7 +350,7 @@ try_next: atlas->advance_htex = 1.0 / atlas->width * FONT_WIDTH(txt); atlas->advance_vtex = 1.0 / atlas->height * FONT_HEIGHT(txt); - kmscon_dlist_link(>->atlases, &atlas->list); + shl_dlist_link(>->atlases, &atlas->list); return atlas; err_mem: @@ -497,7 +497,7 @@ static int gltex_prepare(struct kmscon_text *txt) { struct gltex *gt = txt->data; struct atlas *atlas; - struct kmscon_dlist *iter; + struct shl_dlist *iter; unsigned int sw, sh; int ret; @@ -505,8 +505,8 @@ static int gltex_prepare(struct kmscon_text *txt) if (ret) return ret; - kmscon_dlist_for_each(iter, >->atlases) { - atlas = kmscon_dlist_entry(iter, struct atlas, list); + shl_dlist_for_each(iter, >->atlases) { + atlas = shl_dlist_entry(iter, struct atlas, list); atlas->cache_num = 0; } @@ -605,7 +605,7 @@ static int gltex_render(struct kmscon_text *txt) { struct gltex *gt = txt->data; struct atlas *atlas; - struct kmscon_dlist *iter; + struct shl_dlist *iter; float mat[16]; gl_clear_error(); @@ -626,8 +626,8 @@ static int gltex_render(struct kmscon_text *txt) glActiveTexture(GL_TEXTURE0); glUniform1i(gt->uni_atlas, 0); - kmscon_dlist_for_each(iter, >->atlases) { - atlas = kmscon_dlist_entry(iter, struct atlas, list); + shl_dlist_for_each(iter, >->atlases) { + atlas = shl_dlist_entry(iter, struct atlas, list); if (!atlas->cache_num) continue; diff --git a/src/ui.c b/src/ui.c index 7ad2911..81253b4 100644 --- a/src/ui.c +++ b/src/ui.c @@ -41,7 +41,7 @@ #define LOG_SUBSYSTEM "ui" struct ui_video { - struct kmscon_dlist list; + struct shl_dlist list; struct kmscon_ui *ui; struct uterm_video *video; }; @@ -49,7 +49,7 @@ struct ui_video { struct kmscon_ui { struct ev_eloop *eloop; struct uterm_input *input; - struct kmscon_dlist video_list; + struct shl_dlist video_list; struct kmscon_terminal *term; bool awake; }; @@ -101,12 +101,12 @@ static void video_event(struct uterm_video *video, static void video_new(struct kmscon_ui *ui, struct uterm_video *video) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct ui_video *vid; int ret; - kmscon_dlist_for_each(iter, &ui->video_list) { - vid = kmscon_dlist_entry(iter, struct ui_video, list); + shl_dlist_for_each(iter, &ui->video_list) { + vid = shl_dlist_entry(iter, struct ui_video, list); if (vid->video == video) return; } @@ -124,7 +124,7 @@ static void video_new(struct kmscon_ui *ui, struct uterm_video *video) if (ret) goto err_free; - kmscon_dlist_link(&ui->video_list, &vid->list); + shl_dlist_link(&ui->video_list, &vid->list); uterm_video_ref(vid->video); return; @@ -139,7 +139,7 @@ static void video_free(struct ui_video *vid) struct kmscon_ui *ui = vid->ui; log_debug("removing video device"); - kmscon_dlist_unlink(&vid->list); + shl_dlist_unlink(&vid->list); disp = uterm_video_get_displays(vid->video); while (disp) { @@ -156,10 +156,10 @@ static void video_free(struct ui_video *vid) static void video_free_all(struct kmscon_ui *ui) { struct ui_video *vid; - struct kmscon_dlist *iter, *tmp; + struct shl_dlist *iter, *tmp; - kmscon_dlist_for_each_safe(iter, tmp, &ui->video_list) { - vid = kmscon_dlist_entry(iter, struct ui_video, list); + shl_dlist_for_each_safe(iter, tmp, &ui->video_list) { + vid = shl_dlist_entry(iter, struct ui_video, list); video_free(vid); } } @@ -198,7 +198,7 @@ int kmscon_ui_new(struct kmscon_ui **out, memset(ui, 0, sizeof(*ui)); ui->eloop = eloop; ui->input = input; - kmscon_dlist_init(&ui->video_list); + shl_dlist_init(&ui->video_list); ret = kmscon_terminal_new(&ui->term, eloop, ui->input); if (ret) @@ -251,13 +251,13 @@ void kmscon_ui_add_video(struct kmscon_ui *ui, struct uterm_video *video) void kmscon_ui_remove_video(struct kmscon_ui *ui, struct uterm_video *video) { struct ui_video *vid; - struct kmscon_dlist *iter; + struct shl_dlist *iter; if (!ui || !video) return; - kmscon_dlist_for_each(iter, &ui->video_list) { - vid = kmscon_dlist_entry(iter, struct ui_video, list); + shl_dlist_for_each(iter, &ui->video_list) { + vid = shl_dlist_entry(iter, struct ui_video, list); if (vid->video == video) { video_free(vid); return; diff --git a/src/uterm_input.c b/src/uterm_input.c index 9146937..6a111ee 100644 --- a/src/uterm_input.c +++ b/src/uterm_input.c @@ -53,7 +53,7 @@ enum device_feature { }; struct uterm_input_dev { - struct kmscon_dlist list; + struct shl_dlist list; struct uterm_input *input; unsigned int features; @@ -71,7 +71,7 @@ struct uterm_input { struct kmscon_hook *hook; struct kbd_desc *desc; - struct kmscon_dlist devices; + struct shl_dlist devices; }; static void input_free_dev(struct uterm_input_dev *dev); @@ -210,7 +210,7 @@ static void input_new_dev(struct uterm_input *input, } log_debug("new device %s", node); - kmscon_dlist_link(&input->devices, &dev->list); + shl_dlist_link(&input->devices, &dev->list); return; err_kbd: @@ -225,7 +225,7 @@ static void input_free_dev(struct uterm_input_dev *dev) { log_debug("free device %s", dev->node); input_sleep_dev(dev); - kmscon_dlist_unlink(&dev->list); + shl_dlist_unlink(&dev->list); kbd_dev_unref(dev->kbd); free(dev->node); free(dev); @@ -249,7 +249,7 @@ int uterm_input_new(struct uterm_input **out, memset(input, 0, sizeof(*input)); input->ref = 1; input->eloop = eloop; - kmscon_dlist_init(&input->devices); + shl_dlist_init(&input->devices); ret = kmscon_hook_new(&input->hook); if (ret) @@ -303,7 +303,7 @@ void uterm_input_unref(struct uterm_input *input) log_debug("free object %p", input); while (input->devices.next != &input->devices) { - dev = kmscon_dlist_entry(input->devices.next, + dev = shl_dlist_entry(input->devices.next, struct uterm_input_dev, list); input_free_dev(dev); @@ -384,14 +384,14 @@ void uterm_input_add_dev(struct uterm_input *input, const char *node) void uterm_input_remove_dev(struct uterm_input *input, const char *node) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct uterm_input_dev *dev; if (!input || !node) return; - kmscon_dlist_for_each(iter, &input->devices) { - dev = kmscon_dlist_entry(iter, + shl_dlist_for_each(iter, &input->devices) { + dev = shl_dlist_entry(iter, struct uterm_input_dev, list); if (!strcmp(dev->node, node)) { @@ -423,7 +423,7 @@ void uterm_input_unregister_cb(struct uterm_input *input, void uterm_input_sleep(struct uterm_input *input) { - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct uterm_input_dev *dev; if (!input) @@ -435,8 +435,8 @@ void uterm_input_sleep(struct uterm_input *input) log_debug("going to sleep"); - kmscon_dlist_for_each(iter, &input->devices) { - dev = kmscon_dlist_entry(iter, + shl_dlist_for_each(iter, &input->devices) { + dev = shl_dlist_entry(iter, struct uterm_input_dev, list); input_sleep_dev(dev); @@ -445,7 +445,7 @@ void uterm_input_sleep(struct uterm_input *input) void uterm_input_wake_up(struct uterm_input *input) { - struct kmscon_dlist *iter, *tmp; + struct shl_dlist *iter, *tmp; struct uterm_input_dev *dev; int ret; @@ -458,8 +458,8 @@ void uterm_input_wake_up(struct uterm_input *input) log_debug("wakeing up"); - kmscon_dlist_for_each_safe(iter, tmp, &input->devices) { - dev = kmscon_dlist_entry(iter, + shl_dlist_for_each_safe(iter, tmp, &input->devices) { + dev = shl_dlist_entry(iter, struct uterm_input_dev, list); ret = input_wake_up_dev(dev); diff --git a/src/uterm_monitor.c b/src/uterm_monitor.c index 398a8a2..6f13851 100644 --- a/src/uterm_monitor.c +++ b/src/uterm_monitor.c @@ -48,7 +48,7 @@ #define LOG_SUBSYSTEM "monitor" struct uterm_monitor_dev { - struct kmscon_dlist list; + struct shl_dlist list; struct uterm_monitor_seat *seat; unsigned int type; char *node; @@ -56,11 +56,11 @@ struct uterm_monitor_dev { }; struct uterm_monitor_seat { - struct kmscon_dlist list; + struct shl_dlist list; struct uterm_monitor *mon; char *name; void *data; - struct kmscon_dlist devices; + struct shl_dlist devices; }; struct uterm_monitor { @@ -78,7 +78,7 @@ struct uterm_monitor { struct udev_monitor *umon; struct ev_fd *umon_fd; - struct kmscon_dlist seats; + struct shl_dlist seats; }; static void monitor_new_seat(struct uterm_monitor *mon, const char *name); @@ -90,7 +90,7 @@ static void monitor_refresh_seats(struct uterm_monitor *mon) { char **seats; int num, i; - struct kmscon_dlist *iter, *tmp; + struct shl_dlist *iter, *tmp; struct uterm_monitor_seat *seat; num = sd_get_seats(&seats); @@ -100,8 +100,8 @@ static void monitor_refresh_seats(struct uterm_monitor *mon) } /* Remove all seats that are no longer present */ - kmscon_dlist_for_each_safe(iter, tmp, &mon->seats) { - seat = kmscon_dlist_entry(iter, struct uterm_monitor_seat, + shl_dlist_for_each_safe(iter, tmp, &mon->seats) { + seat = shl_dlist_entry(iter, struct uterm_monitor_seat, list); for (i = 0; i < num; ++i) { if (!strcmp(seats[i], seat->name)) @@ -185,7 +185,7 @@ static void monitor_sd_deinit(struct uterm_monitor *mon) static void monitor_refresh_seats(struct uterm_monitor *mon) { - if (kmscon_dlist_empty(&mon->seats)) + if (shl_dlist_empty(&mon->seats)) monitor_new_seat(mon, "seat0"); } @@ -222,7 +222,7 @@ static void seat_new_dev(struct uterm_monitor_seat *seat, if (!dev->node) goto err_free; - kmscon_dlist_link(&seat->devices, &dev->list); + shl_dlist_link(&seat->devices, &dev->list); memset(&ev, 0, sizeof(ev)); ev.type = UTERM_MONITOR_NEW_DEV; @@ -248,7 +248,7 @@ static void seat_free_dev(struct uterm_monitor_dev *dev) log_debug("free device %s on %s", dev->node, dev->seat->name); - kmscon_dlist_unlink(&dev->list); + shl_dlist_unlink(&dev->list); memset(&ev, 0, sizeof(ev)); ev.type = UTERM_MONITOR_FREE_DEV; @@ -269,7 +269,7 @@ static struct uterm_monitor_dev *monitor_find_dev(struct uterm_monitor *mon, struct udev_device *dev) { const char *node; - struct kmscon_dlist *iter, *iter2; + struct shl_dlist *iter, *iter2; struct uterm_monitor_seat *seat; struct uterm_monitor_dev *sdev; @@ -277,11 +277,11 @@ static struct uterm_monitor_dev *monitor_find_dev(struct uterm_monitor *mon, if (!node) return NULL; - kmscon_dlist_for_each(iter, &mon->seats) { - seat = kmscon_dlist_entry(iter, struct uterm_monitor_seat, + shl_dlist_for_each(iter, &mon->seats) { + seat = shl_dlist_entry(iter, struct uterm_monitor_seat, list); - kmscon_dlist_for_each(iter2, &seat->devices) { - sdev = kmscon_dlist_entry(iter2, + shl_dlist_for_each(iter2, &seat->devices) { + sdev = shl_dlist_entry(iter2, struct uterm_monitor_dev, list); if (!strcmp(node, sdev->node)) @@ -302,13 +302,13 @@ static void monitor_new_seat(struct uterm_monitor *mon, const char *name) return; memset(seat, 0, sizeof(*seat)); seat->mon = mon; - kmscon_dlist_init(&seat->devices); + shl_dlist_init(&seat->devices); seat->name = strdup(name); if (!seat->name) goto err_free; - kmscon_dlist_link(&mon->seats, &seat->list); + shl_dlist_link(&mon->seats, &seat->list); memset(&ev, 0, sizeof(ev)); ev.type = UTERM_MONITOR_NEW_SEAT; @@ -332,13 +332,13 @@ static void monitor_free_seat(struct uterm_monitor_seat *seat) log_debug("free seat %s", seat->name); while (seat->devices.next != &seat->devices) { - dev = kmscon_dlist_entry(seat->devices.next, + dev = shl_dlist_entry(seat->devices.next, struct uterm_monitor_dev, list); seat_free_dev(dev); } - kmscon_dlist_unlink(&seat->list); + shl_dlist_unlink(&seat->list); memset(&ev, 0, sizeof(ev)); ev.type = UTERM_MONITOR_FREE_SEAT; @@ -393,7 +393,7 @@ static void monitor_udev_add(struct uterm_monitor *mon, struct udev_device *dev) { const char *sname, *subs, *node, *name, *sysname; - struct kmscon_dlist *iter; + struct shl_dlist *iter; struct uterm_monitor_seat *seat; unsigned int type; int id; @@ -478,8 +478,8 @@ static void monitor_udev_add(struct uterm_monitor *mon, sname = "seat0"; /* find correct seat */ - kmscon_dlist_for_each(iter, &mon->seats) { - seat = kmscon_dlist_entry(iter, struct uterm_monitor_seat, + shl_dlist_for_each(iter, &mon->seats) { + seat = shl_dlist_entry(iter, struct uterm_monitor_seat, list); if (!strcmp(sname, seat->name)) break; @@ -611,7 +611,7 @@ int uterm_monitor_new(struct uterm_monitor **out, mon->eloop = eloop; mon->cb = cb; mon->data = data; - kmscon_dlist_init(&mon->seats); + shl_dlist_init(&mon->seats); ret = monitor_sd_init(mon); if (ret) @@ -724,7 +724,7 @@ void uterm_monitor_unref(struct uterm_monitor *mon) return; while (mon->seats.next != &mon->seats) { - seat = kmscon_dlist_entry(mon->seats.next, + seat = shl_dlist_entry(mon->seats.next, struct uterm_monitor_seat, list); monitor_free_seat(seat); diff --git a/src/uterm_vt.c b/src/uterm_vt.c index 989bb7b..93a03eb 100644 --- a/src/uterm_vt.c +++ b/src/uterm_vt.c @@ -49,7 +49,7 @@ struct uterm_vt { unsigned long ref; - struct kmscon_dlist list; + struct shl_dlist list; struct uterm_vt_master *vtm; struct uterm_input *input; unsigned int mode; @@ -72,7 +72,7 @@ struct uterm_vt_master { struct ev_eloop *eloop; bool vt_support; - struct kmscon_dlist vts; + struct shl_dlist vts; }; static int vt_call(struct uterm_vt *vt, unsigned int event) @@ -507,7 +507,7 @@ int uterm_vt_allocate(struct uterm_vt_master *vtm, uterm_input_wake_up(vt->input); } - kmscon_dlist_link(&vtm->vts, &vt->list); + shl_dlist_link(&vtm->vts, &vt->list); *out = vt; return 0; @@ -541,7 +541,7 @@ void uterm_vt_deallocate(struct uterm_vt *vt) } ev_eloop_unregister_signal_cb(vt->vtm->eloop, SIGUSR2, vt_sigusr2, vt); ev_eloop_unregister_signal_cb(vt->vtm->eloop, SIGUSR1, vt_sigusr1, vt); - kmscon_dlist_unlink(&vt->list); + shl_dlist_unlink(&vt->list); uterm_input_sleep(vt->input); uterm_input_unref(vt->input); vt->vtm = NULL; @@ -601,7 +601,7 @@ int uterm_vt_master_new(struct uterm_vt_master **out, memset(vtm, 0, sizeof(*vtm)); vtm->ref = 1; vtm->eloop = eloop; - kmscon_dlist_init(&vtm->vts); + shl_dlist_init(&vtm->vts); vtm->vt_support = check_vt_support(); ev_eloop_ref(vtm->eloop); @@ -625,7 +625,7 @@ void uterm_vt_master_unref(struct uterm_vt_master *vtm) return; while (vtm->vts.next != &vtm->vts) { - vt = kmscon_dlist_entry(vtm->vts.next, + vt = shl_dlist_entry(vtm->vts.next, struct uterm_vt, list); uterm_vt_deallocate(vt);