source: trunk/src/3rdparty/libmng/libmng_chunks.h

Last change on this file was 2, checked in by dmik, 20 years ago

Imported xplatform parts of the official release 3.3.1 from Trolltech

  • Property svn:keywords set to Id
File size: 28.7 KB
Line 
1/* ************************************************************************** */
2/* * For conditions of distribution and use, * */
3/* * see copyright notice in libmng.h * */
4/* ************************************************************************** */
5/* * * */
6/* * project : libmng * */
7/* * file : libmng_chunks.h copyright (c) 2000 G.Juyn * */
8/* * version : 1.0.0 * */
9/* * * */
10/* * purpose : Chunk structures (definition) * */
11/* * * */
12/* * author : G.Juyn * */
13/* * web : http://www.3-t.com * */
14/* * email : mailto:info@3-t.com * */
15/* * * */
16/* * comment : Definition of known chunk structures * */
17/* * * */
18/* * changes : 0.5.1 - 05/04/2000 - G.Juyn * */
19/* * - put in some extra comments * */
20/* * 0.5.1 - 05/06/2000 - G.Juyn * */
21/* * - fixed layout for sBIT, PPLT * */
22/* * 0.5.1 - 05/08/2000 - G.Juyn * */
23/* * - changed write callback definition * */
24/* * - changed strict-ANSI stuff * */
25/* * 0.5.1 - 05/11/2000 - G.Juyn * */
26/* * - fixed layout for PPLT again (missed deltatype ?!?) * */
27/* * * */
28/* * 0.5.2 - 05/31/2000 - G.Juyn * */
29/* * - removed useless definition (contributed by Tim Rowley) * */
30/* * 0.5.2 - 06/03/2000 - G.Juyn * */
31/* * - fixed makeup for Linux gcc compile * */
32/* * * */
33/* * 0.9.2 - 08/05/2000 - G.Juyn * */
34/* * - changed file-prefixes * */
35/* * * */
36/* * 0.9.3 - 08/26/2000 - G.Juyn * */
37/* * - added MAGN chunk * */
38/* * 0.9.3 - 09/10/2000 - G.Juyn * */
39/* * - fixed DEFI behavior * */
40/* * 0.9.3 - 10/16/2000 - G.Juyn * */
41/* * - added JDAA chunk * */
42/* * * */
43/* ************************************************************************** */
44
45#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
46#pragma option -A /* force ANSI-C */
47#endif
48
49#ifndef _libmng_chunks_h_
50#define _libmng_chunks_h_
51
52/* ************************************************************************** */
53
54#ifdef MNG_SWAP_ENDIAN
55#define PNG_SIG 0x474e5089L
56#define JNG_SIG 0x474e4a8bL
57#define MNG_SIG 0x474e4d8aL
58#define POST_SIG 0x0a1a0a0dL
59#else
60#define PNG_SIG 0x89504e47L
61#define JNG_SIG 0x8b4a4e47L
62#define MNG_SIG 0x8a4d4e47L
63#define POST_SIG 0x0d0a1a0aL
64#endif
65
66/* ************************************************************************** */
67
68typedef mng_retcode (*mng_createchunk) (mng_datap pData,
69 mng_chunkp pHeader,
70 mng_chunkp* ppChunk);
71
72typedef mng_retcode (*mng_cleanupchunk) (mng_datap pData,
73 mng_chunkp pHeader);
74
75typedef mng_retcode (*mng_readchunk) (mng_datap pData,
76 mng_chunkp pHeader,
77 mng_uint32 iRawlen,
78 mng_uint8p pRawdata,
79 mng_chunkp* pChunk);
80
81typedef mng_retcode (*mng_writechunk) (mng_datap pData,
82 mng_chunkp pChunk);
83
84/* ************************************************************************** */
85
86typedef struct { /* generic header */
87 mng_chunkid iChunkname;
88 mng_createchunk fCreate;
89 mng_cleanupchunk fCleanup;
90 mng_readchunk fRead;
91 mng_writechunk fWrite;
92 mng_chunkp pNext; /* for double-linked list */
93 mng_chunkp pPrev;
94 } mng_chunk_header;
95typedef mng_chunk_header * mng_chunk_headerp;
96
97/* ************************************************************************** */
98
99typedef struct { /* IHDR */
100 mng_chunk_header sHeader;
101 mng_uint32 iWidth;
102 mng_uint32 iHeight;
103 mng_uint8 iBitdepth;
104 mng_uint8 iColortype;
105 mng_uint8 iCompression;
106 mng_uint8 iFilter;
107 mng_uint8 iInterlace;
108 } mng_ihdr;
109typedef mng_ihdr * mng_ihdrp;
110
111/* ************************************************************************** */
112
113typedef struct { /* PLTE */
114 mng_chunk_header sHeader;
115 mng_bool bEmpty;
116 mng_uint32 iEntrycount;
117 mng_rgbpaltab aEntries;
118 } mng_plte;
119typedef mng_plte * mng_pltep;
120
121/* ************************************************************************** */
122
123typedef struct { /* IDAT */
124 mng_chunk_header sHeader;
125 mng_bool bEmpty;
126 mng_uint32 iDatasize;
127 mng_ptr pData;
128 } mng_idat;
129typedef mng_idat * mng_idatp;
130
131/* ************************************************************************** */
132
133typedef struct { /* IEND */
134 mng_chunk_header sHeader;
135 } mng_iend;
136typedef mng_iend * mng_iendp;
137
138/* ************************************************************************** */
139
140typedef struct { /* tRNS */
141 mng_chunk_header sHeader;
142 mng_bool bEmpty;
143 mng_bool bGlobal;
144 mng_uint8 iType; /* colortype (0,2,3) */
145 mng_uint32 iCount;
146 mng_uint8arr aEntries;
147 mng_uint16 iGray;
148 mng_uint16 iRed;
149 mng_uint16 iGreen;
150 mng_uint16 iBlue;
151 mng_uint32 iRawlen;
152 mng_uint8arr aRawdata;
153 } mng_trns;
154typedef mng_trns * mng_trnsp;
155
156/* ************************************************************************** */
157
158typedef struct { /* gAMA */
159 mng_chunk_header sHeader;
160 mng_bool bEmpty;
161 mng_uint32 iGamma;
162 } mng_gama;
163typedef mng_gama * mng_gamap;
164
165/* ************************************************************************** */
166
167typedef struct { /* cHRM */
168 mng_chunk_header sHeader;
169 mng_bool bEmpty;
170 mng_uint32 iWhitepointx;
171 mng_uint32 iWhitepointy;
172 mng_uint32 iRedx;
173 mng_uint32 iRedy;
174 mng_uint32 iGreenx;
175 mng_uint32 iGreeny;
176 mng_uint32 iBluex;
177 mng_uint32 iBluey;
178 } mng_chrm;
179typedef mng_chrm * mng_chrmp;
180
181/* ************************************************************************** */
182
183typedef struct { /* sRGB */
184 mng_chunk_header sHeader;
185 mng_bool bEmpty;
186 mng_uint8 iRenderingintent;
187 } mng_srgb;
188typedef mng_srgb * mng_srgbp;
189
190/* ************************************************************************** */
191
192typedef struct { /* iCCP */
193 mng_chunk_header sHeader;
194 mng_bool bEmpty;
195 mng_uint32 iNamesize;
196 mng_pchar zName;
197 mng_uint8 iCompression;
198 mng_uint32 iProfilesize;
199 mng_ptr pProfile;
200 } mng_iccp;
201typedef mng_iccp * mng_iccpp;
202
203/* ************************************************************************** */
204
205typedef struct { /* tEXt */
206 mng_chunk_header sHeader;
207 mng_uint32 iKeywordsize;
208 mng_pchar zKeyword;
209 mng_uint32 iTextsize;
210 mng_pchar zText;
211 } mng_text;
212typedef mng_text * mng_textp;
213
214/* ************************************************************************** */
215
216typedef struct { /* zTXt */
217 mng_chunk_header sHeader;
218 mng_uint32 iKeywordsize;
219 mng_pchar zKeyword;
220 mng_uint8 iCompression;
221 mng_uint32 iTextsize;
222 mng_pchar zText;
223 } mng_ztxt;
224typedef mng_ztxt * mng_ztxtp;
225
226/* ************************************************************************** */
227
228typedef struct { /* iTXt */
229 mng_chunk_header sHeader;
230 mng_uint32 iKeywordsize;
231 mng_pchar zKeyword;
232 mng_uint8 iCompressionflag;
233 mng_uint8 iCompressionmethod;
234 mng_uint32 iLanguagesize;
235 mng_pchar zLanguage;
236 mng_uint32 iTranslationsize;
237 mng_pchar zTranslation;
238 mng_uint32 iTextsize;
239 mng_pchar zText;
240 } mng_itxt;
241typedef mng_itxt * mng_itxtp;
242
243/* ************************************************************************** */
244
245typedef struct { /* bKGD */
246 mng_chunk_header sHeader;
247 mng_bool bEmpty;
248 mng_uint8 iType; /* 3=indexed, 0=gray, 2=rgb */
249 mng_uint8 iIndex;
250 mng_uint16 iGray;
251 mng_uint16 iRed;
252 mng_uint16 iGreen;
253 mng_uint16 iBlue;
254 } mng_bkgd;
255typedef mng_bkgd * mng_bkgdp;
256
257/* ************************************************************************** */
258
259typedef struct { /* pHYs */
260 mng_chunk_header sHeader;
261 mng_bool bEmpty;
262 mng_uint32 iSizex;
263 mng_uint32 iSizey;
264 mng_uint8 iUnit;
265 } mng_phys;
266typedef mng_phys * mng_physp;
267
268/* ************************************************************************** */
269
270typedef struct { /* sBIT */
271 mng_chunk_header sHeader;
272 mng_bool bEmpty;
273 mng_uint8 iType; /* colortype (0,2,3,4,6,10,12,14,16) */
274 mng_uint8arr4 aBits;
275 } mng_sbit;
276typedef mng_sbit * mng_sbitp;
277
278/* ************************************************************************** */
279
280typedef struct { /* sPLT */
281 mng_chunk_header sHeader;
282 mng_bool bEmpty;
283 mng_uint32 iNamesize;
284 mng_pchar zName;
285 mng_uint8 iSampledepth;
286 mng_uint32 iEntrycount;
287 mng_ptr pEntries;
288 } mng_splt;
289typedef mng_splt * mng_spltp;
290
291/* ************************************************************************** */
292
293typedef struct { /* hIST */
294 mng_chunk_header sHeader;
295 mng_uint32 iEntrycount;
296 mng_uint16arr aEntries;
297 } mng_hist;
298typedef mng_hist * mng_histp;
299
300/* ************************************************************************** */
301
302typedef struct { /* tIME */
303 mng_chunk_header sHeader;
304 mng_uint16 iYear;
305 mng_uint8 iMonth;
306 mng_uint8 iDay;
307 mng_uint8 iHour;
308 mng_uint8 iMinute;
309 mng_uint8 iSecond;
310 } mng_time;
311typedef mng_time * mng_timep;
312
313/* ************************************************************************** */
314
315typedef struct { /* MHDR */
316 mng_chunk_header sHeader;
317 mng_uint32 iWidth;
318 mng_uint32 iHeight;
319 mng_uint32 iTicks;
320 mng_uint32 iLayercount;
321 mng_uint32 iFramecount;
322 mng_uint32 iPlaytime;
323 mng_uint32 iSimplicity;
324 } mng_mhdr;
325typedef mng_mhdr * mng_mhdrp;
326
327/* ************************************************************************** */
328
329typedef struct { /* MEND */
330 mng_chunk_header sHeader;
331 } mng_mend;
332typedef mng_mend * mng_mendp;
333
334/* ************************************************************************** */
335
336typedef struct { /* LOOP */
337 mng_chunk_header sHeader;
338 mng_uint8 iLevel;
339 mng_uint32 iRepeat;
340 mng_uint8 iTermination;
341 mng_uint32 iItermin;
342 mng_uint32 iItermax;
343 mng_uint32 iCount;
344 mng_uint32p pSignals;
345 } mng_loop;
346typedef mng_loop * mng_loopp;
347
348/* ************************************************************************** */
349
350typedef struct { /* ENDL */
351 mng_chunk_header sHeader;
352 mng_uint8 iLevel;
353 } mng_endl;
354typedef mng_endl * mng_endlp;
355
356/* ************************************************************************** */
357
358typedef struct { /* DEFI */
359 mng_chunk_header sHeader;
360 mng_uint16 iObjectid;
361 mng_bool bHasdonotshow;
362 mng_uint8 iDonotshow;
363 mng_bool bHasconcrete;
364 mng_uint8 iConcrete;
365 mng_bool bHasloca;
366 mng_int32 iXlocation;
367 mng_int32 iYlocation;
368 mng_bool bHasclip;
369 mng_int32 iLeftcb;
370 mng_int32 iRightcb;
371 mng_int32 iTopcb;
372 mng_int32 iBottomcb;
373 } mng_defi;
374typedef mng_defi * mng_defip;
375
376/* ************************************************************************** */
377
378typedef struct { /* BASI */
379 mng_chunk_header sHeader;
380 mng_uint32 iWidth;
381 mng_uint32 iHeight;
382 mng_uint8 iBitdepth;
383 mng_uint8 iColortype;
384 mng_uint8 iCompression;
385 mng_uint8 iFilter;
386 mng_uint8 iInterlace;
387 mng_uint16 iRed;
388 mng_uint16 iGreen;
389 mng_uint16 iBlue;
390 mng_uint16 iAlpha;
391 mng_uint8 iViewable;
392 } mng_basi;
393typedef mng_basi * mng_basip;
394
395/* ************************************************************************** */
396
397typedef struct { /* CLON */
398 mng_chunk_header sHeader;
399 mng_uint16 iSourceid;
400 mng_uint16 iCloneid;
401 mng_uint8 iClonetype;
402 mng_uint8 iDonotshow;
403 mng_uint8 iConcrete;
404 mng_bool bHasloca;
405 mng_uint8 iLocationtype;
406 mng_int32 iLocationx;
407 mng_int32 iLocationy;
408 } mng_clon;
409typedef mng_clon * mng_clonp;
410
411/* ************************************************************************** */
412
413typedef struct { /* PAST source */
414 mng_uint16 iSourceid;
415 mng_uint8 iComposition;
416 mng_uint8 iOrientation;
417 mng_uint8 iOffsettype;
418 mng_int32 iOffsetx;
419 mng_int32 iOffsety;
420 mng_uint8 iBoundarytype;
421 mng_int32 iBoundaryl;
422 mng_int32 iBoundaryr;
423 mng_int32 iBoundaryt;
424 mng_int32 iBoundaryb;
425 } mng_past_source;
426typedef mng_past_source * mng_past_sourcep;
427
428typedef struct { /* PAST */
429 mng_chunk_header sHeader;
430 mng_uint16 iDestid;
431 mng_uint8 iTargettype;
432 mng_int32 iTargetx;
433 mng_int32 iTargety;
434 mng_uint32 iCount;
435 mng_past_sourcep pSources;
436 } mng_past;
437typedef mng_past * mng_pastp;
438
439/* ************************************************************************** */
440
441typedef struct { /* DISC */
442 mng_chunk_header sHeader;
443 mng_uint32 iCount;
444 mng_uint16p pObjectids;
445 } mng_disc;
446typedef mng_disc * mng_discp;
447
448/* ************************************************************************** */
449
450typedef struct { /* BACK */
451 mng_chunk_header sHeader;
452 mng_uint16 iRed;
453 mng_uint16 iGreen;
454 mng_uint16 iBlue;
455 mng_uint8 iMandatory;
456 mng_uint16 iImageid;
457 mng_uint8 iTile;
458 } mng_back;
459typedef mng_back * mng_backp;
460
461/* ************************************************************************** */
462
463typedef struct { /* FRAM */
464 mng_chunk_header sHeader;
465 mng_bool bEmpty;
466 mng_uint8 iMode;
467 mng_uint32 iNamesize;
468 mng_pchar zName;
469 mng_uint8 iChangedelay;
470 mng_uint8 iChangetimeout;
471 mng_uint8 iChangeclipping;
472 mng_uint8 iChangesyncid;
473 mng_uint32 iDelay;
474 mng_uint32 iTimeout;
475 mng_uint8 iBoundarytype;
476 mng_int32 iBoundaryl;
477 mng_int32 iBoundaryr;
478 mng_int32 iBoundaryt;
479 mng_int32 iBoundaryb;
480 mng_uint32 iCount;
481 mng_uint32p pSyncids;
482 } mng_fram;
483typedef mng_fram * mng_framp;
484
485/* ************************************************************************** */
486
487typedef struct { /* MOVE */
488 mng_chunk_header sHeader;
489 mng_uint16 iFirstid;
490 mng_uint16 iLastid;
491 mng_uint8 iMovetype;
492 mng_int32 iMovex;
493 mng_int32 iMovey;
494 } mng_move;
495typedef mng_move * mng_movep;
496
497/* ************************************************************************** */
498
499typedef struct { /* CLIP */
500 mng_chunk_header sHeader;
501 mng_uint16 iFirstid;
502 mng_uint16 iLastid;
503 mng_uint8 iCliptype;
504 mng_int32 iClipl;
505 mng_int32 iClipr;
506 mng_int32 iClipt;
507 mng_int32 iClipb;
508 } mng_clip;
509typedef mng_clip * mng_clipp;
510
511/* ************************************************************************** */
512
513typedef struct { /* SHOW */
514 mng_chunk_header sHeader;
515 mng_bool bEmpty;
516 mng_uint16 iFirstid;
517 mng_uint16 iLastid;
518 mng_uint8 iMode;
519 } mng_show;
520typedef mng_show * mng_showp;
521
522/* ************************************************************************** */
523
524typedef struct { /* TERM */
525 mng_chunk_header sHeader;
526 mng_uint8 iTermaction;
527 mng_uint8 iIteraction;
528 mng_uint32 iDelay;
529 mng_uint32 iItermax;
530 } mng_term;
531typedef mng_term * mng_termp;
532
533/* ************************************************************************** */
534
535typedef struct { /* SAVE entry */
536 mng_uint8 iEntrytype;
537 mng_uint32arr2 iOffset; /* 0=MSI, 1=LSI */
538 mng_uint32arr2 iStarttime; /* 0=MSI, 1=LSI */
539 mng_uint32 iLayernr;
540 mng_uint32 iFramenr;
541 mng_uint32 iNamesize;
542 mng_pchar zName;
543 } mng_save_entry;
544typedef mng_save_entry * mng_save_entryp;
545
546typedef struct { /* SAVE */
547 mng_chunk_header sHeader;
548 mng_bool bEmpty;
549 mng_uint8 iOffsettype;
550 mng_uint32 iCount;
551 mng_save_entryp pEntries;
552 } mng_save;
553typedef mng_save * mng_savep;
554
555/* ************************************************************************** */
556
557typedef struct { /* SEEK */
558 mng_chunk_header sHeader;
559 mng_uint32 iNamesize;
560 mng_pchar zName;
561 } mng_seek;
562typedef mng_seek * mng_seekp;
563
564/* ************************************************************************** */
565
566typedef struct { /* eXPI */
567 mng_chunk_header sHeader;
568 mng_uint16 iSnapshotid;
569 mng_uint32 iNamesize;
570 mng_pchar zName;
571 } mng_expi;
572typedef mng_expi * mng_expip;
573
574/* ************************************************************************** */
575
576typedef struct { /* fPRI */
577 mng_chunk_header sHeader;
578 mng_uint8 iDeltatype;
579 mng_uint8 iPriority;
580 } mng_fpri;
581typedef mng_fpri * mng_fprip;
582
583/* ************************************************************************** */
584
585typedef struct { /* nEED */
586 mng_chunk_header sHeader;
587 mng_uint32 iKeywordssize;
588 mng_pchar zKeywords;
589 } mng_need;
590typedef mng_need * mng_needp;
591
592/* ************************************************************************** */
593
594typedef mng_phys mng_phyg; /* pHYg */
595typedef mng_phyg * mng_phygp;
596
597/* ************************************************************************** */
598
599#ifdef MNG_INCLUDE_JNG
600
601typedef struct { /* JHDR */
602 mng_chunk_header sHeader;
603 mng_uint32 iWidth;
604 mng_uint32 iHeight;
605 mng_uint8 iColortype;
606 mng_uint8 iImagesampledepth;
607 mng_uint8 iImagecompression;
608 mng_uint8 iImageinterlace;
609 mng_uint8 iAlphasampledepth;
610 mng_uint8 iAlphacompression;
611 mng_uint8 iAlphafilter;
612 mng_uint8 iAlphainterlace;
613 } mng_jhdr;
614typedef mng_jhdr * mng_jhdrp;
615
616/* ************************************************************************** */
617
618typedef mng_idat mng_jdaa; /* JDAA */
619typedef mng_jdaa * mng_jdaap;
620
621/* ************************************************************************** */
622
623typedef mng_idat mng_jdat; /* JDAT */
624typedef mng_jdat * mng_jdatp;
625
626/* ************************************************************************** */
627
628typedef struct { /* JSEP */
629 mng_chunk_header sHeader;
630 } mng_jsep;
631typedef mng_jsep * mng_jsepp;
632
633#endif /* MNG_INCLUDE_JNG */
634
635/* ************************************************************************** */
636
637typedef struct { /* DHDR */
638 mng_chunk_header sHeader;
639 mng_uint16 iObjectid;
640 mng_uint8 iImagetype;
641 mng_uint8 iDeltatype;
642 mng_uint32 iBlockwidth;
643 mng_uint32 iBlockheight;
644 mng_uint32 iBlockx;
645 mng_uint32 iBlocky;
646 } mng_dhdr;
647typedef mng_dhdr * mng_dhdrp;
648
649/* ************************************************************************** */
650
651typedef struct { /* PROM */
652 mng_chunk_header sHeader;
653 mng_uint8 iColortype;
654 mng_uint8 iSampledepth;
655 mng_uint8 iFilltype;
656 } mng_prom;
657typedef mng_prom * mng_promp;
658
659/* ************************************************************************** */
660
661typedef struct { /* IPNG */
662 mng_chunk_header sHeader;
663 } mng_ipng;
664typedef mng_ipng *mng_ipngp;
665
666/* ************************************************************************** */
667
668typedef struct { /* PPLT entry */
669 mng_uint8 iRed;
670 mng_uint8 iGreen;
671 mng_uint8 iBlue;
672 mng_uint8 iAlpha;
673 mng_bool bUsed;
674 } mng_pplt_entry;
675typedef mng_pplt_entry * mng_pplt_entryp;
676
677typedef struct { /* PPLT */
678 mng_chunk_header sHeader;
679 mng_uint8 iDeltatype;
680 mng_uint32 iCount;
681 mng_pplt_entry aEntries [256];
682 } mng_pplt;
683typedef mng_pplt * mng_ppltp;
684
685/* ************************************************************************** */
686
687typedef struct { /* IJNG */
688 mng_chunk_header sHeader;
689 } mng_ijng;
690typedef mng_ijng *mng_ijngp;
691
692/* ************************************************************************** */
693
694typedef struct { /* DROP */
695 mng_chunk_header sHeader;
696 mng_uint32 iCount;
697 mng_chunkidp pChunknames;
698 } mng_drop;
699typedef mng_drop * mng_dropp;
700
701/* ************************************************************************** */
702
703typedef struct { /* DBYK */
704 mng_chunk_header sHeader;
705 mng_chunkid iChunkname;
706 mng_uint8 iPolarity;
707 mng_uint32 iKeywordssize;
708 mng_pchar zKeywords;
709 } mng_dbyk;
710typedef mng_dbyk * mng_dbykp;
711
712/* ************************************************************************** */
713
714typedef struct { /* ORDR entry */
715 mng_chunkid iChunkname;
716 mng_uint8 iOrdertype;
717 } mng_ordr_entry;
718typedef mng_ordr_entry * mng_ordr_entryp;
719
720typedef struct mng_ordr_struct { /* ORDR */
721 mng_chunk_header sHeader;
722 mng_uint32 iCount;
723 mng_ordr_entryp pEntries;
724 } mng_ordr;
725typedef mng_ordr * mng_ordrp;
726
727/* ************************************************************************** */
728
729typedef struct { /* MAGN */
730 mng_chunk_header sHeader;
731 mng_uint16 iFirstid;
732 mng_uint16 iLastid;
733 mng_uint16 iMethodX;
734 mng_uint16 iMX;
735 mng_uint16 iMY;
736 mng_uint16 iML;
737 mng_uint16 iMR;
738 mng_uint16 iMT;
739 mng_uint16 iMB;
740 mng_uint16 iMethodY;
741 } mng_magn;
742typedef mng_magn * mng_magnp;
743
744/* ************************************************************************** */
745
746typedef struct { /* unknown chunk */
747 mng_chunk_header sHeader;
748 mng_uint32 iDatasize;
749 mng_ptr pData;
750 } mng_unknown_chunk;
751typedef mng_unknown_chunk * mng_unknown_chunkp;
752
753/* ************************************************************************** */
754
755#endif /* _libmng_chunks_h_ */
756
757/* ************************************************************************** */
758/* * end of file * */
759/* ************************************************************************** */
Note: See TracBrowser for help on using the repository browser.