Changeset f2962621 in mainline for uspace/app


Ignore:
Timestamp:
2010-12-17T10:14:01Z (15 years ago)
Author:
Matus Dekanek <smekideki@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6e5dc07
Parents:
9223dc5c (diff), 11658b64 (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 with usb/development

Location:
uspace/app
Files:
15 edited

Legend:

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

    r9223dc5c rf2962621  
    100100static bool cursor_visible;
    101101
    102 static ipcarg_t scr_rows;
    103 static ipcarg_t scr_columns;
     102static sysarg_t scr_rows;
     103static sysarg_t scr_columns;
    104104
    105105#define ROW_BUF_SIZE 4096
     
    684684       
    685685        int i;
    686         ipcarg_t j;
     686        sysarg_t j;
    687687        for (i = rows; i < pane.rows; ++i) {
    688688                console_set_pos(con, 0, i);
  • uspace/app/tester/hw/serial/serial1.c

    r9223dc5c rf2962621  
    9393        }
    9494       
    95         ipcarg_t old_baud;
    96         ipcarg_t old_par;
    97         ipcarg_t old_stop;
    98         ipcarg_t old_word_size;
     95        sysarg_t old_baud;
     96        sysarg_t old_par;
     97        sysarg_t old_stop;
     98        sysarg_t old_word_size;
    9999       
    100100        res = ipc_call_sync_0_4(phone, SERIAL_GET_COM_PROPS, &old_baud,
  • uspace/app/tester/ipc/register.c

    r9223dc5c rf2962621  
    5656                int retval;
    5757               
    58                 switch (IPC_GET_METHOD(call)) {
     58                switch (IPC_GET_IMETHOD(call)) {
    5959                case IPC_M_PHONE_HUNGUP:
    6060                        TPRINTF("Phone %" PRIun " hung up\n", icall->in_phone_hash);
     
    7979        async_set_client_connection(client_connection);
    8080       
    81         ipcarg_t phonead;
     81        sysarg_t phonead;
    8282        int res = ipc_connect_to_me(PHONE_NS, IPC_TEST_SERVICE, 0, 0, &phonead);
    8383        if (res != 0)
  • uspace/app/tetris/input.c

    r9223dc5c rf2962621  
    9797        struct timeval starttv, endtv, *s;
    9898        static ipc_call_t charcall;
    99         ipcarg_t rc;
     99        sysarg_t rc;
    100100       
    101101        /*
  • uspace/app/tetris/screen.c

    r9223dc5c rf2962621  
    120120}
    121121
    122 void moveto(ipcarg_t r, ipcarg_t c)
     122void moveto(sysarg_t r, sysarg_t c)
    123123{
    124124        fflush(stdout);
     
    135135static bool get_display_color_sup(void)
    136136{
    137         ipcarg_t ccap;
     137        sysarg_t ccap;
    138138        int rc = console_get_color_cap(fphone(stdout), &ccap);
    139139       
  • uspace/app/tetris/screen.h

    r9223dc5c rf2962621  
    5353
    5454typedef struct {
    55         ipcarg_t ws_row;
    56         ipcarg_t ws_col;
     55        sysarg_t ws_row;
     56        sysarg_t ws_col;
    5757} winsize_t;
    5858
    5959extern winsize_t winsize;
    6060
    61 extern void moveto(ipcarg_t r, ipcarg_t c);
     61extern void moveto(sysarg_t r, sysarg_t c);
    6262extern void clear_screen(void);
    6363
  • uspace/app/top/input.c

    r9223dc5c rf2962621  
    9999        struct timeval starttv, endtv, *s;
    100100        static ipc_call_t charcall;
    101         ipcarg_t rc;
     101        sysarg_t rc;
    102102       
    103103        /*
  • uspace/app/top/screen.c

    r9223dc5c rf2962621  
    4747#include "top.h"
    4848
    49 static ipcarg_t warn_col = 0;
    50 static ipcarg_t warn_row = 0;
     49static sysarg_t warn_col = 0;
     50static sysarg_t warn_row = 0;
    5151
    5252static void screen_style_normal(void)
     
    6262}
    6363
    64 static void screen_moveto(ipcarg_t col, ipcarg_t row)
     64static void screen_moveto(sysarg_t col, sysarg_t row)
    6565{
    6666        fflush(stdout);
     
    6868}
    6969
    70 static void screen_get_pos(ipcarg_t *col, ipcarg_t *row)
     70static void screen_get_pos(sysarg_t *col, sysarg_t *row)
    7171{
    7272        fflush(stdout);
     
    7474}
    7575
    76 static void screen_get_size(ipcarg_t *col, ipcarg_t *row)
     76static void screen_get_size(sysarg_t *col, sysarg_t *row)
    7777{
    7878        fflush(stdout);
     
    9494static void screen_newline(void)
    9595{
    96         ipcarg_t cols;
    97         ipcarg_t rows;
     96        sysarg_t cols;
     97        sysarg_t rows;
    9898        screen_get_size(&cols, &rows);
    9999       
    100         ipcarg_t c;
    101         ipcarg_t r;
     100        sysarg_t c;
     101        sysarg_t r;
    102102        screen_get_pos(&c, &r);
    103103       
    104         ipcarg_t i;
     104        sysarg_t i;
    105105        for (i = c + 1; i < cols; i++)
    106106                puts(" ");
     
    142142static void print_string(const char *str)
    143143{
    144         ipcarg_t cols;
    145         ipcarg_t rows;
     144        sysarg_t cols;
     145        sysarg_t rows;
    146146        screen_get_size(&cols, &rows);
    147147       
    148         ipcarg_t c;
    149         ipcarg_t r;
     148        sysarg_t c;
     149        sysarg_t r;
    150150        screen_get_pos(&c, &r);
    151151       
     
    282282static inline void print_tasks(data_t *data)
    283283{
    284         ipcarg_t cols;
    285         ipcarg_t rows;
     284        sysarg_t cols;
     285        sysarg_t rows;
    286286        screen_get_size(&cols, &rows);
    287287       
    288         ipcarg_t col;
    289         ipcarg_t row;
     288        sysarg_t col;
     289        sysarg_t row;
    290290        screen_get_pos(&col, &row);
    291291       
     
    329329static inline void print_ipc(data_t *data)
    330330{
    331         ipcarg_t cols;
    332         ipcarg_t rows;
     331        sysarg_t cols;
     332        sysarg_t rows;
    333333        screen_get_size(&cols, &rows);
    334334       
    335         ipcarg_t col;
    336         ipcarg_t row;
     335        sysarg_t col;
     336        sysarg_t row;
    337337        screen_get_pos(&col, &row);
    338338       
     
    396396static inline void print_excs(data_t *data)
    397397{
    398         ipcarg_t cols;
    399         ipcarg_t rows;
     398        sysarg_t cols;
     399        sysarg_t rows;
    400400        screen_get_size(&cols, &rows);
    401401       
    402         ipcarg_t col;
    403         ipcarg_t row;
     402        sysarg_t col;
     403        sysarg_t row;
    404404        screen_get_pos(&col, &row);
    405405       
     
    439439static void print_help(void)
    440440{
    441         ipcarg_t cols;
    442         ipcarg_t rows;
     441        sysarg_t cols;
     442        sysarg_t rows;
    443443        screen_get_size(&cols, &rows);
    444444       
    445         ipcarg_t col;
    446         ipcarg_t row;
     445        sysarg_t col;
     446        sysarg_t row;
    447447        screen_get_pos(&col, &row);
    448448       
  • uspace/app/trace/ipcp.c

    r9223dc5c rf2962621  
    4646
    4747typedef struct {
    48         ipcarg_t phone_hash;
     48        sysarg_t phone_hash;
    4949        ipc_call_t question;
    5050        oper_t *oper;
     
    124124}
    125125
    126 static void ipc_m_print(proto_t *proto, ipcarg_t method)
     126static void ipc_m_print(proto_t *proto, sysarg_t method)
    127127{
    128128        oper_t *oper;
     
    192192        unsigned long key[1];
    193193        oper_t *oper;
    194         ipcarg_t *args;
     194        sysarg_t *args;
    195195        int i;
    196196
     
    204204                    (void *) hash, phone,
    205205                    (proto ? proto->name : "n/a"));
    206                 ipc_m_print(proto, IPC_GET_METHOD(*call));
     206                ipc_m_print(proto, IPC_GET_IMETHOD(*call));
    207207                printf(" args: (%" PRIun ", %" PRIun ", %" PRIun ", "
    208208                    "%" PRIun ", %" PRIun ")\n",
     
    214214
    215215                if (proto != NULL) {
    216                         oper = proto_get_oper(proto, IPC_GET_METHOD(*call));
     216                        oper = proto_get_oper(proto, IPC_GET_IMETHOD(*call));
    217217                } else {
    218218                        oper = NULL;
     
    262262    ipc_call_t *answer)
    263263{
    264         ipcarg_t phone;
    265         ipcarg_t method;
    266         ipcarg_t service;
    267         ipcarg_t retval;
     264        sysarg_t phone;
     265        sysarg_t method;
     266        sysarg_t service;
     267        sysarg_t retval;
    268268        proto_t *proto;
    269269        int cphone;
    270270
    271         ipcarg_t *resp;
     271        sysarg_t *resp;
    272272        oper_t *oper;
    273273        int i;
     
    276276
    277277        phone = pcall->phone_hash;
    278         method = IPC_GET_METHOD(pcall->question);
     278        method = IPC_GET_IMETHOD(pcall->question);
    279279        retval = IPC_GET_RETVAL(*answer);
    280280
  • uspace/app/trace/proto.c

    r9223dc5c rf2962621  
    5353
    5454typedef struct {
    55         ipcarg_t method;
     55        sysarg_t method;
    5656        oper_t *oper;
    5757        link_t link;
  • uspace/app/trace/trace.c

    r9223dc5c rf2962621  
    287287{
    288288        ipc_call_t call;
    289         ipcarg_t phoneid;
     289        sysarg_t phoneid;
    290290       
    291291        if (sc_rc == (sysarg_t) IPC_CALLRET_FATAL ||
     
    295295        phoneid = sc_args[0];
    296296
    297         IPC_SET_METHOD(call, sc_args[1]);
     297        IPC_SET_IMETHOD(call, sc_args[1]);
    298298        IPC_SET_ARG1(call, sc_args[2]);
    299299        IPC_SET_ARG2(call, sc_args[3]);
     
    331331        phoneidx = sc_args[0];
    332332
    333         IPC_SET_METHOD(question, sc_args[1]);
     333        IPC_SET_IMETHOD(question, sc_args[1]);
    334334        IPC_SET_ARG1(question, sc_args[2]);
    335335        IPC_SET_ARG2(question, sc_args[3]);
  • uspace/app/virtusbkbd/Makefile

    r9223dc5c rf2962621  
    3333
    3434LIBS = $(LIBUSB_PREFIX)/libusb.a $(LIBUSBVIRT_PREFIX)/libusbvirt.a
    35 EXTRA_CFLAGS = -I$(LIBUSB_PREFIX)/include -I$(LIB_PREFIX) -I$(LIBDRV_PREFIX)/include
     35EXTRA_CFLAGS = -I$(LIBUSB_PREFIX)/include -I$(LIBUSBVIRT_PREFIX)/include -I$(LIBDRV_PREFIX)/include
    3636
    3737SOURCES = \
  • uspace/app/virtusbkbd/stdreq.c

    r9223dc5c rf2962621  
    3939#include "kbdconfig.h"
    4040
    41 static int on_get_descriptor(struct usbvirt_device *dev,
    42     usb_device_request_setup_packet_t *request, uint8_t *data);
    43 
    44 usbvirt_standard_device_request_ops_t standard_request_ops = {
    45         .on_get_status = NULL,
    46         .on_clear_feature = NULL,
    47         .on_set_feature = NULL,
    48         .on_set_address = NULL,
    49         .on_get_descriptor = on_get_descriptor,
    50         .on_set_descriptor = NULL,
    51         .on_get_configuration = NULL,
    52         .on_set_configuration = NULL,
    53         .on_get_interface = NULL,
    54         .on_set_interface = NULL,
    55         .on_synch_frame = NULL
    56 };
    57 
    58 
    59 static int on_get_descriptor(struct usbvirt_device *dev,
     41int stdreq_on_get_descriptor(struct usbvirt_device *dev,
    6042    usb_device_request_setup_packet_t *request, uint8_t *data)
    6143{
  • uspace/app/virtusbkbd/stdreq.h

    r9223dc5c rf2962621  
    3838#include <usbvirt/device.h>
    3939
    40 extern usbvirt_standard_device_request_ops_t standard_request_ops;
     40int stdreq_on_get_descriptor(usbvirt_device_t *,
     41    usb_device_request_setup_packet_t *, uint8_t *);
    4142
    4243#endif
  • uspace/app/virtusbkbd/virtusbkbd.c

    r9223dc5c rf2962621  
    5555#include "stdreq.h"
    5656
    57 #define LOOPS 5
     57/** Pause between individual key-presses in seconds. */
     58#define KEY_PRESS_DELAY 2
    5859#define NAME "virt-usb-kbd"
    5960
     
    7576}
    7677
    77 static int on_class_request(struct usbvirt_device *dev,
    78     usb_device_request_setup_packet_t *request, uint8_t *data)
    79 {       
    80         printf("%s: class request (%d)\n", NAME, (int) request->request);
    81        
    82         return EOK;
     78
     79/** Compares current and last status of pressed keys.
     80 *
     81 * @warning Has side-efect - changes status_last field.
     82 *
     83 * @param status_now Status now.
     84 * @param status_last Last status.
     85 * @param len Size of status.
     86 * @return Whether they are the same.
     87 */
     88static bool keypress_check_with_last_request(uint8_t *status_now,
     89    uint8_t *status_last, size_t len)
     90{
     91        bool same = true;
     92        size_t i;
     93        for (i = 0; i < len; i++) {
     94                if (status_now[i] != status_last[i]) {
     95                        status_last[i] = status_now[i];
     96                        same = false;
     97                }
     98        }
     99        return same;
    83100}
    84101
     
    86103    usb_endpoint_t endpoint, void *buffer, size_t size, size_t *actual_size)
    87104{
     105        static uint8_t last_data[2 + KB_MAX_KEYS_AT_ONCE];
     106
    88107        if (size < 2 + KB_MAX_KEYS_AT_ONCE) {
    89108                return EINVAL;
     
    101120        }
    102121       
     122        if (keypress_check_with_last_request(data, last_data,
     123            2 + KB_MAX_KEYS_AT_ONCE)) {
     124                *actual_size = 0;
     125                return EOK;
     126        }
     127
    103128        memcpy(buffer, &data, *actual_size);
    104129       
     
    106131}
    107132
     133static usbvirt_control_transfer_handler_t endpoint_zero_handlers[] = {
     134        {
     135                .request_type = USBVIRT_MAKE_CONTROL_REQUEST_TYPE(
     136                    USB_DIRECTION_IN,
     137                    USBVIRT_REQUEST_TYPE_STANDARD,
     138                    USBVIRT_REQUEST_RECIPIENT_DEVICE),
     139                .request = USB_DEVREQ_GET_DESCRIPTOR,
     140                .name = "GetDescriptor",
     141                .callback = stdreq_on_get_descriptor
     142        },
     143        {
     144                .request_type = USBVIRT_MAKE_CONTROL_REQUEST_TYPE(
     145                    USB_DIRECTION_IN,
     146                    USBVIRT_REQUEST_TYPE_CLASS,
     147                    USBVIRT_REQUEST_RECIPIENT_DEVICE),
     148                .request = USB_DEVREQ_GET_DESCRIPTOR,
     149                .name = "GetDescriptor",
     150                .callback = stdreq_on_get_descriptor
     151        },
     152        USBVIRT_CONTROL_TRANSFER_HANDLER_LAST
     153};
    108154
    109155/** Keyboard callbacks.
     
    111157 */
    112158static usbvirt_device_ops_t keyboard_ops = {
    113         .standard_request_ops = &standard_request_ops,
    114         .on_class_device_request = on_class_request,
     159        .control_transfer_handlers = endpoint_zero_handlers,
    115160        .on_data = on_incoming_data,
    116161        .on_data_request = on_request_for_data
     
    152197        .ops = &keyboard_ops,
    153198        .descriptors = &descriptors,
     199        .lib_debug_level = 3,
     200        .lib_debug_enabled_tags = USBVIRT_DEBUGTAG_ALL,
    154201        .name = "keyboard"
    155202};
     
    177224        printf("\n");
    178225       
    179         fibril_sleep(1);
     226        fibril_sleep(KEY_PRESS_DELAY);
    180227}
    181228
     
    223270       
    224271        printf("%s: Simulating keyboard events...\n", NAME);
    225         while(1){
     272        fibril_sleep(10);
     273        while (1) {
    226274                kb_process_events(&status, keyboard_events, keyboard_events_count,
    227275                        on_keyboard_change);
Note: See TracChangeset for help on using the changeset viewer.