Scusa non ho letto benissimo tutto il codice ma struct state_t è un tipo inesistente: tu hai dichiarato una struct e tramite typedef l'hai chiamata "state_t" ma non esiste il tipo struct state_t perché quando hai dichiarato quella struct hai scritto direttamentecodice:typedef struct tcb_t { /* thread control block */ tid_t tid; /* thread identifier */ status_t status; /* thread's status */ struct state_t *proc_state; /* processor state */ } tcb_t;
tupedef struct{
...
...
} state_t;
quindi state_t è il tipo stuttura, non struct state_t.
modifca quindi quella riga in rosso con
forse è per quello che ti dice che proc_state non è una struttura... l'hai dichiarata di un tipo che non esiste in realtàcodice:state_t *proc_state;
Ovviamente fai caso anche ai consigli che ti hanno dato gli altri che non ho letto con attenzione (comunque gli operatori -> al posto di . credo siano necessari perché usi puntatori a struct)