Проигнорирован заголовочный файл

Всем привет. Начал я разбираться в bmp формате, и сейчас застрял на одном моменте. Пытяюсь я считать хедер из bmp файла в структуру, которая записана в заголовочный файл. Не понимаю почему, но компилятор жалуется на то, что такая структура незадекларированна, хотя в заголовочном файле она прописана. Помогите пожалуйста решить проблему. Всем заранее спасибо!

Операция, которую хочу проделать:

    #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "bmp.h"

struct bmp_header* read_bmp_header(FILE* input) {
    if(stream == NULL) {
        printf("Error: This is not a BMP file.");
        return NULL;
    }
    fread(&bmpfileheader, sizeof(bmpfileheader), 1, input);
    if(strcmp(bmpfileheader.type, "BM") == 0) {
        return bmpfileheader.type;
    } else {
        return NULL;
    }
}

Заголовочный файл:

struct bmpfileheader{
    uint16_t type;              
    uint32_t size;              
    uint16_t reserved1;         
    uint16_t reserved2;         
    uint32_t offset;            
    uint32_t dib_size;          
    uint32_t width;             
    uint32_t height;            
    uint16_t planes;            
    uint16_t bpp;               
    uint32_t compression;       
    uint32_t image_size;        
    uint32_t x_ppm;             
    uint32_t y_ppm;             
    uint32_t num_colors;        
    uint32_t important_colors;  
};

Ошибка:

error: ‘bmpfileheader’ undeclared (first use in this function)
     fread(&bmpfileheader, sizeof(bmpfileheader), 1, input);
            ^^^^^^^^^^^^^

P.S. подключение заголовочного файла к главному проверил, ошибок нет.


Ответы (0 шт):