Changeset 4d9c807 in mainline for uspace/lib/display/src/disp_srv.c


Ignore:
Timestamp:
2019-12-13T19:02:10Z (6 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fdc8e40
Parents:
4fbdc3d
Message:

Communicate window dimensions to display server

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/display/src/disp_srv.c

    r4fbdc3d r4d9c807  
    6262{
    6363        sysarg_t wnd_id;
     64        ipc_call_t call;
     65        display_wnd_params_t params;
     66        size_t size;
    6467        errno_t rc;
    6568
    6669        printf("display_window_create_srv\n");
     70
     71        if (!async_data_write_receive(&call, &size)) {
     72                async_answer_0(&call, EREFUSED);
     73                async_answer_0(icall, EREFUSED);
     74                return;
     75        }
     76
     77        if (size != sizeof(display_wnd_params_t)) {
     78                async_answer_0(&call, EINVAL);
     79                async_answer_0(icall, EINVAL);
     80                return;
     81        }
     82
     83        rc = async_data_write_finalize(&call, &params, size);
     84        if (rc != EOK) {
     85                async_answer_0(&call, rc);
     86                async_answer_0(icall, rc);
     87                return;
     88        }
    6789
    6890        if (srv->ops->window_create == NULL) {
     
    7193        }
    7294
    73         rc = srv->ops->window_create(srv->arg, &wnd_id);
     95        rc = srv->ops->window_create(srv->arg, &params, &wnd_id);
    7496        async_answer_1(icall, rc, wnd_id);
    7597}
Note: See TracChangeset for help on using the changeset viewer.