linux下make编译头文件未知变类型名

在linux下使用make编译是已经.h文件中包含了类型,但是编译提示未知类型名
用代码块功能插入代码,请勿粘贴截图
 mytbf.c 
    1 #include "mytbf.h"
    2 #include 
    3 #include 
    4 #include 
    5 #include 
 mytbf.h
  1 #ifndef MYTBF_H__
  2 #define MYTBF_H__
  3 
  4 #define MYTBF_MAX  1024
  5 
  6 struct mytbf_t  *mytbf_init(int cps,int burst);
  7 int mytbf_fetchtoken(mytbf_t *ptr,int size );
  8 int mytbf_returntoken(mytbf_t *ptr,int size);
  9 int mytbf_destory(mytbf_t *ptr);
 10 
 11 #endif       
 1: main.c
    1 #include 
    2 #include 
    3 #include 
    4 #include 
    5 #include 
    6 #include 
    7 #include 
    8 #include 
    9                                                                                                                              
   10 #include "mytbf.h"


运行结果及报错内容

In file included from main.c:9:0:
mytbf.h:7:22: 错误:未知的类型名‘mytbf_t’
int mytbf_fetchtoken(mytbf_t *ptr,int size );
^
mytbf.h:8:23: 错误:未知的类型名‘mytbf_t’
int mytbf_returntoken(mytbf_t *ptr,int size);
^
mytbf.h:9:19: 错误:未知的类型名‘mytbf_t’
int mytbf_destory(mytbf_t *ptr);
^
main.c: 在函数‘main’中:
main.c:21:3: 错误:未知的类型名‘mytbf_t’
mytbf_t *tbf;
^
main.c:27:7: 警告:从不兼容的指针类型赋值 [默认启用]
tbf = mytbf_init(CPS,BURST);
^
main.c:79:17: 错误:‘def’未声明(在此函数内第一次使用)
mytbf_destory(def);

我的解答思路和尝试过的方法

我感觉是main函数有问题,网上也没有确切解释

我想要达到的结果

求帮忙解答一下问题

你的头文件mytbf.h中第6行,这个struct mytbf_t没有定义的地方啊。
struct mytbf_t *mytbf_init(int cps,int burst);