/*1* Copyright (c) 2017 Thomas Pornin <[email protected]>2*3* Permission is hereby granted, free of charge, to any person obtaining4* a copy of this software and associated documentation files (the5* "Software"), to deal in the Software without restriction, including6* without limitation the rights to use, copy, modify, merge, publish,7* distribute, sublicense, and/or sell copies of the Software, and to8* permit persons to whom the Software is furnished to do so, subject to9* the following conditions:10*11* The above copyright notice and this permission notice shall be12* included in all copies or substantial portions of the Software.13*14* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,15* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF16* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND17* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS18* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN19* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN20* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE21* SOFTWARE.22*/2324#include "inner.h"2526static const br_config_option config[] = {27{ "BR_64",28#if BR_6429130#else31032#endif33},34{ "BR_AES_X86NI",35#if BR_AES_X86NI36137#else38039#endif40},41{ "BR_amd64",42#if BR_amd6443144#else45046#endif47},48{ "BR_ARMEL_CORTEXM_GCC",49#if BR_ARMEL_CORTEXM_GCC50151#else52053#endif54},55{ "BR_BE_UNALIGNED",56#if BR_BE_UNALIGNED57158#else59060#endif61},62{ "BR_CLANG",63#if BR_CLANG64165#else66067#endif68},69{ "BR_CLANG_3_7",70#if BR_CLANG_3_771172#else73074#endif75},76{ "BR_CLANG_3_8",77#if BR_CLANG_3_878179#else80081#endif82},83{ "BR_CT_MUL15",84#if BR_CT_MUL1585186#else87088#endif89},90{ "BR_CT_MUL31",91#if BR_CT_MUL3192193#else94095#endif96},97{ "BR_GCC",98#if BR_GCC991100#else1010102#endif103},104{ "BR_GCC_4_4",105#if BR_GCC_4_41061107#else1080109#endif110},111{ "BR_GCC_4_5",112#if BR_GCC_4_51131114#else1150116#endif117},118{ "BR_GCC_4_6",119#if BR_GCC_4_61201121#else1220123#endif124},125{ "BR_GCC_4_7",126#if BR_GCC_4_71271128#else1290130#endif131},132{ "BR_GCC_4_8",133#if BR_GCC_4_81341135#else1360137#endif138},139{ "BR_GCC_4_9",140#if BR_GCC_4_91411142#else1430144#endif145},146{ "BR_GCC_5_0",147#if BR_GCC_5_01481149#else1500151#endif152},153{ "BR_i386",154#if BR_i3861551156#else1570158#endif159},160{ "BR_INT128",161#if BR_INT1281621163#else1640165#endif166},167{ "BR_LE_UNALIGNED",168#if BR_LE_UNALIGNED1691170#else1710172#endif173},174{ "BR_LOMUL",175#if BR_LOMUL1761177#else1780179#endif180},181{ "BR_MAX_EC_SIZE", BR_MAX_EC_SIZE },182{ "BR_MAX_RSA_SIZE", BR_MAX_RSA_SIZE },183{ "BR_MAX_RSA_FACTOR", BR_MAX_RSA_FACTOR },184{ "BR_MSC",185#if BR_MSC1861187#else1880189#endif190},191{ "BR_MSC_2005",192#if BR_MSC_20051931194#else1950196#endif197},198{ "BR_MSC_2008",199#if BR_MSC_20082001201#else2020203#endif204},205{ "BR_MSC_2010",206#if BR_MSC_20102071208#else2090210#endif211},212{ "BR_MSC_2012",213#if BR_MSC_20122141215#else2160217#endif218},219{ "BR_MSC_2013",220#if BR_MSC_20132211222#else2230224#endif225},226{ "BR_MSC_2015",227#if BR_MSC_20152281229#else2300231#endif232},233{ "BR_POWER8",234#if BR_POWER82351236#else2370238#endif239},240{ "BR_RDRAND",241#if BR_RDRAND2421243#else2440245#endif246},247{ "BR_SLOW_MUL",248#if BR_SLOW_MUL2491250#else2510252#endif253},254{ "BR_SLOW_MUL15",255#if BR_SLOW_MUL152561257#else2580259#endif260},261{ "BR_SSE2",262#if BR_SSE22631264#else2650266#endif267},268{ "BR_UMUL128",269#if BR_UMUL1282701271#else2720273#endif274},275{ "BR_USE_UNIX_TIME",276#if BR_USE_UNIX_TIME2771278#else2790280#endif281},282{ "BR_USE_WIN32_RAND",283#if BR_USE_WIN32_RAND2841285#else2860287#endif288},289{ "BR_USE_WIN32_TIME",290#if BR_USE_WIN32_TIME2911292#else2930294#endif295},296297{ NULL, 0 }298};299300/* see bearssl.h */301const br_config_option *302br_get_config(void)303{304return config;305}306307308