示例#1
0
    return 0;
}

static bool null_is_compatible_with(uint32_t version) {
    return true;
}

struct ec_backend_op_stubs null_op_stubs = {
    .INIT                       = null_init,
    .EXIT                       = null_exit,
    .ENCODE                     = null_encode,
    .DECODE                     = null_decode,
    .FRAGSNEEDED                = null_min_fragments,
    .RECONSTRUCT                = null_reconstruct,
    .ELEMENTSIZE                = null_element_size,
    .ISCOMPATIBLEWITH           = null_is_compatible_with,
    .GETMETADATASIZE            = get_backend_metadata_size_zero,
    .GETENCODEOFFSET            = get_encode_offset_zero,
};

struct ec_backend_common backend_null = {
    .id                         = EC_BACKEND_NULL,
    .name                       = NULL_LIB_NAME,
    .soname                     = NULL_SO_NAME,
    .soversion                  = NULL_LIB_VER_STR,
    .ops                        = &null_op_stubs,
    .ec_backend_version         = _VERSION(NULL_LIB_MAJOR, NULL_LIB_MINOR,
                                           NULL_LIB_REV),
};

/*
 * For the time being, we only claim compatibility with versions that
 * match exactly
 */
static bool liberasurecode_rs_vand_is_compatible_with(uint32_t version) {
    return version == backend_liberasurecode_rs_vand.ec_backend_version;
}

struct ec_backend_op_stubs liberasurecode_rs_vand_op_stubs = {
    .INIT                       = liberasurecode_rs_vand_init,
    .EXIT                       = liberasurecode_rs_vand_exit,
    .ENCODE                     = liberasurecode_rs_vand_encode,
    .DECODE                     = liberasurecode_rs_vand_decode,
    .FRAGSNEEDED                = liberasurecode_rs_vand_min_fragments,
    .RECONSTRUCT                = liberasurecode_rs_vand_reconstruct,
    .ELEMENTSIZE                = liberasurecode_rs_vand_element_size,
    .ISCOMPATIBLEWITH           = liberasurecode_rs_vand_is_compatible_with,
};

struct ec_backend_common backend_liberasurecode_rs_vand = {
    .id                         = EC_BACKEND_LIBERASURECODE_RS_VAND,
    .name                       = LIBERASURECODE_RS_VAND_LIB_NAME,
    .soname                     = LIBERASURECODE_RS_VAND_SO_NAME,
    .soversion                  = LIBERASURECODE_RS_VAND_LIB_VER_STR,
    .ops                        = &liberasurecode_rs_vand_op_stubs,
    .backend_metadata_size      = 0,
    .ec_backend_version         = _VERSION(LIBERASURECODE_RS_VAND_LIB_MAJOR,
                                           LIBERASURECODE_RS_VAND_LIB_MINOR,
                                           LIBERASURECODE_RS_VAND_LIB_REV),
};