Como encaminhar typedef'd struct em .h

Tenho Preprocessor.h

#define MAX_FILES 15

struct Preprocessor {
    FILE fileVector[MAX_FILES];
    int currentFile;
};

typedef struct Preprocessor Prepro;

void Prepro_init(Prepro* p) {
    (*p).currentFile = 0;
}

Percebi então que tinha que separar as declarações das definições. Então eu criei o Preprocessor.c:

#define MAX_FILES 15

struct Preprocessor {
    FILE fileVector[MAX_FILES];
    int currentFile;
};

typedef struct Preprocessor Prepro;

And Preprocessor.h é agora:

void Prepro_init(Prepro* p) {
    (*p).currentFile = 0;
}

Isso obviamente não funciona porque Pr..h não conhece o tipo Prepro. Eu já tentei várias combinações, nenhuma delas funcionou. Não consigo encontrar a solução.

questionAnswers(6)

yourAnswerToTheQuestion