[v4,4/5] usb/gadget: fastboot: add sparse image definitions

Message ID 1407369313-13815-5-git-send-email-srae@broadcom.com
State New
Headers show

Commit Message

Steve Rae Aug. 6, 2014, 11:55 p.m.
- to prepare for the support of fastboot sparse images

Signed-off-by: Steve Rae <srae@broadcom.com>
---
This file is ASIS from:
  https://raw.githubusercontent.com/AOSB/android_system_core/master/libsparse/sparse_format.h
  (commit 28fa5bc347390480fe190294c6c385b6a9f0d68b)
except for the __UBOOT__ conditional include.

Changes in v4: None
Changes in v3: None
Changes in v2: None

 include/sparse_format.h | 58 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 include/sparse_format.h

Comments

Marek Vasut Aug. 7, 2014, 12:14 a.m. | #1
On Thursday, August 07, 2014 at 01:55:12 AM, Steve Rae wrote:
> - to prepare for the support of fastboot sparse images
> 
> Signed-off-by: Steve Rae <srae@broadcom.com>
> ---

Are we discussing the licensing issues here still ? Tom ?

Best regards,
Marek Vasut
Steve Rae Aug. 7, 2014, 12:31 a.m. | #2
On 14-08-06 05:14 PM, Marek Vasut wrote:
> On Thursday, August 07, 2014 at 01:55:12 AM, Steve Rae wrote:
>> - to prepare for the support of fastboot sparse images
>>
>> Signed-off-by: Steve Rae <srae@broadcom.com>
>> ---
>
> Are we discussing the licensing issues here still ? Tom ?
>
> Best regards,
> Marek Vasut
>
I hope so -- and I'm hoping that someone can help resolve this!!!!
Thanks in advance, Steve
Marek Vasut Aug. 7, 2014, 12:37 a.m. | #3
On Thursday, August 07, 2014 at 02:31:17 AM, Steve Rae wrote:
> On 14-08-06 05:14 PM, Marek Vasut wrote:
> > On Thursday, August 07, 2014 at 01:55:12 AM, Steve Rae wrote:
> >> - to prepare for the support of fastboot sparse images
> >> 
> >> Signed-off-by: Steve Rae <srae@broadcom.com>
> >> ---
> > 
> > Are we discussing the licensing issues here still ? Tom ?
> > 
> > Best regards,
> > Marek Vasut
> 
> I hope so -- and I'm hoping that someone can help resolve this!!!!
> Thanks in advance, Steve

Someone should ask the legal dept ...

Best regards,
Marek Vasut
Wolfgang Denk Aug. 7, 2014, 5:34 a.m. | #4
Dear Steve Rae,

In message <1407369313-13815-5-git-send-email-srae@broadcom.com> you wrote:
> - to prepare for the support of fastboot sparse images
> 
> Signed-off-by: Steve Rae <srae@broadcom.com>
> ---
> This file is ASIS from:
>   https://raw.githubusercontent.com/AOSB/android_system_core/master/libsparse/sparse_format.h
>   (commit 28fa5bc347390480fe190294c6c385b6a9f0d68b)
> except for the __UBOOT__ conditional include.

Please make sure this origin documentation becomes part of the commit
message - here in the comment section it gets lost.  Please fix for
all your patches.


> + * Copyright (C) 2010 The Android Open Source Project
> + *
> + * Licensed under the Apache License, Version 2.0 (the "License");
> + * you may not use this file except in compliance with the License.
> + * You may obtain a copy of the License at
> + *
> + *      http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing, software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> + * See the License for the specific language governing permissions and
> + * limitations under the License.
> + */

Please always use SPDX license tags only.

Please note that this license is not compatible with GPL version 2,
because it has some requirements that are not in that GPL version.  An
U-Boot is covered by GPLv2 ...


Best regards,

Wolfgang Denk
Wolfgang Denk Aug. 7, 2014, 5:36 a.m. | #5
Dear Marek,

In message <201408070214.35862.marex@denx.de> you wrote:
>
> Are we discussing the licensing issues here still ? Tom ?

