Please help me solve these problem, I could not understand why these errors ...
Code:
int return_pokebola(struct map_session_data *sd, struct homun_data *hd)
{
    hd = sd->hd;

    struct item tmp_item;
    int flag;

    memset(&tmp_item,0,sizeof(tmp_item));
    tmp_item.nameid = hd->homunculusDB->EggId;
    tmp_item.identify = 1;
    tmp_item.card[0] = CARD0_HUN;
    tmp_item.card[1] = GetWord(hd->homunculus.hom_id,0);
    tmp_item.card[2] = GetWord(hd->homunculus.hom_id,1);
    tmp_item.card[3] = hd->homunculus.rename_flag;
    if((flag = pc_additem(sd,&tmp_item,1))) {
        clif_additem(sd,0,0,flag);
        map_addflooritem(&tmp_item,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
    }
    hd->homunculus.vaporize = 1;
    return 1;
}
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(91): error C2143: syntax error : missing ';' before 'type'
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(92): error C2143: syntax error : missing ';' before 'type'
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(94): error C2065: 'tmp_item' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(94): error C2065: 'tmp_item' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(95): error C2065: 'tmp_item' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(95): error C2224: left of '.nameid' must have struct/union type
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(96): error C2065: 'tmp_item' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(96): error C2224: left of '.identify' must have struct/union type
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(97): error C2065: 'tmp_item' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(97): error C2224: left of '.card' must have struct/union type
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(98): error C2065: 'tmp_item' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(98): error C2224: left of '.card' must have struct/union type
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(99): error C2065: 'tmp_item' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(99): error C2224: left of '.card' must have struct/union type
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(100): error C2065: 'tmp_item' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(100): error C2224: left of '.card' must have struct/union type
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(101): error C2065: 'flag' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(101): error C2065: 'tmp_item' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(101): warning C4133: 'function' : incompatible types - from 'int *' to 'item *'
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(102): error C2065: 'flag' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(103): error C2065: 'tmp_item' : undeclared identifier
1>c:\users\mateus\desktop\renewall\src\map\homuncu lus.c(103): warning C4133: 'function' : incompatible types - from 'int *' to 'item *'