ldc: Small fixes (includes, less warnings etc.)
[h316.git] / pc-tools / ldc / process.c
CommitLineData
437b3ba8 1#include <stdio.h>
2#include "hw_types.h"
3#include "hw_helpers.h"
4
5#include "process.h"
d34afc1e 6#include "ldc.h"
77ce3d6a 7
437b3ba8 8//#define DEBUG_DATA
9/**********************************************************************/
10
77ce3d6a 11
437b3ba8 12int get_blocktype (datablock * block){
13 return block->data[0].blocktype.type;
14}
15
16int get_blocksubtype(datablock * block){
17 if (block->data[0].blocktype.type!=0) return 0;
18 return block->data[0].blocktype.t0_subtype;
19}
20
21void block_copy(datablock* dest, datablock* src){
22 dest->data = (hw16 *) malloc (src->size * sizeof (hw16));
23 dest->raw_data = (unsigned char *) malloc (src->size * 3 );
24 dest->size=src->size;
25 memcpy (dest->data, src->data, src->size * sizeof (hw16));
26 memcpy (dest->raw_data, src->raw_data, src->size * 3);
27
28}
29
30datablock * block_clone(datablock * orgblock){
31 datablock * block = (datablock *) malloc (sizeof (datablock));
32 block_copy(block,orgblock);
33 return block;
34}
35
36void block_dispose(datablock * victim){
37 free(victim->data);
38 free(victim->raw_data);
39 free(victim);
40}
41
42char ** extract_labels0(datablock * blockp){
43 char ** result=(char **) malloc (sizeof(char **));
d34afc1e 44 result[0] = NULL;
437b3ba8 45 if (get_blocktype(blockp)!=0) return NULL;
46
47 datablock block;
48 block_copy(&block,blockp);
49
50 hw16 * data = block.data;
51 int c;
52 parstrip ((char *)data +4, (block.size - 3) * 2);
53 twistbytes (data + 2, block.size - 3);
54 for (c = 0; c < (((head0*)data)->N - 3) / 3; c++) {
55 char akt[7];
56 memcpy (akt, ((char *) data) + 4 + c * 6, 6);
57 akt[6]=0;
58
437b3ba8 59 int dd=5;
60