Well, of course?  We cannot add code that comes under an incompatible
license.  And we use SPDX ids.

Best regards,

Wolfgang Denk
Marek Vasut Aug. 7, 2014, 1:09 p.m. | #6
On Thursday, August 07, 2014 at 07:34:46 AM, Wolfgang Denk wrote:
> Dear Steve Rae,
> 
> In message <1407369313-13815-5-git-send-email-srae@broadcom.com> you wrote:
> > - to prepare for the support of fastboot sparse images
> > 
> > Signed-off-by: Steve Rae <srae@broadcom.com>
> > ---
> > 
> > This file is ASIS from:
> >   https://raw.githubusercontent.com/AOSB/android_system_core/master/libsp
> >   arse/sparse_format.h (commit 28fa5bc347390480fe190294c6c385b6a9f0d68b)
> > 
> > except for the __UBOOT__ conditional include.
> 
> Please make sure this origin documentation becomes part of the commit
> message - here in the comment section it gets lost.  Please fix for
> all your patches.
> 
> > + * Copyright (C) 2010 The Android Open Source Project
> > + *
> > + * Licensed under the Apache License, Version 2.0 (the "License");
> > + * you may not use this file except in compliance with the License.
> > + * You may obtain a copy of the License at
> > + *
> > + *      http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing, software
> > + * distributed under the License is distributed on an "AS IS" BASIS,
> > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > implied. + * See the License for the specific language governing
> > permissions and + * limitations under the License.
> > + */
> 
> Please always use SPDX license tags only.
> 
> Please note that this license is not compatible with GPL version 2,
> because it has some requirements that are not in that GPL version.  An
> U-Boot is covered by GPLv2 ...

I think we should start considering getting some kind of a legal conseling here, 
or do we actually have one already ?

Best regards,
Marek Vasut
Marek Vasut Aug. 7, 2014, 1:11 p.m. | #7
On Thursday, August 07, 2014 at 07:36:49 AM, Wolfgang Denk wrote:
> Dear Marek,
> 
> In message <201408070214.35862.marex@denx.de> you wrote:
> > Are we discussing the licensing issues here still ? Tom ?
> 
> Well, of course?  We cannot add code that comes under an incompatible
> license.  And we use SPDX ids.

Well I agree Apache license is not compatible, but how can we proceed here for 
the good for U-Boot project and happiness of all involved parties here ? Aka. 
what do we do now to make the best of the contribution ?

Best regards,
Marek Vasut
Sebastian Andrzej Siewior Aug. 7, 2014, 1:29 p.m. | #8
On 08/07/2014 03:09 PM, Marek Vasut wrote:
>>> + * Copyright (C) 2010 The Android Open Source Project
>>> + *
>>> + * Licensed under the Apache License, Version 2.0 (the "License");
>> Please note that this license is not compatible with GPL version 2,
>> because it has some requirements that are not in that GPL version.  An
>> U-Boot is covered by GPLv2 ...
> 
> I think we should start considering getting some kind of a legal conseling here, 
> or do we actually have one already ?

I used the gnu page back then. Apache2 is compatible with GPLv3 but not
with GPLv2 [0]. Some parts of the code I played around (the android
image header file for instance) was under the Apache2 license and in
another git tree under the two-clause BSD license which was compatible
with GPLv2 [1].
So the argument about incompatible licenses is valid here. Should
u-boot switch to GPLv3 you need to hunt down that file again and this
time with the apache2 license :)

[0] https://www.gnu.org/licenses/license-list.html#apache2
[1] https://www.gnu.org/licenses/license-list.html#FreeBSD

> 
> Best regards,
> Marek Vasut
> 

