Changeset b3eeae5 in mainline for uspace/lib/dispcfg/src/dispcfg_srv.c


Ignore:
Timestamp:
2023-01-15T09:24:50Z (15 months ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
46a47c0
Parents:
46b02cb
Message:

Assigning devices to seats

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/dispcfg/src/dispcfg_srv.c

    r46b02cb rb3eeae5  
    259259}
    260260
     261static void dispcfg_dev_assign_srv(dispcfg_srv_t *srv, ipc_call_t *icall)
     262{
     263        sysarg_t svc_id;
     264        sysarg_t seat_id;
     265        errno_t rc;
     266
     267        svc_id = ipc_get_arg1(icall);
     268        seat_id = ipc_get_arg2(icall);
     269
     270        if (srv->ops->dev_assign == NULL) {
     271                async_answer_0(icall, ENOTSUP);
     272                return;
     273        }
     274
     275        rc = srv->ops->dev_assign(srv->arg, svc_id, seat_id);
     276        async_answer_0(icall, rc);
     277}
     278
     279static void dispcfg_dev_unassign_srv(dispcfg_srv_t *srv, ipc_call_t *icall)
     280{
     281        sysarg_t svc_id;
     282        errno_t rc;
     283
     284        svc_id = ipc_get_arg1(icall);
     285
     286        if (srv->ops->dev_unassign == NULL) {
     287                async_answer_0(icall, ENOTSUP);
     288                return;
     289        }
     290
     291        rc = srv->ops->dev_unassign(srv->arg, svc_id);
     292        async_answer_0(icall, rc);
     293}
     294
    261295static void dispcfg_get_event_srv(dispcfg_srv_t *srv, ipc_call_t *icall)
    262296{
     
    332366                case DISPCFG_SEAT_DELETE:
    333367                        dispcfg_seat_delete_srv(srv, &call);
     368                        break;
     369                case DISPCFG_DEV_ASSIGN:
     370                        dispcfg_dev_assign_srv(srv, &call);
     371                        break;
     372                case DISPCFG_DEV_UNASSIGN:
     373                        dispcfg_dev_unassign_srv(srv, &call);
    334374                        break;
    335375                case DISPCFG_GET_EVENT:
Note: See TracChangeset for help on using the changeset viewer.