| 407 | |
| 408 | |
| 409 | class NRBFValueWithCode(Packet): |
| 410 | fields_desc = [ |
| 411 | ByteEnumField("PrimitiveType", 0, PrimitiveTypeEnum), |
| 412 | MultipleTypeField( |
| 413 | [ |
| 414 | (ByteField("Value", 0), lambda pkt: pkt.PrimitiveType in [1, 2, 3, 4]), |
| 415 | (LESignedShortField("Value", 0), lambda pkt: pkt.PrimitiveType == 7), |
| 416 | (LESignedIntField("Value", 0), lambda pkt: pkt.PrimitiveType == 8), |
| 417 | (LESignedLongField("Value", 0), lambda pkt: pkt.PrimitiveType == 9), |
| 418 | (SignedByteField("Value", 0), lambda pkt: pkt.PrimitiveType == 10), |
| 419 | (LEShortField("Value", 0), lambda pkt: pkt.PrimitiveType == 14), |
| 420 | (LEIntField("Value", 0), lambda pkt: pkt.PrimitiveType == 15), |
| 421 | (LELongField("Value", 0), lambda pkt: pkt.PrimitiveType == 16), |
| 422 | ( |
| 423 | PacketField( |
| 424 | "Value", NRBFLengthPrefixedString(), NRBFLengthPrefixedString |
| 425 | ), |
| 426 | lambda pkt: pkt.PrimitiveType == 18, |
| 427 | ), |
| 428 | ], |
| 429 | StrFixedLenField("Value", b"", length=0), |
| 430 | ), |
| 431 | ] |
| 432 | |
| 433 | def default_payload_class(self, payload): |
| 434 | return conf.padding_layer |
| 435 | |
| 436 | |
| 437 | # [MS-NRBF] sect 2.2.2.2 |
no test coverage detected