Sebastian
Marek Vasut Aug. 7, 2014, 1:45 p.m. | #9
On Thursday, August 07, 2014 at 03:29:17 PM, Sebastian Andrzej Siewior wrote:
> On 08/07/2014 03:09 PM, Marek Vasut wrote:
> >>> + * Copyright (C) 2010 The Android Open Source Project
> >>> + *
> >>> + * Licensed under the Apache License, Version 2.0 (the "License");
> >> 
> >> Please note that this license is not compatible with GPL version 2,
> >> because it has some requirements that are not in that GPL version.  An
> >> U-Boot is covered by GPLv2 ...
> > 
> > I think we should start considering getting some kind of a legal
> > conseling here, or do we actually have one already ?
> 
> I used the gnu page back then. Apache2 is compatible with GPLv3 but not
> with GPLv2 [0]. Some parts of the code I played around (the android
> image header file for instance) was under the Apache2 license and in
> another git tree under the two-clause BSD license which was compatible
> with GPLv2 [1].
> So the argument about incompatible licenses is valid here. Should
> u-boot switch to GPLv3 you need to hunt down that file again and this
> time with the apache2 license :)

I agree. Is there a version of this file with BSD license on it ? Then that'd be 
a problem solved, right ? The other option would be to ask Google to release it 
under BSD license, but I don't know how easy that would be.

Best regards,
Marek Vasut
Sebastian Andrzej Siewior Aug. 7, 2014, 1:51 p.m. | #10
On 08/07/2014 03:45 PM, Marek Vasut wrote:
> I agree. Is there a version of this file with BSD license on it ? Then that'd be 
> a problem solved, right ?

Right. I don't recall the locations of the second tree but if Steve is
going to search it, he should find it.

> 
> Best regards,
> Marek Vasut
> 

Sebastian
Marek Vasut Aug. 7, 2014, 2:12 p.m. | #11
On Thursday, August 07, 2014 at 03:51:54 PM, Sebastian Andrzej Siewior wrote:
> On 08/07/2014 03:45 PM, Marek Vasut wrote:
> > I agree. Is there a version of this file with BSD license on it ? Then
> > that'd be a problem solved, right ?
> 
> Right. I don't recall the locations of the second tree but if Steve is
> going to search it, he should find it.

Then we're good here, thanks for pointing this out !

Best regards,
Marek Vasut
Steve Rae Aug. 7, 2014, 4:40 p.m. | #12
On 14-08-07 06:51 AM, Sebastian Andrzej Siewior wrote:
> On 08/07/2014 03:45 PM, Marek Vasut wrote:
>> I agree. Is there a version of this file with BSD license on it ? Then that'd be
>> a problem solved, right ?
>
> Right. I don't recall the locations of the second tree but if Steve is
> going to search it, he should find it.

I have not found anything other than the Apache 2 license (yet).
If anyone can find anything, please let me know!
Thanks in advance, Steve

>
>>
>> Best regards,
>> Marek Vasut
>>
>
> Sebastian
>
Wolfgang Denk Aug. 7, 2014, 8:59 p.m. | #13
Dear Sebastian,

In message <53E37F2D.5090700@linutronix.de> you wrote:
>
> > I think we should start considering getting some kind of a legal conseling here, 
> > or do we actually have one already ?
> 
> I used the gnu page back then. Apache2 is compatible with GPLv3 but not
> with GPLv2 [0]. Some parts of the code I played around (the android
> image header file for instance) was under the Apache2 license and in
> another git tree under the two-clause BSD license which was compatible
> with GPLv2 [1].

We definitely need GPLv2 compatibility.

> So the argument about incompatible licenses is valid here. Should
> u-boot switch to GPLv3 you need to hunt down that file again and this

You would have to rewrite the major part of U-Boot or to cripple it
to uselessness if you try to release it under GPLv3. I cannot see
anybody investing any efforts in that direction; all these threads
about a potential GPLv3 switch are just a hollow scarecrow.

It seems clear to me that GPLv3 is not an acceptable solution for
developers, vendors, and end users simultanously.  When I ask for
GPLv2+ I hope that some later version of GPL may find better general
support.

Best regards,

Wolfgang Denk
Jeroen Hofstee Aug. 7, 2014, 9:02 p.m. | #14
On 07-08-14 22:59, Wolfgang Denk wrote:
> <snip>
>> So the argument about incompatible licenses is valid here. Should
>> u-boot switch to GPLv3 you need to hunt down that file again and this
> You would have to rewrite the major part of U-Boot or to cripple it
noise ^ not
> to uselessness if you try to release it under GPLv3. I cannot see
> anybody investing any efforts in that direction; all these threads
> about a potential GPLv3 switch are just a hollow scarecrow.
>
> It seems clear to me that GPLv3 is not an acceptable solution for
> developers, vendors, and end users simultanously.  When I ask for
> GPLv2+ I hope that some later version of GPL may find better general
> support.

