I'm working on xinu, and I need to change some *.c files.
I have this struct in file ready.c:
struct newtimer{
    struct newtimer* tnext;
    struct newtimer* tprev;
    int tkey;
    int tprio;
    int tcount;
};
and then I declared:
struct newtimer *timer = NULL;
I did some use with the timer variable in this file and I need to use it in another file as well (clkint.c). So in clkint I did this:
extern struct newtimer *timer;
(which compiles alright)
but when i try to access timer's fields I get these errors:

What am I doing wrong?
Thank you
edit:
As requested, here is some of the clkint.c:
struct newtimer *t;
extern struct newtimer *timer;
...
t = timer;
while(t!= NULL)
{
    ++(t->tcount);
    if(t->tcount >= 18){
        t->tcount = 0;
        newprior = proctab[t->tkey]->pprio + 10;
        t->tcount = newprior;
        chprio(t->tkey, newprior);
    }
    t = t->tnext;
    resched();
}
edit:
Replacing all the ts with timers does not solve the problem.
 
    