Changeset 25eec4ef in mainline for uspace/app


Ignore:
Timestamp:
2013-04-19T18:38:18Z (13 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6d717a4
Parents:
a1e2df13 (diff), 289cb7dd (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline chages.

Location:
uspace/app
Files:
1 added
4 deleted
52 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bdsh/cmds/modules/cat/cat.c

    ra1e2df13 r25eec4ef  
    117117static void waitkey()
    118118{
    119         kbd_event_t ev;
     119        cons_event_t ev;
     120        kbd_event_t *kev;
    120121       
    121122        while (true) {
    122                 if (!console_get_kbd_event(console, &ev)) {
     123                if (!console_get_event(console, &ev)) {
    123124                        return;
    124125                }
    125                 if (ev.type == KEY_PRESS) {
    126                         if (ev.key == KC_ESCAPE || ev.key == KC_Q) {
     126                if (ev.type == CEV_KEY && ev.ev.key.type == KEY_PRESS) {
     127                        kev = &ev.ev.key;
     128                       
     129                        if (kev->key == KC_ESCAPE || kev->key == KC_Q) {
    127130                                should_quit = true;
    128131                                return;
    129132                        }
    130                         if (ev.key == KC_C) {
     133                        if (kev->key == KC_C) {
    131134                                paging_enabled = false;
    132135                                return;
    133136                        }
    134                         if (ev.key == KC_ENTER || ev.key == KC_SPACE ||
    135                             ev.key == KC_PAGE_DOWN) {
     137                        if (kev->key == KC_ENTER || kev->key == KC_SPACE ||
     138                            kev->key == KC_PAGE_DOWN) {
    136139                                return;
    137140                        }
  • uspace/app/bdsh/cmds/modules/cp/cp.c

    ra1e2df13 r25eec4ef  
    152152
    153153        while (true) {
    154                 kbd_event_t ev;
     154                cons_event_t ev;
    155155                console_flush(con);
    156                 console_get_kbd_event(con, &ev);
    157                 if ((ev.type != KEY_PRESS)
    158                     || (ev.mods & (KM_CTRL | KM_ALT)) != 0) {
     156                console_get_event(con, &ev);
     157                if (ev.type != CEV_KEY || ev.ev.key.type != KEY_PRESS ||
     158                    (ev.ev.key.mods & (KM_CTRL | KM_ALT)) != 0) {
    159159                        continue;
    160160                }
    161161
    162                 switch(ev.key) {
     162                switch(ev.ev.key.key) {
    163163                case KC_Y:
    164164                        printf("y\n");
  • uspace/app/bdsh/cmds/modules/ls/ls.c

    ra1e2df13 r25eec4ef  
    315315{
    316316        if (stat(path, &de->s)) {
    317                 cli_error(CL_ENOENT, path);
     317                cli_error(CL_ENOENT, "%s", path);
    318318                return LS_BOGUS;
    319319        }
  • uspace/app/bdsh/cmds/modules/sleep/sleep.c

    ra1e2df13 r25eec4ef  
    114114        int ret;
    115115        unsigned int argc;
    116         useconds_t duration;
     116        useconds_t duration = 0;
    117117
    118118        /* Count the arguments */
  • uspace/app/bdsh/compl.c

    ra1e2df13 r25eec4ef  
    2828 */
    2929
    30 #include <bool.h>
     30#include <stdbool.h>
    3131#include <dirent.h>
    3232#include <errno.h>
  • uspace/app/bdsh/input.c

    ra1e2df13 r25eec4ef  
    4141#include <errno.h>
    4242#include <assert.h>
    43 #include <bool.h>
     43#include <stdbool.h>
    4444#include <tinput.h>
    4545
  • uspace/app/bnchmark/bnchmark.c

    ra1e2df13 r25eec4ef  
    142142{
    143143        int rc;
    144         umseconds_t milliseconds_taken;
     144        umseconds_t milliseconds_taken = 0;
    145145        char *path = NULL;
    146146        measure_func_t fn = NULL;
  • uspace/app/edit/edit.c

    ra1e2df13 r25eec4ef  
    4747#include <macros.h>
    4848#include <clipboard.h>
    49 #include <bool.h>
     49#include <stdbool.h>
    5050
    5151#include "sheet.h"
     
    8080        tag_t sel_start;
    8181
     82        /** Active keyboard modifiers */
     83        keymod_t keymod;
     84
    8285        /**
    8386         * Ideal column where the caret should try to get. This is used
     
    119122static void cursor_setvis(bool visible);
    120123
     124static void key_handle_press(kbd_event_t *ev);
    121125static void key_handle_unmod(kbd_event_t const *ev);
    122126static void key_handle_ctrl(kbd_event_t const *ev);
     
    124128static void key_handle_shift_ctrl(kbd_event_t const *ev);
    125129static void key_handle_movement(unsigned int key, bool shift);
     130
     131static void pos_handle(pos_event_t *ev);
    126132
    127133static int file_save(char const *fname);
     
    182188int main(int argc, char *argv[])
    183189{
    184         kbd_event_t ev;
     190        cons_event_t ev;
    185191        bool new_file;
    186192        int rc;
     
    245251
    246252        while (!done) {
    247                 console_get_kbd_event(con, &ev);
     253                console_get_event(con, &ev);
    248254                pane.rflags = 0;
    249255
    250                 if (ev.type == KEY_PRESS) {
    251                         /* Handle key press. */
    252                         if (((ev.mods & KM_ALT) == 0) &&
    253                             ((ev.mods & KM_SHIFT) == 0) &&
    254                              (ev.mods & KM_CTRL) != 0) {
    255                                 key_handle_ctrl(&ev);
    256                         } else if (((ev.mods & KM_ALT) == 0) &&
    257                             ((ev.mods & KM_CTRL) == 0) &&
    258                              (ev.mods & KM_SHIFT) != 0) {
    259                                 key_handle_shift(&ev);
    260                         } else if (((ev.mods & KM_ALT) == 0) &&
    261                             ((ev.mods & KM_CTRL) != 0) &&
    262                              (ev.mods & KM_SHIFT) != 0) {
    263                                 key_handle_shift_ctrl(&ev);
    264                         } else if ((ev.mods & (KM_CTRL | KM_ALT | KM_SHIFT)) == 0) {
    265                                 key_handle_unmod(&ev);
    266                         }
     256                switch (ev.type) {
     257                case CEV_KEY:
     258                        pane.keymod = ev.ev.key.mods;
     259                        if (ev.ev.key.type == KEY_PRESS)
     260                                key_handle_press(&ev.ev.key);
     261                        break;
     262                case CEV_POS:
     263                        pos_handle(&ev.ev.pos);
     264                        break;
    267265                }
    268266
     
    286284
    287285        return 0;
     286}
     287
     288/* Handle key press. */
     289static void key_handle_press(kbd_event_t *ev)
     290{
     291        if (((ev->mods & KM_ALT) == 0) &&
     292            ((ev->mods & KM_SHIFT) == 0) &&
     293             (ev->mods & KM_CTRL) != 0) {
     294                key_handle_ctrl(ev);
     295        } else if (((ev->mods & KM_ALT) == 0) &&
     296            ((ev->mods & KM_CTRL) == 0) &&
     297             (ev->mods & KM_SHIFT) != 0) {
     298                key_handle_shift(ev);
     299        } else if (((ev->mods & KM_ALT) == 0) &&
     300            ((ev->mods & KM_CTRL) != 0) &&
     301             (ev->mods & KM_SHIFT) != 0) {
     302                key_handle_shift_ctrl(ev);
     303        } else if ((ev->mods & (KM_CTRL | KM_ALT | KM_SHIFT)) == 0) {
     304                key_handle_unmod(ev);
     305        }
    288306}
    289307
     
    462480}
    463481
     482static void pos_handle(pos_event_t *ev)
     483{
     484        coord_t bc;
     485        spt_t pt;
     486        bool select;
     487
     488        if (ev->type == POS_PRESS && ev->vpos < (unsigned)pane.rows) {
     489                bc.row = pane.sh_row + ev->vpos;
     490                bc.column = pane.sh_column + ev->hpos;
     491                sheet_get_cell_pt(doc.sh, &bc, dir_before, &pt);
     492
     493                select = (pane.keymod & KM_SHIFT) != 0;
     494
     495                caret_move(pt, select, true);
     496        }
     497}
     498
    464499/** Move caret while preserving or resetting selection. */
    465500static void caret_move(spt_t new_caret_pt, bool select, bool update_ideal_column)
     
    592627static char *prompt(char const *prompt, char const *init_value)
    593628{
    594         kbd_event_t ev;
     629        cons_event_t ev;
     630        kbd_event_t *kev;
    595631        char *str;
    596632        wchar_t buffer[INFNAME_MAX_LEN + 1];
     
    612648
    613649        while (!done) {
    614                 console_get_kbd_event(con, &ev);
    615 
    616                 if (ev.type == KEY_PRESS) {
     650                console_get_event(con, &ev);
     651
     652                if (ev.type == CEV_KEY && ev.ev.key.type == KEY_PRESS) {
     653                        kev = &ev.ev.key;
     654
    617655                        /* Handle key press. */
    618                         if (((ev.mods & KM_ALT) == 0) &&
    619                              (ev.mods & KM_CTRL) != 0) {
     656                        if (((kev->mods & KM_ALT) == 0) &&
     657                             (kev->mods & KM_CTRL) != 0) {
    620658                                ;
    621                         } else if ((ev.mods & (KM_CTRL | KM_ALT)) == 0) {
    622                                 switch (ev.key) {
     659                        } else if ((kev->mods & (KM_CTRL | KM_ALT)) == 0) {
     660                                switch (kev->key) {
    623661                                case KC_ESCAPE:
    624662                                        return NULL;
     
    634672                                        break;
    635673                                default:
    636                                         if (ev.c >= 32 && nc < max_len) {
    637                                                 putchar(ev.c);
     674                                        if (kev->c >= 32 && nc < max_len) {
     675                                                putchar(kev->c);
    638676                                                console_flush(con);
    639                                                 buffer[nc++] = ev.c;
     677                                                buffer[nc++] = kev->c;
    640678                                        }
    641679                                        break;
  • uspace/app/edit/sheet.h

    ra1e2df13 r25eec4ef  
    3939#include <adt/list.h>
    4040#include <sys/types.h>
    41 #include <bool.h>
     41#include <stdbool.h>
    4242
    4343/** Direction (in linear space) */
  • uspace/app/init/init.c

    ra1e2df13 r25eec4ef  
    3939#include <stdarg.h>
    4040#include <vfs/vfs.h>
    41 #include <bool.h>
     41#include <stdbool.h>
    4242#include <errno.h>
    4343#include <fcntl.h>
     
    369369#ifdef CONFIG_START_BD
    370370        srv_start("/srv/ata_bd");
    371         srv_start("/srv/gxe_bd");
    372371#endif
    373372       
  • uspace/app/klog/Makefile

    ra1e2df13 r25eec4ef  
    2929
    3030USPACE_PREFIX = ../..
     31LIBS = $(LIBCLUI_PREFIX)/libclui.a
     32EXTRA_CFLAGS = -I$(LIBCLUI_PREFIX)
    3133BINARY = klog
    3234
  • uspace/app/klog/klog.c

    ra1e2df13 r25eec4ef  
    4848#include <adt/list.h>
    4949#include <adt/prodcons.h>
     50#include <tinput.h>
    5051
    5152#define NAME       "klog"
     
    228229        }
    229230       
     231        tinput_t *input = tinput_new();
     232        if (!input) {
     233                fprintf(stderr, "%s: Could not create input\n", NAME);
     234                return ENOMEM;
     235        }       
     236
    230237        fibril_add_ready(fid);
    231238        event_unmask(EVENT_KLOG);
    232239        klog_update();
    233240       
    234         task_retval(0);
    235         async_manager();
    236        
    237         return 0;
     241        tinput_set_prompt(input, "klog> ");
     242
     243        char *str;
     244        while ((rc = tinput_read(input, &str)) == EOK) {
     245                if (str_cmp(str, "") == 0) {
     246                        free(str);
     247                        continue;
     248                }
     249
     250                klog_command(str, str_size(str));
     251                free(str);
     252        }
     253 
     254        if (rc == ENOENT)
     255                rc = EOK;       
     256
     257        return EOK;
    238258}
    239259
  • uspace/app/mkbd/main.c

    ra1e2df13 r25eec4ef  
    4040#include <errno.h>
    4141#include <str_error.h>
    42 #include <bool.h>
     42#include <stdbool.h>
    4343#include <getopt.h>
    4444#include <devman.h>
     
    178178
    179179        while (1) {
    180                 kbd_event_t ev;
    181                 bool ok = console_get_kbd_event(con, &ev);
     180                cons_event_t ev;
     181                bool ok = console_get_event(con, &ev);
    182182                if (!ok) {
    183183                        printf("Connection with console broken: %s.\n",
     
    186186                }
    187187
    188                 if (ev.key == KC_ESCAPE) {
     188                if (ev.type == CEV_KEY && ev.ev.key.type == KEY_PRESS &&
     189                    ev.ev.key.key == KC_ESCAPE) {
    189190                        break;
    190191                }
  • uspace/app/mkexfat/exfat.h

    ra1e2df13 r25eec4ef  
    3434#include <sys/types.h>
    3535#include <stdint.h>
    36 #include <bool.h>
     36#include <stdbool.h>
    3737
    3838#define EXFAT_FILENAME_LEN      255
  • uspace/app/mkexfat/mkexfat.c

    ra1e2df13 r25eec4ef  
    4646#include <sys/types.h>
    4747#include <sys/typefmt.h>
    48 #include <bool.h>
     48#include <stdbool.h>
    4949#include <str.h>
    5050#include <getopt.h>
  • uspace/app/msim/arch_helenos/input.c

    ra1e2df13 r25eec4ef  
    9191bool stdin_poll(char *key)
    9292{
    93         kbd_event_t ev;
     93        cons_event_t ev;
    9494        suseconds_t timeout = 0;
    9595        errno = EOK;
    9696        console_flush(input_prompt->console);
    97         bool has_input = console_get_kbd_event_timeout(input_prompt->console, &ev, &timeout);
     97        bool has_input = console_get_event_timeout(input_prompt->console, &ev, &timeout);
    9898        if (!has_input) {
    9999                return false;
    100100        }
    101101
    102         if (ev.type != KEY_PRESS)
     102        if (ev.type != CEV_KEY || ev.ev.key.type != KEY_PRESS)
    103103                return false;
    104104
    105         *key = ev.c;
     105        *key = ev.ev.key.c;
    106106
    107107        return true;
  • uspace/app/netecho/netecho.c

    ra1e2df13 r25eec4ef  
    243243                if (verbose)
    244244                        printf("accept()\n");
    245                 socket_id = accept(listening_id, (void *) address_buf, &addrlen);
     245                socket_id = accept(listening_id, (void *) address_buf, &addrlen);
    246246                if (socket_id <= 0) {
    247247                        socket_print_error(stderr, socket_id, "Socket accept: ", "\n");
     
    312312                                rc = sendto(socket_id, reply ? reply : data, reply ? reply_length : length, 0, address, addrlen);
    313313                                if (rc != EOK)
    314                                         socket_print_error(stderr, rc, "Socket send: ", "\n");
     314                                        socket_print_error(stderr, rc, "Socket sendto: ", "\n");
    315315                        }
    316316                }
     
    394394                return listening_id;
    395395        }
    396 
     396       
     397        /* Bind the listening socket */
     398        rc = bind(listening_id, address, addrlen);
     399        if (rc != EOK) {
     400                socket_print_error(stderr, rc, "Socket bind: ", "\n");
     401                return rc;
     402        }
     403       
    397404        /* if the stream socket is used */
    398405        if (type == SOCK_STREAM) {
     
    402409                        backlog = 3;
    403410                }
    404 
     411               
    405412                /* Set the backlog */
    406413                rc = listen(listening_id, backlog);
     
    409416                        return rc;
    410417                }
    411         }
    412 
    413         /* Bind the listening socket */
    414         rc = bind(listening_id, address, addrlen);
    415         if (rc != EOK) {
    416                 socket_print_error(stderr, rc, "Socket bind: ", "\n");
    417                 return rc;
    418418        }
    419419
  • uspace/app/nettest2/nettest2.c

    ra1e2df13 r25eec4ef  
    4545#include <time.h>
    4646#include <arg_parse.h>
    47 #include <bool.h>
     47#include <stdbool.h>
    4848
    4949#include <net/in.h>
  • uspace/app/nettest3/nettest3.c

    ra1e2df13 r25eec4ef  
    6363        port = 7;
    6464
    65         data = (char *)"Hello World!";
     65        data = (char *) "Hello World!";
    6666        size = str_size(data);
    6767
     
    9898
    9999        printf("connect()\n");
    100         rc = connect(fd, (struct sockaddr *)&addr, sizeof(addr));
     100        rc = connect(fd, (struct sockaddr *) &addr, sizeof(addr));
    101101        printf(" -> %d\n", rc);
    102102        if (rc != 0)
     
    115115        } while (rc > 0);
    116116
    117         async_usleep(1000*1000);
     117        async_usleep(1000 * 1000);
    118118
    119119        printf("closesocket()\n");
     
    124124}
    125125
    126 
    127126/** @}
    128127 */
  • uspace/app/nterm/conn.c

    ra1e2df13 r25eec4ef  
    3333 */
    3434
    35 #include <bool.h>
     35#include <stdbool.h>
    3636#include <errno.h>
    3737#include <fibril.h>
  • uspace/app/nterm/nterm.c

    ra1e2df13 r25eec4ef  
    3333 */
    3434
    35 #include <bool.h>
     35#include <stdbool.h>
    3636#include <errno.h>
    3737#include <io/console.h>
     
    109109int main(int argc, char *argv[])
    110110{
    111         kbd_event_t ev;
     111        cons_event_t ev;
    112112        int rc;
    113113
     
    129129        done = false;
    130130        while (!done) {
    131                 console_get_kbd_event(con, &ev);
    132                 if (ev.type == KEY_PRESS)
    133                         key_handle(&ev);
     131                console_get_event(con, &ev);
     132                if (ev.type == CEV_KEY && ev.ev.key.type == KEY_PRESS)
     133                        key_handle(&ev.ev.key);
    134134        }
    135135
  • uspace/app/ping/ping.c

    ra1e2df13 r25eec4ef  
    3434
    3535#include <async.h>
    36 #include <bool.h>
     36#include <stdbool.h>
    3737#include <errno.h>
    3838#include <fibril_synch.h>
     
    188188{
    189189        console_ctrl_t *con;
    190         kbd_event_t ev;
     190        cons_event_t ev;
    191191
    192192        con = console_init(stdin, stdout);
     
    194194
    195195        while (true) {
    196                 if (!console_get_kbd_event(con, &ev))
     196                if (!console_get_event(con, &ev))
    197197                        break;
    198198
    199                 if (ev.type == KEY_PRESS && (ev.mods & (KM_ALT | KM_SHIFT)) ==
    200                     0 && (ev.mods & KM_CTRL) != 0) {
     199                if (ev.type == CEV_KEY && ev.ev.key.type == KEY_PRESS &&
     200                    (ev.ev.key.mods & (KM_ALT | KM_SHIFT)) ==
     201                    0 && (ev.ev.key.mods & KM_CTRL) != 0) {
    201202                        /* Ctrl+key */
    202                         if (ev.key == KC_Q) {
     203                        if (ev.ev.key.key == KC_Q) {
    203204                                ping_signal_done();
    204205                                return 0;
  • uspace/app/stats/stats.c

    ra1e2df13 r25eec4ef  
    4444#include <malloc.h>
    4545#include <inttypes.h>
    46 #include <bool.h>
     46#include <stdbool.h>
    4747#include <str.h>
    4848#include <arg_parse.h>
  • uspace/app/taskdump/symtab.c

    ra1e2df13 r25eec4ef  
    267267                        continue;
    268268
    269                 if (best_name == NULL || (saddr <= addr && saddr > best_addr)) {
     269                if (saddr <= addr && (best_name == NULL || saddr > best_addr)) {
    270270                        best_name = sname;
    271271                        best_addr = saddr;
  • uspace/app/taskdump/taskdump.c

    ra1e2df13 r25eec4ef  
    4747#include <macros.h>
    4848#include <assert.h>
    49 #include <bool.h>
     49#include <stdbool.h>
    5050
    5151#include <symtab.h>
  • uspace/app/tester/Makefile

    ra1e2df13 r25eec4ef  
    2929
    3030USPACE_PREFIX = ../..
    31 LIBS = $(LIBEXT2_PREFIX)/libext2.a $(LIBBLOCK_PREFIX)/libblock.a $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
    32 EXTRA_CFLAGS = -I$(LIBBLOCK_PREFIX) -I$(LIBEXT2_PREFIX) -I$(LIBSOFTFLOAT_PREFIX)
     31LIBS = $(LIBBLOCK_PREFIX)/libblock.a $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
     32EXTRA_CFLAGS = -I$(LIBBLOCK_PREFIX) -I$(LIBSOFTFLOAT_PREFIX)
    3333BINARY = tester
    3434
     
    6363        mm/mapping1.c \
    6464        hw/misc/virtchar1.c \
    65         hw/serial/serial1.c \
    66         ext2/ext2_1.c
     65        hw/serial/serial1.c
    6766
    6867include $(USPACE_PREFIX)/Makefile.common
  • uspace/app/tester/float/softfloat1.c

    ra1e2df13 r25eec4ef  
    3535#include <div.h>
    3636#include <comparison.h>
    37 #include <bool.h>
     37#include <conversion.h>
     38#include <stdbool.h>
    3839#include "../tester.h"
    3940
    40 #define OPERANDS  6
     41#define OPERANDS  10
    4142#define PRECISION  10000
    4243
     
    4445
    4546typedef int32_t cmptype_t;
    46 typedef void (* float_op_t)(float, float, float *, float_t *);
    47 typedef void (* double_op_t)(double, double, double *, double_t *);
     47
     48typedef void (* uint_to_double_op_t)(unsigned int, double *, double_t *);
     49typedef void (* double_to_uint_op_t)(double, unsigned int *, unsigned int *);
     50typedef void (* float_binary_op_t)(float, float, float *, float_t *);
     51typedef void (* double_binary_op_t)(double, double, double *, double_t *);
    4852typedef void (* double_cmp_op_t)(double, double, cmptype_t *, cmptype_t *);
    49 typedef void (* template_t)(void *, unsigned, unsigned, cmptype_t *,
     53
     54typedef void (* template_unary_t)(void *, unsigned, cmptype_t *, cmptype_t *);
     55typedef void (* template_binary_t)(void *, unsigned, unsigned, cmptype_t *,
    5056    cmptype_t *);
    5157
    52 static float fop_a[OPERANDS] =
    53         {3.5, -2.1, 100.0, 50.0, -1024.0, 0.0};
    54 
    55 static float fop_b[OPERANDS] =
    56         {-2.1, 100.0, 50.0, -1024.0, 3.5, 0.0};
    57 
    58 static double dop_a[OPERANDS] =
    59         {3.5, -2.1, 100.0, 50.0, -1024.0, 0.0};
    60 
    61 static double dop_b[OPERANDS] =
    62         {-2.1, 100.0, 50.0, -1024.0, 3.5, 0.0};
     58#define NUMBERS \
     59        3.5, -2.1, 100.0, 50.0, -1024.0, 0.0, 768.3156, 1080.499999, -600.0, 1.0
     60
     61static float fop_a[OPERANDS] = {
     62        NUMBERS
     63};
     64
     65static double dop_a[OPERANDS] = {
     66        NUMBERS
     67};
     68
     69static unsigned int uop_a[OPERANDS] = {
     70        4, -100, 100, 50, 1024, 0, 1000000, -1U, 0x80000000U, 500
     71};
    6372
    6473static cmptype_t cmpabs(cmptype_t a)
     
    8190
    8291static void
    83 float_template(void *f, unsigned i, unsigned j, cmptype_t *pic,
     92uint_to_double_template(void *f, unsigned i, cmptype_t *pic, cmptype_t *pisc)
     93{
     94        double c;
     95        double_t sc;
     96
     97        uint_to_double_op_t op = (uint_to_double_op_t) f;
     98       
     99        op(uop_a[i], &c, &sc);
     100
     101        *pic = (cmptype_t) (c * PRECISION);
     102        *pisc = (cmptype_t) (sc.val * PRECISION);
     103}
     104
     105static void
     106double_to_uint_template(void *f, unsigned i, cmptype_t *pic, cmptype_t *pisc)
     107{
     108        unsigned int c;
     109        unsigned int sc;
     110
     111        double_to_uint_op_t op = (double_to_uint_op_t) f;
     112       
     113        op(dop_a[i], &c, &sc);
     114
     115        *pic = (cmptype_t) c;
     116        *pisc = (cmptype_t) sc;
     117}
     118
     119
     120static void
     121float_template_binary(void *f, unsigned i, unsigned j, cmptype_t *pic,
    84122    cmptype_t *pisc)
    85123{
     
    87125        float_t sc;
    88126
    89         float_op_t op = (float_op_t) f;
    90        
    91         op(fop_a[i], fop_b[j], &c, &sc);
     127        float_binary_op_t op = (float_binary_op_t) f;
     128       
     129        op(fop_a[i], fop_a[j], &c, &sc);
    92130
    93131        *pic = (cmptype_t) (c * PRECISION);
     
    96134
    97135static void
    98 double_template(void *f, unsigned i, unsigned j, cmptype_t *pic,
     136double_template_binary(void *f, unsigned i, unsigned j, cmptype_t *pic,
    99137    cmptype_t *pisc)
    100138{
     
    102140        double_t sc;
    103141
    104         double_op_t op = (double_op_t) f;
    105        
    106         op(dop_a[i], dop_b[j], &c, &sc);
     142        double_binary_op_t op = (double_binary_op_t) f;
     143       
     144        op(dop_a[i], dop_a[j], &c, &sc);
    107145
    108146        *pic = (cmptype_t) (c * PRECISION);
     
    116154        double_cmp_op_t op = (double_cmp_op_t) f;
    117155       
    118         op(dop_a[i], dop_b[j], pis, piss);
    119 }
    120 
    121 static bool test_template(template_t template, void *f)
     156        op(dop_a[i], dop_a[j], pis, piss);
     157}
     158
     159static bool test_template_unary(template_unary_t template, void *f)
     160{
     161        bool correct = true;
     162       
     163        for (unsigned int i = 0; i < OPERANDS; i++) {
     164                cmptype_t ic;
     165                cmptype_t isc;
     166
     167                template(f, i, &ic, &isc);     
     168                cmptype_t diff = cmpabs(ic - isc);
     169                       
     170                if (diff != 0) {
     171                        TPRINTF("i=%u diff=%" PRIdCMPTYPE "\n", i, diff);
     172                        correct = false;
     173                }
     174        }
     175       
     176        return correct;
     177}
     178
     179static bool test_template_binary(template_binary_t template, void *f)
    122180{
    123181        bool correct = true;
     
    142200}
    143201
     202static void uint_to_double_operator(unsigned int a, double *pc, double_t *psc)
     203{
     204        *pc = (double) a;
     205        psc->data = uint_to_double(a);
     206}
     207
     208static void
     209double_to_uint_operator(double a, unsigned int *pc, unsigned int *psc)
     210{
     211        double_t sa;
     212
     213        sa.val = a;
     214
     215        *pc = (unsigned int) a;
     216        *psc = double_to_uint(sa.data);
     217}
     218
     219static void
     220double_to_int_operator(double a, unsigned int *pc, unsigned int *psc)
     221{
     222        double_t sa;
     223
     224        sa.val = a;
     225
     226        *pc = (int) a;
     227        *psc = double_to_int(sa.data);
     228}
     229
    144230static void float_add_operator(float a, float b, float *pc, float_t *psc)
    145231{
     
    267353        const char *err = NULL;
    268354
    269         if (!test_template(float_template, float_add_operator)) {
     355        if (!test_template_binary(float_template_binary, float_add_operator)) {
    270356                err = "Float addition failed";
    271357                TPRINTF("%s\n", err);
    272358        }
    273         if (!test_template(float_template, float_mul_operator)) {
     359        if (!test_template_binary(float_template_binary, float_mul_operator)) {
    274360                err = "Float multiplication failed";
    275361                TPRINTF("%s\n", err);
    276362        }
    277         if (!test_template(float_template, float_div_operator)) {
     363        if (!test_template_binary(float_template_binary, float_div_operator)) {
    278364                err = "Float division failed";
    279365                TPRINTF("%s\n", err);
    280366        }
    281         if (!test_template(double_template, double_add_operator)) {
     367        if (!test_template_binary(double_template_binary, double_add_operator)) {
    282368                err = "Double addition failed";
    283369                TPRINTF("%s\n", err);
    284370        }
    285         if (!test_template(double_template, double_mul_operator)) {
     371        if (!test_template_binary(double_template_binary, double_mul_operator)) {
    286372                err = "Double multiplication failed";
    287373                TPRINTF("%s\n", err);
    288374        }
    289         if (!test_template(double_template, double_div_operator)) {
     375        if (!test_template_binary(double_template_binary, double_div_operator)) {
    290376                err = "Double division failed";
    291377                TPRINTF("%s\n", err);
    292378        }
    293         if (!test_template(double_compare_template, double_cmp_operator)) {
     379        if (!test_template_binary(double_compare_template, double_cmp_operator)) {
    294380                err = "Double comparison failed";
    295381                TPRINTF("%s\n", err);
    296382        }
     383        if (!test_template_unary(uint_to_double_template,
     384            uint_to_double_operator)) {
     385                err = "Conversion from unsigned int to double failed";
     386                TPRINTF("%s\n", err);
     387        }
     388        if (!test_template_unary(double_to_uint_template,
     389            double_to_uint_operator)) {
     390                err = "Conversion from double to unsigned int failed";
     391                TPRINTF("%s\n", err);
     392        }
     393        if (!test_template_unary(double_to_uint_template,
     394            double_to_int_operator)) {
     395                err = "Conversion from double to signed int failed";
     396                TPRINTF("%s\n", err);
     397        }
    297398       
    298399        return err;
  • uspace/app/tester/ipc/starve.c

    ra1e2df13 r25eec4ef  
    6262                        break;
    6363               
    64                 kbd_event_t ev;
     64                cons_event_t ev;
    6565                suseconds_t timeout = 0;
    66                 bool has_event = console_get_kbd_event_timeout(console, &ev, &timeout);
    67                 if (has_event && (ev.type == KEY_PRESS)) {
    68                         TPRINTF("Key %d pressed, terminating.\n", ev.key);
     66                bool has_event = console_get_event_timeout(console, &ev, &timeout);
     67                if (has_event && ev.type == CEV_KEY && ev.ev.key.type == KEY_PRESS) {
     68                        TPRINTF("Key %d pressed, terminating.\n", ev.ev.key.key);
    6969                        break;
    7070                }
  • uspace/app/tester/mm/common.c

    ra1e2df13 r25eec4ef  
    343343       
    344344        area->addr = as_area_create(AS_AREA_ANY, size,
    345             AS_AREA_WRITE | AS_AREA_READ);
     345            AS_AREA_WRITE | AS_AREA_READ | AS_AREA_CACHEABLE);
    346346        if (area->addr == AS_MAP_FAILED) {
    347347                free(area);
  • uspace/app/tester/mm/common.h

    ra1e2df13 r25eec4ef  
    3737
    3838#include <sys/types.h>
    39 #include <bool.h>
     39#include <stdbool.h>
    4040#include <adt/list.h>
    4141
  • uspace/app/tester/mm/mapping1.c

    ra1e2df13 r25eec4ef  
    4343       
    4444        void *result = as_area_create(AS_AREA_ANY, size,
    45             AS_AREA_READ | AS_AREA_WRITE);
     45            AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE);
    4646        if (result == AS_MAP_FAILED)
    4747                return NULL;
  • uspace/app/tester/tester.c

    ra1e2df13 r25eec4ef  
    7474#include "hw/serial/serial1.def"
    7575#include "hw/misc/virtchar1.def"
    76 #include "ext2/ext2_1.def"
    7776        {NULL, NULL, NULL, false}
    7877};
  • uspace/app/tester/tester.h

    ra1e2df13 r25eec4ef  
    3737
    3838#include <sys/types.h>
    39 #include <bool.h>
     39#include <stdbool.h>
    4040#include <stacktrace.h>
    4141
     
    106106extern const char *test_serial1(void);
    107107extern const char *test_virtchar1(void);
    108 extern const char *test_ext2_1(void);
    109108extern const char *test_devman1(void);
    110109extern const char *test_devman2(void);
  • uspace/app/tetris/scores.c

    ra1e2df13 r25eec4ef  
    125125        int j;
    126126        size_t off;
    127         kbd_event_t ev;
     127        cons_event_t ev;
     128        kbd_event_t *kev;
    128129       
    129130        clear_screen();
     
    141142        while (1) {
    142143                console_flush(console);
    143                 if (!console_get_kbd_event(console, &ev))
     144                if (!console_get_event(console, &ev))
    144145                        exit(1);
    145146               
    146                 if (ev.type == KEY_RELEASE)
     147                if (ev.type != CEV_KEY || ev.ev.key.type == KEY_RELEASE)
    147148                        continue;
    148149               
    149                 if (ev.key == KC_ENTER || ev.key == KC_NENTER)
     150                kev = &ev.ev.key;
     151               
     152                if (kev->key == KC_ENTER || kev->key == KC_NENTER)
    150153                        break;
    151154               
    152                 if (ev.key == KC_BACKSPACE) {
     155                if (kev->key == KC_BACKSPACE) {
    153156                        if (i > 0) {
    154157                                wchar_t uc;
     
    166169                                scores[NUMSPOTS - 1].hs_name[off] = '\0';
    167170                        }
    168                 } else if (ev.c != '\0') {
     171                } else if (kev->c != '\0') {
    169172                        if (i < (MAXLOGNAME - 1)) {
    170                                 if (chr_encode(ev.c, scores[NUMSPOTS - 1].hs_name,
     173                                if (chr_encode(kev->c, scores[NUMSPOTS - 1].hs_name,
    171174                                    &off, STR_BOUNDS(MAXLOGNAME) + 1) == EOK) {
    172175                                        ++i;
  • uspace/app/tetris/screen.c

    ra1e2df13 r25eec4ef  
    6161#include <vfs/vfs.h>
    6262#include <async.h>
    63 #include <bool.h>
     63#include <stdbool.h>
    6464#include <io/console.h>
    6565#include <io/style.h>
     
    344344       
    345345        while (timeout > 0) {
    346                 kbd_event_t event;
    347                
    348                 if (!console_get_kbd_event_timeout(console, &event, &timeout))
     346                cons_event_t event;
     347               
     348                if (!console_get_event_timeout(console, &event, &timeout))
    349349                        break;
    350350        }
     
    376376       
    377377        while (c == 0) {
    378                 kbd_event_t event;
    379                
    380                 if (!console_get_kbd_event_timeout(console, &event, &timeleft)) {
     378                cons_event_t event;
     379               
     380                if (!console_get_event_timeout(console, &event, &timeleft)) {
    381381                        timeleft = 0;
    382382                        return -1;
    383383                }
    384384               
    385                 if (event.type == KEY_PRESS)
    386                         c = event.c;
     385                if (event.type == CEV_KEY && event.ev.key.type == KEY_PRESS)
     386                        c = event.ev.key.c;
    387387        }
    388388       
     
    398398       
    399399        while (c == 0) {
    400                 kbd_event_t event;
    401                
    402                 if (!console_get_kbd_event(console, &event))
     400                cons_event_t event;
     401               
     402                if (!console_get_event(console, &event))
    403403                        return -1;
    404404               
    405                 if (event.type == KEY_PRESS)
    406                         c = event.c;
     405                if (event.type == CEV_KEY && event.ev.key.type == KEY_PRESS)
     406                        c = event.ev.key.c;
    407407        }
    408408       
  • uspace/app/tetris/screen.h

    ra1e2df13 r25eec4ef  
    5858#include <io/console.h>
    5959#include <async.h>
    60 #include <bool.h>
     60#include <stdbool.h>
    6161
    6262typedef struct {
  • uspace/app/top/screen.c

    ra1e2df13 r25eec4ef  
    556556       
    557557        while (c == 0) {
    558                 kbd_event_t event;
     558                cons_event_t event;
    559559               
    560560                warning_timeleft -= timeleft;
    561                 if (!console_get_kbd_event_timeout(console, &event, &timeleft)) {
     561                if (!console_get_event_timeout(console, &event, &timeleft)) {
    562562                        timeleft = 0;
    563563                        return -1;
     
    565565                warning_timeleft += timeleft;
    566566               
    567                 if (event.type == KEY_PRESS)
    568                         c = event.c;
     567                if (event.type == CEV_KEY && event.ev.key.type == KEY_PRESS)
     568                        c = event.ev.key.c;
    569569        }
    570570       
  • uspace/app/trace/ipc_desc.c

    ra1e2df13 r25eec4ef  
    4949        { IPC_M_DATA_READ,        "DATA_READ" },
    5050        { IPC_M_DEBUG,            "DEBUG" },
    51        
    52         /* Terminating entry */
    53         { 0, NULL }
    5451};
     52
     53size_t ipc_methods_len = sizeof(ipc_methods) / sizeof(ipc_m_desc_t);
    5554
    5655/** @}
  • uspace/app/trace/ipc_desc.h

    ra1e2df13 r25eec4ef  
    4242
    4343extern ipc_m_desc_t ipc_methods[];
     44extern size_t ipc_methods_len;
    4445
    4546#endif
  • uspace/app/trace/ipcp.c

    ra1e2df13 r25eec4ef  
    140140void ipcp_init(void)
    141141{
    142         ipc_m_desc_t *desc;
    143         oper_t *oper;
    144 
    145142        val_type_t arg_def[OPER_MAX_ARGS] = {
    146143                V_INTEGER,
     
    162159        proto_system = proto_new("system");
    163160
    164         desc = ipc_methods;
    165         while (desc->number != 0) {
    166                 oper = oper_new(desc->name, OPER_MAX_ARGS, arg_def, V_INTEGER,
    167                         OPER_MAX_ARGS, arg_def);
    168                 proto_add_oper(proto_system, desc->number, oper);
    169 
    170                 ++desc;
     161        for (size_t i = 0; i < ipc_methods_len; i++) {
     162                oper_t *oper = oper_new(ipc_methods[i].name, OPER_MAX_ARGS,
     163                    arg_def, V_INTEGER, OPER_MAX_ARGS, arg_def);
     164                proto_add_oper(proto_system, ipc_methods[i].number, oper);
    171165        }
    172166
  • uspace/app/trace/syscalls.c

    ra1e2df13 r25eec4ef  
    4646
    4747    [SYS_TASK_GET_ID] = { "task_get_id",                1,      V_ERRNO },
     48    [SYS_TASK_SET_NAME] = { "task_set_name",            2,      V_ERRNO },
    4849    [SYS_FUTEX_SLEEP] = { "futex_sleep_timeout",        3,      V_ERRNO },
    4950    [SYS_FUTEX_WAKEUP] = { "futex_wakeup",              1,      V_ERRNO },
     
    8283};
    8384
     85const size_t syscall_desc_len = (sizeof(syscall_desc) / sizeof(sc_desc_t));
     86
    8487/** @}
    8588 */
  • uspace/app/trace/syscalls.h

    ra1e2df13 r25eec4ef  
    3636#define SYSCALLS_H_
    3737
     38#include <stdbool.h>
     39#include <unistd.h>
     40
    3841#include "trace.h"
    3942
     
    4548
    4649extern const sc_desc_t syscall_desc[];
     50extern const size_t syscall_desc_len;
     51
     52static inline bool syscall_desc_defined(unsigned sc_id)
     53{
     54        return (sc_id < syscall_desc_len && syscall_desc[sc_id].name != NULL);
     55}
    4756
    4857#endif
  • uspace/app/trace/trace.c

    ra1e2df13 r25eec4ef  
    4343#include <mem.h>
    4444#include <str.h>
    45 #include <bool.h>
     45#include <stdbool.h>
    4646#include <loader/loader.h>
    4747#include <io/console.h>
     
    136136        }
    137137
    138         free(task_ldr);
    139138        task_ldr = NULL;
    140139
     
    348347        if ((display_mask & DM_SYSCALL) != 0) {
    349348                /* Print syscall name and arguments */
    350                 printf("%s", syscall_desc[sc_id].name);
    351                 print_sc_args(sc_args, syscall_desc[sc_id].n_args);
     349                if (syscall_desc_defined(sc_id)) {
     350                        printf("%s", syscall_desc[sc_id].name);
     351                        print_sc_args(sc_args, syscall_desc[sc_id].n_args);
     352                }
     353                else {
     354                        printf("unknown_syscall<%d>", sc_id);
     355                        print_sc_args(sc_args, 6);
     356                }
    352357        }
    353358}
     
    372377        if ((display_mask & DM_SYSCALL) != 0) {
    373378                /* Print syscall return value */
    374                 rv_type = syscall_desc[sc_id].rv_type;
     379                if (syscall_desc_defined(sc_id))
     380                        rv_type = syscall_desc[sc_id].rv_type;
     381                else
     382                        rv_type = V_PTR;
    375383                print_sc_retval(sc_rc, rv_type);
    376384        }
     
    497505        ldr = loader_connect();
    498506        if (ldr == NULL)
    499                 return 0;
     507                return NULL;
    500508
    501509        /* Get task ID. */
     
    557565static int cev_fibril(void *arg)
    558566{
     567        cons_event_t event;
     568
    559569        (void) arg;
    560570       
     
    567577                fibril_mutex_unlock(&state_lock);
    568578               
    569                 if (!console_get_kbd_event(console, &cev))
     579                if (!console_get_event(console, &event))
    570580                        return -1;
    571581               
    572                 fibril_mutex_lock(&state_lock);
    573                 cev_valid = true;
    574                 fibril_condvar_broadcast(&state_cv);
    575                 fibril_mutex_unlock(&state_lock);
     582                if (event.type == CEV_KEY) {
     583                        fibril_mutex_lock(&state_lock);
     584                        cev = event.ev.key;
     585                        cev_valid = true;
     586                        fibril_condvar_broadcast(&state_cv);
     587                        fibril_mutex_unlock(&state_lock);
     588                }
    576589        }
    577590}
  • uspace/app/usbinfo/desctree.c

    ra1e2df13 r25eec4ef  
    3939#include <errno.h>
    4040#include <str_error.h>
    41 #include <bool.h>
     41#include <stdbool.h>
    4242
    4343#include <usb/usb.h>
  • uspace/app/usbinfo/dump.c

    ra1e2df13 r25eec4ef  
    3939#include <errno.h>
    4040#include <str_error.h>
    41 #include <bool.h>
     41#include <stdbool.h>
    4242
    4343#include <usb/usb.h>
  • uspace/app/usbinfo/list.c

    ra1e2df13 r25eec4ef  
    4040#include <errno.h>
    4141#include <str_error.h>
    42 #include <bool.h>
     42#include <stdbool.h>
    4343#include <getopt.h>
    4444#include <devman.h>
  • uspace/app/usbinfo/main.c

    ra1e2df13 r25eec4ef  
    3939#include <errno.h>
    4040#include <str_error.h>
    41 #include <bool.h>
     41#include <stdbool.h>
    4242#include <getopt.h>
    4343#include <devman.h>
  • uspace/app/vdemo/vdemo.c

    ra1e2df13 r25eec4ef  
    3333 */
    3434
    35 #include <bool.h>
     35#include <stdbool.h>
    3636#include <stdio.h>
    3737#include <malloc.h>
     
    110110{
    111111        if (argc >= 2) {
    112                 window_t *main_window = window_open(argv[1], true, true, "vdemo");
     112                window_t *main_window = window_open(argv[1], true, true, "vdemo", 0, 0);
    113113                if (!main_window) {
    114114                        printf("Cannot open main window.\n");
     
    141141                    lbl_action->cancel);
    142142
    143                 grid->add(grid, &lbl_action->label.widget, 0, 0, 1, 2);
    144                 grid->add(grid, &btn_confirm->widget, 1, 0, 1, 1);
     143                grid->add(grid, &lbl_action->label.widget, 0, 0, 2, 1);
     144                grid->add(grid, &btn_confirm->widget, 0, 1, 1, 1);
    145145                grid->add(grid, &btn_cancel->widget, 1, 1, 1, 1);
    146                 window_resize(main_window, 200, 70);
     146                window_resize(main_window, 200, 76);
    147147
    148148                window_exec(main_window);
  • uspace/app/vlaunch/Makefile

    ra1e2df13 r25eec4ef  
    3535
    3636SOURCES = \
    37         vlaunch.c
     37        vlaunch.c \
     38        images.c
     39
     40IMAGES = \
     41        gfx/helenos.tga
     42
     43PRE_DEPEND = images.c images.h
     44EXTRA_CLEAN = images.c images.h
    3845
    3946include $(USPACE_PREFIX)/Makefile.common
     47
     48images.c images.h: $(IMAGES)
     49        $(ROOT_PATH)/tools/mkarray.py images COMPOSITOR_IMAGES $^
  • uspace/app/vlaunch/vlaunch.c

    ra1e2df13 r25eec4ef  
    3333 */
    3434
    35 #include <bool.h>
     35#include <stdbool.h>
    3636#include <errno.h>
    3737#include <stdio.h>
     
    4646#include <button.h>
    4747#include <label.h>
     48#include <canvas.h>
    4849
    49 #define NAME "vlaunch"
     50#include <surface.h>
     51#include <source.h>
     52#include <drawctx.h>
     53#include <codec/tga.h>
     54
     55#include "images.h"
     56
     57#define NAME  "vlaunch"
     58
     59#define LOGO_WIDTH   196
     60#define LOGO_HEIGHT  66
    5061
    5162static char *winreg = NULL;
     
    97108        }
    98109       
     110        surface_t *logo = decode_tga((void *) helenos_tga, helenos_tga_size, 0);
     111        if (!logo) {
     112                printf("Unable to decode logo.\n");
     113                return 1;
     114        }
     115       
    99116        winreg = argv[1];
    100         window_t *main_window = window_open(argv[1], true, true, "vlaunch");
     117        window_t *main_window = window_open(argv[1], true, true, "vlaunch", 0, 0);
    101118        if (!main_window) {
    102119                printf("Cannot open main window.\n");
     
    110127        pixel_t lbl_fg = PIXEL(255, 0, 0, 0);
    111128       
     129        canvas_t *logo_canvas = create_canvas(NULL, LOGO_WIDTH, LOGO_HEIGHT,
     130            logo);
    112131        label_t *lbl_caption = create_label(NULL, "Launch application:", 16,
    113132            lbl_bg, lbl_fg);
     
    118137        button_t *btn_vlaunch = create_button(NULL, "vlaunch", 16, btn_bg,
    119138            btn_fg);
    120         grid_t *grid = create_grid(window_root(main_window), 4, 1, grd_bg);
     139        grid_t *grid = create_grid(window_root(main_window), 1, 5, grd_bg);
    121140       
    122         if ((!lbl_caption) || (!btn_vterm) || (!btn_vdemo) ||
    123             (!btn_vlaunch) || (!grid)) {
     141        if ((!logo_canvas) || (!lbl_caption) || (!btn_vterm) ||
     142            (!btn_vdemo) || (!btn_vlaunch) || (!grid)) {
    124143                window_close(main_window);
    125144                printf("Cannot create widgets.\n");
     
    131150        sig_connect(&btn_vlaunch->clicked, NULL, on_vlaunch);
    132151       
    133         grid->add(grid, &lbl_caption->widget, 0, 0, 1, 1);
    134         grid->add(grid, &btn_vterm->widget, 1, 0, 1, 1);
    135         grid->add(grid, &btn_vdemo->widget, 2, 0, 1, 1);
    136         grid->add(grid, &btn_vlaunch->widget, 3, 0, 1, 1);
     152        grid->add(grid, &logo_canvas->widget, 0, 0, 1, 1);
     153        grid->add(grid, &lbl_caption->widget, 0, 1, 1, 1);
     154        grid->add(grid, &btn_vterm->widget, 0, 2, 1, 1);
     155        grid->add(grid, &btn_vdemo->widget, 0, 3, 1, 1);
     156        grid->add(grid, &btn_vlaunch->widget, 0, 4, 1, 1);
    137157       
    138         window_resize(main_window, 180, 130);
     158        window_resize(main_window, 210, 130 + LOGO_HEIGHT);
    139159        window_exec(main_window);
     160       
    140161        task_retval(0);
    141162        async_manager();
  • uspace/app/vterm/vterm.c

    ra1e2df13 r25eec4ef  
    3333 */
    3434
    35 #include <bool.h>
     35#include <stdbool.h>
    3636#include <stdio.h>
    3737#include <io/pixel.h>
     
    4949        }
    5050       
    51         window_t *main_window = window_open(argv[1], true, true, "vterm");
     51        window_t *main_window = window_open(argv[1], true, true, "vterm", 0, 0);
    5252        if (!main_window) {
    5353                printf("%s: Cannot open main window.\n", NAME);
  • uspace/app/websrv/websrv.c

    ra1e2df13 r25eec4ef  
    3434 */
    3535
    36 #include <bool.h>
     36#include <stdbool.h>
    3737#include <errno.h>
    3838#include <assert.h>
Note: See TracChangeset for help on using the changeset viewer.