platform_build/tools/iself/iself.c
2009-03-03 19:28:42 -08:00

36 lines
753 B
C

#include <debug.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
int
main(int argc, char **argv)
{
char *fname;
int fd;
char magic[4];
argc--, argv++;
FAILIF(argc != 1, "Expecting a file name!\n");
fname = *argv;
fd = open(fname, O_RDONLY);
FAILIF(fd < 0, "Error opening %s for reading: %s (%d)!\n",
fname, strerror(errno), errno);
FAILIF(4 != read(fd, magic, 4),
"Could not read first 4 bytes from %s: %s (%d)!\n",
fname, strerror(errno), errno);
if (magic[0] != 0x7f) return 1;
if (magic[1] != 'E') return 1;
if (magic[2] != 'L') return 1;
if (magic[3] != 'F') return 1;
return 0;
}