Lines Matching refs:LEN

154 template<typename A, typename LEN>
155 struct Elem< Array<A, LEN> >
158 typedef Array<A, LEN> arg_type;
160 typedef Array_ref<A, LEN> svr_type;
166 template<typename A, typename LEN>
167 struct Elem< Array<A, LEN> & >
170 typedef Array<A, LEN> &arg_type;
172 typedef Array_ref<A, LEN> svr_type;
179 template<typename A, typename LEN>
180 struct Elem< Array_ref<A, LEN> & >
183 typedef Array_ref<A, LEN> &arg_type;
185 typedef Array_ref<typename L4::Types::Remove_const<A>::type, LEN> svr_type;
196 template<typename A, typename LEN, typename ARRAY, bool REF>
203 offset = align_to<LEN>(offset);
204 if (L4_UNLIKELY(!check_size<LEN>(offset, limit)))
206 *reinterpret_cast<LEN *>(msg + offset) = a.length;
207 offset = align_to<A>(offset + sizeof(LEN));
215 for (LEN i = 0; i < a.length; ++i)
223 template<typename A, typename LEN>
224 struct Clnt_val_ops<Array<A, LEN>, Dir_in, Cls_data> :
225 Detail::Clnt_val_ops_d_in<A, LEN, Array<A, LEN>, false> {};
227 template<typename A, typename LEN>
228 struct Clnt_val_ops<Array_ref<A, LEN>, Dir_in, Cls_data> :
229 Detail::Clnt_val_ops_d_in<A, LEN, Array_ref<A, LEN>, true> {};
231 template<typename A, typename LEN, typename CLASS>
232 struct Svr_val_ops< Array_ref<A, LEN>, Dir_in, CLASS >
233 : Svr_noops< Array_ref<A, LEN> >
235 typedef Array_ref<A, LEN> svr_type;
241 offset = align_to<LEN>(offset);
242 if (L4_UNLIKELY(!check_size<LEN>(offset, limit)))
244 a.length = *reinterpret_cast<LEN *>(msg + offset);
245 offset = align_to<A>(offset + sizeof(LEN));
253 template<typename A, typename LEN>
254 struct Svr_xmit< Array<A, LEN> > : Svr_xmit< Array_ref<A, LEN> > {};
256 template<typename A, typename LEN>
257 struct Clnt_val_ops<Array<A, LEN>, Dir_out, Cls_data> : Clnt_noops<Array<A, LEN> >
259 typedef Array<A, LEN> type;
265 offset = align_to<LEN>(offset);
266 if (L4_UNLIKELY(!check_size<LEN>(offset, limit)))
269 LEN l = *reinterpret_cast<LEN *>(msg + offset);
271 offset = align_to<A>(offset + sizeof(LEN));
289 template<typename A, typename LEN>
290 struct Clnt_val_ops<Array_ref<A, LEN>, Dir_out, Cls_data> :
291 Clnt_noops<Array_ref<A, LEN> >
293 typedef Array_ref<A, LEN> type;
299 offset = align_to<LEN>(offset);
300 if (L4_UNLIKELY(!check_size<LEN>(offset, limit)))
303 LEN l = *reinterpret_cast<LEN *>(msg + offset);
305 offset = align_to<A>(offset + sizeof(LEN));
315 template<typename A, typename LEN, typename CLASS>
316 struct Svr_val_ops<Array_ref<A, LEN>, Dir_out, CLASS> :
317 Svr_noops<Array_ref<typename L4::Types::Remove_const<A>::type, LEN> &>
320 typedef Array_ref<elem_type, LEN> &svr_type;
326 offset = align_to<LEN>(offset);
327 if (L4_UNLIKELY(!check_size<LEN>(offset, limit)))
330 offset = align_to<A>(offset + sizeof(LEN));
340 offset = align_to<LEN>(offset);
341 if (L4_UNLIKELY(!check_size<LEN>(offset, limit)))
344 *reinterpret_cast<LEN *>(msg + offset) = a.length;
346 offset = align_to<A>(offset + sizeof(LEN));
354 template<typename A, typename LEN>
355 struct Svr_xmit<Array<A, LEN> &> : Svr_xmit<Array_ref<A, LEN> &> {};
358 template<typename A, typename LEN>
359 struct Is_valid_rpc_type< Array_ref<A, LEN> *> : L4::Types::False {};
362 template<typename A, typename LEN>
363 struct Is_valid_rpc_type< Opt<Array_ref<A, LEN> > > : L4::Types::False {};