Regards,
Jeroen
Wolfgang Denk Aug. 7, 2014, 9:10 p.m. | #15
Dear Jeroen,

In message <53E3E974.1020504@myspectrum.nl> you wrote:
> 
> On 07-08-14 22:59, Wolfgang Denk wrote:
> > <snip>
> >> So the argument about incompatible licenses is valid here. Should
> >> u-boot switch to GPLv3 you need to hunt down that file again and this
> > You would have to rewrite the major part of U-Boot or to cripple it
> noise ^ not
> > to uselessness if you try to release it under GPLv3. I cannot see
> > anybody investing any efforts in that direction; all these threads
> > about a potential GPLv3 switch are just a hollow scarecrow.

sorry, can't parse that.

Best regards,

Wolfgang Denk
Jeroen Hofstee Aug. 7, 2014, 9:15 p.m. | #16
On 07-08-14 23:10, Wolfgang Denk wrote:
> Dear Jeroen,
>
> In message <53E3E974.1020504@myspectrum.nl> you wrote:
>> On 07-08-14 22:59, Wolfgang Denk wrote:
>>> <snip>
>>>> So the argument about incompatible licenses is valid here. Should
>>>> u-boot switch to GPLv3 you need to hunt down that file again and this
>>> You would have to rewrite the major part of U-Boot or to cripple it
>> noise ^ not
>>> to uselessness if you try to release it under GPLv3. I cannot see
>>> anybody investing any efforts in that direction; all these threads
>>> about a potential GPLv3 switch are just a hollow scarecrow.
> sorry, can't parse that.

no, this was nicely formatted in my mail editor. Just wanted to point out
you forgot a "not". You mentioned "to cripple it" you more then like ment
"to _not_ cripple it". But the whitespace got lost along the way.

Regards,
Jeroen
Jeroen Hofstee Aug. 7, 2014, 9:19 p.m. | #17
On 07-08-14 23:15, Jeroen Hofstee wrote:
>
> On 07-08-14 23:10, Wolfgang Denk wrote:
>> Dear Jeroen,
>>
>> In message <53E3E974.1020504@myspectrum.nl> you wrote:
>>> On 07-08-14 22:59, Wolfgang Denk wrote:
>>>> <snip>
>>>>> So the argument about incompatible licenses is valid here. Should
>>>>> u-boot switch to GPLv3 you need to hunt down that file again and this
>>>> You would have to rewrite the major part of U-Boot or to cripple it
>>> noise ^ not
>>>> to uselessness if you try to release it under GPLv3. I cannot see
>>>> anybody investing any efforts in that direction; all these threads
>>>> about a potential GPLv3 switch are just a hollow scarecrow.
>> sorry, can't parse that.
>
> no, this was nicely formatted in my mail editor. Just wanted to point out
> you forgot a "not". You mentioned "to cripple it" you more then like ment
> "to _not_ cripple it". But the whitespace got lost along the way.

ah, and the noise: part is that most readers would have figured
that out without me mentioning it.

Regards,
Jeroen
Wolfgang Denk Aug. 7, 2014, 9:36 p.m. | #18
Dear Jeroen,

In message <53E3EC54.4090002@myspectrum.nl> you wrote:
> 
> >>>> So the argument about incompatible licenses is valid here. Should
> >>>> u-boot switch to GPLv3 you need to hunt down that file again and this
> >>> You would have to rewrite the major part of U-Boot or to cripple it
> >> noise ^ not
> >>> to uselessness if you try to release it under GPLv3. I cannot see
> >>> anybody investing any efforts in that direction; all these threads
> >>> about a potential GPLv3 switch are just a hollow scarecrow.
> > sorry, can't parse that.
> 
> no, this was nicely formatted in my mail editor. Just wanted to point out
> you forgot a "not". You mentioned "to cripple it" you more then like ment
> "to _not_ cripple it". But the whitespace got lost along the way.

