1f08c3bdfSopenharmony_ci 2f08c3bdfSopenharmony_ciextern float strtof(const char *__restrict__ ptr, char **__restrict__ endptr); 3f08c3bdfSopenharmony_ciextern double strtod(const char *__restrict ptr, char **__restrict endptr); 4f08c3bdfSopenharmony_ci/* restrict: -std=c99 or -std=gnu99 or -std=c11 */ 5f08c3bdfSopenharmony_ciextern long double strtold(const char *restrict ptr, char **restrict endptr); 6f08c3bdfSopenharmony_ci 7f08c3bdfSopenharmony_ciextern int (*funcs[])(void); 8f08c3bdfSopenharmony_ci 9f08c3bdfSopenharmony_ci/* typeof: no -std or -std=gnu90 or -std=gnu99 or -std=gnu11 */ 10f08c3bdfSopenharmony_ciextern typeof (funcs[0]) f0; 11f08c3bdfSopenharmony_ciextern __typeof (funcs[1]) f1; 12f08c3bdfSopenharmony_ciextern __typeof__(funcs[2]) f2; 13f08c3bdfSopenharmony_ci 14f08c3bdfSopenharmony_citypedef unsigned short uint16_t; 15f08c3bdfSopenharmony_citypedef unsigned int uint32_t; 16f08c3bdfSopenharmony_citypedef unsigned long long uint64_t; 17f08c3bdfSopenharmony_ci 18f08c3bdfSopenharmony_cistatic __inline__ uint16_t swap16(uint16_t val) 19f08c3bdfSopenharmony_ci{ 20f08c3bdfSopenharmony_ci return ((((uint16_t)(val) & (uint16_t)0x00ffU) << 8) | 21f08c3bdfSopenharmony_ci (((uint16_t)(val) & (uint16_t)0xff00U) >> 8)); 22f08c3bdfSopenharmony_ci} 23f08c3bdfSopenharmony_ci 24f08c3bdfSopenharmony_cistatic __inline uint32_t swap32(uint32_t val) 25f08c3bdfSopenharmony_ci{ 26f08c3bdfSopenharmony_ci return ((((uint32_t)(val) & (uint32_t)0x000000ffUL) << 24) | 27f08c3bdfSopenharmony_ci (((uint32_t)(val) & (uint32_t)0x0000ff00UL) << 8) | 28f08c3bdfSopenharmony_ci (((uint32_t)(val) & (uint32_t)0x00ff0000UL) >> 8) | 29f08c3bdfSopenharmony_ci (((uint32_t)(val) & (uint32_t)0xff000000UL) >> 24)); 30f08c3bdfSopenharmony_ci} 31f08c3bdfSopenharmony_ci 32f08c3bdfSopenharmony_ci/* inline: no -std or -std=gnu90 or -std=c99 or -std=c11 */ 33f08c3bdfSopenharmony_cistatic inline uint64_t swap64(uint64_t val) 34f08c3bdfSopenharmony_ci{ 35f08c3bdfSopenharmony_ci return ((((uint64_t)(val) & (uint64_t)0x00000000000000ffULL) << 56) | 36f08c3bdfSopenharmony_ci (((uint64_t)(val) & (uint64_t)0x000000000000ff00ULL) << 40) | 37f08c3bdfSopenharmony_ci (((uint64_t)(val) & (uint64_t)0x0000000000ff0000ULL) << 24) | 38f08c3bdfSopenharmony_ci (((uint64_t)(val) & (uint64_t)0x00000000ff000000ULL) << 8) | 39f08c3bdfSopenharmony_ci (((uint64_t)(val) & (uint64_t)0x000000ff00000000ULL) >> 8) | 40f08c3bdfSopenharmony_ci (((uint64_t)(val) & (uint64_t)0x0000ff0000000000ULL) >> 24) | 41f08c3bdfSopenharmony_ci (((uint64_t)(val) & (uint64_t)0x00ff000000000000ULL) >> 40) | 42f08c3bdfSopenharmony_ci (((uint64_t)(val) & (uint64_t)0xff00000000000000ULL) >> 56)); 43f08c3bdfSopenharmony_ci} 44f08c3bdfSopenharmony_ci/* 45f08c3bdfSopenharmony_ci * check-name: alternate keywords 46f08c3bdfSopenharmony_ci */ 47