codice:
 
#ifndef PAK_H
#define PAK_H

#include "include.h"

typedef char bool;

typedef struct
{
    char content[PAK_N]; /* the content of pak */
    bool flag[FLAG_N]; /* the pak flag */
    char sign[10]; /* the verification signature */

} Pak; 


void setSign(Pak * ptr, const char sign[10])
{
    #ifdef DEBUG
        assert(ptr != NULL);
    #endif  
    if((strlen(sign) > 10) || (strlen(sign) < 10))return;
    strcpy(ptr->sign, sign);   
}

bool cntSign(Pak * ptr)
{
    #ifdef DEBUG
        assert(ptr != NULL);
    #endif  
}


void setContent(Pak * ptr, char content[PAK_N])
{
    #ifdef DEBUG
        assert(ptr != NULL);
    #endif  
    int i;
    for(i = 0; i<PAK_N; i++)
    {
        ptr->content[i] = content[i];
    }  
}

int send(Pak * ptr, int mode)
{
    #ifdef DEBUG
        assert(ptr != NULL);
    #endif  
    if(strlen(ptr->content) < PAK_N)
        return -1;
    setContent(ptr, ptr->content);
    ptr->flag[0] = TRUE; /* the dimension OK flag */
    switch(mode)
    {
        case SERVER:
                ptr->flag[1] = SERVER; /* the pak type flag */
                break;
        case CLIENT:
                ptr->flag[1] = CLIENT;
                break;  
        case REQUEST:
                ptr->flag[1] = REQUEST;
                break; 
        default:
                ptr->flag[1] = ERROR;
                break;                               
    } 
    if((ptr->flag[0] == TRUE) && (ptr->flag[1] != ERROR))
    {   
        setSign((Pak *) ptr->sign, CHECK);
    }else{
        return -1;
    }
    /*
        send to serial port
    */
    return 0;
        
}

void rec(Pak * ptr, char buf[PAK_N])
{
    /*
        receive to serial port
    */   
    #ifdef DEBUG
        assert(ptr != NULL);
    #endif  
    strcpy(buf, ptr->content);
}
/*
 * Log Format:
 * # DATE #
 * # FLAG #
 * # CONTENT #
 */
void log(char * msg)
{
    FILE * log = fopen("app.log", "a+");
    #ifdef DEBUG
        assert(log!= NULL);
    #endif  
    fprintf(log, "#%s#\n", msg);
    fclose(log);
}

void controlChecksum(char * ck, bool * control)
{ 
    if(strcmp(ck, CHECK) == 0)
    {   
        control =  (bool *) 0;
    }else{   
        control =  (bool *) 1;
    }    
}

#endif
Se provo ad usare la funz send() mi restituisce -123343


Help me