Exemplo n.º 1
0
bool field_set_value(field_t * field, void * value)
{
    bool ret = false;

    if (field && value) {
#ifdef USE_BITS
        switch (field->type) {
            case TYPE_BITS:
                ret = bits_write(
                    field->value.bits.bits,
                    field->value.bits.offset_in_bits,
                    value,
                    0,
                    field->value.bits.size_in_bits
                );
                break;
            default:
#endif
                memcpy(&field->value, value, field_get_size(field));
                ret = true;
#ifdef USE_BITS
                break;
        }
#endif
    }
    return ret;
}
Exemplo n.º 2
0
bool field_set_value(field_t * field, void * value)
{
    bool ret = false;

    if (field && value) {
        memcpy(&field->value, value, field_get_size(field));
        ret = true;
    }
    return ret;
}
Exemplo n.º 3
0
void output_setup(struct output_params op, const struct field_info *fi)
{
        output_params = op;

        /* Fill fields array. */
        for (size_t i = 0; i < LNF_FLD_TERM_; ++i) {
                if (fi[i].id == 0) {
                        continue; //field is not present
                }
                fields[fields_cnt].id = i;
                fields[fields_cnt].size = field_get_size(i);
                fields_cnt++;
        }
}
Exemplo n.º 4
0
size_t field_get_size_in_bits(const field_t * field) {
    return field->type == TYPE_BITS ?
        field->value.bits.size_in_bits :
        8 * field_get_size(field);
}