Natürlich muss auch in Header B das typedef bekannt sein (was es bei dir offensichtlich nicht ist). Also entweder schreibst du auch dort die komplette typedef-Anweisung rein (nicht so gut, weil du dann bei Änderungen an mehreren Stellen was ändern musst), oder du inkludierst Header A in Header B (auch nicht wirklich das Wahre), oder du packst das typedef in eine separate Header-Datei (z.B. types.h oder global.h) und inkludierst diese dann sowohl in A wie auch in B (wohl die beste Lösung).