dtc.c File Reference


Detailed Description

Data type specific function implementations.


Defines

#define MAKE_BYTE_FUNC(DTC, DEFAULT)
#define MAKE_NUM_FUNC(DTC)
#define MAKE_X_FUNC(DTC)
#define DO_VN(DTC)
#define DO_FREE(DTC)   free(*((DTC*)Vn[cnt].data))

Functions

void __byte_order_change (int in_byte_order, int out_byte_order, byte_t *in, int len)
void _stdf_read_dtc_Cn (stdf_file *f, dtc_Cn *Cn)
void _stdf_read_dtc_Bn (stdf_file *f, dtc_Bn *Bn)
void _stdf_read_dtc_Dn (stdf_file *f, dtc_Dn *Dn)
void _stdf_read_dtc_xN1 (stdf_file *f, dtc_xN1 *xN1, dtc_U2 cnt)
void _stdf_read_dtc_xCn (stdf_file *f, dtc_xCn *xCn, dtc_U2 cnt)
void free_xCn (dtc_xCn xCn, dtc_U2 cnt)
void stdf_get_Vn_name_r (int type, char *buf)
char * stdf_get_Vn_name (int type)
void _stdf_read_dtc_Vn (stdf_file *f, dtc_Vn *pVn, dtc_U2 cnt)
void free_Vn (dtc_Vn Vn, dtc_U2 cnt)


Define Documentation

#define DO_VN DTC   ) 
 

Value:

Vn->data = (void*)malloc(sizeof(DTC)); \
        _stdf_read_ ## DTC(f, ((DTC*)Vn->data));

#define MAKE_BYTE_FUNC DTC,
DEFAULT   ) 
 

Value:

void _stdf_read_ ## DTC(stdf_file *f, DTC *dtc) \
{ \
    if (f->rec_pos < f->rec_end) \
        *dtc = *f->rec_pos++; \
    else \
        *dtc = DEFAULT; \
}

#define MAKE_NUM_FUNC DTC   ) 
 

Value:

void _stdf_read_ ## DTC(stdf_file *f, DTC *dtc) \
{ \
    if (f->rec_pos < f->rec_end) { \
        memcpy(dtc, f->rec_pos, sizeof(DTC)); \
        f->rec_pos += sizeof(DTC); \
    } else \
        *dtc = 0; \
    _stdf_byte_order_to_host(f, dtc, sizeof(DTC)); \
}

#define MAKE_X_FUNC DTC   ) 
 

Value:

void _stdf_read_dtc_x ## DTC(stdf_file *f, dtc_x ## DTC *x, dtc_U2 cnt) \
{ \
    int i; \
    if (cnt == 0) { \
        (*x) = NULL; \
        return; \
    } \
    (*x) = (dtc_x ## DTC)calloc(cnt, sizeof(dtc_ ## DTC)); \
    for (i=0; i<cnt; ++i) \
        _stdf_read_dtc_ ## DTC(f, &((*x)[i])); \
}


Function Documentation

char* stdf_get_Vn_name int   ) 
 

Translate a Vn type into the 2 letter spec name

void stdf_get_Vn_name_r int  ,
char * 
 

Translate a Vn type into the 2 letter spec name (reentrant version)


Generated on Thu Jun 8 14:05:35 2006 for libstdf by  doxygen 1.4.6