#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <stdint.h>

char *audio;
FILE *fp;
struct stat file_stat;

int read_file(char* filename){
        if ( (fp = fopen(filename, "r")) != NULL)
        {
		printf("Opening file %s\n", filename);
                if (lstat(filename, &file_stat) != 0)
                        return 1;

                audio = malloc(file_stat.st_size);

                fread(audio, file_stat.st_size, 1, fp);

                fclose(fp);
		return 0;
        }
	return -1;
}

int main(int argc, char** argv){

	char buf[5];
	memset(buf, 0, 5);

	if (argc != 2){
		exit(0);
	}
	if (read_file(argv[1]) == -1) {
		 exit(0);
	}
	
	strncpy(buf, audio, 4);
	printf("HEADER: %s\n", buf);
	printf("Sampling Rate: %d\n", *( (uint32_t *) (audio + 24)));
	printf("Resolution: %d\n", *( (uint16_t *) (audio + 34)));
	printf("Channels: %d\n", *( ( uint16_t *) (audio + 22)));
	free(audio);
	return 0;
}

