OSDN Git Service

yaoさんの提案を参考に、core.autocrlf=falseとしてコミットしてみる。
[heavyosecpu/HeavyOSECPU.git] / tek.h
1 //
2 //  tek.h
3 //  HeavyOSECPU
4 //
5 //  Created by 西田 耀 on 2014/03/13.
6 //  Changed by ttwilb up to now.
7 //  Copyright (c) 2014年 CHNOSProject. All rights reserved.(GPL)
8 //
9
10 #ifndef HeavyOSECPU_tek_h
11 #define HeavyOSECPU_tek_h
12
13 #include "stdio.h"
14 #include "stdlib.h"
15 #include "setjmp.h"
16
17 typedef unsigned char UCHAR;
18 typedef unsigned int UINT32;
19 typedef UINT32 tek_TPRB;
20
21 struct tek_STR_BITMODEL {
22         UCHAR t, m, s, dmy;
23         UINT32 prb0, prb1, tmsk, ntm, lt, lt0, dmy4;
24 };
25
26 struct tek_STR_PRB {
27         struct tek_STR_PRB_PB {
28                 struct tek_STR_PRB_PBST {
29                         tek_TPRB mch, rep0l1;
30                 } st[12];
31                 tek_TPRB lenlow[2][8], lenmid[2][8];
32         } pb[16];
33         struct tek_STR_PRB_ST {
34                 tek_TPRB rep, repg0, repg1, repg2;
35         } st[12];
36         tek_TPRB lensel[2][2], lenhigh[2][256], pslot[4][64], algn[64];
37         tek_TPRB spdis[2][2+4+8+16+32], lenext[2+4+8+16+32];
38         tek_TPRB repg3, fchgprm[2 * 32], tbmt[16], tbmm[16], fchglt;
39         tek_TPRB lit[1];
40 };
41
42 struct tek_STR_RNGDEC {
43         UCHAR *p;
44         UINT32 range, code, rmsk;
45         jmp_buf errjmp;
46         struct tek_STR_BITMODEL bm[32], *ptbm[16];
47         struct tek_STR_PRB probs;
48 };
49
50
51 int tek_getsize(unsigned char *p);
52 int tek_decomp(unsigned char *p, unsigned char *q, int size);
53
54 #endif