Eigentlich habe ich ja schon gesagt, wo der Fehler herkommt.
Es ist das "uint_8". Es gibt keinen solchen Typ (sofern du ihn nicht selbst definiert hast, was offensichtlich nicht der Fall ist).

Und zu dem hier
ok ich hab den dereferenzierungszeiger bei f->pwrite = data; vergessen aber sonst?...
solltest du den Post von markusj nochmal etwas genauer lesen. Was soll z.B. der Sinn von "f->pread == f->top" sein, wenn das eine ein unit8_t ist, und das andere ein Zeiger auf ein unit8_t?