TCP/IP 송수신 코딩중에 막혀서 질문드려봅니다 ..ㅠ

typedef struct dgt_sql_req_msg
{
        unsigned short msg_type;
        unsigned int sql_len;
        signed char sql_text[1025];
        unsigned short sql_type;
}dgt_sql_req_msg;

void sql_req_msg(dgt_sql_req_msg *p)
{
        int i;
        unsigned short type;
        printf("SQL > ",stdout);
        fgets(p->sql_text,sizeof(p->sql_text),stdin);
        p->temp_text=p->sql_text;
        type=strtok(p->text," ");
        while(type !=NULL){
                type = strtok(NULL," ");
                sql_type=type;
                }
}

구조체랑 그 구조체에  데이터를 저장하기위한 함수를 정의할라고합니다.
msg_type은 서버에서 sql구분인것을 구분하기 위해 정의했고요.
할려고하는 건 msg_type에
select a form b 입력받을시msg_type에 unsigned short형으로

select 한단어만 가져야하고
구조체를 memcpy로 넘길예정입니다.

hash.h:69: error: incompatible types when assigning to type ‘signed char[1025]’ from type ‘signed char *’
hash.h:70: error: ‘dgt_sql_req_msg’ has no member named ‘text’
hash.h:71: warning: comparison between pointer and integer
hash.h:72: warning: assignment makes integer from pointer without a cast
hash.h:73: error: ‘sql_type’ undeclared (first use in this function)
hash.h:73: error: (Each undeclared identifier is reported only once
hash.h:73: error: for each function it appears in.)

에러도 많이뜨고.. 일단 잘라서 저장하는것도 막히고
저게 unsigned short형으로 저장이 가능한가요?