No, I did NOT forget a "not".

There is an awful lot of GPLv2 (V2 only) code in U-Boot.  Many of the
most interesting features thaty have been imported from the Linux
kernel are GPLv2 only. Either you have to rewrite all this code.  I
don't see any volunteers for that in the community, and neither I see
any commercial interest for that.  So alternatively you would have to
remove resp. disable in the configuration all such code - which would
cripple U-Boot, as it would remove a lot of really useful functionali-
ty, rendering it more or less useless for many practical use cases.

All people claiming "U-Boot will go GPLv3 tomorrow" are just
spreading FUD.

Best regards,

Wolfgang Denk
Marek Vasut Aug. 7, 2014, 9:43 p.m. | #19
On Thursday, August 07, 2014 at 11:36:50 PM, Wolfgang Denk wrote:
> Dear Jeroen,
> 
> In message <53E3EC54.4090002@myspectrum.nl> you wrote:
> > >>>> So the argument about incompatible licenses is valid here. Should
> > >>>> u-boot switch to GPLv3 you need to hunt down that file again and
> > >>>> this
> > >>> 
> > >>> You would have to rewrite the major part of U-Boot or to cripple it
> > >> 
> > >> noise ^ not
> > >> 
> > >>> to uselessness if you try to release it under GPLv3. I cannot see
> > >>> anybody investing any efforts in that direction; all these threads
> > >>> about a potential GPLv3 switch are just a hollow scarecrow.
> > > 
> > > sorry, can't parse that.
> > 
> > no, this was nicely formatted in my mail editor. Just wanted to point out
> > you forgot a "not". You mentioned "to cripple it" you more then like ment
> > "to _not_ cripple it". But the whitespace got lost along the way.
> 
> No, I did NOT forget a "not".
> 
> There is an awful lot of GPLv2 (V2 only) code in U-Boot.

OK, so we need a GPLv2-compatible header file. That's the conclusion.

Can we get one or how shall we proceed in the opposite case please?

Best regards,
Marek Vasut
Marek Vasut Aug. 7, 2014, 9:49 p.m. | #20
On Thursday, August 07, 2014 at 11:15:00 PM, Jeroen Hofstee wrote:
> On 07-08-14 23:10, Wolfgang Denk wrote:
> > Dear Jeroen,
> > 
> > In message <53E3E974.1020504@myspectrum.nl> you wrote:
> >> On 07-08-14 22:59, Wolfgang Denk wrote:
> >>> <snip>
> >>> 
> >>>> So the argument about incompatible licenses is valid here. Should
> >>>> u-boot switch to GPLv3 you need to hunt down that file again and this
> >>> 
> >>> You would have to rewrite the major part of U-Boot or to cripple it
> >> 
> >> noise ^ not
> >> 
> >>> to uselessness if you try to release it under GPLv3. I cannot see
> >>> anybody investing any efforts in that direction; all these threads
> >>> about a potential GPLv3 switch are just a hollow scarecrow.
> > 
> > sorry, can't parse that.
> 
> no, this was nicely formatted in my mail editor. Just wanted to point out
> you forgot a "not". You mentioned "to cripple it" you more then like ment
> "to _not_ cripple it". But the whitespace got lost along the way.

Please be more explicit next time, really. It can be difficult to find the 
balance between keeping the mail short and being explicit, but usually it's 
sufficient to read the mail after a few minutes and see if you'd understand
the message yourself if you got one as such.

Thanks!

Best regards,
Marek Vasut
Wolfgang Denk Aug. 7, 2014, 10:17 p.m. | #21
Dear Marek,

In message <201408072343.58591.marex@denx.de> you wrote:
>
> OK, so we need a GPLv2-compatible header file. That's the conclusion.

Well, GPLv2 compatible might be acceptable, but GPLv2+ compatible
woould be best.

Best regards,

