Skip to content
block_sizes.hpp 58.8 KiB
Newer Older
 * Copyright (c) 2016-2017, Luca Fulchir<luca@fulchir.it>, All rights reserved.
 *
 * This file is part of "libRaptorQ".
 *
 * libRaptorQ is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 3
 * of the License, or (at your option) any later version.
 *
 * libRaptorQ is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * and a copy of the GNU Lesser General Public License
 * along with libRaptorQ.  If not, see <http://www.gnu.org/licenses/>.
 */

#pragma once
// check the full list with RFC6330
#ifdef __cplusplus
#include <cstddef>
#include <cstdint>
#include <array>
#else
#include <stddef.h>
#include <stdint.h>

typedef enum {
    RQ_Block_10 = 10,
    RQ_Block_12 = 12,
    RQ_Block_18 = 18,
    RQ_Block_20 = 20,
    RQ_Block_26 = 26,
    RQ_Block_30 = 30,
    RQ_Block_32 = 32,
    RQ_Block_36 = 36,
    RQ_Block_42 = 42,
    RQ_Block_46 = 46,
    RQ_Block_48 = 48,
    RQ_Block_49 = 49,
    RQ_Block_55 = 55,
    RQ_Block_60 = 60,
    RQ_Block_62 = 62,
    RQ_Block_69 = 69,
    RQ_Block_75 = 75,
    RQ_Block_84 = 84,
    RQ_Block_88 = 88,
    RQ_Block_91 = 91,
    RQ_Block_95 = 95,
    RQ_Block_97 = 97,
    RQ_Block_101 = 101,
    RQ_Block_114 = 114,
    RQ_Block_119 = 119,
    RQ_Block_125 = 125,
    RQ_Block_127 = 127,
    RQ_Block_138 = 138,
    RQ_Block_140 = 140,
    RQ_Block_149 = 149,
    RQ_Block_153 = 153,
    RQ_Block_160 = 160,
    RQ_Block_166 = 166,
    RQ_Block_168 = 168,
    RQ_Block_179 = 179,
    RQ_Block_181 = 181,
    RQ_Block_185 = 185,
    RQ_Block_187 = 187,
    RQ_Block_200 = 200,
    RQ_Block_213 = 213,
    RQ_Block_217 = 217,
    RQ_Block_225 = 225,
    RQ_Block_236 = 236,
    RQ_Block_242 = 242,
    RQ_Block_248 = 248,
    RQ_Block_257 = 257,
    RQ_Block_263 = 263,
    RQ_Block_269 = 269,
    RQ_Block_280 = 280,
    RQ_Block_295 = 295,
    RQ_Block_301 = 301,
    RQ_Block_305 = 305,
    RQ_Block_324 = 324,
    RQ_Block_337 = 337,
    RQ_Block_341 = 341,
    RQ_Block_347 = 347,
    RQ_Block_355 = 355,
    RQ_Block_362 = 362,
    RQ_Block_368 = 368,
    RQ_Block_372 = 372,
    RQ_Block_380 = 380,
    RQ_Block_385 = 385,
    RQ_Block_393 = 393,
    RQ_Block_405 = 405,
    RQ_Block_418 = 418,
    RQ_Block_428 = 428,
    RQ_Block_434 = 434,
    RQ_Block_447 = 447,
    RQ_Block_453 = 453,
    RQ_Block_466 = 466,
    RQ_Block_478 = 478,
    RQ_Block_486 = 486,
    RQ_Block_491 = 491,
    RQ_Block_497 = 497,
    RQ_Block_511 = 511,
    RQ_Block_526 = 526,
    RQ_Block_532 = 532,
    RQ_Block_542 = 542,
    RQ_Block_549 = 549,
    RQ_Block_557 = 557,
    RQ_Block_563 = 563,
    RQ_Block_573 = 573,
    RQ_Block_580 = 580,
    RQ_Block_588 = 588,
    RQ_Block_594 = 594,
    RQ_Block_600 = 600,
    RQ_Block_606 = 606,
    RQ_Block_619 = 619,
    RQ_Block_633 = 633,
    RQ_Block_640 = 640,
    RQ_Block_648 = 648,
    RQ_Block_666 = 666,
    RQ_Block_675 = 675,
    RQ_Block_685 = 685,
    RQ_Block_693 = 693,
    RQ_Block_703 = 703,
    RQ_Block_718 = 718,
    RQ_Block_728 = 728,
    RQ_Block_736 = 736,
    RQ_Block_747 = 747,
    RQ_Block_759 = 759,
    RQ_Block_778 = 778,
    RQ_Block_792 = 792,
    RQ_Block_802 = 802,
    RQ_Block_811 = 811,
    RQ_Block_821 = 821,
    RQ_Block_835 = 835,
    RQ_Block_845 = 845,
    RQ_Block_860 = 860,
    RQ_Block_870 = 870,
    RQ_Block_891 = 891,
    RQ_Block_903 = 903,
    RQ_Block_913 = 913,
    RQ_Block_926 = 926,
    RQ_Block_938 = 938,
    RQ_Block_950 = 950,
    RQ_Block_963 = 963,
    RQ_Block_977 = 977,
    RQ_Block_989 = 989,
    RQ_Block_1002 = 1002,
    RQ_Block_1020 = 1020,
    RQ_Block_1032 = 1032,
    RQ_Block_1050 = 1050,
    RQ_Block_1074 = 1074,
    RQ_Block_1085 = 1085,
    RQ_Block_1099 = 1099,
    RQ_Block_1111 = 1111,
    RQ_Block_1136 = 1136,
    RQ_Block_1152 = 1152,
    RQ_Block_1169 = 1169,
    RQ_Block_1183 = 1183,
    RQ_Block_1205 = 1205,
    RQ_Block_1220 = 1220,
    RQ_Block_1236 = 1236,
    RQ_Block_1255 = 1255,
    RQ_Block_1269 = 1269,
    RQ_Block_1285 = 1285,
    RQ_Block_1306 = 1306,
    RQ_Block_1347 = 1347,
    RQ_Block_1361 = 1361,
    RQ_Block_1389 = 1389,
    RQ_Block_1404 = 1404,
    RQ_Block_1420 = 1420,
    RQ_Block_1436 = 1436,
    RQ_Block_1461 = 1461,
    RQ_Block_1477 = 1477,
    RQ_Block_1502 = 1502,
    RQ_Block_1522 = 1522,
    RQ_Block_1539 = 1539,
    RQ_Block_1561 = 1561,
    RQ_Block_1579 = 1579,
    RQ_Block_1600 = 1600,
    RQ_Block_1616 = 1616,
    RQ_Block_1649 = 1649,
    RQ_Block_1673 = 1673,
    RQ_Block_1698 = 1698,
    RQ_Block_1716 = 1716,
    RQ_Block_1734 = 1734,
    RQ_Block_1759 = 1759,
    RQ_Block_1777 = 1777,
    RQ_Block_1800 = 1800,
    RQ_Block_1824 = 1824,
    RQ_Block_1844 = 1844,
    RQ_Block_1863 = 1863,
    RQ_Block_1887 = 1887,
    RQ_Block_1906 = 1906,
    RQ_Block_1926 = 1926,
    RQ_Block_1954 = 1954,
Loading full blame...