Lines Matching refs:Data

128 pub struct Subsystem<Data> {
132 data: Data,
136 unsafe impl<Data> Sync for Subsystem<Data> {}
139 unsafe impl<Data> Send for Subsystem<Data> {}
141 impl<Data> Subsystem<Data> {
149 item_type: &'static ItemType<Subsystem<Data>, Data>, in new() argument
150 data: impl PinInit<Data, Error>, in new() argument
187 impl<Data> PinnedDrop for Subsystem<Data> {
205 pub unsafe trait HasGroup<Data> {
224 unsafe impl<Data> HasGroup<Data> for Subsystem<Data> {
236 unsafe { container_of!(opaque_ptr, Subsystem<Data>, subsystem) } in container_of()
245 pub struct Group<Data> {
249 data: Data,
252 impl<Data> Group<Data> {
259 item_type: &'static ItemType<Group<Data>, Data>, in new() argument
260 data: impl PinInit<Data, Error>, in new() argument
279 unsafe impl<Data> HasGroup<Data> for Group<Data> {
432 struct ItemOperationsVTable<Container, Data>(PhantomData<(Container, Data)>);
434 impl<Data> ItemOperationsVTable<Group<Data>, Data>
436 Data: 'static,
451 let r_group_ptr = unsafe { Group::<Data>::container_of(c_group_ptr) }; in release()
455 let pin_self: Arc<Group<Data>> = unsafe { Arc::from_raw(r_group_ptr.cast_mut()) }; in release()
470 impl<Data> ItemOperationsVTable<Subsystem<Data>, Data> {
523 pub struct Attribute<const ID: u64, O, Data> {
525 _p: PhantomData<(O, Data)>,
529 unsafe impl<const ID: u64, O, Data> Sync for Attribute<ID, O, Data> {}
532 unsafe impl<const ID: u64, O, Data> Send for Attribute<ID, O, Data> {}
534 impl<const ID: u64, O, Data> Attribute<ID, O, Data>
536 O: AttributeOperations<ID, Data = Data>,
560 let data: &Data = unsafe { get_group_data(c_group) }; in show()
594 let data: &Data = unsafe { get_group_data(c_group) }; in store()
646 type Data; typedef
654 fn show(data: &Self::Data, page: &mut [u8; PAGE_SIZE]) -> Result<usize>; in show() argument
662 fn store(_data: &Self::Data, _page: &[u8]) -> Result { in store() argument
680 pub struct AttributeList<const N: usize, Data>(
684 PhantomData<Data>,
688 unsafe impl<const N: usize, Data> Send for AttributeList<N, Data> {}
691 unsafe impl<const N: usize, Data> Sync for AttributeList<N, Data> {}
693 impl<const N: usize, Data> AttributeList<N, Data> {
710 attribute: &'static Attribute<ID, O, Data>, in add() argument
712 O: AttributeOperations<ID, Data = Data>, in add()
730 pub struct ItemType<Container, Data> {
733 _p: PhantomData<(Container, Data)>,
737 unsafe impl<Container, Data> Sync for ItemType<Container, Data> {}
740 unsafe impl<Container, Data> Send for ItemType<Container, Data> {}
744 impl<Data> ItemType<$tpe, Data> {
748 attributes: &'static AttributeList<N, Data>,
751 Data: GroupOperations<Child = Child>,
757 ct_group_ops: GroupOperationsVTable::<Data, Child>::vtable_ptr().cast_mut(),
758 ct_item_ops: ItemOperationsVTable::<$tpe, Data>::vtable_ptr().cast_mut(),
769 attributes: &'static AttributeList<N, Data>,
775 ct_item_ops: ItemOperationsVTable::<$tpe, Data>::vtable_ptr().cast_mut(),
786 impl_item_type!(Subsystem<Data>);
787 impl_item_type!(Group<Data>);
789 impl<Container, Data> ItemType<Container, Data> {