Wolfgang Denk
Marek Vasut Aug. 9, 2014, 12:48 p.m. | #22
On Friday, August 08, 2014 at 12:17:38 AM, Wolfgang Denk wrote:
> Dear Marek,
> 
> In message <201408072343.58591.marex@denx.de> you wrote:
> > OK, so we need a GPLv2-compatible header file. That's the conclusion.
> 
> Well, GPLv2 compatible might be acceptable, but GPLv2+ compatible
> woould be best.

I was talking to Hans about this yesterday (and who was dropped from the CC for 
some reason) and it turns out the easy way out here is to just reimplement the 
header. I would like him to take a look and express his opinion properly though.

Best regards,
Marek Vasut
Steve Rae Aug. 9, 2014, 4:53 p.m. | #23
( Google agreed to submit a patch with BSD3 license....  stay tuned!!! )


On 14-08-09 05:48 AM, Marek Vasut wrote:
> On Friday, August 08, 2014 at 12:17:38 AM, Wolfgang Denk wrote:
>> Dear Marek,
>>
>> In message <201408072343.58591.marex@denx.de> you wrote:
>>> OK, so we need a GPLv2-compatible header file. That's the conclusion.
>>
>> Well, GPLv2 compatible might be acceptable, but GPLv2+ compatible
>> woould be best.
>
> I was talking to Hans about this yesterday (and who was dropped from the CC for
> some reason) and it turns out the easy way out here is to just reimplement the
> header. I would like him to take a look and express his opinion properly though.
>
> Best regards,
> Marek Vasut
>
Marek Vasut Aug. 10, 2014, 8:42 p.m. | #24
On Saturday, August 09, 2014 at 06:53:24 PM, Steve Rae wrote:
> ( Google agreed to submit a patch with BSD3 license....  stay tuned!!! )

Thank you for your work and perseverance, really !

Best regards,
Marek Vasut

Patch

diff --git a/include/sparse_format.h b/include/sparse_format.h
new file mode 100644
index 0000000..21fbd05
--- /dev/null
+++ b/include/sparse_format.h
@@ -0,0 +1,58 @@ 
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _LIBSPARSE_SPARSE_FORMAT_H_
+#define _LIBSPARSE_SPARSE_FORMAT_H_
+#define __UBOOT__
+#ifndef __UBOOT__
+#include "sparse_defs.h"
+#endif
+
+typedef struct sparse_header {
+  __le32	magic;		/* 0xed26ff3a */
+  __le16	major_version;	/* (0x1) - reject images with higher major versions */
+  __le16	minor_version;	/* (0x0) - allow images with higer minor versions */
+  __le16	file_hdr_sz;	/* 28 bytes for first revision of the file format */
+  __le16	chunk_hdr_sz;	/* 12 bytes for first revision of the file format */
+  __le32	blk_sz;		/* block size in bytes, must be a multiple of 4 (4096) */
+  __le32	total_blks;	/* total blocks in the non-sparse output image */
+  __le32	total_chunks;	/* total chunks in the sparse input image */
+  __le32	image_checksum; /* CRC32 checksum of the original data, counting "don't care" */
+				/* as 0. Standard 802.3 polynomial, use a Public Domain */
+				/* table implementation */
+} sparse_header_t;
+
+#define SPARSE_HEADER_MAGIC	0xed26ff3a
+
+#define CHUNK_TYPE_RAW		0xCAC1
+#define CHUNK_TYPE_FILL		0xCAC2
+#define CHUNK_TYPE_DONT_CARE	0xCAC3
+#define CHUNK_TYPE_CRC32    0xCAC4
+
+typedef struct chunk_header {
+  __le16	chunk_type;	/* 0xCAC1 -> raw; 0xCAC2 -> fill; 0xCAC3 -> don't care */
+  __le16	reserved1;
+  __le32	chunk_sz;	/* in blocks in output image */
+  __le32	total_sz;	/* in bytes of chunk input file including chunk header and data */
+} chunk_header_t;
+
+/* Following a Raw or Fill or CRC32 chunk is data.
+ *  For a Raw chunk, it's the data in chunk_sz * blk_sz.
+ *  For a Fill chunk, it's 4 bytes of the fill data.
+ *  For a CRC32 chunk, it's 4 bytes of CRC32
+ */
+
+#endif