> typedef struct { ...... } Foo;だろ。

そうです、これの形でよくやります。

こうやってtypedefしてたら、どうやって宣言するのでしょう?
関数の引数でも戻り値でも、「構造体へのポインタ」しか
つかってないときには…