だから、変な修飾、しかもアンダースコアで始めるのやめてくれってばよ。
typedef struct hoge hoge; でいいじゃないか。