Changeset 00bb6965 in mainline for uspace/console/console.c


Ignore:
Timestamp:
2006-12-11T23:17:58Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
df496c5
Parents:
dff0a94
Message:

Coding style fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/console/console.c

    rdff0a94 r00bb6965  
    7171typedef struct {
    7272        keybuffer_t keybuffer;          /**< Buffer for incoming keys. */
    73         FIFO_CREATE_STATIC(keyrequests, ipc_callid_t , MAX_KEYREQUESTS_BUFFERED);       /**< Buffer for unsatisfied request for keys. */
     73        /** Buffer for unsatisfied request for keys. */
     74        FIFO_CREATE_STATIC(keyrequests, ipc_callid_t,
     75                MAX_KEYREQUESTS_BUFFERED);     
    7476        int keyrequest_counter;         /**< Number of requests in buffer. */
    7577        int client_phone;               /**< Phone to connected client. */
    76         int used;                       /**< 1 if this virtual console is connected to some client.*/
    77         screenbuffer_t screenbuffer;    /**< Screenbuffer for saving screen contents and related settings. */
     78        int used;                       /**< 1 if this virtual console is
     79                                         * connected to some client.*/
     80        screenbuffer_t screenbuffer;    /**< Screenbuffer for saving screen
     81                                         * contents and related settings. */
    7882} connection_t;
    7983
    80 static connection_t connections[CONSOLE_COUNT]; /**< Array of data for virtual consoles */
    81 static keyfield_t *interbuffer = NULL;                  /**< Pointer to memory shared with framebufer used for faster virt. console switching */
    82 
    83 static int kernel_pixmap = -1;      /**< Number of fb pixmap, where kernel console is stored */
     84static connection_t connections[CONSOLE_COUNT]; /**< Array of data for virtual
     85                                                 * consoles */
     86static keyfield_t *interbuffer = NULL;          /**< Pointer to memory shared
     87                                                 * with framebufer used for
     88                                                 * faster virtual console
     89                                                 *switching */
     90
     91static int kernel_pixmap = -1;  /**< Number of fb pixmap, where kernel
     92                                 * console is stored */
    8493
    8594
     
    116125static void set_style(style_t *style)
    117126{
    118         async_msg_2(fb_info.phone, FB_SET_STYLE, style->fg_color, style->bg_color);
     127        async_msg_2(fb_info.phone, FB_SET_STYLE, style->fg_color,
     128                style->bg_color);
    119129}
    120130
     
    138148       
    139149        switch (key) {
    140                 case '\n':
    141                         scr->position_y += 1;
    142                         scr->position_x =  0;
    143                         break;
    144                 case '\r':
    145                         break;
    146                 case '\t':
    147                         scr->position_x += 8;
    148                         scr->position_x -= scr->position_x % 8;
    149                         break;
    150                 case '\b':
    151                         if (scr->position_x == 0)
    152                                 break;
    153 
    154                         scr->position_x--;
    155 
    156                         if (console == active_console)
    157                                 prtchr(' ', scr->position_y, scr->position_x);
    158        
    159                         screenbuffer_putchar(scr, ' ');
    160                        
    161                         break;
    162                 default:       
    163                         if (console == active_console)
    164                                 prtchr(key, scr->position_y, scr->position_x);
    165        
    166                         screenbuffer_putchar(scr, key);
    167                         scr->position_x++;
     150        case '\n':
     151                scr->position_y += 1;
     152                scr->position_x =  0;
     153                break;
     154        case '\r':
     155                break;
     156        case '\t':
     157                scr->position_x += 8;
     158                scr->position_x -= scr->position_x % 8;
     159                break;
     160        case '\b':
     161                if (scr->position_x == 0)
     162                        break;
     163                scr->position_x--;
     164                if (console == active_console)
     165                        prtchr(' ', scr->position_y, scr->position_x);
     166                screenbuffer_putchar(scr, ' ');
     167                break;
     168        default:       
     169                if (console == active_console)
     170                        prtchr(key, scr->position_y, scr->position_x);
     171
     172                screenbuffer_putchar(scr, key);
     173                scr->position_x++;
    168174        }
    169175       
     
    258264                for (i = 0; i < conn->screenbuffer.size_x; i++)
    259265                        for (j = 0; j < conn->screenbuffer.size_y; j++)
    260                                 interbuffer[i + j*conn->screenbuffer.size_x] = *get_field_at(&(conn->screenbuffer),i, j);
     266                                interbuffer[i + j * conn->screenbuffer.size_x]
     267                                        = *get_field_at(&(conn->screenbuffer),
     268                                        i, j);
    261269                /* This call can preempt, but we are already at the end */
    262                 rc = async_req_2(fb_info.phone, FB_DRAW_TEXT_DATA, 0, 0, NULL, NULL);           
     270                rc = async_req_2(fb_info.phone, FB_DRAW_TEXT_DATA, 0, 0, NULL,
     271                        NULL);         
    263272        };
    264273       
     
    270279                for (j = 0; j < conn->screenbuffer.size_y; j++)
    271280                        for (i = 0; i < conn->screenbuffer.size_x; i++) {
    272                                 field = get_field_at(&(conn->screenbuffer),i, j);
     281                                field = get_field_at(&(conn->screenbuffer), i,
     282                                        j);
    273283                                if (!style_same(*style, field->style))
    274284                                        set_style(&field->style);
    275285                                style = &field->style;
    276                                 if ((field->character == ' ') && (style_same(field->style, conn->screenbuffer.style)))
     286                                if ((field->character == ' ') &&
     287                                        (style_same(field->style,
     288                                        conn->screenbuffer.style)))
    277289                                        continue;
    278290
     
    281293        }
    282294       
    283         curs_goto(conn->screenbuffer.position_y, conn->screenbuffer.position_x);
     295        curs_goto(conn->screenbuffer.position_y,
     296                conn->screenbuffer.position_x);
    284297        curs_visibility(conn->screenbuffer.is_cursor_visible);
    285298
     
    311324                        break;
    312325                case KBD_MS_MOVE:
    313                         gcons_mouse_move(IPC_GET_ARG1(call), IPC_GET_ARG2(call));
     326                        gcons_mouse_move(IPC_GET_ARG1(call),
     327                                IPC_GET_ARG2(call));
    314328                        retval = 0;
    315329                        break;
     
    322336                       
    323337                        conn = &connections[active_console];
    324 //                      if ((c >= KBD_KEY_F1) && (c < KBD_KEY_F1 + CONSOLE_COUNT)) {
     338/*
     339 *                      if ((c >= KBD_KEY_F1) && (c < KBD_KEY_F1 +
     340 *                              CONSOLE_COUNT)) {
     341 */
    325342                        if ((c >= 0x101) && (c < 0x101 + CONSOLE_COUNT)) {
    326343                                if (c == 0x112)
     
    334351                        if (conn->keyrequest_counter > 0) {             
    335352                                conn->keyrequest_counter--;
    336                                 ipc_answer_fast(fifo_pop(conn->keyrequests), 0, c, 0);
     353                                ipc_answer_fast(fifo_pop(conn->keyrequests), 0,
     354                                        c, 0);
    337355                                break;
    338356                        }
     
    386404                        while (conn->keyrequest_counter > 0) {         
    387405                                conn->keyrequest_counter--;
    388                                 ipc_answer_fast(fifo_pop(conn->keyrequests), ENOENT, 0, 0);
     406                                ipc_answer_fast(fifo_pop(conn->keyrequests),
     407                                        ENOENT, 0, 0);
    389408                                break;
    390409                        }
     
    405424                        break;
    406425                case CONSOLE_GOTO:
    407                        
    408                         screenbuffer_goto(&conn->screenbuffer, IPC_GET_ARG2(call), IPC_GET_ARG1(call));
     426                        screenbuffer_goto(&conn->screenbuffer,
     427                                IPC_GET_ARG2(call), IPC_GET_ARG1(call));
    409428                        if (consnum == active_console)
    410                                 curs_goto(IPC_GET_ARG1(call),IPC_GET_ARG2(call));
    411                        
    412                         break;
    413 
     429                                curs_goto(IPC_GET_ARG1(call),
     430                                        IPC_GET_ARG2(call));
     431                        break;
    414432                case CONSOLE_GETSIZE:
    415433                        arg1 = fb_info.rows;
     
    418436                case CONSOLE_FLUSH:
    419437                        if (consnum == active_console)
    420                                 async_req_2(fb_info.phone, FB_FLUSH, 0, 0, NULL, NULL);         
     438                                async_req_2(fb_info.phone, FB_FLUSH, 0, 0,
     439                                        NULL, NULL);           
    421440                        break;
    422441                case CONSOLE_SET_STYLE:
    423                        
    424442                        arg1 = IPC_GET_ARG1(call);
    425443                        arg2 = IPC_GET_ARG2(call);
     
    427445                        if (consnum == active_console)
    428446                                set_style_col(arg1, arg2);
    429                                
    430447                        break;
    431448                case CONSOLE_CURSOR_VISIBILITY:
     
    438455                        if (keybuffer_empty(&conn->keybuffer)) {
    439456                                /* buffer is empty -> store request */
    440                                 if (conn->keyrequest_counter < MAX_KEYREQUESTS_BUFFERED) {             
     457                                if (conn->keyrequest_counter <
     458                                        MAX_KEYREQUESTS_BUFFERED) {     
    441459                                        fifo_push(conn->keyrequests, callid);
    442460                                        conn->keyrequest_counter++;
    443461                                } else {
    444                                         /* no key available and too many requests => fail */
     462                                        /*
     463                                         * No key available and too many
     464                                         * requests => fail.
     465                                        */
    445466                                        ipc_answer_fast(callid, ELIMIT, 0, 0);
    446467                                }
    447468                                continue;
    448                         };
    449                         keybuffer_pop(&conn->keybuffer, (int *)&arg1);
    450                        
     469                        }
     470                        keybuffer_pop(&conn->keybuffer, (int *) &arg1);
    451471                        break;
    452472                }
     
    465485        /* Connect to keyboard driver */
    466486
    467         while ((kbd_phone = ipc_connect_me_to(PHONE_NS, SERVICE_KEYBOARD, 0)) < 0) {
     487        while ((kbd_phone = ipc_connect_me_to(PHONE_NS, SERVICE_KEYBOARD, 0))
     488                < 0) {
    468489                usleep(10000);
    469         };
    470        
    471         if (ipc_connect_to_me(kbd_phone, SERVICE_CONSOLE, 0, &phonehash) != 0) {
     490        }
     491       
     492        if (ipc_connect_to_me(kbd_phone, SERVICE_CONSOLE, 0, &phonehash) != 0)
     493                {
    472494                return -1;
    473         };
     495        }
    474496        async_new_connection(phonehash, 0, NULL, keyboard_events);
    475497       
    476498        /* Connect to framebuffer driver */
    477499       
    478         while ((fb_info.phone = ipc_connect_me_to(PHONE_NS, SERVICE_VIDEO, 0)) < 0) {
     500        while ((fb_info.phone = ipc_connect_me_to(PHONE_NS, SERVICE_VIDEO, 0))
     501                < 0) {
    479502                usleep(10000);
    480503        }
     
    490513        async_msg_2(fb_info.phone, FB_VIEWPORT_DB, (sysarg_t)-1, 1);
    491514       
    492         async_req_2(fb_info.phone, FB_GET_CSIZE, 0, 0, &(fb_info.rows), &(fb_info.cols));
     515        async_req_2(fb_info.phone, FB_GET_CSIZE, 0, 0, &(fb_info.rows),
     516                &(fb_info.cols));
    493517        set_style_col(DEFAULT_FOREGROUND, DEFAULT_BACKGROUND);
    494518        clrscr();
     
    499523                keybuffer_init(&(connections[i].keybuffer));
    500524               
    501                 connections[i].keyrequests.head = connections[i].keyrequests.tail = 0;
     525                connections[i].keyrequests.head =
     526                        connections[i].keyrequests.tail = 0;
    502527                connections[i].keyrequests.items = MAX_KEYREQUESTS_BUFFERED;
    503528                connections[i].keyrequest_counter = 0;
    504529               
    505                 if (screenbuffer_init(&(connections[i].screenbuffer), fb_info.cols, fb_info.rows ) == NULL) {
     530                if (screenbuffer_init(&(connections[i].screenbuffer),
     531                        fb_info.cols, fb_info.rows) == NULL) {
    506532                        /*FIXME: handle error */
    507533                        return -1;
     
    510536        connections[KERNEL_CONSOLE].used = 1;
    511537       
    512         if ((interbuffer = mmap(NULL, sizeof(keyfield_t) * fb_info.cols * fb_info.rows , PROTO_READ|PROTO_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, 0 ,0 )) != NULL) {
    513                 if (async_req_3(fb_info.phone, IPC_M_AS_AREA_SEND, (ipcarg_t)interbuffer, 0, AS_AREA_READ, NULL, NULL, NULL) != 0) {
    514                         munmap(interbuffer, sizeof(keyfield_t) * fb_info.cols * fb_info.rows);
     538        if ((interbuffer = mmap(NULL, sizeof(keyfield_t) * fb_info.cols *
     539                fb_info.rows, PROTO_READ | PROTO_WRITE, MAP_ANONYMOUS |
     540                MAP_PRIVATE, 0, 0)) != NULL) {
     541                if (async_req_3(fb_info.phone, IPC_M_AS_AREA_SEND, (ipcarg_t)
     542                        interbuffer, 0, AS_AREA_READ, NULL, NULL, NULL) != 0) {
     543                        munmap(interbuffer, sizeof(keyfield_t) * fb_info.cols
     544                                * fb_info.rows);
    515545                        interbuffer = NULL;
    516546                }
     
    523553        if (ipc_connect_to_me(PHONE_NS, SERVICE_CONSOLE, 0, &phonehash) != 0) {
    524554                return -1;
    525         };
     555        }
    526556       
    527557        async_manager();
Note: See TracChangeset for help on using the changeset viewer.