31 typedef Icu_cap_array_svr<SVR> Icu_svr;
35 typename Icu_svr::Irq _irq;
41 L4_RPC_LEGACY_USING(Icu_svr);
46 static_cast<SVR*
>(
this)->reset_event_buffer();
51 long op_get_num_streams(L4Re::Event::Rights)
52 {
return static_cast<SVR*
>(
this)->get_num_streams(); }
54 long op_get_stream_info(L4Re::Event::Rights,
int idx, Event_stream_info &info)
55 {
return static_cast<SVR*
>(
this)->get_stream_info(idx, &info); }
57 long op_get_stream_info_for_id(L4Re::Event::Rights,
l4_umword_t id,
58 Event_stream_info &info)
59 {
return static_cast<SVR*
>(
this)->get_stream_info_for_id(
id, &info); }
61 long op_get_axis_info(L4Re::Event::Rights,
l4_umword_t id,
65 unsigned naxes = cxx::min<unsigned>(L4RE_ABS_MAX, axes.
length);
69 Event_absinfo _info[L4RE_ABS_MAX];
70 int r =
static_cast<SVR*
>(
this)->get_axis_info(
id, naxes, axes.
data, _info);
74 for (
unsigned i = 0; i < naxes; ++i)
75 info.data[i] = _info[i];
81 long op_get_stream_state_for_id(L4Re::Event::Rights,
l4_umword_t stream_id,
82 Event_stream_state &state)
83 {
return static_cast<SVR*
>(
this)->get_stream_state_for_id(stream_id, &state); }
85 int get_num_streams()
const {
return 0; }
86 int get_stream_info(
int, L4Re::Event_stream_info *)
88 int get_stream_info_for_id(
l4_umword_t, L4Re::Event_stream_info *)
90 int get_axis_info(
l4_umword_t,
unsigned ,
unsigned const * ,
91 L4Re::Event_absinfo *)
93 int get_stream_state_for_id(
l4_umword_t, L4Re::Event_stream_state *)
@ L4_CAP_FPAGE_RW
Read and interface specific 'W' right for capability flexpages.