11use nom:: bytes:: streaming:: take;
22use nom:: combinator:: map;
3- use nom:: error:: * ;
43use nom:: number:: streaming:: { be_u32, le_u32} ;
4+ use nom:: { error:: * , Parser as _} ;
55use nom:: { Err , IResult } ;
66
77use crate :: endianness:: PcapEndianness ;
@@ -56,27 +56,30 @@ impl Block<'_> {
5656pub fn parse_block_le ( i : & [ u8 ] ) -> IResult < & [ u8 ] , Block < ' _ > , PcapError < & [ u8 ] > > {
5757 match le_u32 ( i) {
5858 Ok ( ( _, id) ) => match id {
59- SHB_MAGIC => map ( parse_sectionheaderblock, Block :: SectionHeader ) ( i) ,
59+ SHB_MAGIC => map ( parse_sectionheaderblock, Block :: SectionHeader ) . parse ( i) ,
6060 IDB_MAGIC => map (
6161 parse_interfacedescriptionblock_le,
6262 Block :: InterfaceDescription ,
63- ) ( i) ,
64- SPB_MAGIC => map ( parse_simplepacketblock_le, Block :: SimplePacket ) ( i) ,
65- EPB_MAGIC => map ( parse_enhancedpacketblock_le, Block :: EnhancedPacket ) ( i) ,
66- NRB_MAGIC => map ( parse_nameresolutionblock_le, Block :: NameResolution ) ( i) ,
63+ )
64+ . parse ( i) ,
65+ SPB_MAGIC => map ( parse_simplepacketblock_le, Block :: SimplePacket ) . parse ( i) ,
66+ EPB_MAGIC => map ( parse_enhancedpacketblock_le, Block :: EnhancedPacket ) . parse ( i) ,
67+ NRB_MAGIC => map ( parse_nameresolutionblock_le, Block :: NameResolution ) . parse ( i) ,
6768 ISB_MAGIC => map (
6869 parse_interfacestatisticsblock_le,
6970 Block :: InterfaceStatistics ,
70- ) ( i) ,
71+ )
72+ . parse ( i) ,
7173 SJE_MAGIC => map (
7274 parse_systemdjournalexportblock_le,
7375 Block :: SystemdJournalExport ,
74- ) ( i) ,
75- DSB_MAGIC => map ( parse_decryptionsecretsblock_le, Block :: DecryptionSecrets ) ( i) ,
76- CB_MAGIC => map ( parse_customblock_le, Block :: Custom ) ( i) ,
77- DCB_MAGIC => map ( parse_dcb_le, Block :: Custom ) ( i) ,
78- PIB_MAGIC => map ( parse_processinformationblock_le, Block :: ProcessInformation ) ( i) ,
79- _ => map ( parse_unknownblock_le, Block :: Unknown ) ( i) ,
76+ )
77+ . parse ( i) ,
78+ DSB_MAGIC => map ( parse_decryptionsecretsblock_le, Block :: DecryptionSecrets ) . parse ( i) ,
79+ CB_MAGIC => map ( parse_customblock_le, Block :: Custom ) . parse ( i) ,
80+ DCB_MAGIC => map ( parse_dcb_le, Block :: Custom ) . parse ( i) ,
81+ PIB_MAGIC => map ( parse_processinformationblock_le, Block :: ProcessInformation ) . parse ( i) ,
82+ _ => map ( parse_unknownblock_le, Block :: Unknown ) . parse ( i) ,
8083 } ,
8184 Err ( e) => Err ( e) ,
8285 }
@@ -89,27 +92,30 @@ pub fn parse_block_le(i: &[u8]) -> IResult<&[u8], Block<'_>, PcapError<&[u8]>> {
8992pub fn parse_block_be ( i : & [ u8 ] ) -> IResult < & [ u8 ] , Block < ' _ > , PcapError < & [ u8 ] > > {
9093 match be_u32 ( i) {
9194 Ok ( ( _, id) ) => match id {
92- SHB_MAGIC => map ( parse_sectionheaderblock, Block :: SectionHeader ) ( i) ,
95+ SHB_MAGIC => map ( parse_sectionheaderblock, Block :: SectionHeader ) . parse ( i) ,
9396 IDB_MAGIC => map (
9497 parse_interfacedescriptionblock_be,
9598 Block :: InterfaceDescription ,
96- ) ( i) ,
97- SPB_MAGIC => map ( parse_simplepacketblock_be, Block :: SimplePacket ) ( i) ,
98- EPB_MAGIC => map ( parse_enhancedpacketblock_be, Block :: EnhancedPacket ) ( i) ,
99- NRB_MAGIC => map ( parse_nameresolutionblock_be, Block :: NameResolution ) ( i) ,
99+ )
100+ . parse ( i) ,
101+ SPB_MAGIC => map ( parse_simplepacketblock_be, Block :: SimplePacket ) . parse ( i) ,
102+ EPB_MAGIC => map ( parse_enhancedpacketblock_be, Block :: EnhancedPacket ) . parse ( i) ,
103+ NRB_MAGIC => map ( parse_nameresolutionblock_be, Block :: NameResolution ) . parse ( i) ,
100104 ISB_MAGIC => map (
101105 parse_interfacestatisticsblock_be,
102106 Block :: InterfaceStatistics ,
103- ) ( i) ,
107+ )
108+ . parse ( i) ,
104109 SJE_MAGIC => map (
105110 parse_systemdjournalexportblock_be,
106111 Block :: SystemdJournalExport ,
107- ) ( i) ,
108- DSB_MAGIC => map ( parse_decryptionsecretsblock_be, Block :: DecryptionSecrets ) ( i) ,
109- CB_MAGIC => map ( parse_customblock_be, Block :: Custom ) ( i) ,
110- DCB_MAGIC => map ( parse_dcb_be, Block :: Custom ) ( i) ,
111- PIB_MAGIC => map ( parse_processinformationblock_be, Block :: ProcessInformation ) ( i) ,
112- _ => map ( parse_unknownblock_be, Block :: Unknown ) ( i) ,
112+ )
113+ . parse ( i) ,
114+ DSB_MAGIC => map ( parse_decryptionsecretsblock_be, Block :: DecryptionSecrets ) . parse ( i) ,
115+ CB_MAGIC => map ( parse_customblock_be, Block :: Custom ) . parse ( i) ,
116+ DCB_MAGIC => map ( parse_dcb_be, Block :: Custom ) . parse ( i) ,
117+ PIB_MAGIC => map ( parse_processinformationblock_be, Block :: ProcessInformation ) . parse ( i) ,
118+ _ => map ( parse_unknownblock_be, Block :: Unknown ) . parse ( i) ,
113119 } ,
114120 Err ( e) => Err ( e) ,
115121 }
0 commit comments