#include #include #include #include #include #include #include #include int main(int argc, char **argv) { unsigned char block[256]; unsigned int csum; int fd_i, bc; FILE *fd_o; struct stat fileinfo; unsigned int i, j; if (argc != 4) { printf("usage: %s width binfile hexfile\n", argv[0]); return -1; } bc = atoi(argv[1]); if ((bc < 1) || (bc > 255)) { printf("byte count per line must be 1-255"); return -1; } if ((fd_i = open(argv[2], O_RDONLY)) == -1 || fstat(fd_i, &fileinfo) == -1) { printf("Couldn't open file\n"); return -1; } printf("size: %u bytes\n", fileinfo.st_size); if ((fd_o = fopen(argv[3], "w")) == NULL) { printf("invalid outfile\n"); return -1; } for (i=0; i>8)+((i/bc)&0xff); for (j=0; j