1#![allow(dead_code, unused_imports, unused_variables, non_camel_case_types, unused_parens)]
2
3use emboss_runtime::prelude::*;
4pub use emboss_runtime::{BitFlag, Error, Flag, InfallibleRead, Int, MutStorage, Storage, TryRead, TryWrite, UInt, View, VirtualField};
5
6
7
8#[derive(Copy, Clone, Debug, Eq, PartialEq)]
9#[repr(u64)]
10pub enum AclDataPacketBoundaryFlag {
11 FIRST_NON_FLUSHABLE = 0,
12 CONTINUING_FRAGMENT = 1,
13 FIRST_FLUSHABLE = 2,
14
15}
16
17impl core::convert::From<AclDataPacketBoundaryFlag> for u8 { fn from(val: AclDataPacketBoundaryFlag) -> Self { val as u8 } }
18impl core::convert::From<AclDataPacketBoundaryFlag> for u16 { fn from(val: AclDataPacketBoundaryFlag) -> Self { val as u16 } }
19impl core::convert::From<AclDataPacketBoundaryFlag> for u32 { fn from(val: AclDataPacketBoundaryFlag) -> Self { val as u32 } }
20impl core::convert::From<AclDataPacketBoundaryFlag> for u64 { fn from(val: AclDataPacketBoundaryFlag) -> Self { val as u64 } }
21impl core::convert::From<AclDataPacketBoundaryFlag> for i8 { fn from(val: AclDataPacketBoundaryFlag) -> Self { val as i8 } }
22impl core::convert::From<AclDataPacketBoundaryFlag> for i16 { fn from(val: AclDataPacketBoundaryFlag) -> Self { val as i16 } }
23impl core::convert::From<AclDataPacketBoundaryFlag> for i32 { fn from(val: AclDataPacketBoundaryFlag) -> Self { val as i32 } }
24impl core::convert::From<AclDataPacketBoundaryFlag> for i64 { fn from(val: AclDataPacketBoundaryFlag) -> Self { val as i64 } }
25
26impl emboss_runtime::SafeCmp<AclDataPacketBoundaryFlag> for AclDataPacketBoundaryFlag {
27 fn safe_eq(&self, other: Self) -> bool { *self == other }
28 fn safe_less(&self, other: Self) -> bool { (*self as u64) < (other as u64) }
29}
30
31impl emboss_runtime::SafeCmp<u64> for AclDataPacketBoundaryFlag {
32 fn safe_eq(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
33 fn safe_less(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
34}
35
36impl emboss_runtime::SafeCmp<i64> for AclDataPacketBoundaryFlag {
37 fn safe_eq(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
38 fn safe_less(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
39}
40
41impl emboss_runtime::SafeCmp<i32> for AclDataPacketBoundaryFlag {
42 fn safe_eq(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as i64) }
43 fn safe_less(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as i64) }
44}
45
46impl emboss_runtime::SafeCmp<u32> for AclDataPacketBoundaryFlag {
47 fn safe_eq(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as u64) }
48 fn safe_less(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as u64) }
49}
50
51impl emboss_runtime::SafeCmp<AclDataPacketBoundaryFlag> for u64 {
52 fn safe_eq(&self, other: AclDataPacketBoundaryFlag) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
53 fn safe_less(&self, other: AclDataPacketBoundaryFlag) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
54}
55
56impl emboss_runtime::SafeCmp<AclDataPacketBoundaryFlag> for i64 {
57 fn safe_eq(&self, other: AclDataPacketBoundaryFlag) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
58 fn safe_less(&self, other: AclDataPacketBoundaryFlag) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
59}
60
61impl<V: core::convert::Into<u64> + core::marker::Copy> emboss_runtime::TryFromRaw<V> for AclDataPacketBoundaryFlag {
62 fn try_from_raw(val: V) -> core::result::Result<Self, emboss_runtime::Error<V>> {
63 let v_raw: u64 = val.into();
64 match v_raw {
65 0 => Ok(AclDataPacketBoundaryFlag::FIRST_NON_FLUSHABLE),
66 1 => Ok(AclDataPacketBoundaryFlag::CONTINUING_FRAGMENT),
67 2 => Ok(AclDataPacketBoundaryFlag::FIRST_FLUSHABLE),
68
69 _ => Err(emboss_runtime::Error::UnknownEnum(val)),
70 }
71 }
72}
73
74impl AclDataPacketBoundaryFlag {
75
76}
77#[derive(Copy, Clone, Debug, Eq, PartialEq)]
78#[repr(u64)]
79pub enum AclDataPacketBroadcastFlag {
80 POINT_TO_POINT = 0,
81 BROADCAST = 1,
82
83}
84
85impl core::convert::From<AclDataPacketBroadcastFlag> for u8 { fn from(val: AclDataPacketBroadcastFlag) -> Self { val as u8 } }
86impl core::convert::From<AclDataPacketBroadcastFlag> for u16 { fn from(val: AclDataPacketBroadcastFlag) -> Self { val as u16 } }
87impl core::convert::From<AclDataPacketBroadcastFlag> for u32 { fn from(val: AclDataPacketBroadcastFlag) -> Self { val as u32 } }
88impl core::convert::From<AclDataPacketBroadcastFlag> for u64 { fn from(val: AclDataPacketBroadcastFlag) -> Self { val as u64 } }
89impl core::convert::From<AclDataPacketBroadcastFlag> for i8 { fn from(val: AclDataPacketBroadcastFlag) -> Self { val as i8 } }
90impl core::convert::From<AclDataPacketBroadcastFlag> for i16 { fn from(val: AclDataPacketBroadcastFlag) -> Self { val as i16 } }
91impl core::convert::From<AclDataPacketBroadcastFlag> for i32 { fn from(val: AclDataPacketBroadcastFlag) -> Self { val as i32 } }
92impl core::convert::From<AclDataPacketBroadcastFlag> for i64 { fn from(val: AclDataPacketBroadcastFlag) -> Self { val as i64 } }
93
94impl emboss_runtime::SafeCmp<AclDataPacketBroadcastFlag> for AclDataPacketBroadcastFlag {
95 fn safe_eq(&self, other: Self) -> bool { *self == other }
96 fn safe_less(&self, other: Self) -> bool { (*self as u64) < (other as u64) }
97}
98
99impl emboss_runtime::SafeCmp<u64> for AclDataPacketBroadcastFlag {
100 fn safe_eq(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
101 fn safe_less(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
102}
103
104impl emboss_runtime::SafeCmp<i64> for AclDataPacketBroadcastFlag {
105 fn safe_eq(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
106 fn safe_less(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
107}
108
109impl emboss_runtime::SafeCmp<i32> for AclDataPacketBroadcastFlag {
110 fn safe_eq(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as i64) }
111 fn safe_less(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as i64) }
112}
113
114impl emboss_runtime::SafeCmp<u32> for AclDataPacketBroadcastFlag {
115 fn safe_eq(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as u64) }
116 fn safe_less(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as u64) }
117}
118
119impl emboss_runtime::SafeCmp<AclDataPacketBroadcastFlag> for u64 {
120 fn safe_eq(&self, other: AclDataPacketBroadcastFlag) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
121 fn safe_less(&self, other: AclDataPacketBroadcastFlag) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
122}
123
124impl emboss_runtime::SafeCmp<AclDataPacketBroadcastFlag> for i64 {
125 fn safe_eq(&self, other: AclDataPacketBroadcastFlag) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
126 fn safe_less(&self, other: AclDataPacketBroadcastFlag) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
127}
128
129impl<V: core::convert::Into<u64> + core::marker::Copy> emboss_runtime::TryFromRaw<V> for AclDataPacketBroadcastFlag {
130 fn try_from_raw(val: V) -> core::result::Result<Self, emboss_runtime::Error<V>> {
131 let v_raw: u64 = val.into();
132 match v_raw {
133 0 => Ok(AclDataPacketBroadcastFlag::POINT_TO_POINT),
134 1 => Ok(AclDataPacketBroadcastFlag::BROADCAST),
135
136 _ => Err(emboss_runtime::Error::UnknownEnum(val)),
137 }
138 }
139}
140
141impl AclDataPacketBroadcastFlag {
142
143}
144pub struct AclDataFrameHeader_EmbossReservedAnonymousField4<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
145 storage: S,
146 _marker: core::marker::PhantomData<ST>,
147}
148
149impl<S: emboss_runtime::Storage> AclDataFrameHeader_EmbossReservedAnonymousField4<S, emboss_runtime::UncheckedState> {
150 pub fn new(storage: S) -> Self {
151 Self {
152 storage,
153 _marker: core::marker::PhantomData,
154 }
155 }
156}
157
158impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AclDataFrameHeader_EmbossReservedAnonymousField4<S, ST> {
159 fn clone(&self) -> Self {
160 Self {
161 storage: self.storage.clone(),
162 _marker: core::marker::PhantomData,
163 }
164 }
165}
166
167impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AclDataFrameHeader_EmbossReservedAnonymousField4<S, ST> {
168 pub unsafe fn new_in_state(storage: S) -> Self {
176 Self {
177 storage,
178 _marker: core::marker::PhantomData,
179 }
180 }
181 pub fn into_storage(self) -> S {
182 self.storage
183 }
184 pub fn handle(&self) -> emboss_runtime::BitUInt<12, 0, emboss_runtime::Null, S::Sliced<'_>, ST> {
185 let len = (2) as usize; let storage = self.storage.slice(0, len);
187 emboss_runtime::BitUInt::<12, 0, emboss_runtime::Null, S::Sliced<'_>, ST>::new(storage)
188 }
189 pub fn packet_boundary_flag(&self) -> emboss_runtime::EnumView<AclDataPacketBoundaryFlag, emboss_runtime::BitUInt<2, 12, emboss_runtime::Null, S::Sliced<'_>, ST>> {
190 let len = (2) as usize;
191 let storage = self.storage.slice(0, len);
192 emboss_runtime::EnumView::new(emboss_runtime::BitUInt::new(storage))
193 }
194 pub fn broadcast_flag(&self) -> emboss_runtime::EnumView<AclDataPacketBroadcastFlag, emboss_runtime::BitUInt<2, 14, emboss_runtime::Null, S::Sliced<'_>, ST>> {
195 let len = (2) as usize;
196 let storage = self.storage.slice(0, len);
197 emboss_runtime::EnumView::new(emboss_runtime::BitUInt::new(storage))
198 }
199
200}
201
202pub struct AclDataFrameHeader_EmbossReservedAnonymousField4Mut<S: emboss_runtime::MutStorage> {
203 storage: S,
204}
205
206impl<S: emboss_runtime::MutStorage> AclDataFrameHeader_EmbossReservedAnonymousField4Mut<S> {
207 pub fn new(storage: S) -> Self {
208 Self {
209 storage,
210 }
211 }
212 pub fn into_writer(self) -> AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::UncheckedState> {
213 AclDataFrameHeader_EmbossReservedAnonymousField4Writer::new(self.storage)
214 }
215 pub fn as_view(&self) -> AclDataFrameHeader_EmbossReservedAnonymousField4<S::Sliced<'_>, emboss_runtime::UncheckedState> {
217 unsafe { AclDataFrameHeader_EmbossReservedAnonymousField4::new_in_state(self.storage.slice(0, self.storage.len())) }
218 }
219 pub fn handle(&mut self) -> emboss_runtime::BitUInt<12, 0, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
220 let len = (2) as usize;
221 let storage = self.storage.slice_mut(0, len);
222 emboss_runtime::BitUInt::<12, 0, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
223 }
224 pub fn packet_boundary_flag(&mut self) -> emboss_runtime::EnumViewMut<AclDataPacketBoundaryFlag, emboss_runtime::BitUInt<2, 12, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
225 let len = (2) as usize;
226 let storage = self.storage.slice_mut(0, len);
227 emboss_runtime::EnumViewMut::new(emboss_runtime::BitUInt::new(storage))
228 }
229 pub fn broadcast_flag(&mut self) -> emboss_runtime::EnumViewMut<AclDataPacketBroadcastFlag, emboss_runtime::BitUInt<2, 14, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
230 let len = (2) as usize;
231 let storage = self.storage.slice_mut(0, len);
232 emboss_runtime::EnumViewMut::new(emboss_runtime::BitUInt::new(storage))
233 }
234
235}
236
237impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AclDataFrameHeader_EmbossReservedAnonymousField4Mut<S> {
238 type Writer = AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::UncheckedState>;
239 fn into_writer(self) -> Self::Writer {
240 AclDataFrameHeader_EmbossReservedAnonymousField4Writer::new(self.storage)
241 }
242}
243
244pub struct AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
245 storage: S,
246 _marker: core::marker::PhantomData<ST>,
247}
248
249impl<S: emboss_runtime::MutStorage> AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::UncheckedState> {
250 pub fn new(storage: S) -> Self {
251 Self {
252 storage,
253 _marker: core::marker::PhantomData,
254 }
255 }
256}
257
258impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, ST> {
259 pub unsafe fn new_in_state(storage: S) -> Self {
267 Self {
268 storage,
269 _marker: core::marker::PhantomData,
270 }
271 }
272 pub fn into_storage(self) -> S {
273 self.storage
274 }
275 pub fn into_view(self) -> AclDataFrameHeader_EmbossReservedAnonymousField4<S, ST> {
277 unsafe { AclDataFrameHeader_EmbossReservedAnonymousField4::new_in_state(self.storage) }
278 }
279 pub fn as_view(&self) -> AclDataFrameHeader_EmbossReservedAnonymousField4<S::Sliced<'_>, ST> {
281 unsafe { AclDataFrameHeader_EmbossReservedAnonymousField4::new_in_state(self.storage.slice(0, self.storage.len())) }
282 }
283
284}
285
286impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AclDataFrameHeader_EmbossReservedAnonymousField4<S, ST> {
287 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
288 let view = self;
289 core::result::Result::Ok((((16) + 7) / 8) as usize)
290 }
291}
292
293impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AclDataFrameHeader_EmbossReservedAnonymousField4Mut<S> {
294 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
295 let view = self.as_view();
296 <AclDataFrameHeader_EmbossReservedAnonymousField4<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
297 }
298}
299
300impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, ST> {
301 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
302 let view = self.as_view();
303 <AclDataFrameHeader_EmbossReservedAnonymousField4<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
304 }
305}
306
307impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AclDataFrameHeader_EmbossReservedAnonymousField4<S, emboss_runtime::UncheckedState> {
308 type Completed = AclDataFrameHeader_EmbossReservedAnonymousField4<S, emboss_runtime::CompleteState>;
309 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
310 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
311 if self.storage.len() < required_size {
312 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
313 }
314 core::result::Result::Ok(unsafe { AclDataFrameHeader_EmbossReservedAnonymousField4::new_in_state(self.storage) })
315 }
316}
317
318impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::UncheckedState> {
319 type Completed = AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::CompleteState>;
320 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
321 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
322 if self.storage.len() < required_size {
323 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
324 }
325 core::result::Result::Ok(unsafe { AclDataFrameHeader_EmbossReservedAnonymousField4Writer::new_in_state(self.storage) })
326 }
327}
328
329impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AclDataFrameHeader_EmbossReservedAnonymousField4<S, emboss_runtime::UncheckedState> {
330 type Ok = AclDataFrameHeader_EmbossReservedAnonymousField4<S, emboss_runtime::OkState>;
331 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
332 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
333 core::result::Result::Ok(unsafe { AclDataFrameHeader_EmbossReservedAnonymousField4::new_in_state(completed.into_storage()) })
334 }
335}
336
337impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AclDataFrameHeader_EmbossReservedAnonymousField4<S, emboss_runtime::CompleteState> {
338 type Ok = AclDataFrameHeader_EmbossReservedAnonymousField4<S, emboss_runtime::OkState>;
339 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
340 core::result::Result::Ok(unsafe { AclDataFrameHeader_EmbossReservedAnonymousField4::new_in_state(self.into_storage()) })
341 }
342}
343
344impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AclDataFrameHeader_EmbossReservedAnonymousField4<S, emboss_runtime::OkState> {
345 type Ok = AclDataFrameHeader_EmbossReservedAnonymousField4<S, emboss_runtime::OkState>;
346 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
347 core::result::Result::Ok(self)
348 }
349}
350
351impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::UncheckedState> {
352 type Ok = AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::OkState>;
353 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
354 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
355 core::result::Result::Ok(unsafe { AclDataFrameHeader_EmbossReservedAnonymousField4Writer::new_in_state(completed.into_storage()) })
356 }
357}
358
359impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::CompleteState> {
360 type Ok = AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::OkState>;
361 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
362 core::result::Result::Ok(unsafe { AclDataFrameHeader_EmbossReservedAnonymousField4Writer::new_in_state(self.into_storage()) })
363 }
364}
365
366impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::OkState> {
367 type Ok = AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, emboss_runtime::OkState>;
368 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
369 core::result::Result::Ok(self)
370 }
371}
372
373pub mod acl_data_frame_header_emboss_reserved_anonymous_field4 {
374 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AclDataFrameHeader_EmbossReservedAnonymousField4<S, ST>;
375 pub type ViewMut<S> = super::AclDataFrameHeader_EmbossReservedAnonymousField4Mut<S>;
376 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AclDataFrameHeader_EmbossReservedAnonymousField4Writer<S, ST>;
377
378 pub const MIN_SIZE_IN_BYTES: usize = 2;
379 pub const MAX_SIZE_IN_BYTES: usize = 2;
380 pub const SIZE_IN_BYTES: usize = 2;
381}pub struct AclDataFrameHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
382 storage: S,
383 _marker: core::marker::PhantomData<ST>,
384}
385
386impl<S: emboss_runtime::Storage> AclDataFrameHeader<S, emboss_runtime::UncheckedState> {
387 pub fn new(storage: S) -> Self {
388 Self {
389 storage,
390 _marker: core::marker::PhantomData,
391 }
392 }
393}
394
395impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AclDataFrameHeader<S, ST> {
396 fn clone(&self) -> Self {
397 Self {
398 storage: self.storage.clone(),
399 _marker: core::marker::PhantomData,
400 }
401 }
402}
403
404impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AclDataFrameHeader<S, ST> {
405 pub unsafe fn new_in_state(storage: S) -> Self {
413 Self {
414 storage,
415 _marker: core::marker::PhantomData,
416 }
417 }
418 pub fn into_storage(self) -> S {
419 self.storage
420 }
421 pub fn emboss_reserved_anonymous_field_4(&self) -> AclDataFrameHeader_EmbossReservedAnonymousField4<S::Sliced<'_>, emboss_runtime::UncheckedState> {
422 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
423 let offset = (0) as usize;
424 let len = (2) as usize;
425 core::result::Result::Ok((offset, len))
426 })().unwrap_or((usize::MAX, 0));
427 let storage = self.storage.slice(offset, len);
428 unsafe { AclDataFrameHeader_EmbossReservedAnonymousField4::<S::Sliced<'_>, emboss_runtime::UncheckedState>::new_in_state(storage) }
429 }
430 pub fn handle(&self) -> emboss_runtime::VirtualField<u64> {
431 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
432 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_4().handle().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
433) as u64 )
434 })();
435 emboss_runtime::VirtualField::new(value)
436 }
437 pub fn packet_boundary_flag(&self) -> emboss_runtime::VirtualField<AclDataPacketBoundaryFlag> {
438 let value = (|| -> core::result::Result<AclDataPacketBoundaryFlag, emboss_runtime::Error> {
439 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_4().packet_boundary_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
440) as AclDataPacketBoundaryFlag )
441 })();
442 emboss_runtime::VirtualField::new(value)
443 }
444 pub fn broadcast_flag(&self) -> emboss_runtime::VirtualField<AclDataPacketBroadcastFlag> {
445 let value = (|| -> core::result::Result<AclDataPacketBroadcastFlag, emboss_runtime::Error> {
446 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_4().broadcast_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
447) as AclDataPacketBroadcastFlag )
448 })();
449 emboss_runtime::VirtualField::new(value)
450 }
451 pub fn data_total_length(&self) -> UInt<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST> {
452 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
453 let offset = (2) as usize;
454 let len = (2) as usize;
455 core::result::Result::Ok((offset, len))
456 })().unwrap_or((usize::MAX, 0));
457 let storage = self.storage.slice(offset, len);
458 UInt::<16, emboss_runtime::LittleEndian, S::Sliced<'_>, ST>::new(storage)
459 }
460
461}
462
463pub struct AclDataFrameHeaderMut<S: emboss_runtime::MutStorage> {
464 storage: S,
465}
466
467impl<S: emboss_runtime::MutStorage> AclDataFrameHeaderMut<S> {
468 pub fn new(storage: S) -> Self {
469 Self {
470 storage,
471 }
472 }
473 pub fn into_writer(self) -> AclDataFrameHeaderWriter<S, emboss_runtime::UncheckedState> {
474 AclDataFrameHeaderWriter::new(self.storage)
475 }
476 pub fn as_view(&self) -> AclDataFrameHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
478 unsafe { AclDataFrameHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
479 }
480 pub fn emboss_reserved_anonymous_field_4(&mut self) -> AclDataFrameHeader_EmbossReservedAnonymousField4Mut<S::SlicedMut<'_>> {
481 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
482 let offset = (0) as usize;
483 let len = (2) as usize;
484 core::result::Result::Ok((offset, len))
485 })().unwrap_or((usize::MAX, 0));
486 let storage = self.storage.slice_mut(offset, len);
487 AclDataFrameHeader_EmbossReservedAnonymousField4Mut::<S::SlicedMut<'_>>::new(storage)
488 }
489 pub fn handle(&mut self) -> emboss_runtime::VirtualField<u64> {
490 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
491 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_4().handle().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
492) as u64 )
493 })();
494 emboss_runtime::VirtualField::new(value)
495 }
496 pub fn packet_boundary_flag(&mut self) -> emboss_runtime::VirtualField<AclDataPacketBoundaryFlag> {
497 let value = (|| -> core::result::Result<AclDataPacketBoundaryFlag, emboss_runtime::Error> {
498 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_4().packet_boundary_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
499) as AclDataPacketBoundaryFlag )
500 })();
501 emboss_runtime::VirtualField::new(value)
502 }
503 pub fn broadcast_flag(&mut self) -> emboss_runtime::VirtualField<AclDataPacketBroadcastFlag> {
504 let value = (|| -> core::result::Result<AclDataPacketBroadcastFlag, emboss_runtime::Error> {
505 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_4().broadcast_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
506) as AclDataPacketBroadcastFlag )
507 })();
508 emboss_runtime::VirtualField::new(value)
509 }
510 pub fn data_total_length(&mut self) -> UInt<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
511 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
512 let offset = (2) as usize;
513 let len = (2) as usize;
514 core::result::Result::Ok((offset, len))
515 })().unwrap_or((usize::MAX, 0));
516 let storage = self.storage.slice_mut(offset, len);
517 UInt::<16, emboss_runtime::LittleEndian, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
518 }
519
520}
521
522impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AclDataFrameHeaderMut<S> {
523 type Writer = AclDataFrameHeaderWriter<S, emboss_runtime::UncheckedState>;
524 fn into_writer(self) -> Self::Writer {
525 AclDataFrameHeaderWriter::new(self.storage)
526 }
527}
528
529pub struct AclDataFrameHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
530 storage: S,
531 _marker: core::marker::PhantomData<ST>,
532}
533
534impl<S: emboss_runtime::MutStorage> AclDataFrameHeaderWriter<S, emboss_runtime::UncheckedState> {
535 pub fn new(storage: S) -> Self {
536 Self {
537 storage,
538 _marker: core::marker::PhantomData,
539 }
540 }
541}
542
543impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AclDataFrameHeaderWriter<S, ST> {
544 pub unsafe fn new_in_state(storage: S) -> Self {
552 Self {
553 storage,
554 _marker: core::marker::PhantomData,
555 }
556 }
557 pub fn into_storage(self) -> S {
558 self.storage
559 }
560 pub fn into_view(self) -> AclDataFrameHeader<S, ST> {
562 unsafe { AclDataFrameHeader::new_in_state(self.storage) }
563 }
564 pub fn as_view(&self) -> AclDataFrameHeader<S::Sliced<'_>, ST> {
566 unsafe { AclDataFrameHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
567 }
568 pub fn write_data_total_length(self, val: <emboss_runtime::SizeSelector<16> as emboss_runtime::SmallestUInt>::T) -> AclDataFrameHeaderWriter<S, ST::OnValidMutation> {
569 let view = self.into_view();
570 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
571 let offset = (2) as usize;
572 let len = (2) as usize;
573 core::result::Result::Ok((offset, len))
574 })().expect("valid layout in complete state");
575 let mut storage = view.into_storage();
576 {
577 let slice = storage.slice_mut(offset, len);
578 let mut field_view = emboss_runtime::UInt::<16, emboss_runtime::LittleEndian, _>::new(slice);
579 field_view.try_write(val).expect("valid write in complete state");
580 }
581 unsafe { AclDataFrameHeaderWriter::new_in_state(storage) }
582 }
583
584}
585
586impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AclDataFrameHeader<S, ST> {
587 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
588 let view = self;
589 core::result::Result::Ok((4) as usize)
590 }
591}
592
593impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AclDataFrameHeaderMut<S> {
594 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
595 let view = self.as_view();
596 <AclDataFrameHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
597 }
598}
599
600impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AclDataFrameHeaderWriter<S, ST> {
601 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
602 let view = self.as_view();
603 <AclDataFrameHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
604 }
605}
606
607impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AclDataFrameHeader<S, emboss_runtime::UncheckedState> {
608 type Completed = AclDataFrameHeader<S, emboss_runtime::CompleteState>;
609 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
610 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
611 if self.storage.len() < required_size {
612 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
613 }
614 core::result::Result::Ok(unsafe { AclDataFrameHeader::new_in_state(self.storage) })
615 }
616}
617
618impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AclDataFrameHeaderWriter<S, emboss_runtime::UncheckedState> {
619 type Completed = AclDataFrameHeaderWriter<S, emboss_runtime::CompleteState>;
620 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
621 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
622 if self.storage.len() < required_size {
623 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
624 }
625 core::result::Result::Ok(unsafe { AclDataFrameHeaderWriter::new_in_state(self.storage) })
626 }
627}
628
629impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AclDataFrameHeader<S, emboss_runtime::UncheckedState> {
630 type Ok = AclDataFrameHeader<S, emboss_runtime::OkState>;
631 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
632 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
633 core::result::Result::Ok(unsafe { AclDataFrameHeader::new_in_state(completed.into_storage()) })
634 }
635}
636
637impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AclDataFrameHeader<S, emboss_runtime::CompleteState> {
638 type Ok = AclDataFrameHeader<S, emboss_runtime::OkState>;
639 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
640 core::result::Result::Ok(unsafe { AclDataFrameHeader::new_in_state(self.into_storage()) })
641 }
642}
643
644impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AclDataFrameHeader<S, emboss_runtime::OkState> {
645 type Ok = AclDataFrameHeader<S, emboss_runtime::OkState>;
646 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
647 core::result::Result::Ok(self)
648 }
649}
650
651impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AclDataFrameHeaderWriter<S, emboss_runtime::UncheckedState> {
652 type Ok = AclDataFrameHeaderWriter<S, emboss_runtime::OkState>;
653 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
654 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
655 core::result::Result::Ok(unsafe { AclDataFrameHeaderWriter::new_in_state(completed.into_storage()) })
656 }
657}
658
659impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AclDataFrameHeaderWriter<S, emboss_runtime::CompleteState> {
660 type Ok = AclDataFrameHeaderWriter<S, emboss_runtime::OkState>;
661 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
662 core::result::Result::Ok(unsafe { AclDataFrameHeaderWriter::new_in_state(self.into_storage()) })
663 }
664}
665
666impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AclDataFrameHeaderWriter<S, emboss_runtime::OkState> {
667 type Ok = AclDataFrameHeaderWriter<S, emboss_runtime::OkState>;
668 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
669 core::result::Result::Ok(self)
670 }
671}
672
673pub mod acl_data_frame_header {
674 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AclDataFrameHeader<S, ST>;
675 pub type ViewMut<S> = super::AclDataFrameHeaderMut<S>;
676 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AclDataFrameHeaderWriter<S, ST>;
677
678 pub const MIN_SIZE_IN_BYTES: usize = 4;
679 pub const MAX_SIZE_IN_BYTES: usize = 4;
680 pub const SIZE_IN_BYTES: usize = 4;
681}pub struct AclDataFrame_Payload_ArrayView<S: emboss_runtime::Storage> {
682 storage: S,
683 element_count: usize,
684}
685
686impl<S: emboss_runtime::Storage + core::clone::Clone> core::clone::Clone for AclDataFrame_Payload_ArrayView<S> {
687 fn clone(&self) -> Self {
688 Self {
689 storage: self.storage.clone(),
690 element_count: self.element_count,
691 }
692 }
693}
694
695impl<S: emboss_runtime::Storage> AclDataFrame_Payload_ArrayView<S> {
696 pub const ELEMENT_SIZE_BYTES: usize = 1;
697 pub fn new(storage: S, element_count: usize) -> Self {
698 Self { storage, element_count }
699 }
700 pub fn element_count(&self) -> usize {
701 self.element_count
702 }
703 pub fn get(&self, index: usize) -> core::result::Result<emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::Sliced<'_>>
704, emboss_runtime::Error> {
705 if index >= self.element_count {
706 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
707 }
708 let offset = index * Self::ELEMENT_SIZE_BYTES;
709 let storage = self.storage.slice(offset, Self::ELEMENT_SIZE_BYTES);
710 core::result::Result::Ok(emboss_runtime::UInt::new(storage)
711)
712 }
713}
714
715pub struct AclDataFrame_Payload_ArrayViewMut<S: emboss_runtime::MutStorage> {
716 storage: S,
717 element_count: usize,
718}
719
720impl<S: emboss_runtime::MutStorage> AclDataFrame_Payload_ArrayViewMut<S> {
721 pub const ELEMENT_SIZE_BYTES: usize = 1;
722 pub fn new(storage: S, element_count: usize) -> Self {
723 Self { storage, element_count }
724 }
725 pub fn element_count(&self) -> usize {
726 self.element_count
727 }
728 pub fn get_mut(&mut self, index: usize) -> core::result::Result<emboss_runtime::UInt<8, emboss_runtime::LittleEndian, S::SlicedMut<'_>>
729, emboss_runtime::Error> {
730 if index >= self.element_count {
731 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
732 }
733 let offset = index * Self::ELEMENT_SIZE_BYTES;
734 let storage = self.storage.slice_mut(offset, Self::ELEMENT_SIZE_BYTES);
735 core::result::Result::Ok(emboss_runtime::UInt::new(storage)
736)
737 }
738}
739pub struct AclDataFrame<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
740 storage: S,
741 _marker: core::marker::PhantomData<ST>,
742}
743
744impl<S: emboss_runtime::Storage> AclDataFrame<S, emboss_runtime::UncheckedState> {
745 pub fn new(storage: S) -> Self {
746 Self {
747 storage,
748 _marker: core::marker::PhantomData,
749 }
750 }
751}
752
753impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for AclDataFrame<S, ST> {
754 fn clone(&self) -> Self {
755 Self {
756 storage: self.storage.clone(),
757 _marker: core::marker::PhantomData,
758 }
759 }
760}
761
762impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> AclDataFrame<S, ST> {
763 pub unsafe fn new_in_state(storage: S) -> Self {
771 Self {
772 storage,
773 _marker: core::marker::PhantomData,
774 }
775 }
776 pub fn into_storage(self) -> S {
777 self.storage
778 }
779 pub fn header(&self) -> AclDataFrameHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
780 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
781 let offset = (0) as usize;
782 let len = (4) as usize;
783 core::result::Result::Ok((offset, len))
784 })().unwrap_or((usize::MAX, 0));
785 let storage = self.storage.slice(offset, len);
786 unsafe { AclDataFrameHeader::<S::Sliced<'_>, emboss_runtime::UncheckedState>::new_in_state(storage) }
787 }
788 pub fn data_total_length(&self) -> emboss_runtime::VirtualField<u64> {
789 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
790 core::result::Result::Ok( (({ let val = self.header().data_total_length().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
791) as u64 )
792 })();
793 emboss_runtime::VirtualField::new(value)
794 }
795 pub fn payload(&self) -> core::result::Result<AclDataFrame_Payload_ArrayView<S::Sliced<'_>>, emboss_runtime::Error> {
796 let offset_res = (|| -> core::result::Result<(usize, usize, usize), emboss_runtime::Error> {
797 let offset = (4) as usize;
798 let len = (({ let val = self.data_total_length().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
799) as usize;
800 let element_count = (len / (1)) as usize;
801 core::result::Result::Ok((offset, len, element_count))
802 })();
803 match offset_res {
804 core::result::Result::Ok((offset, len, element_count)) => {
805 if len > 0 {
806 let end = offset.checked_add(len).ok_or(emboss_runtime::Error::OutOfBounds)?;
807 self.storage.try_read_byte(end - 1)?;
808 }
809 let storage = self.storage.slice(offset, len);
810 core::result::Result::Ok(AclDataFrame_Payload_ArrayView::new(storage, element_count))
811 },
812 core::result::Result::Err(e) => core::result::Result::Err(e),
813 }
814 }
815
816}
817
818pub struct AclDataFrameMut<S: emboss_runtime::MutStorage> {
819 storage: S,
820}
821
822impl<S: emboss_runtime::MutStorage> AclDataFrameMut<S> {
823 pub fn new(storage: S) -> Self {
824 Self {
825 storage,
826 }
827 }
828 pub fn into_writer(self) -> AclDataFrameWriter<S, emboss_runtime::UncheckedState> {
829 AclDataFrameWriter::new(self.storage)
830 }
831 pub fn as_view(&self) -> AclDataFrame<S::Sliced<'_>, emboss_runtime::UncheckedState> {
833 unsafe { AclDataFrame::new_in_state(self.storage.slice(0, self.storage.len())) }
834 }
835 pub fn header(&mut self) -> AclDataFrameHeaderMut<S::SlicedMut<'_>> {
836 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
837 let offset = (0) as usize;
838 let len = (4) as usize;
839 core::result::Result::Ok((offset, len))
840 })().unwrap_or((usize::MAX, 0));
841 let storage = self.storage.slice_mut(offset, len);
842 AclDataFrameHeaderMut::<S::SlicedMut<'_>>::new(storage)
843 }
844 pub fn data_total_length(&mut self) -> emboss_runtime::VirtualField<u64> {
845 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
846 core::result::Result::Ok( (({ let val = self.header().data_total_length().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
847) as u64 )
848 })();
849 emboss_runtime::VirtualField::new(value)
850 }
851 pub fn payload_mut(&mut self) -> core::result::Result<AclDataFrame_Payload_ArrayViewMut<S::SlicedMut<'_>>, emboss_runtime::Error> {
852 let offset_res = (|| -> core::result::Result<(usize, usize, usize), emboss_runtime::Error> {
853 let offset = (4) as usize;
854 let len = (({ let val = self.data_total_length().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
855) as usize;
856 let element_count = (len / (1)) as usize;
857 core::result::Result::Ok((offset, len, element_count))
858 })();
859 match offset_res {
860 core::result::Result::Ok((offset, len, element_count)) => {
861 if len > 0 {
862 let end = offset.checked_add(len).ok_or(emboss_runtime::Error::OutOfBounds)?;
863 self.storage.try_read_byte(end - 1)?;
864 }
865 let storage = self.storage.slice_mut(offset, len);
866 core::result::Result::Ok(AclDataFrame_Payload_ArrayViewMut::new(storage, element_count))
867 },
868 core::result::Result::Err(e) => core::result::Result::Err(e),
869 }
870 }
871
872}
873
874impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for AclDataFrameMut<S> {
875 type Writer = AclDataFrameWriter<S, emboss_runtime::UncheckedState>;
876 fn into_writer(self) -> Self::Writer {
877 AclDataFrameWriter::new(self.storage)
878 }
879}
880
881pub struct AclDataFrameWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
882 storage: S,
883 _marker: core::marker::PhantomData<ST>,
884}
885
886impl<S: emboss_runtime::MutStorage> AclDataFrameWriter<S, emboss_runtime::UncheckedState> {
887 pub fn new(storage: S) -> Self {
888 Self {
889 storage,
890 _marker: core::marker::PhantomData,
891 }
892 }
893}
894
895impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> AclDataFrameWriter<S, ST> {
896 pub unsafe fn new_in_state(storage: S) -> Self {
904 Self {
905 storage,
906 _marker: core::marker::PhantomData,
907 }
908 }
909 pub fn into_storage(self) -> S {
910 self.storage
911 }
912 pub fn into_view(self) -> AclDataFrame<S, ST> {
914 unsafe { AclDataFrame::new_in_state(self.storage) }
915 }
916 pub fn as_view(&self) -> AclDataFrame<S::Sliced<'_>, ST> {
918 unsafe { AclDataFrame::new_in_state(self.storage.slice(0, self.storage.len())) }
919 }
920
921}
922
923impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for AclDataFrame<S, ST> {
924 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
925 let view = self;
926 core::result::Result::Ok((core::cmp::max((core::cmp::max((0) as i64, (4) as i64)
927) as i64, ((if true { ( (4) as i64 + (({ let val = view.data_total_length().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
928) as i64 )
929 } else { 0 })
930
931) as i64)
932) as usize)
933 }
934}
935
936impl<S: emboss_runtime::MutStorage> emboss_runtime::View for AclDataFrameMut<S> {
937 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
938 let view = self.as_view();
939 <AclDataFrame<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
940 }
941}
942
943impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for AclDataFrameWriter<S, ST> {
944 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
945 let view = self.as_view();
946 <AclDataFrame<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
947 }
948}
949
950impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for AclDataFrame<S, emboss_runtime::UncheckedState> {
951 type Completed = AclDataFrame<S, emboss_runtime::CompleteState>;
952 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
953 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
954 if self.storage.len() < required_size {
955 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
956 }
957 core::result::Result::Ok(unsafe { AclDataFrame::new_in_state(self.storage) })
958 }
959}
960
961impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for AclDataFrameWriter<S, emboss_runtime::UncheckedState> {
962 type Completed = AclDataFrameWriter<S, emboss_runtime::CompleteState>;
963 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
964 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
965 if self.storage.len() < required_size {
966 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
967 }
968 core::result::Result::Ok(unsafe { AclDataFrameWriter::new_in_state(self.storage) })
969 }
970}
971
972impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AclDataFrame<S, emboss_runtime::UncheckedState> {
973 type Ok = AclDataFrame<S, emboss_runtime::OkState>;
974 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
975 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
976 core::result::Result::Ok(unsafe { AclDataFrame::new_in_state(completed.into_storage()) })
977 }
978}
979
980impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AclDataFrame<S, emboss_runtime::CompleteState> {
981 type Ok = AclDataFrame<S, emboss_runtime::OkState>;
982 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
983 core::result::Result::Ok(unsafe { AclDataFrame::new_in_state(self.into_storage()) })
984 }
985}
986
987impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for AclDataFrame<S, emboss_runtime::OkState> {
988 type Ok = AclDataFrame<S, emboss_runtime::OkState>;
989 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
990 core::result::Result::Ok(self)
991 }
992}
993
994impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AclDataFrameWriter<S, emboss_runtime::UncheckedState> {
995 type Ok = AclDataFrameWriter<S, emboss_runtime::OkState>;
996 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
997 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
998 core::result::Result::Ok(unsafe { AclDataFrameWriter::new_in_state(completed.into_storage()) })
999 }
1000}
1001
1002impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AclDataFrameWriter<S, emboss_runtime::CompleteState> {
1003 type Ok = AclDataFrameWriter<S, emboss_runtime::OkState>;
1004 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1005 core::result::Result::Ok(unsafe { AclDataFrameWriter::new_in_state(self.into_storage()) })
1006 }
1007}
1008
1009impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for AclDataFrameWriter<S, emboss_runtime::OkState> {
1010 type Ok = AclDataFrameWriter<S, emboss_runtime::OkState>;
1011 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1012 core::result::Result::Ok(self)
1013 }
1014}
1015
1016pub mod acl_data_frame {
1017 pub type View<S, ST = emboss_runtime::UncheckedState> = super::AclDataFrame<S, ST>;
1018 pub type ViewMut<S> = super::AclDataFrameMut<S>;
1019 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::AclDataFrameWriter<S, ST>;
1020
1021 pub const MIN_SIZE_IN_BYTES: usize = 4;
1022 pub const MAX_SIZE_IN_BYTES: usize = 65539;
1023}#[derive(Copy, Clone, Debug, Eq, PartialEq)]
1024#[repr(u64)]
1025pub enum TsFlag {
1026 TIMESTAMP_NOT_PRESENT = 0,
1027 TIMESTAMP_PRESENT = 1,
1028
1029}
1030
1031impl core::convert::From<TsFlag> for u8 { fn from(val: TsFlag) -> Self { val as u8 } }
1032impl core::convert::From<TsFlag> for u16 { fn from(val: TsFlag) -> Self { val as u16 } }
1033impl core::convert::From<TsFlag> for u32 { fn from(val: TsFlag) -> Self { val as u32 } }
1034impl core::convert::From<TsFlag> for u64 { fn from(val: TsFlag) -> Self { val as u64 } }
1035impl core::convert::From<TsFlag> for i8 { fn from(val: TsFlag) -> Self { val as i8 } }
1036impl core::convert::From<TsFlag> for i16 { fn from(val: TsFlag) -> Self { val as i16 } }
1037impl core::convert::From<TsFlag> for i32 { fn from(val: TsFlag) -> Self { val as i32 } }
1038impl core::convert::From<TsFlag> for i64 { fn from(val: TsFlag) -> Self { val as i64 } }
1039
1040impl emboss_runtime::SafeCmp<TsFlag> for TsFlag {
1041 fn safe_eq(&self, other: Self) -> bool { *self == other }
1042 fn safe_less(&self, other: Self) -> bool { (*self as u64) < (other as u64) }
1043}
1044
1045impl emboss_runtime::SafeCmp<u64> for TsFlag {
1046 fn safe_eq(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
1047 fn safe_less(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
1048}
1049
1050impl emboss_runtime::SafeCmp<i64> for TsFlag {
1051 fn safe_eq(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
1052 fn safe_less(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
1053}
1054
1055impl emboss_runtime::SafeCmp<i32> for TsFlag {
1056 fn safe_eq(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as i64) }
1057 fn safe_less(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as i64) }
1058}
1059
1060impl emboss_runtime::SafeCmp<u32> for TsFlag {
1061 fn safe_eq(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as u64) }
1062 fn safe_less(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as u64) }
1063}
1064
1065impl emboss_runtime::SafeCmp<TsFlag> for u64 {
1066 fn safe_eq(&self, other: TsFlag) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
1067 fn safe_less(&self, other: TsFlag) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
1068}
1069
1070impl emboss_runtime::SafeCmp<TsFlag> for i64 {
1071 fn safe_eq(&self, other: TsFlag) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
1072 fn safe_less(&self, other: TsFlag) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
1073}
1074
1075impl<V: core::convert::Into<u64> + core::marker::Copy> emboss_runtime::TryFromRaw<V> for TsFlag {
1076 fn try_from_raw(val: V) -> core::result::Result<Self, emboss_runtime::Error<V>> {
1077 let v_raw: u64 = val.into();
1078 match v_raw {
1079 0 => Ok(TsFlag::TIMESTAMP_NOT_PRESENT),
1080 1 => Ok(TsFlag::TIMESTAMP_PRESENT),
1081
1082 _ => Err(emboss_runtime::Error::UnknownEnum(val)),
1083 }
1084 }
1085}
1086
1087impl TsFlag {
1088
1089}
1090#[derive(Copy, Clone, Debug, Eq, PartialEq)]
1091#[repr(u64)]
1092pub enum IsoDataPbFlag {
1093 FIRST_FRAGMENT = 0,
1094 INTERMEDIATE_FRAGMENT = 1,
1095 COMPLETE_SDU = 2,
1096 LAST_FRAGMENT = 3,
1097
1098}
1099
1100impl core::convert::From<IsoDataPbFlag> for u8 { fn from(val: IsoDataPbFlag) -> Self { val as u8 } }
1101impl core::convert::From<IsoDataPbFlag> for u16 { fn from(val: IsoDataPbFlag) -> Self { val as u16 } }
1102impl core::convert::From<IsoDataPbFlag> for u32 { fn from(val: IsoDataPbFlag) -> Self { val as u32 } }
1103impl core::convert::From<IsoDataPbFlag> for u64 { fn from(val: IsoDataPbFlag) -> Self { val as u64 } }
1104impl core::convert::From<IsoDataPbFlag> for i8 { fn from(val: IsoDataPbFlag) -> Self { val as i8 } }
1105impl core::convert::From<IsoDataPbFlag> for i16 { fn from(val: IsoDataPbFlag) -> Self { val as i16 } }
1106impl core::convert::From<IsoDataPbFlag> for i32 { fn from(val: IsoDataPbFlag) -> Self { val as i32 } }
1107impl core::convert::From<IsoDataPbFlag> for i64 { fn from(val: IsoDataPbFlag) -> Self { val as i64 } }
1108
1109impl emboss_runtime::SafeCmp<IsoDataPbFlag> for IsoDataPbFlag {
1110 fn safe_eq(&self, other: Self) -> bool { *self == other }
1111 fn safe_less(&self, other: Self) -> bool { (*self as u64) < (other as u64) }
1112}
1113
1114impl emboss_runtime::SafeCmp<u64> for IsoDataPbFlag {
1115 fn safe_eq(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
1116 fn safe_less(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
1117}
1118
1119impl emboss_runtime::SafeCmp<i64> for IsoDataPbFlag {
1120 fn safe_eq(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
1121 fn safe_less(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
1122}
1123
1124impl emboss_runtime::SafeCmp<i32> for IsoDataPbFlag {
1125 fn safe_eq(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as i64) }
1126 fn safe_less(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as i64) }
1127}
1128
1129impl emboss_runtime::SafeCmp<u32> for IsoDataPbFlag {
1130 fn safe_eq(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as u64) }
1131 fn safe_less(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as u64) }
1132}
1133
1134impl emboss_runtime::SafeCmp<IsoDataPbFlag> for u64 {
1135 fn safe_eq(&self, other: IsoDataPbFlag) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
1136 fn safe_less(&self, other: IsoDataPbFlag) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
1137}
1138
1139impl emboss_runtime::SafeCmp<IsoDataPbFlag> for i64 {
1140 fn safe_eq(&self, other: IsoDataPbFlag) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
1141 fn safe_less(&self, other: IsoDataPbFlag) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
1142}
1143
1144impl<V: core::convert::Into<u64> + core::marker::Copy> emboss_runtime::TryFromRaw<V> for IsoDataPbFlag {
1145 fn try_from_raw(val: V) -> core::result::Result<Self, emboss_runtime::Error<V>> {
1146 let v_raw: u64 = val.into();
1147 match v_raw {
1148 0 => Ok(IsoDataPbFlag::FIRST_FRAGMENT),
1149 1 => Ok(IsoDataPbFlag::INTERMEDIATE_FRAGMENT),
1150 2 => Ok(IsoDataPbFlag::COMPLETE_SDU),
1151 3 => Ok(IsoDataPbFlag::LAST_FRAGMENT),
1152
1153 _ => Err(emboss_runtime::Error::UnknownEnum(val)),
1154 }
1155 }
1156}
1157
1158impl IsoDataPbFlag {
1159
1160}
1161#[derive(Copy, Clone, Debug, Eq, PartialEq)]
1162#[repr(u64)]
1163pub enum IsoDataPacketStatus {
1164 VALID_DATA = 0,
1165 POSSIBLY_INVALID_DATA = 1,
1166 LOST_DATA = 2,
1167
1168}
1169
1170impl core::convert::From<IsoDataPacketStatus> for u8 { fn from(val: IsoDataPacketStatus) -> Self { val as u8 } }
1171impl core::convert::From<IsoDataPacketStatus> for u16 { fn from(val: IsoDataPacketStatus) -> Self { val as u16 } }
1172impl core::convert::From<IsoDataPacketStatus> for u32 { fn from(val: IsoDataPacketStatus) -> Self { val as u32 } }
1173impl core::convert::From<IsoDataPacketStatus> for u64 { fn from(val: IsoDataPacketStatus) -> Self { val as u64 } }
1174impl core::convert::From<IsoDataPacketStatus> for i8 { fn from(val: IsoDataPacketStatus) -> Self { val as i8 } }
1175impl core::convert::From<IsoDataPacketStatus> for i16 { fn from(val: IsoDataPacketStatus) -> Self { val as i16 } }
1176impl core::convert::From<IsoDataPacketStatus> for i32 { fn from(val: IsoDataPacketStatus) -> Self { val as i32 } }
1177impl core::convert::From<IsoDataPacketStatus> for i64 { fn from(val: IsoDataPacketStatus) -> Self { val as i64 } }
1178
1179impl emboss_runtime::SafeCmp<IsoDataPacketStatus> for IsoDataPacketStatus {
1180 fn safe_eq(&self, other: Self) -> bool { *self == other }
1181 fn safe_less(&self, other: Self) -> bool { (*self as u64) < (other as u64) }
1182}
1183
1184impl emboss_runtime::SafeCmp<u64> for IsoDataPacketStatus {
1185 fn safe_eq(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
1186 fn safe_less(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
1187}
1188
1189impl emboss_runtime::SafeCmp<i64> for IsoDataPacketStatus {
1190 fn safe_eq(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
1191 fn safe_less(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
1192}
1193
1194impl emboss_runtime::SafeCmp<i32> for IsoDataPacketStatus {
1195 fn safe_eq(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as i64) }
1196 fn safe_less(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as i64) }
1197}
1198
1199impl emboss_runtime::SafeCmp<u32> for IsoDataPacketStatus {
1200 fn safe_eq(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as u64) }
1201 fn safe_less(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as u64) }
1202}
1203
1204impl emboss_runtime::SafeCmp<IsoDataPacketStatus> for u64 {
1205 fn safe_eq(&self, other: IsoDataPacketStatus) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
1206 fn safe_less(&self, other: IsoDataPacketStatus) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
1207}
1208
1209impl emboss_runtime::SafeCmp<IsoDataPacketStatus> for i64 {
1210 fn safe_eq(&self, other: IsoDataPacketStatus) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
1211 fn safe_less(&self, other: IsoDataPacketStatus) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
1212}
1213
1214impl<V: core::convert::Into<u64> + core::marker::Copy> emboss_runtime::TryFromRaw<V> for IsoDataPacketStatus {
1215 fn try_from_raw(val: V) -> core::result::Result<Self, emboss_runtime::Error<V>> {
1216 let v_raw: u64 = val.into();
1217 match v_raw {
1218 0 => Ok(IsoDataPacketStatus::VALID_DATA),
1219 1 => Ok(IsoDataPacketStatus::POSSIBLY_INVALID_DATA),
1220 2 => Ok(IsoDataPacketStatus::LOST_DATA),
1221
1222 _ => Err(emboss_runtime::Error::UnknownEnum(val)),
1223 }
1224 }
1225}
1226
1227impl IsoDataPacketStatus {
1228
1229}
1230pub struct IsoDataFrameHeader_EmbossReservedAnonymousField3<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1231 storage: S,
1232 _marker: core::marker::PhantomData<ST>,
1233}
1234
1235impl<S: emboss_runtime::Storage> IsoDataFrameHeader_EmbossReservedAnonymousField3<S, emboss_runtime::UncheckedState> {
1236 pub fn new(storage: S) -> Self {
1237 Self {
1238 storage,
1239 _marker: core::marker::PhantomData,
1240 }
1241 }
1242}
1243
1244impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for IsoDataFrameHeader_EmbossReservedAnonymousField3<S, ST> {
1245 fn clone(&self) -> Self {
1246 Self {
1247 storage: self.storage.clone(),
1248 _marker: core::marker::PhantomData,
1249 }
1250 }
1251}
1252
1253impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> IsoDataFrameHeader_EmbossReservedAnonymousField3<S, ST> {
1254 pub unsafe fn new_in_state(storage: S) -> Self {
1262 Self {
1263 storage,
1264 _marker: core::marker::PhantomData,
1265 }
1266 }
1267 pub fn into_storage(self) -> S {
1268 self.storage
1269 }
1270 pub fn connection_handle(&self) -> emboss_runtime::BitUInt<12, 0, emboss_runtime::Null, S::Sliced<'_>, ST> {
1271 let len = (2) as usize; let storage = self.storage.slice(0, len);
1273 emboss_runtime::BitUInt::<12, 0, emboss_runtime::Null, S::Sliced<'_>, ST>::new(storage)
1274 }
1275 pub fn pb_flag(&self) -> emboss_runtime::EnumView<IsoDataPbFlag, emboss_runtime::BitUInt<2, 12, emboss_runtime::Null, S::Sliced<'_>, ST>> {
1276 let len = (2) as usize;
1277 let storage = self.storage.slice(0, len);
1278 emboss_runtime::EnumView::new(emboss_runtime::BitUInt::new(storage))
1279 }
1280 pub fn ts_flag(&self) -> emboss_runtime::EnumView<TsFlag, emboss_runtime::BitUInt<1, 14, emboss_runtime::Null, S::Sliced<'_>, ST>> {
1281 let len = (2) as usize;
1282 let storage = self.storage.slice(0, len);
1283 emboss_runtime::EnumView::new(emboss_runtime::BitUInt::new(storage))
1284 }
1285 pub fn data_total_length(&self) -> emboss_runtime::BitUInt<14, 16, emboss_runtime::Null, S::Sliced<'_>, ST> {
1286 let len = (4) as usize; let storage = self.storage.slice(0, len);
1288 emboss_runtime::BitUInt::<14, 16, emboss_runtime::Null, S::Sliced<'_>, ST>::new(storage)
1289 }
1290
1291}
1292
1293pub struct IsoDataFrameHeader_EmbossReservedAnonymousField3Mut<S: emboss_runtime::MutStorage> {
1294 storage: S,
1295}
1296
1297impl<S: emboss_runtime::MutStorage> IsoDataFrameHeader_EmbossReservedAnonymousField3Mut<S> {
1298 pub fn new(storage: S) -> Self {
1299 Self {
1300 storage,
1301 }
1302 }
1303 pub fn into_writer(self) -> IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::UncheckedState> {
1304 IsoDataFrameHeader_EmbossReservedAnonymousField3Writer::new(self.storage)
1305 }
1306 pub fn as_view(&self) -> IsoDataFrameHeader_EmbossReservedAnonymousField3<S::Sliced<'_>, emboss_runtime::UncheckedState> {
1308 unsafe { IsoDataFrameHeader_EmbossReservedAnonymousField3::new_in_state(self.storage.slice(0, self.storage.len())) }
1309 }
1310 pub fn connection_handle(&mut self) -> emboss_runtime::BitUInt<12, 0, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
1311 let len = (2) as usize;
1312 let storage = self.storage.slice_mut(0, len);
1313 emboss_runtime::BitUInt::<12, 0, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
1314 }
1315 pub fn pb_flag(&mut self) -> emboss_runtime::EnumViewMut<IsoDataPbFlag, emboss_runtime::BitUInt<2, 12, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
1316 let len = (2) as usize;
1317 let storage = self.storage.slice_mut(0, len);
1318 emboss_runtime::EnumViewMut::new(emboss_runtime::BitUInt::new(storage))
1319 }
1320 pub fn ts_flag(&mut self) -> emboss_runtime::EnumViewMut<TsFlag, emboss_runtime::BitUInt<1, 14, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
1321 let len = (2) as usize;
1322 let storage = self.storage.slice_mut(0, len);
1323 emboss_runtime::EnumViewMut::new(emboss_runtime::BitUInt::new(storage))
1324 }
1325 pub fn data_total_length(&mut self) -> emboss_runtime::BitUInt<14, 16, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
1326 let len = (4) as usize;
1327 let storage = self.storage.slice_mut(0, len);
1328 emboss_runtime::BitUInt::<14, 16, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
1329 }
1330
1331}
1332
1333impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for IsoDataFrameHeader_EmbossReservedAnonymousField3Mut<S> {
1334 type Writer = IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::UncheckedState>;
1335 fn into_writer(self) -> Self::Writer {
1336 IsoDataFrameHeader_EmbossReservedAnonymousField3Writer::new(self.storage)
1337 }
1338}
1339
1340pub struct IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1341 storage: S,
1342 _marker: core::marker::PhantomData<ST>,
1343}
1344
1345impl<S: emboss_runtime::MutStorage> IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::UncheckedState> {
1346 pub fn new(storage: S) -> Self {
1347 Self {
1348 storage,
1349 _marker: core::marker::PhantomData,
1350 }
1351 }
1352}
1353
1354impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, ST> {
1355 pub unsafe fn new_in_state(storage: S) -> Self {
1363 Self {
1364 storage,
1365 _marker: core::marker::PhantomData,
1366 }
1367 }
1368 pub fn into_storage(self) -> S {
1369 self.storage
1370 }
1371 pub fn into_view(self) -> IsoDataFrameHeader_EmbossReservedAnonymousField3<S, ST> {
1373 unsafe { IsoDataFrameHeader_EmbossReservedAnonymousField3::new_in_state(self.storage) }
1374 }
1375 pub fn as_view(&self) -> IsoDataFrameHeader_EmbossReservedAnonymousField3<S::Sliced<'_>, ST> {
1377 unsafe { IsoDataFrameHeader_EmbossReservedAnonymousField3::new_in_state(self.storage.slice(0, self.storage.len())) }
1378 }
1379
1380}
1381
1382impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for IsoDataFrameHeader_EmbossReservedAnonymousField3<S, ST> {
1383 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1384 let view = self;
1385 core::result::Result::Ok((((30) + 7) / 8) as usize)
1386 }
1387}
1388
1389impl<S: emboss_runtime::MutStorage> emboss_runtime::View for IsoDataFrameHeader_EmbossReservedAnonymousField3Mut<S> {
1390 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1391 let view = self.as_view();
1392 <IsoDataFrameHeader_EmbossReservedAnonymousField3<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
1393 }
1394}
1395
1396impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, ST> {
1397 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1398 let view = self.as_view();
1399 <IsoDataFrameHeader_EmbossReservedAnonymousField3<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
1400 }
1401}
1402
1403impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for IsoDataFrameHeader_EmbossReservedAnonymousField3<S, emboss_runtime::UncheckedState> {
1404 type Completed = IsoDataFrameHeader_EmbossReservedAnonymousField3<S, emboss_runtime::CompleteState>;
1405 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1406 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1407 if self.storage.len() < required_size {
1408 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1409 }
1410 core::result::Result::Ok(unsafe { IsoDataFrameHeader_EmbossReservedAnonymousField3::new_in_state(self.storage) })
1411 }
1412}
1413
1414impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::UncheckedState> {
1415 type Completed = IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::CompleteState>;
1416 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1417 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1418 if self.storage.len() < required_size {
1419 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1420 }
1421 core::result::Result::Ok(unsafe { IsoDataFrameHeader_EmbossReservedAnonymousField3Writer::new_in_state(self.storage) })
1422 }
1423}
1424
1425impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFrameHeader_EmbossReservedAnonymousField3<S, emboss_runtime::UncheckedState> {
1426 type Ok = IsoDataFrameHeader_EmbossReservedAnonymousField3<S, emboss_runtime::OkState>;
1427 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1428 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1429 core::result::Result::Ok(unsafe { IsoDataFrameHeader_EmbossReservedAnonymousField3::new_in_state(completed.into_storage()) })
1430 }
1431}
1432
1433impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFrameHeader_EmbossReservedAnonymousField3<S, emboss_runtime::CompleteState> {
1434 type Ok = IsoDataFrameHeader_EmbossReservedAnonymousField3<S, emboss_runtime::OkState>;
1435 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1436 core::result::Result::Ok(unsafe { IsoDataFrameHeader_EmbossReservedAnonymousField3::new_in_state(self.into_storage()) })
1437 }
1438}
1439
1440impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFrameHeader_EmbossReservedAnonymousField3<S, emboss_runtime::OkState> {
1441 type Ok = IsoDataFrameHeader_EmbossReservedAnonymousField3<S, emboss_runtime::OkState>;
1442 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1443 core::result::Result::Ok(self)
1444 }
1445}
1446
1447impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::UncheckedState> {
1448 type Ok = IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::OkState>;
1449 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1450 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1451 core::result::Result::Ok(unsafe { IsoDataFrameHeader_EmbossReservedAnonymousField3Writer::new_in_state(completed.into_storage()) })
1452 }
1453}
1454
1455impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::CompleteState> {
1456 type Ok = IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::OkState>;
1457 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1458 core::result::Result::Ok(unsafe { IsoDataFrameHeader_EmbossReservedAnonymousField3Writer::new_in_state(self.into_storage()) })
1459 }
1460}
1461
1462impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::OkState> {
1463 type Ok = IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, emboss_runtime::OkState>;
1464 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1465 core::result::Result::Ok(self)
1466 }
1467}
1468
1469pub mod iso_data_frame_header_emboss_reserved_anonymous_field3 {
1470 pub type View<S, ST = emboss_runtime::UncheckedState> = super::IsoDataFrameHeader_EmbossReservedAnonymousField3<S, ST>;
1471 pub type ViewMut<S> = super::IsoDataFrameHeader_EmbossReservedAnonymousField3Mut<S>;
1472 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::IsoDataFrameHeader_EmbossReservedAnonymousField3Writer<S, ST>;
1473
1474 pub const MIN_SIZE_IN_BYTES: usize = 4;
1475 pub const MAX_SIZE_IN_BYTES: usize = 4;
1476 pub const SIZE_IN_BYTES: usize = 4;
1477}pub struct IsoDataFrameHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1478 storage: S,
1479 _marker: core::marker::PhantomData<ST>,
1480}
1481
1482impl<S: emboss_runtime::Storage> IsoDataFrameHeader<S, emboss_runtime::UncheckedState> {
1483 pub fn new(storage: S) -> Self {
1484 Self {
1485 storage,
1486 _marker: core::marker::PhantomData,
1487 }
1488 }
1489}
1490
1491impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for IsoDataFrameHeader<S, ST> {
1492 fn clone(&self) -> Self {
1493 Self {
1494 storage: self.storage.clone(),
1495 _marker: core::marker::PhantomData,
1496 }
1497 }
1498}
1499
1500impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> IsoDataFrameHeader<S, ST> {
1501 pub unsafe fn new_in_state(storage: S) -> Self {
1509 Self {
1510 storage,
1511 _marker: core::marker::PhantomData,
1512 }
1513 }
1514 pub fn into_storage(self) -> S {
1515 self.storage
1516 }
1517 pub fn emboss_reserved_anonymous_field_3(&self) -> IsoDataFrameHeader_EmbossReservedAnonymousField3<S::Sliced<'_>, emboss_runtime::UncheckedState> {
1518 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1519 let offset = (0) as usize;
1520 let len = (4) as usize;
1521 core::result::Result::Ok((offset, len))
1522 })().unwrap_or((usize::MAX, 0));
1523 let storage = self.storage.slice(offset, len);
1524 unsafe { IsoDataFrameHeader_EmbossReservedAnonymousField3::<S::Sliced<'_>, emboss_runtime::UncheckedState>::new_in_state(storage) }
1525 }
1526 pub fn connection_handle(&self) -> emboss_runtime::VirtualField<u64> {
1527 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
1528 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_3().connection_handle().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
1529) as u64 )
1530 })();
1531 emboss_runtime::VirtualField::new(value)
1532 }
1533 pub fn pb_flag(&self) -> emboss_runtime::VirtualField<IsoDataPbFlag> {
1534 let value = (|| -> core::result::Result<IsoDataPbFlag, emboss_runtime::Error> {
1535 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_3().pb_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
1536) as IsoDataPbFlag )
1537 })();
1538 emboss_runtime::VirtualField::new(value)
1539 }
1540 pub fn ts_flag(&self) -> emboss_runtime::VirtualField<TsFlag> {
1541 let value = (|| -> core::result::Result<TsFlag, emboss_runtime::Error> {
1542 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_3().ts_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
1543) as TsFlag )
1544 })();
1545 emboss_runtime::VirtualField::new(value)
1546 }
1547 pub fn data_total_length(&self) -> emboss_runtime::VirtualField<u64> {
1548 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
1549 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_3().data_total_length().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
1550) as u64 )
1551 })();
1552 emboss_runtime::VirtualField::new(value)
1553 }
1554
1555}
1556
1557pub struct IsoDataFrameHeaderMut<S: emboss_runtime::MutStorage> {
1558 storage: S,
1559}
1560
1561impl<S: emboss_runtime::MutStorage> IsoDataFrameHeaderMut<S> {
1562 pub fn new(storage: S) -> Self {
1563 Self {
1564 storage,
1565 }
1566 }
1567 pub fn into_writer(self) -> IsoDataFrameHeaderWriter<S, emboss_runtime::UncheckedState> {
1568 IsoDataFrameHeaderWriter::new(self.storage)
1569 }
1570 pub fn as_view(&self) -> IsoDataFrameHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
1572 unsafe { IsoDataFrameHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
1573 }
1574 pub fn emboss_reserved_anonymous_field_3(&mut self) -> IsoDataFrameHeader_EmbossReservedAnonymousField3Mut<S::SlicedMut<'_>> {
1575 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
1576 let offset = (0) as usize;
1577 let len = (4) as usize;
1578 core::result::Result::Ok((offset, len))
1579 })().unwrap_or((usize::MAX, 0));
1580 let storage = self.storage.slice_mut(offset, len);
1581 IsoDataFrameHeader_EmbossReservedAnonymousField3Mut::<S::SlicedMut<'_>>::new(storage)
1582 }
1583 pub fn connection_handle(&mut self) -> emboss_runtime::VirtualField<u64> {
1584 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
1585 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_3().connection_handle().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
1586) as u64 )
1587 })();
1588 emboss_runtime::VirtualField::new(value)
1589 }
1590 pub fn pb_flag(&mut self) -> emboss_runtime::VirtualField<IsoDataPbFlag> {
1591 let value = (|| -> core::result::Result<IsoDataPbFlag, emboss_runtime::Error> {
1592 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_3().pb_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
1593) as IsoDataPbFlag )
1594 })();
1595 emboss_runtime::VirtualField::new(value)
1596 }
1597 pub fn ts_flag(&mut self) -> emboss_runtime::VirtualField<TsFlag> {
1598 let value = (|| -> core::result::Result<TsFlag, emboss_runtime::Error> {
1599 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_3().ts_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
1600) as TsFlag )
1601 })();
1602 emboss_runtime::VirtualField::new(value)
1603 }
1604 pub fn data_total_length(&mut self) -> emboss_runtime::VirtualField<u64> {
1605 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
1606 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_3().data_total_length().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
1607) as u64 )
1608 })();
1609 emboss_runtime::VirtualField::new(value)
1610 }
1611
1612}
1613
1614impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for IsoDataFrameHeaderMut<S> {
1615 type Writer = IsoDataFrameHeaderWriter<S, emboss_runtime::UncheckedState>;
1616 fn into_writer(self) -> Self::Writer {
1617 IsoDataFrameHeaderWriter::new(self.storage)
1618 }
1619}
1620
1621pub struct IsoDataFrameHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1622 storage: S,
1623 _marker: core::marker::PhantomData<ST>,
1624}
1625
1626impl<S: emboss_runtime::MutStorage> IsoDataFrameHeaderWriter<S, emboss_runtime::UncheckedState> {
1627 pub fn new(storage: S) -> Self {
1628 Self {
1629 storage,
1630 _marker: core::marker::PhantomData,
1631 }
1632 }
1633}
1634
1635impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> IsoDataFrameHeaderWriter<S, ST> {
1636 pub unsafe fn new_in_state(storage: S) -> Self {
1644 Self {
1645 storage,
1646 _marker: core::marker::PhantomData,
1647 }
1648 }
1649 pub fn into_storage(self) -> S {
1650 self.storage
1651 }
1652 pub fn into_view(self) -> IsoDataFrameHeader<S, ST> {
1654 unsafe { IsoDataFrameHeader::new_in_state(self.storage) }
1655 }
1656 pub fn as_view(&self) -> IsoDataFrameHeader<S::Sliced<'_>, ST> {
1658 unsafe { IsoDataFrameHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
1659 }
1660
1661}
1662
1663impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for IsoDataFrameHeader<S, ST> {
1664 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1665 let view = self;
1666 core::result::Result::Ok((4) as usize)
1667 }
1668}
1669
1670impl<S: emboss_runtime::MutStorage> emboss_runtime::View for IsoDataFrameHeaderMut<S> {
1671 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1672 let view = self.as_view();
1673 <IsoDataFrameHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
1674 }
1675}
1676
1677impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for IsoDataFrameHeaderWriter<S, ST> {
1678 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1679 let view = self.as_view();
1680 <IsoDataFrameHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
1681 }
1682}
1683
1684impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for IsoDataFrameHeader<S, emboss_runtime::UncheckedState> {
1685 type Completed = IsoDataFrameHeader<S, emboss_runtime::CompleteState>;
1686 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1687 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1688 if self.storage.len() < required_size {
1689 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1690 }
1691 core::result::Result::Ok(unsafe { IsoDataFrameHeader::new_in_state(self.storage) })
1692 }
1693}
1694
1695impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for IsoDataFrameHeaderWriter<S, emboss_runtime::UncheckedState> {
1696 type Completed = IsoDataFrameHeaderWriter<S, emboss_runtime::CompleteState>;
1697 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1698 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1699 if self.storage.len() < required_size {
1700 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1701 }
1702 core::result::Result::Ok(unsafe { IsoDataFrameHeaderWriter::new_in_state(self.storage) })
1703 }
1704}
1705
1706impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFrameHeader<S, emboss_runtime::UncheckedState> {
1707 type Ok = IsoDataFrameHeader<S, emboss_runtime::OkState>;
1708 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1709 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1710 core::result::Result::Ok(unsafe { IsoDataFrameHeader::new_in_state(completed.into_storage()) })
1711 }
1712}
1713
1714impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFrameHeader<S, emboss_runtime::CompleteState> {
1715 type Ok = IsoDataFrameHeader<S, emboss_runtime::OkState>;
1716 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1717 core::result::Result::Ok(unsafe { IsoDataFrameHeader::new_in_state(self.into_storage()) })
1718 }
1719}
1720
1721impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFrameHeader<S, emboss_runtime::OkState> {
1722 type Ok = IsoDataFrameHeader<S, emboss_runtime::OkState>;
1723 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1724 core::result::Result::Ok(self)
1725 }
1726}
1727
1728impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFrameHeaderWriter<S, emboss_runtime::UncheckedState> {
1729 type Ok = IsoDataFrameHeaderWriter<S, emboss_runtime::OkState>;
1730 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1731 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1732 core::result::Result::Ok(unsafe { IsoDataFrameHeaderWriter::new_in_state(completed.into_storage()) })
1733 }
1734}
1735
1736impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFrameHeaderWriter<S, emboss_runtime::CompleteState> {
1737 type Ok = IsoDataFrameHeaderWriter<S, emboss_runtime::OkState>;
1738 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1739 core::result::Result::Ok(unsafe { IsoDataFrameHeaderWriter::new_in_state(self.into_storage()) })
1740 }
1741}
1742
1743impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFrameHeaderWriter<S, emboss_runtime::OkState> {
1744 type Ok = IsoDataFrameHeaderWriter<S, emboss_runtime::OkState>;
1745 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1746 core::result::Result::Ok(self)
1747 }
1748}
1749
1750pub mod iso_data_frame_header {
1751 pub type View<S, ST = emboss_runtime::UncheckedState> = super::IsoDataFrameHeader<S, ST>;
1752 pub type ViewMut<S> = super::IsoDataFrameHeaderMut<S>;
1753 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::IsoDataFrameHeaderWriter<S, ST>;
1754
1755 pub const MIN_SIZE_IN_BYTES: usize = 4;
1756 pub const MAX_SIZE_IN_BYTES: usize = 4;
1757 pub const SIZE_IN_BYTES: usize = 4;
1758}pub struct IsoDataFramePacket_EmbossReservedAnonymousField2<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1759 storage: S,
1760 _marker: core::marker::PhantomData<ST>,
1761}
1762
1763impl<S: emboss_runtime::Storage> IsoDataFramePacket_EmbossReservedAnonymousField2<S, emboss_runtime::UncheckedState> {
1764 pub fn new(storage: S) -> Self {
1765 Self {
1766 storage,
1767 _marker: core::marker::PhantomData,
1768 }
1769 }
1770}
1771
1772impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for IsoDataFramePacket_EmbossReservedAnonymousField2<S, ST> {
1773 fn clone(&self) -> Self {
1774 Self {
1775 storage: self.storage.clone(),
1776 _marker: core::marker::PhantomData,
1777 }
1778 }
1779}
1780
1781impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> IsoDataFramePacket_EmbossReservedAnonymousField2<S, ST> {
1782 pub unsafe fn new_in_state(storage: S) -> Self {
1790 Self {
1791 storage,
1792 _marker: core::marker::PhantomData,
1793 }
1794 }
1795 pub fn into_storage(self) -> S {
1796 self.storage
1797 }
1798 pub fn packet_sequence_number(&self) -> emboss_runtime::BitUInt<16, 0, emboss_runtime::Null, S::Sliced<'_>, ST> {
1799 let len = (2) as usize; let storage = self.storage.slice(0, len);
1801 emboss_runtime::BitUInt::<16, 0, emboss_runtime::Null, S::Sliced<'_>, ST>::new(storage)
1802 }
1803 pub fn iso_sdu_length(&self) -> emboss_runtime::BitUInt<12, 16, emboss_runtime::Null, S::Sliced<'_>, ST> {
1804 let len = (4) as usize; let storage = self.storage.slice(0, len);
1806 emboss_runtime::BitUInt::<12, 16, emboss_runtime::Null, S::Sliced<'_>, ST>::new(storage)
1807 }
1808 pub fn packet_status_flag(&self) -> emboss_runtime::EnumView<IsoDataPacketStatus, emboss_runtime::BitUInt<2, 30, emboss_runtime::Null, S::Sliced<'_>, ST>> {
1809 let len = (4) as usize;
1810 let storage = self.storage.slice(0, len);
1811 emboss_runtime::EnumView::new(emboss_runtime::BitUInt::new(storage))
1812 }
1813
1814}
1815
1816pub struct IsoDataFramePacket_EmbossReservedAnonymousField2Mut<S: emboss_runtime::MutStorage> {
1817 storage: S,
1818}
1819
1820impl<S: emboss_runtime::MutStorage> IsoDataFramePacket_EmbossReservedAnonymousField2Mut<S> {
1821 pub fn new(storage: S) -> Self {
1822 Self {
1823 storage,
1824 }
1825 }
1826 pub fn into_writer(self) -> IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::UncheckedState> {
1827 IsoDataFramePacket_EmbossReservedAnonymousField2Writer::new(self.storage)
1828 }
1829 pub fn as_view(&self) -> IsoDataFramePacket_EmbossReservedAnonymousField2<S::Sliced<'_>, emboss_runtime::UncheckedState> {
1831 unsafe { IsoDataFramePacket_EmbossReservedAnonymousField2::new_in_state(self.storage.slice(0, self.storage.len())) }
1832 }
1833 pub fn packet_sequence_number(&mut self) -> emboss_runtime::BitUInt<16, 0, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
1834 let len = (2) as usize;
1835 let storage = self.storage.slice_mut(0, len);
1836 emboss_runtime::BitUInt::<16, 0, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
1837 }
1838 pub fn iso_sdu_length(&mut self) -> emboss_runtime::BitUInt<12, 16, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
1839 let len = (4) as usize;
1840 let storage = self.storage.slice_mut(0, len);
1841 emboss_runtime::BitUInt::<12, 16, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
1842 }
1843 pub fn packet_status_flag(&mut self) -> emboss_runtime::EnumViewMut<IsoDataPacketStatus, emboss_runtime::BitUInt<2, 30, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
1844 let len = (4) as usize;
1845 let storage = self.storage.slice_mut(0, len);
1846 emboss_runtime::EnumViewMut::new(emboss_runtime::BitUInt::new(storage))
1847 }
1848
1849}
1850
1851impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for IsoDataFramePacket_EmbossReservedAnonymousField2Mut<S> {
1852 type Writer = IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::UncheckedState>;
1853 fn into_writer(self) -> Self::Writer {
1854 IsoDataFramePacket_EmbossReservedAnonymousField2Writer::new(self.storage)
1855 }
1856}
1857
1858pub struct IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1859 storage: S,
1860 _marker: core::marker::PhantomData<ST>,
1861}
1862
1863impl<S: emboss_runtime::MutStorage> IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::UncheckedState> {
1864 pub fn new(storage: S) -> Self {
1865 Self {
1866 storage,
1867 _marker: core::marker::PhantomData,
1868 }
1869 }
1870}
1871
1872impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, ST> {
1873 pub unsafe fn new_in_state(storage: S) -> Self {
1881 Self {
1882 storage,
1883 _marker: core::marker::PhantomData,
1884 }
1885 }
1886 pub fn into_storage(self) -> S {
1887 self.storage
1888 }
1889 pub fn into_view(self) -> IsoDataFramePacket_EmbossReservedAnonymousField2<S, ST> {
1891 unsafe { IsoDataFramePacket_EmbossReservedAnonymousField2::new_in_state(self.storage) }
1892 }
1893 pub fn as_view(&self) -> IsoDataFramePacket_EmbossReservedAnonymousField2<S::Sliced<'_>, ST> {
1895 unsafe { IsoDataFramePacket_EmbossReservedAnonymousField2::new_in_state(self.storage.slice(0, self.storage.len())) }
1896 }
1897
1898}
1899
1900impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for IsoDataFramePacket_EmbossReservedAnonymousField2<S, ST> {
1901 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1902 let view = self;
1903 core::result::Result::Ok((((32) + 7) / 8) as usize)
1904 }
1905}
1906
1907impl<S: emboss_runtime::MutStorage> emboss_runtime::View for IsoDataFramePacket_EmbossReservedAnonymousField2Mut<S> {
1908 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1909 let view = self.as_view();
1910 <IsoDataFramePacket_EmbossReservedAnonymousField2<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
1911 }
1912}
1913
1914impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, ST> {
1915 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
1916 let view = self.as_view();
1917 <IsoDataFramePacket_EmbossReservedAnonymousField2<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
1918 }
1919}
1920
1921impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for IsoDataFramePacket_EmbossReservedAnonymousField2<S, emboss_runtime::UncheckedState> {
1922 type Completed = IsoDataFramePacket_EmbossReservedAnonymousField2<S, emboss_runtime::CompleteState>;
1923 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1924 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1925 if self.storage.len() < required_size {
1926 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1927 }
1928 core::result::Result::Ok(unsafe { IsoDataFramePacket_EmbossReservedAnonymousField2::new_in_state(self.storage) })
1929 }
1930}
1931
1932impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::UncheckedState> {
1933 type Completed = IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::CompleteState>;
1934 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
1935 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
1936 if self.storage.len() < required_size {
1937 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
1938 }
1939 core::result::Result::Ok(unsafe { IsoDataFramePacket_EmbossReservedAnonymousField2Writer::new_in_state(self.storage) })
1940 }
1941}
1942
1943impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFramePacket_EmbossReservedAnonymousField2<S, emboss_runtime::UncheckedState> {
1944 type Ok = IsoDataFramePacket_EmbossReservedAnonymousField2<S, emboss_runtime::OkState>;
1945 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1946 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1947 core::result::Result::Ok(unsafe { IsoDataFramePacket_EmbossReservedAnonymousField2::new_in_state(completed.into_storage()) })
1948 }
1949}
1950
1951impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFramePacket_EmbossReservedAnonymousField2<S, emboss_runtime::CompleteState> {
1952 type Ok = IsoDataFramePacket_EmbossReservedAnonymousField2<S, emboss_runtime::OkState>;
1953 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1954 core::result::Result::Ok(unsafe { IsoDataFramePacket_EmbossReservedAnonymousField2::new_in_state(self.into_storage()) })
1955 }
1956}
1957
1958impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFramePacket_EmbossReservedAnonymousField2<S, emboss_runtime::OkState> {
1959 type Ok = IsoDataFramePacket_EmbossReservedAnonymousField2<S, emboss_runtime::OkState>;
1960 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1961 core::result::Result::Ok(self)
1962 }
1963}
1964
1965impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::UncheckedState> {
1966 type Ok = IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::OkState>;
1967 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1968 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
1969 core::result::Result::Ok(unsafe { IsoDataFramePacket_EmbossReservedAnonymousField2Writer::new_in_state(completed.into_storage()) })
1970 }
1971}
1972
1973impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::CompleteState> {
1974 type Ok = IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::OkState>;
1975 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1976 core::result::Result::Ok(unsafe { IsoDataFramePacket_EmbossReservedAnonymousField2Writer::new_in_state(self.into_storage()) })
1977 }
1978}
1979
1980impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::OkState> {
1981 type Ok = IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, emboss_runtime::OkState>;
1982 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
1983 core::result::Result::Ok(self)
1984 }
1985}
1986
1987pub mod iso_data_frame_packet_emboss_reserved_anonymous_field2 {
1988 pub type View<S, ST = emboss_runtime::UncheckedState> = super::IsoDataFramePacket_EmbossReservedAnonymousField2<S, ST>;
1989 pub type ViewMut<S> = super::IsoDataFramePacket_EmbossReservedAnonymousField2Mut<S>;
1990 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::IsoDataFramePacket_EmbossReservedAnonymousField2Writer<S, ST>;
1991
1992 pub const MIN_SIZE_IN_BYTES: usize = 4;
1993 pub const MAX_SIZE_IN_BYTES: usize = 4;
1994 pub const SIZE_IN_BYTES: usize = 4;
1995}pub struct IsoDataFramePacket<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
1996 storage: S,
1997 _marker: core::marker::PhantomData<ST>,
1998}
1999
2000impl<S: emboss_runtime::Storage> IsoDataFramePacket<S, emboss_runtime::UncheckedState> {
2001 pub fn new(storage: S) -> Self {
2002 Self {
2003 storage,
2004 _marker: core::marker::PhantomData,
2005 }
2006 }
2007}
2008
2009impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for IsoDataFramePacket<S, ST> {
2010 fn clone(&self) -> Self {
2011 Self {
2012 storage: self.storage.clone(),
2013 _marker: core::marker::PhantomData,
2014 }
2015 }
2016}
2017
2018impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> IsoDataFramePacket<S, ST> {
2019 pub unsafe fn new_in_state(storage: S) -> Self {
2027 Self {
2028 storage,
2029 _marker: core::marker::PhantomData,
2030 }
2031 }
2032 pub fn into_storage(self) -> S {
2033 self.storage
2034 }
2035 pub fn hdr_size(&self) -> emboss_runtime::VirtualField<u64> {
2036 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
2037 core::result::Result::Ok( (4) as u64 )
2038 })();
2039 emboss_runtime::VirtualField::new(value)
2040 }
2041 pub fn header(&self) -> IsoDataFrameHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
2042 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2043 let offset = (0) as usize;
2044 let len = (({ let val = self.hdr_size().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2045) as usize;
2046 core::result::Result::Ok((offset, len))
2047 })().unwrap_or((usize::MAX, 0));
2048 let storage = self.storage.slice(offset, len);
2049 unsafe { IsoDataFrameHeader::<S::Sliced<'_>, emboss_runtime::UncheckedState>::new_in_state(storage) }
2050 }
2051 pub fn ts_size(&self) -> emboss_runtime::VirtualField<u64> {
2052 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
2053 core::result::Result::Ok( ((if emboss_runtime::SafeCmp::safe_eq(&(({ let val = self.header().ts_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2054), (1) as u64)
2055 { 4 } else { 0 })
2056
2057) as u64 )
2058 })();
2059 emboss_runtime::VirtualField::new(value)
2060 }
2061 pub fn sdu_hdr_offset(&self) -> emboss_runtime::VirtualField<u64> {
2062 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
2063 core::result::Result::Ok( (( (({ let val = self.hdr_size().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2064) as i64 + (({ let val = self.ts_size().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2065) as i64 )
2066) as u64 )
2067 })();
2068 emboss_runtime::VirtualField::new(value)
2069 }
2070
2071}
2072
2073pub struct IsoDataFramePacketMut<S: emboss_runtime::MutStorage> {
2074 storage: S,
2075}
2076
2077impl<S: emboss_runtime::MutStorage> IsoDataFramePacketMut<S> {
2078 pub fn new(storage: S) -> Self {
2079 Self {
2080 storage,
2081 }
2082 }
2083 pub fn into_writer(self) -> IsoDataFramePacketWriter<S, emboss_runtime::UncheckedState> {
2084 IsoDataFramePacketWriter::new(self.storage)
2085 }
2086 pub fn as_view(&self) -> IsoDataFramePacket<S::Sliced<'_>, emboss_runtime::UncheckedState> {
2088 unsafe { IsoDataFramePacket::new_in_state(self.storage.slice(0, self.storage.len())) }
2089 }
2090 pub fn hdr_size(&mut self) -> emboss_runtime::VirtualField<u64> {
2091 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
2092 core::result::Result::Ok( (4) as u64 )
2093 })();
2094 emboss_runtime::VirtualField::new(value)
2095 }
2096 pub fn header(&mut self) -> IsoDataFrameHeaderMut<S::SlicedMut<'_>> {
2097 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2098 let offset = (0) as usize;
2099 let len = (({ let val = self.hdr_size().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2100) as usize;
2101 core::result::Result::Ok((offset, len))
2102 })().unwrap_or((usize::MAX, 0));
2103 let storage = self.storage.slice_mut(offset, len);
2104 IsoDataFrameHeaderMut::<S::SlicedMut<'_>>::new(storage)
2105 }
2106 pub fn ts_size(&mut self) -> emboss_runtime::VirtualField<u64> {
2107 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
2108 core::result::Result::Ok( ((if emboss_runtime::SafeCmp::safe_eq(&(({ let val = self.header().ts_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2109), (1) as u64)
2110 { 4 } else { 0 })
2111
2112) as u64 )
2113 })();
2114 emboss_runtime::VirtualField::new(value)
2115 }
2116 pub fn sdu_hdr_offset(&mut self) -> emboss_runtime::VirtualField<u64> {
2117 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
2118 core::result::Result::Ok( (( (({ let val = self.hdr_size().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2119) as i64 + (({ let val = self.ts_size().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2120) as i64 )
2121) as u64 )
2122 })();
2123 emboss_runtime::VirtualField::new(value)
2124 }
2125
2126}
2127
2128impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for IsoDataFramePacketMut<S> {
2129 type Writer = IsoDataFramePacketWriter<S, emboss_runtime::UncheckedState>;
2130 fn into_writer(self) -> Self::Writer {
2131 IsoDataFramePacketWriter::new(self.storage)
2132 }
2133}
2134
2135pub struct IsoDataFramePacketWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2136 storage: S,
2137 _marker: core::marker::PhantomData<ST>,
2138}
2139
2140impl<S: emboss_runtime::MutStorage> IsoDataFramePacketWriter<S, emboss_runtime::UncheckedState> {
2141 pub fn new(storage: S) -> Self {
2142 Self {
2143 storage,
2144 _marker: core::marker::PhantomData,
2145 }
2146 }
2147}
2148
2149impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> IsoDataFramePacketWriter<S, ST> {
2150 pub unsafe fn new_in_state(storage: S) -> Self {
2158 Self {
2159 storage,
2160 _marker: core::marker::PhantomData,
2161 }
2162 }
2163 pub fn into_storage(self) -> S {
2164 self.storage
2165 }
2166 pub fn into_view(self) -> IsoDataFramePacket<S, ST> {
2168 unsafe { IsoDataFramePacket::new_in_state(self.storage) }
2169 }
2170 pub fn as_view(&self) -> IsoDataFramePacket<S::Sliced<'_>, ST> {
2172 unsafe { IsoDataFramePacket::new_in_state(self.storage.slice(0, self.storage.len())) }
2173 }
2174
2175}
2176
2177impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for IsoDataFramePacket<S, ST> {
2178 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2179 let view = self;
2180 core::result::Result::Ok((0) as usize)
2181 }
2182}
2183
2184impl<S: emboss_runtime::MutStorage> emboss_runtime::View for IsoDataFramePacketMut<S> {
2185 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2186 let view = self.as_view();
2187 <IsoDataFramePacket<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
2188 }
2189}
2190
2191impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for IsoDataFramePacketWriter<S, ST> {
2192 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2193 let view = self.as_view();
2194 <IsoDataFramePacket<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
2195 }
2196}
2197
2198impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for IsoDataFramePacket<S, emboss_runtime::UncheckedState> {
2199 type Completed = IsoDataFramePacket<S, emboss_runtime::CompleteState>;
2200 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2201 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2202 if self.storage.len() < required_size {
2203 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2204 }
2205 core::result::Result::Ok(unsafe { IsoDataFramePacket::new_in_state(self.storage) })
2206 }
2207}
2208
2209impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for IsoDataFramePacketWriter<S, emboss_runtime::UncheckedState> {
2210 type Completed = IsoDataFramePacketWriter<S, emboss_runtime::CompleteState>;
2211 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2212 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2213 if self.storage.len() < required_size {
2214 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2215 }
2216 core::result::Result::Ok(unsafe { IsoDataFramePacketWriter::new_in_state(self.storage) })
2217 }
2218}
2219
2220impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFramePacket<S, emboss_runtime::UncheckedState> {
2221 type Ok = IsoDataFramePacket<S, emboss_runtime::OkState>;
2222 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2223 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2224 core::result::Result::Ok(unsafe { IsoDataFramePacket::new_in_state(completed.into_storage()) })
2225 }
2226}
2227
2228impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFramePacket<S, emboss_runtime::CompleteState> {
2229 type Ok = IsoDataFramePacket<S, emboss_runtime::OkState>;
2230 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2231 core::result::Result::Ok(unsafe { IsoDataFramePacket::new_in_state(self.into_storage()) })
2232 }
2233}
2234
2235impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for IsoDataFramePacket<S, emboss_runtime::OkState> {
2236 type Ok = IsoDataFramePacket<S, emboss_runtime::OkState>;
2237 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2238 core::result::Result::Ok(self)
2239 }
2240}
2241
2242impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFramePacketWriter<S, emboss_runtime::UncheckedState> {
2243 type Ok = IsoDataFramePacketWriter<S, emboss_runtime::OkState>;
2244 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2245 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2246 core::result::Result::Ok(unsafe { IsoDataFramePacketWriter::new_in_state(completed.into_storage()) })
2247 }
2248}
2249
2250impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFramePacketWriter<S, emboss_runtime::CompleteState> {
2251 type Ok = IsoDataFramePacketWriter<S, emboss_runtime::OkState>;
2252 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2253 core::result::Result::Ok(unsafe { IsoDataFramePacketWriter::new_in_state(self.into_storage()) })
2254 }
2255}
2256
2257impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for IsoDataFramePacketWriter<S, emboss_runtime::OkState> {
2258 type Ok = IsoDataFramePacketWriter<S, emboss_runtime::OkState>;
2259 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2260 core::result::Result::Ok(self)
2261 }
2262}
2263
2264pub mod iso_data_frame_packet {
2265 pub type View<S, ST = emboss_runtime::UncheckedState> = super::IsoDataFramePacket<S, ST>;
2266 pub type ViewMut<S> = super::IsoDataFramePacketMut<S>;
2267 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::IsoDataFramePacketWriter<S, ST>;
2268
2269 pub const MIN_SIZE_IN_BYTES: usize = 4;
2270 pub const MAX_SIZE_IN_BYTES: usize = 16395;
2271}#[derive(Copy, Clone, Debug, Eq, PartialEq)]
2272#[repr(u64)]
2273pub enum ScoDataPacketStatus {
2274 CORRECTLY_RECEIVED_DATA = 0,
2275 POSSIBLY_INVALID_DATA = 1,
2276 NO_DATA_RECEIVE = 2,
2277 DATA_PARTIALLY_LOST = 3,
2278
2279}
2280
2281impl core::convert::From<ScoDataPacketStatus> for u8 { fn from(val: ScoDataPacketStatus) -> Self { val as u8 } }
2282impl core::convert::From<ScoDataPacketStatus> for u16 { fn from(val: ScoDataPacketStatus) -> Self { val as u16 } }
2283impl core::convert::From<ScoDataPacketStatus> for u32 { fn from(val: ScoDataPacketStatus) -> Self { val as u32 } }
2284impl core::convert::From<ScoDataPacketStatus> for u64 { fn from(val: ScoDataPacketStatus) -> Self { val as u64 } }
2285impl core::convert::From<ScoDataPacketStatus> for i8 { fn from(val: ScoDataPacketStatus) -> Self { val as i8 } }
2286impl core::convert::From<ScoDataPacketStatus> for i16 { fn from(val: ScoDataPacketStatus) -> Self { val as i16 } }
2287impl core::convert::From<ScoDataPacketStatus> for i32 { fn from(val: ScoDataPacketStatus) -> Self { val as i32 } }
2288impl core::convert::From<ScoDataPacketStatus> for i64 { fn from(val: ScoDataPacketStatus) -> Self { val as i64 } }
2289
2290impl emboss_runtime::SafeCmp<ScoDataPacketStatus> for ScoDataPacketStatus {
2291 fn safe_eq(&self, other: Self) -> bool { *self == other }
2292 fn safe_less(&self, other: Self) -> bool { (*self as u64) < (other as u64) }
2293}
2294
2295impl emboss_runtime::SafeCmp<u64> for ScoDataPacketStatus {
2296 fn safe_eq(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
2297 fn safe_less(&self, other: u64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
2298}
2299
2300impl emboss_runtime::SafeCmp<i64> for ScoDataPacketStatus {
2301 fn safe_eq(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other) }
2302 fn safe_less(&self, other: i64) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other) }
2303}
2304
2305impl emboss_runtime::SafeCmp<i32> for ScoDataPacketStatus {
2306 fn safe_eq(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as i64) }
2307 fn safe_less(&self, other: i32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as i64) }
2308}
2309
2310impl emboss_runtime::SafeCmp<u32> for ScoDataPacketStatus {
2311 fn safe_eq(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_eq(&(*self as u64), other as u64) }
2312 fn safe_less(&self, other: u32) -> bool { emboss_runtime::SafeCmp::safe_less(&(*self as u64), other as u64) }
2313}
2314
2315impl emboss_runtime::SafeCmp<ScoDataPacketStatus> for u64 {
2316 fn safe_eq(&self, other: ScoDataPacketStatus) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
2317 fn safe_less(&self, other: ScoDataPacketStatus) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
2318}
2319
2320impl emboss_runtime::SafeCmp<ScoDataPacketStatus> for i64 {
2321 fn safe_eq(&self, other: ScoDataPacketStatus) -> bool { emboss_runtime::SafeCmp::safe_eq(self, other as u64) }
2322 fn safe_less(&self, other: ScoDataPacketStatus) -> bool { emboss_runtime::SafeCmp::safe_less(self, other as u64) }
2323}
2324
2325impl<V: core::convert::Into<u64> + core::marker::Copy> emboss_runtime::TryFromRaw<V> for ScoDataPacketStatus {
2326 fn try_from_raw(val: V) -> core::result::Result<Self, emboss_runtime::Error<V>> {
2327 let v_raw: u64 = val.into();
2328 match v_raw {
2329 0 => Ok(ScoDataPacketStatus::CORRECTLY_RECEIVED_DATA),
2330 1 => Ok(ScoDataPacketStatus::POSSIBLY_INVALID_DATA),
2331 2 => Ok(ScoDataPacketStatus::NO_DATA_RECEIVE),
2332 3 => Ok(ScoDataPacketStatus::DATA_PARTIALLY_LOST),
2333
2334 _ => Err(emboss_runtime::Error::UnknownEnum(val)),
2335 }
2336 }
2337}
2338
2339impl ScoDataPacketStatus {
2340
2341}
2342pub struct ScoDataHeader_EmbossReservedAnonymousField1<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2343 storage: S,
2344 _marker: core::marker::PhantomData<ST>,
2345}
2346
2347impl<S: emboss_runtime::Storage> ScoDataHeader_EmbossReservedAnonymousField1<S, emboss_runtime::UncheckedState> {
2348 pub fn new(storage: S) -> Self {
2349 Self {
2350 storage,
2351 _marker: core::marker::PhantomData,
2352 }
2353 }
2354}
2355
2356impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for ScoDataHeader_EmbossReservedAnonymousField1<S, ST> {
2357 fn clone(&self) -> Self {
2358 Self {
2359 storage: self.storage.clone(),
2360 _marker: core::marker::PhantomData,
2361 }
2362 }
2363}
2364
2365impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> ScoDataHeader_EmbossReservedAnonymousField1<S, ST> {
2366 pub unsafe fn new_in_state(storage: S) -> Self {
2374 Self {
2375 storage,
2376 _marker: core::marker::PhantomData,
2377 }
2378 }
2379 pub fn into_storage(self) -> S {
2380 self.storage
2381 }
2382 pub fn connection_handle(&self) -> emboss_runtime::BitUInt<12, 0, emboss_runtime::Null, S::Sliced<'_>, ST> {
2383 let len = (2) as usize; let storage = self.storage.slice(0, len);
2385 emboss_runtime::BitUInt::<12, 0, emboss_runtime::Null, S::Sliced<'_>, ST>::new(storage)
2386 }
2387 pub fn packet_status_flag(&self) -> emboss_runtime::EnumView<ScoDataPacketStatus, emboss_runtime::BitUInt<2, 12, emboss_runtime::Null, S::Sliced<'_>, ST>> {
2388 let len = (2) as usize;
2389 let storage = self.storage.slice(0, len);
2390 emboss_runtime::EnumView::new(emboss_runtime::BitUInt::new(storage))
2391 }
2392 pub fn data_total_length(&self) -> emboss_runtime::BitUInt<8, 16, emboss_runtime::Null, S::Sliced<'_>, ST> {
2393 let len = (3) as usize; let storage = self.storage.slice(0, len);
2395 emboss_runtime::BitUInt::<8, 16, emboss_runtime::Null, S::Sliced<'_>, ST>::new(storage)
2396 }
2397
2398}
2399
2400pub struct ScoDataHeader_EmbossReservedAnonymousField1Mut<S: emboss_runtime::MutStorage> {
2401 storage: S,
2402}
2403
2404impl<S: emboss_runtime::MutStorage> ScoDataHeader_EmbossReservedAnonymousField1Mut<S> {
2405 pub fn new(storage: S) -> Self {
2406 Self {
2407 storage,
2408 }
2409 }
2410 pub fn into_writer(self) -> ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::UncheckedState> {
2411 ScoDataHeader_EmbossReservedAnonymousField1Writer::new(self.storage)
2412 }
2413 pub fn as_view(&self) -> ScoDataHeader_EmbossReservedAnonymousField1<S::Sliced<'_>, emboss_runtime::UncheckedState> {
2415 unsafe { ScoDataHeader_EmbossReservedAnonymousField1::new_in_state(self.storage.slice(0, self.storage.len())) }
2416 }
2417 pub fn connection_handle(&mut self) -> emboss_runtime::BitUInt<12, 0, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
2418 let len = (2) as usize;
2419 let storage = self.storage.slice_mut(0, len);
2420 emboss_runtime::BitUInt::<12, 0, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
2421 }
2422 pub fn packet_status_flag(&mut self) -> emboss_runtime::EnumViewMut<ScoDataPacketStatus, emboss_runtime::BitUInt<2, 12, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>> {
2423 let len = (2) as usize;
2424 let storage = self.storage.slice_mut(0, len);
2425 emboss_runtime::EnumViewMut::new(emboss_runtime::BitUInt::new(storage))
2426 }
2427 pub fn data_total_length(&mut self) -> emboss_runtime::BitUInt<8, 16, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState> {
2428 let len = (3) as usize;
2429 let storage = self.storage.slice_mut(0, len);
2430 emboss_runtime::BitUInt::<8, 16, emboss_runtime::Null, S::SlicedMut<'_>, emboss_runtime::UncheckedState>::new(storage)
2431 }
2432
2433}
2434
2435impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for ScoDataHeader_EmbossReservedAnonymousField1Mut<S> {
2436 type Writer = ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::UncheckedState>;
2437 fn into_writer(self) -> Self::Writer {
2438 ScoDataHeader_EmbossReservedAnonymousField1Writer::new(self.storage)
2439 }
2440}
2441
2442pub struct ScoDataHeader_EmbossReservedAnonymousField1Writer<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2443 storage: S,
2444 _marker: core::marker::PhantomData<ST>,
2445}
2446
2447impl<S: emboss_runtime::MutStorage> ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::UncheckedState> {
2448 pub fn new(storage: S) -> Self {
2449 Self {
2450 storage,
2451 _marker: core::marker::PhantomData,
2452 }
2453 }
2454}
2455
2456impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> ScoDataHeader_EmbossReservedAnonymousField1Writer<S, ST> {
2457 pub unsafe fn new_in_state(storage: S) -> Self {
2465 Self {
2466 storage,
2467 _marker: core::marker::PhantomData,
2468 }
2469 }
2470 pub fn into_storage(self) -> S {
2471 self.storage
2472 }
2473 pub fn into_view(self) -> ScoDataHeader_EmbossReservedAnonymousField1<S, ST> {
2475 unsafe { ScoDataHeader_EmbossReservedAnonymousField1::new_in_state(self.storage) }
2476 }
2477 pub fn as_view(&self) -> ScoDataHeader_EmbossReservedAnonymousField1<S::Sliced<'_>, ST> {
2479 unsafe { ScoDataHeader_EmbossReservedAnonymousField1::new_in_state(self.storage.slice(0, self.storage.len())) }
2480 }
2481
2482}
2483
2484impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for ScoDataHeader_EmbossReservedAnonymousField1<S, ST> {
2485 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2486 let view = self;
2487 core::result::Result::Ok((((24) + 7) / 8) as usize)
2488 }
2489}
2490
2491impl<S: emboss_runtime::MutStorage> emboss_runtime::View for ScoDataHeader_EmbossReservedAnonymousField1Mut<S> {
2492 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2493 let view = self.as_view();
2494 <ScoDataHeader_EmbossReservedAnonymousField1<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
2495 }
2496}
2497
2498impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for ScoDataHeader_EmbossReservedAnonymousField1Writer<S, ST> {
2499 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2500 let view = self.as_view();
2501 <ScoDataHeader_EmbossReservedAnonymousField1<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
2502 }
2503}
2504
2505impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for ScoDataHeader_EmbossReservedAnonymousField1<S, emboss_runtime::UncheckedState> {
2506 type Completed = ScoDataHeader_EmbossReservedAnonymousField1<S, emboss_runtime::CompleteState>;
2507 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2508 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2509 if self.storage.len() < required_size {
2510 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2511 }
2512 core::result::Result::Ok(unsafe { ScoDataHeader_EmbossReservedAnonymousField1::new_in_state(self.storage) })
2513 }
2514}
2515
2516impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::UncheckedState> {
2517 type Completed = ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::CompleteState>;
2518 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2519 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2520 if self.storage.len() < required_size {
2521 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2522 }
2523 core::result::Result::Ok(unsafe { ScoDataHeader_EmbossReservedAnonymousField1Writer::new_in_state(self.storage) })
2524 }
2525}
2526
2527impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for ScoDataHeader_EmbossReservedAnonymousField1<S, emboss_runtime::UncheckedState> {
2528 type Ok = ScoDataHeader_EmbossReservedAnonymousField1<S, emboss_runtime::OkState>;
2529 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2530 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2531 core::result::Result::Ok(unsafe { ScoDataHeader_EmbossReservedAnonymousField1::new_in_state(completed.into_storage()) })
2532 }
2533}
2534
2535impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for ScoDataHeader_EmbossReservedAnonymousField1<S, emboss_runtime::CompleteState> {
2536 type Ok = ScoDataHeader_EmbossReservedAnonymousField1<S, emboss_runtime::OkState>;
2537 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2538 core::result::Result::Ok(unsafe { ScoDataHeader_EmbossReservedAnonymousField1::new_in_state(self.into_storage()) })
2539 }
2540}
2541
2542impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for ScoDataHeader_EmbossReservedAnonymousField1<S, emboss_runtime::OkState> {
2543 type Ok = ScoDataHeader_EmbossReservedAnonymousField1<S, emboss_runtime::OkState>;
2544 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2545 core::result::Result::Ok(self)
2546 }
2547}
2548
2549impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::UncheckedState> {
2550 type Ok = ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::OkState>;
2551 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2552 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2553 core::result::Result::Ok(unsafe { ScoDataHeader_EmbossReservedAnonymousField1Writer::new_in_state(completed.into_storage()) })
2554 }
2555}
2556
2557impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::CompleteState> {
2558 type Ok = ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::OkState>;
2559 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2560 core::result::Result::Ok(unsafe { ScoDataHeader_EmbossReservedAnonymousField1Writer::new_in_state(self.into_storage()) })
2561 }
2562}
2563
2564impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::OkState> {
2565 type Ok = ScoDataHeader_EmbossReservedAnonymousField1Writer<S, emboss_runtime::OkState>;
2566 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2567 core::result::Result::Ok(self)
2568 }
2569}
2570
2571pub mod sco_data_header_emboss_reserved_anonymous_field1 {
2572 pub type View<S, ST = emboss_runtime::UncheckedState> = super::ScoDataHeader_EmbossReservedAnonymousField1<S, ST>;
2573 pub type ViewMut<S> = super::ScoDataHeader_EmbossReservedAnonymousField1Mut<S>;
2574 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::ScoDataHeader_EmbossReservedAnonymousField1Writer<S, ST>;
2575
2576 pub const MIN_SIZE_IN_BYTES: usize = 3;
2577 pub const MAX_SIZE_IN_BYTES: usize = 3;
2578 pub const SIZE_IN_BYTES: usize = 3;
2579}pub struct ScoDataHeader<S: emboss_runtime::Storage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2580 storage: S,
2581 _marker: core::marker::PhantomData<ST>,
2582}
2583
2584impl<S: emboss_runtime::Storage> ScoDataHeader<S, emboss_runtime::UncheckedState> {
2585 pub fn new(storage: S) -> Self {
2586 Self {
2587 storage,
2588 _marker: core::marker::PhantomData,
2589 }
2590 }
2591}
2592
2593impl<S: emboss_runtime::Storage + core::clone::Clone, ST: emboss_runtime::State> core::clone::Clone for ScoDataHeader<S, ST> {
2594 fn clone(&self) -> Self {
2595 Self {
2596 storage: self.storage.clone(),
2597 _marker: core::marker::PhantomData,
2598 }
2599 }
2600}
2601
2602impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> ScoDataHeader<S, ST> {
2603 pub unsafe fn new_in_state(storage: S) -> Self {
2611 Self {
2612 storage,
2613 _marker: core::marker::PhantomData,
2614 }
2615 }
2616 pub fn into_storage(self) -> S {
2617 self.storage
2618 }
2619 pub fn emboss_reserved_anonymous_field_1(&self) -> ScoDataHeader_EmbossReservedAnonymousField1<S::Sliced<'_>, emboss_runtime::UncheckedState> {
2620 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2621 let offset = (0) as usize;
2622 let len = (3) as usize;
2623 core::result::Result::Ok((offset, len))
2624 })().unwrap_or((usize::MAX, 0));
2625 let storage = self.storage.slice(offset, len);
2626 unsafe { ScoDataHeader_EmbossReservedAnonymousField1::<S::Sliced<'_>, emboss_runtime::UncheckedState>::new_in_state(storage) }
2627 }
2628 pub fn connection_handle(&self) -> emboss_runtime::VirtualField<u64> {
2629 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
2630 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_1().connection_handle().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2631) as u64 )
2632 })();
2633 emboss_runtime::VirtualField::new(value)
2634 }
2635 pub fn packet_status_flag(&self) -> emboss_runtime::VirtualField<ScoDataPacketStatus> {
2636 let value = (|| -> core::result::Result<ScoDataPacketStatus, emboss_runtime::Error> {
2637 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_1().packet_status_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2638) as ScoDataPacketStatus )
2639 })();
2640 emboss_runtime::VirtualField::new(value)
2641 }
2642 pub fn data_total_length(&self) -> emboss_runtime::VirtualField<u64> {
2643 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
2644 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_1().data_total_length().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2645) as u64 )
2646 })();
2647 emboss_runtime::VirtualField::new(value)
2648 }
2649
2650}
2651
2652pub struct ScoDataHeaderMut<S: emboss_runtime::MutStorage> {
2653 storage: S,
2654}
2655
2656impl<S: emboss_runtime::MutStorage> ScoDataHeaderMut<S> {
2657 pub fn new(storage: S) -> Self {
2658 Self {
2659 storage,
2660 }
2661 }
2662 pub fn into_writer(self) -> ScoDataHeaderWriter<S, emboss_runtime::UncheckedState> {
2663 ScoDataHeaderWriter::new(self.storage)
2664 }
2665 pub fn as_view(&self) -> ScoDataHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> {
2667 unsafe { ScoDataHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
2668 }
2669 pub fn emboss_reserved_anonymous_field_1(&mut self) -> ScoDataHeader_EmbossReservedAnonymousField1Mut<S::SlicedMut<'_>> {
2670 let (offset, len) = (|| -> core::result::Result<(usize, usize), emboss_runtime::Error> {
2671 let offset = (0) as usize;
2672 let len = (3) as usize;
2673 core::result::Result::Ok((offset, len))
2674 })().unwrap_or((usize::MAX, 0));
2675 let storage = self.storage.slice_mut(offset, len);
2676 ScoDataHeader_EmbossReservedAnonymousField1Mut::<S::SlicedMut<'_>>::new(storage)
2677 }
2678 pub fn connection_handle(&mut self) -> emboss_runtime::VirtualField<u64> {
2679 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
2680 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_1().connection_handle().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2681) as u64 )
2682 })();
2683 emboss_runtime::VirtualField::new(value)
2684 }
2685 pub fn packet_status_flag(&mut self) -> emboss_runtime::VirtualField<ScoDataPacketStatus> {
2686 let value = (|| -> core::result::Result<ScoDataPacketStatus, emboss_runtime::Error> {
2687 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_1().packet_status_flag().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2688) as ScoDataPacketStatus )
2689 })();
2690 emboss_runtime::VirtualField::new(value)
2691 }
2692 pub fn data_total_length(&mut self) -> emboss_runtime::VirtualField<u64> {
2693 let value = (|| -> core::result::Result<u64, emboss_runtime::Error> {
2694 core::result::Result::Ok( (({ let val = self.emboss_reserved_anonymous_field_1().data_total_length().try_read().map_err(|e| match e { emboss_runtime::Error::OutOfBounds => emboss_runtime::Error::OutOfBounds, emboss_runtime::Error::UnknownEnum(_) => emboss_runtime::Error::UnknownEnum(()) })?; val })
2695) as u64 )
2696 })();
2697 emboss_runtime::VirtualField::new(value)
2698 }
2699
2700}
2701
2702impl<S: emboss_runtime::MutStorage> emboss_runtime::IntoWriter for ScoDataHeaderMut<S> {
2703 type Writer = ScoDataHeaderWriter<S, emboss_runtime::UncheckedState>;
2704 fn into_writer(self) -> Self::Writer {
2705 ScoDataHeaderWriter::new(self.storage)
2706 }
2707}
2708
2709pub struct ScoDataHeaderWriter<S: emboss_runtime::MutStorage, ST: emboss_runtime::State = emboss_runtime::UncheckedState> {
2710 storage: S,
2711 _marker: core::marker::PhantomData<ST>,
2712}
2713
2714impl<S: emboss_runtime::MutStorage> ScoDataHeaderWriter<S, emboss_runtime::UncheckedState> {
2715 pub fn new(storage: S) -> Self {
2716 Self {
2717 storage,
2718 _marker: core::marker::PhantomData,
2719 }
2720 }
2721}
2722
2723impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> ScoDataHeaderWriter<S, ST> {
2724 pub unsafe fn new_in_state(storage: S) -> Self {
2732 Self {
2733 storage,
2734 _marker: core::marker::PhantomData,
2735 }
2736 }
2737 pub fn into_storage(self) -> S {
2738 self.storage
2739 }
2740 pub fn into_view(self) -> ScoDataHeader<S, ST> {
2742 unsafe { ScoDataHeader::new_in_state(self.storage) }
2743 }
2744 pub fn as_view(&self) -> ScoDataHeader<S::Sliced<'_>, ST> {
2746 unsafe { ScoDataHeader::new_in_state(self.storage.slice(0, self.storage.len())) }
2747 }
2748
2749}
2750
2751impl<S: emboss_runtime::Storage, ST: emboss_runtime::State> emboss_runtime::View for ScoDataHeader<S, ST> {
2752 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2753 let view = self;
2754 core::result::Result::Ok((3) as usize)
2755 }
2756}
2757
2758impl<S: emboss_runtime::MutStorage> emboss_runtime::View for ScoDataHeaderMut<S> {
2759 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2760 let view = self.as_view();
2761 <ScoDataHeader<S::Sliced<'_>, emboss_runtime::UncheckedState> as emboss_runtime::View>::size_in_bytes(&view)
2762 }
2763}
2764
2765impl<S: emboss_runtime::MutStorage, ST: emboss_runtime::State> emboss_runtime::View for ScoDataHeaderWriter<S, ST> {
2766 fn size_in_bytes(&self) -> core::result::Result<usize, emboss_runtime::Error> {
2767 let view = self.as_view();
2768 <ScoDataHeader<S::Sliced<'_>, ST> as emboss_runtime::View>::size_in_bytes(&view)
2769 }
2770}
2771
2772impl<S: emboss_runtime::Storage> emboss_runtime::CheckComplete for ScoDataHeader<S, emboss_runtime::UncheckedState> {
2773 type Completed = ScoDataHeader<S, emboss_runtime::CompleteState>;
2774 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2775 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2776 if self.storage.len() < required_size {
2777 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2778 }
2779 core::result::Result::Ok(unsafe { ScoDataHeader::new_in_state(self.storage) })
2780 }
2781}
2782
2783impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckComplete for ScoDataHeaderWriter<S, emboss_runtime::UncheckedState> {
2784 type Completed = ScoDataHeaderWriter<S, emboss_runtime::CompleteState>;
2785 fn check_complete(self) -> core::result::Result<Self::Completed, emboss_runtime::Error> {
2786 let required_size = <Self as emboss_runtime::View>::size_in_bytes(&self)?;
2787 if self.storage.len() < required_size {
2788 return core::result::Result::Err(emboss_runtime::Error::OutOfBounds);
2789 }
2790 core::result::Result::Ok(unsafe { ScoDataHeaderWriter::new_in_state(self.storage) })
2791 }
2792}
2793
2794impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for ScoDataHeader<S, emboss_runtime::UncheckedState> {
2795 type Ok = ScoDataHeader<S, emboss_runtime::OkState>;
2796 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2797 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2798 core::result::Result::Ok(unsafe { ScoDataHeader::new_in_state(completed.into_storage()) })
2799 }
2800}
2801
2802impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for ScoDataHeader<S, emboss_runtime::CompleteState> {
2803 type Ok = ScoDataHeader<S, emboss_runtime::OkState>;
2804 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2805 core::result::Result::Ok(unsafe { ScoDataHeader::new_in_state(self.into_storage()) })
2806 }
2807}
2808
2809impl<S: emboss_runtime::Storage> emboss_runtime::CheckOk for ScoDataHeader<S, emboss_runtime::OkState> {
2810 type Ok = ScoDataHeader<S, emboss_runtime::OkState>;
2811 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2812 core::result::Result::Ok(self)
2813 }
2814}
2815
2816impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for ScoDataHeaderWriter<S, emboss_runtime::UncheckedState> {
2817 type Ok = ScoDataHeaderWriter<S, emboss_runtime::OkState>;
2818 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2819 let completed = emboss_runtime::CheckComplete::check_complete(self)?;
2820 core::result::Result::Ok(unsafe { ScoDataHeaderWriter::new_in_state(completed.into_storage()) })
2821 }
2822}
2823
2824impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for ScoDataHeaderWriter<S, emboss_runtime::CompleteState> {
2825 type Ok = ScoDataHeaderWriter<S, emboss_runtime::OkState>;
2826 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2827 core::result::Result::Ok(unsafe { ScoDataHeaderWriter::new_in_state(self.into_storage()) })
2828 }
2829}
2830
2831impl<S: emboss_runtime::MutStorage> emboss_runtime::CheckOk for ScoDataHeaderWriter<S, emboss_runtime::OkState> {
2832 type Ok = ScoDataHeaderWriter<S, emboss_runtime::OkState>;
2833 fn check_ok(self) -> core::result::Result<Self::Ok, emboss_runtime::Error> {
2834 core::result::Result::Ok(self)
2835 }
2836}
2837
2838pub mod sco_data_header {
2839 pub type View<S, ST = emboss_runtime::UncheckedState> = super::ScoDataHeader<S, ST>;
2840 pub type ViewMut<S> = super::ScoDataHeaderMut<S>;
2841 pub type Writer<S, ST = emboss_runtime::UncheckedState> = super::ScoDataHeaderWriter<S, ST>;
2842
2843 pub const MIN_SIZE_IN_BYTES: usize = 3;
2844 pub const MAX_SIZE_IN_BYTES: usize = 3;
2845 pub const SIZE_IN_BYTES: usize = 3;
2846}