Changeset e273e9e in mainline


Ignore:
Timestamp:
2024-10-03T18:48:48Z (8 days ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
5132379
Parents:
b2c9e42c
Message:

Move link out of cons_event_t

Location:
uspace
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/terminal/terminal.c

    rb2c9e42c re273e9e  
    403403                if (pos < size) {
    404404                        link_t *link = prodcons_consume(&term->input_pc);
    405                         cons_event_t *event = list_get_instance(link, cons_event_t, link);
     405                        terminal_event_t *qevent = list_get_instance(link,
     406                            terminal_event_t, link);
     407                        cons_event_t *event = &qevent->ev;
    406408
    407409                        /* Accept key presses of printable chars only. */
     
    417419                        }
    418420
    419                         free(event);
     421                        free(qevent);
    420422                }
    421423        }
     
    635637        terminal_t *term = srv_to_terminal(srv);
    636638        link_t *link = prodcons_consume(&term->input_pc);
    637         cons_event_t *ev = list_get_instance(link, cons_event_t, link);
    638 
    639         *event = *ev;
     639        terminal_event_t *ev = list_get_instance(link, terminal_event_t, link);
     640
     641        *event = ev->ev;
    640642        free(ev);
    641643        return EOK;
     
    823825{
    824826        /* Got key press/release event */
    825         cons_event_t *event =
    826             (cons_event_t *) malloc(sizeof(cons_event_t));
     827        terminal_event_t *event =
     828            (terminal_event_t *) malloc(sizeof(terminal_event_t));
    827829        if (event == NULL)
    828830                return;
    829831
    830         *event = *ev;
     832        event->ev = *ev;
    831833        link_initialize(&event->link);
    832834
  • uspace/app/terminal/terminal.h

    rb2c9e42c re273e9e  
    11/*
    2  * Copyright (c) 2023 Jiri Svoboda
     2 * Copyright (c) 2024 Jiri Svoboda
    33 * Copyright (c) 2012 Petr Koupy
    44 * All rights reserved.
     
    4646#include <gfx/coord.h>
    4747#include <io/con_srv.h>
     48#include <io/cons_event.h>
    4849#include <loc.h>
    4950#include <stdatomic.h>
     
    102103} terminal_t;
    103104
     105/** Terminal event */
     106typedef struct {
     107        /** Link to list of events */
     108        link_t link;
     109        /** Console event */
     110        cons_event_t ev;
     111} terminal_event_t;
     112
    104113extern errno_t terminal_create(const char *, sysarg_t, sysarg_t,
    105114    terminal_flags_t, const char *, terminal_t **);
  • uspace/lib/console/include/io/cons_event.h

    rb2c9e42c re273e9e  
    11/*
    2  * Copyright (c) 2023 Jiri Svoboda
     2 * Copyright (c) 2024 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3636#define _LIBCONSOLE_IO_CONS_EVENT_H_
    3737
    38 #include <adt/list.h>
    3938#include <io/kbd_event.h>
    4039#include <io/pos_event.h>
     
    5150/** Console event structure. */
    5251typedef struct {
    53         /** List handle */
    54         link_t link;
    55 
    5652        /** Event type */
    5753        cons_event_type_t type;
  • uspace/srv/hid/console/console.c

    rb2c9e42c re273e9e  
    334334{
    335335        /* Got key press/release event */
    336         cons_event_t *event =
    337             (cons_event_t *) malloc(sizeof(cons_event_t));
     336        cons_qevent_t *event =
     337            (cons_qevent_t *) malloc(sizeof(cons_qevent_t));
    338338        if (event == NULL)
    339339                return;
    340340
    341         *event = *ev;
     341        event->ev = *ev;
    342342        link_initialize(&event->link);
    343343
     
    556556                if (pos < size) {
    557557                        link_t *link = prodcons_consume(&cons->input_pc);
    558                         cons_event_t *event = list_get_instance(link,
    559                             cons_event_t, link);
     558                        cons_qevent_t *qevent = list_get_instance(link,
     559                            cons_qevent_t, link);
     560                        cons_event_t *event = &qevent->ev;
    560561
    561562                        /* Accept key presses of printable chars only. */
     
    567568                        }
    568569
    569                         free(event);
     570                        free(qevent);
    570571                }
    571572        }
     
    703704        console_t *cons = srv_to_console(srv);
    704705        link_t *link = prodcons_consume(&cons->input_pc);
    705         cons_event_t *cevent = list_get_instance(link, cons_event_t, link);
    706 
    707         *event = *cevent;
    708         free(cevent);
     706        cons_qevent_t *qevent = list_get_instance(link, cons_qevent_t, link);
     707
     708        *event = qevent->ev;
     709        free(qevent);
    709710        return EOK;
    710711}
  • uspace/srv/hid/console/console.h

    rb2c9e42c re273e9e  
    11/*
     2 * Copyright (c) 2024 Jiri Svoboda
    23 * Copyright (c) 2006 Josef Cejka
    34 * All rights reserved.
     
    3637#define CONSOLE_CONSOLE_H__
    3738
     39#include <adt/prodcons.h>
     40#include <io/cons_event.h>
     41
    3842#define CONSOLE_COUNT   11
     43
     44/** Console event queue entry */
     45typedef struct {
     46        /** Link to list of events */
     47        link_t link;
     48        /** Console event */
     49        cons_event_t ev;
     50} cons_qevent_t;
    3951
    4052#endif
  • uspace/srv/hid/output/output.h

    rb2c9e42c re273e9e  
    11/*
     2 * Copyright (c) 2024 Jiri Svoboda
    23 * Copyright (c) 2011 Martin Decky
    34 * All rights reserved.
     
    3435#define OUTPUT_OUTPUT_H_
    3536
     37#include <adt/list.h>
    3638#include <stdbool.h>
    3739#include <loc.h>
Note: See TracChangeset for help on using the changeset viewer.