StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
createMapHead.C
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <fcntl.h>
4 #include <sys/types.h>
5 #include <sys/stat.h>
6 #include <unistd.h>
7 #include <string.h>
8 #include <errno.h>
9 #include <math.h>
10 
11 int main(int, char *[])
12 {
13  struct stat statbuff;
14 
15  int ret;
16 
17  ret = stat("map.bin", &statbuff);
18  if(ret == -1) {
19  printf("Can't stat file map.bin (%s)\n", strerror(errno));
20  return 0;
21  }
22 
23  int sz = statbuff.st_size;
24  uint *buff = (uint *)malloc(sz);
25  float *fbuff = (float *)buff;
26  char *cbuff = (char *)buff;
27 
28  if(!buff) {
29  printf("Can't allocate %d bytes\n",sz);
30  return 0;
31  }
32 
33  int fd = open("map.bin", O_RDONLY);
34  if(fd == -1) {
35  printf("Can't open file map.bin (%s)\n", strerror(errno));
36  return 0;
37  }
38 
39  ret = read(fd, buff, sz);
40  if(sz != ret) {
41  printf("Only read %d of %d bytes\n",ret,sz);
42  return 0;
43  }
44 
45  close(fd);
46 
47  printf("#define MAPDOTBINFILE_SZ %d\n", sz);
48  printf("u_int mapdotbinfile[%d] = {\n", sz/4);
49 
50  for(int i=0;i<sz/4;i++) {
51  printf("0x%08x, ", buff[i]);
52  if( ((i+1) % 10) == 0) printf("\n");
53  }
54 
55  printf("};\n");
56 
57  free(buff);
58 }