%In case this is used in a multilanguage document and is not input when the package for C is input, but later:
\unless\ifx\TcodeLang\empty
\let\CSavedLang\TcodeLang \def\TcodeLang{C}
\fi

% Concrete identifiers for the families in Cwords-families.tex
% Since those are open sets we just provide the most likely ones to appear.

% Typedefs %
\MakeWord{int8_t}{Typedef}
\MakeWord{int16_t}{Typedef}
\MakeWord{int24_t}{Typedef}
\MakeWord{int32_t}{Typedef}
\MakeWord{int48_t}{Typedef}
\MakeWord{int64_t}{Typedef}
\MakeWord{int96_t}{Typedef}
\MakeWord{int128_t}{Typedef}
\MakeWord{int256_t}{Typedef}
\MakeWord{uint8_t}{Typedef}
\MakeWord{uint16_t}{Typedef}
\MakeWord{uint24_t}{Typedef}
\MakeWord{uint32_t}{Typedef}
\MakeWord{uint48_t}{Typedef}
\MakeWord{uint64_t}{Typedef}
\MakeWord{uint96_t}{Typedef}
\MakeWord{uint128_t}{Typedef}
\MakeWord{uint256_t}{Typedef}
\MakeWord{int_least8_t}{Typedef}
\MakeWord{int_least16_t}{Typedef}
\MakeWord{int_least24_t}{Typedef}
\MakeWord{int_least32_t}{Typedef}
\MakeWord{int_least64_t}{Typedef}
\MakeWord{uint_least8_t}{Typedef}
\MakeWord{uint_least16_t}{Typedef}
\MakeWord{uint_least24_t}{Typedef}
\MakeWord{uint_least32_t}{Typedef}
\MakeWord{uint_least64_t}{Typedef}
\MakeWord{int_fast8_t}{Typedef}
\MakeWord{int_fast16_t}{Typedef}
\MakeWord{int_fast32_t}{Typedef}
\MakeWord{int_fast64_t}{Typedef}
\MakeWord{uint_fast8_t}{Typedef}
\MakeWord{uint_fast16_t}{Typedef}
\MakeWord{uint_fast32_t}{Typedef}
\MakeWord{uint_fast64_t}{Typedef}

%%% Macros %%%

% stdint.h
\MakeWord{INT8_MIN}{Macro}
\MakeWord{INT16_MIN}{Macro}
\MakeWord{INT24_MIN}{Macro}
\MakeWord{INT32_MIN}{Macro}
\MakeWord{INT48_MIN}{Macro}
\MakeWord{INT64_MIN}{Macro}
\MakeWord{INT96_MIN}{Macro}
\MakeWord{INT128_MIN}{Macro}
\MakeWord{INT8_MAX}{Macro}
\MakeWord{INT16_MAX}{Macro}
\MakeWord{INT24_MAX}{Macro}
\MakeWord{INT32_MAX}{Macro}
\MakeWord{INT48_MAX}{Macro}
\MakeWord{INT64_MAX}{Macro}
\MakeWord{INT96_MAX}{Macro}
\MakeWord{INT128_MAX}{Macro}
\MakeWord{UINT8_MAX}{Macro}
\MakeWord{UINT16_MAX}{Macro}
\MakeWord{UINT24_MAX}{Macro}
\MakeWord{UINT32_MAX}{Macro}
\MakeWord{UINT48_MAX}{Macro}
\MakeWord{UINT64_MAX}{Macro}
\MakeWord{UINT96_MAX}{Macro}
\MakeWord{UINT128_MAX}{Macro}
%
\MakeWord{INT_LEAST8_MIN}{Macro}
\MakeWord{INT_LEAST16_MIN}{Macro}
\MakeWord{INT_LEAST24_MIN}{Macro}
\MakeWord{INT_LEAST32_MIN}{Macro}
\MakeWord{INT_LEAST64_MIN}{Macro}
\MakeWord{INT_LEAST8_MAX}{Macro}
\MakeWord{INT_LEAST16_MAX}{Macro}
\MakeWord{INT_LEAST24_MAX}{Macro}
\MakeWord{INT_LEAST32_MAX}{Macro}
\MakeWord{INT_LEAST64_MAX}{Macro}
\MakeWord{UINT_LEAST8_MAX}{Macro}
\MakeWord{UINT_LEAST16_MAX}{Macro}
\MakeWord{UINT_LEAST24_MAX}{Macro}
\MakeWord{UINT_LEAST32_MAX}{Macro}
\MakeWord{UINT_LEAST64_MAX}{Macro}
%
\MakeWord{INT_FAST8_MIN}{Macro}
\MakeWord{INT_FAST16_MIN}{Macro}
\MakeWord{INT_FAST32_MIN}{Macro}
\MakeWord{INT_FAST64_MIN}{Macro}
\MakeWord{INT_FAST8_MAX}{Macro}
\MakeWord{INT_FAST16_MAX}{Macro}
\MakeWord{INT_FAST32_MAX}{Macro}
\MakeWord{INT_FAST64_MAX}{Macro}
\MakeWord{UINT_FAST8_MAX}{Macro}
\MakeWord{UINT_FAST16_MAX}{Macro}
\MakeWord{UINT_FAST32_MAX}{Macro}
\MakeWord{UINT_FAST64_MAX}{Macro}
%
\MakeWord{INT8_C}{Macro}
\MakeWord{INT16_C}{Macro}
\MakeWord{INT24_C}{Macro}
\MakeWord{INT32_C}{Macro}
\MakeWord{INT64_C}{Macro}
\MakeWord{UINT8_C}{Macro}
\MakeWord{UINT16_C}{Macro}
\MakeWord{UINT24_C}{Macro}
\MakeWord{UINT32_C}{Macro}
\MakeWord{UINT64_C}{Macro}

% inttpyes.h
\MakeWord{PRId8}{Macro}
\MakeWord{PRId16}{Macro}
\MakeWord{PRId24}{Macro}
\MakeWord{PRId32}{Macro}
\MakeWord{PRId48}{Macro}
\MakeWord{PRId64}{Macro}
\MakeWord{PRId96}{Macro}
\MakeWord{PRId128}{Macro}
\MakeWord{PRIdLEAST8}{Macro}
\MakeWord{PRIdLEAST16}{Macro}
\MakeWord{PRIdLEAST24}{Macro}
\MakeWord{PRIdLEAST32}{Macro}
\MakeWord{PRIdLEAST64}{Macro}
\MakeWord{PRIdFAST8}{Macro}
\MakeWord{PRIdFAST16}{Macro}
\MakeWord{PRIdFAST32}{Macro}
\MakeWord{PRIdFAST64}{Macro}
\MakeWord{PRIdPTR}{Macro}
%
\MakeWord{PRIi8}{Macro}
\MakeWord{PRIi16}{Macro}
\MakeWord{PRIi24}{Macro}
\MakeWord{PRIi32}{Macro}
\MakeWord{PRIi48}{Macro}
\MakeWord{PRIi64}{Macro}
\MakeWord{PRIi96}{Macro}
\MakeWord{PRIi128}{Macro}
\MakeWord{PRIiLEAST8}{Macro}
\MakeWord{PRIiLEAST16}{Macro}
\MakeWord{PRIiLEAST24}{Macro}
\MakeWord{PRIiLEAST32}{Macro}
\MakeWord{PRIiLEAST64}{Macro}
\MakeWord{PRIiFAST8}{Macro}
\MakeWord{PRIiFAST16}{Macro}
\MakeWord{PRIiFAST32}{Macro}
\MakeWord{PRIiFAST64}{Macro}
\MakeWord{PRIiPTR}{Macro}
%
\MakeWord{PRIo8}{Macro}
\MakeWord{PRIo16}{Macro}
\MakeWord{PRIo24}{Macro}
\MakeWord{PRIo32}{Macro}
\MakeWord{PRIo48}{Macro}
\MakeWord{PRIo64}{Macro}
\MakeWord{PRIo96}{Macro}
\MakeWord{PRIo128}{Macro}
\MakeWord{PRIoLEAST8}{Macro}
\MakeWord{PRIoLEAST16}{Macro}
\MakeWord{PRIoLEAST24}{Macro}
\MakeWord{PRIoLEAST32}{Macro}
\MakeWord{PRIoLEAST64}{Macro}
\MakeWord{PRIoFAST8}{Macro}
\MakeWord{PRIoFAST16}{Macro}
\MakeWord{PRIoFAST32}{Macro}
\MakeWord{PRIoFAST64}{Macro}
\MakeWord{PRIoPTR}{Macro}
%
\MakeWord{PRIu8}{Macro}
\MakeWord{PRIu16}{Macro}
\MakeWord{PRIu24}{Macro}
\MakeWord{PRIu32}{Macro}
\MakeWord{PRIu48}{Macro}
\MakeWord{PRIu64}{Macro}
\MakeWord{PRIu96}{Macro}
\MakeWord{PRIu128}{Macro}
\MakeWord{PRIuLEAST8}{Macro}
\MakeWord{PRIuLEAST16}{Macro}
\MakeWord{PRIuLEAST24}{Macro}
\MakeWord{PRIuLEAST32}{Macro}
\MakeWord{PRIuLEAST64}{Macro}
\MakeWord{PRIuFAST8}{Macro}
\MakeWord{PRIuFAST16}{Macro}
\MakeWord{PRIuFAST32}{Macro}
\MakeWord{PRIuFAST64}{Macro}
\MakeWord{PRIuPTR}{Macro}
%
\MakeWord{PRIx8}{Macro}
\MakeWord{PRIx16}{Macro}
\MakeWord{PRIx24}{Macro}
\MakeWord{PRIx32}{Macro}
\MakeWord{PRIx48}{Macro}
\MakeWord{PRIx64}{Macro}
\MakeWord{PRIx96}{Macro}
\MakeWord{PRIx128}{Macro}
\MakeWord{PRIxLEAST8}{Macro}
\MakeWord{PRIxLEAST16}{Macro}
\MakeWord{PRIxLEAST24}{Macro}
\MakeWord{PRIxLEAST32}{Macro}
\MakeWord{PRIxLEAST64}{Macro}
\MakeWord{PRIxFAST8}{Macro}
\MakeWord{PRIxFAST16}{Macro}
\MakeWord{PRIxFAST32}{Macro}
\MakeWord{PRIxFAST64}{Macro}
\MakeWord{PRIxPTR}{Macro}
\MakeWord{SCNd8}{Macro}
\MakeWord{SCNd16}{Macro}
\MakeWord{SCNd24}{Macro}
\MakeWord{SCNd32}{Macro}
\MakeWord{SCNd48}{Macro}
\MakeWord{SCNd64}{Macro}
\MakeWord{SCNd96}{Macro}
\MakeWord{SCNd128}{Macro}
\MakeWord{SCNdLEAST8}{Macro}
\MakeWord{SCNdLEAST16}{Macro}
\MakeWord{SCNdLEAST24}{Macro}
\MakeWord{SCNdLEAST32}{Macro}
\MakeWord{SCNdLEAST64}{Macro}
\MakeWord{SCNdFAST8}{Macro}
\MakeWord{SCNdFAST16}{Macro}
\MakeWord{SCNdFAST32}{Macro}
\MakeWord{SCNdFAST64}{Macro}
\MakeWord{SCNdPTR}{Macro}
%
\MakeWord{SCNi8}{Macro}
\MakeWord{SCNi16}{Macro}
\MakeWord{SCNi24}{Macro}
\MakeWord{SCNi32}{Macro}
\MakeWord{SCNi48}{Macro}
\MakeWord{SCNi64}{Macro}
\MakeWord{SCNi96}{Macro}
\MakeWord{SCNi128}{Macro}
\MakeWord{SCNiLEAST8}{Macro}
\MakeWord{SCNiLEAST16}{Macro}
\MakeWord{SCNiLEAST24}{Macro}
\MakeWord{SCNiLEAST32}{Macro}
\MakeWord{SCNiLEAST64}{Macro}
\MakeWord{SCNiFAST8}{Macro}
\MakeWord{SCNiFAST16}{Macro}
\MakeWord{SCNiFAST32}{Macro}
\MakeWord{SCNiFAST64}{Macro}
\MakeWord{SCNiPTR}{Macro}
%
\MakeWord{SCNo8}{Macro}
\MakeWord{SCNo16}{Macro}
\MakeWord{SCNo24}{Macro}
\MakeWord{SCNo32}{Macro}
\MakeWord{SCNo48}{Macro}
\MakeWord{SCNo64}{Macro}
\MakeWord{SCNo96}{Macro}
\MakeWord{SCNo128}{Macro}
\MakeWord{SCNoLEAST8}{Macro}
\MakeWord{SCNoLEAST16}{Macro}
\MakeWord{SCNoLEAST24}{Macro}
\MakeWord{SCNoLEAST32}{Macro}
\MakeWord{SCNoLEAST64}{Macro}
\MakeWord{SCNoFAST8}{Macro}
\MakeWord{SCNoFAST16}{Macro}
\MakeWord{SCNoFAST32}{Macro}
\MakeWord{SCNoFAST64}{Macro}
\MakeWord{SCNoPTR}{Macro}
%
\MakeWord{SCNu8}{Macro}
\MakeWord{SCNu16}{Macro}
\MakeWord{SCNu24}{Macro}
\MakeWord{SCNu32}{Macro}
\MakeWord{SCNu48}{Macro}
\MakeWord{SCNu64}{Macro}
\MakeWord{SCNu96}{Macro}
\MakeWord{SCNu128}{Macro}
\MakeWord{SCNuLEAST8}{Macro}
\MakeWord{SCNuLEAST16}{Macro}
\MakeWord{SCNuLEAST24}{Macro}
\MakeWord{SCNuLEAST32}{Macro}
\MakeWord{SCNuLEAST64}{Macro}
\MakeWord{SCNuFAST8}{Macro}
\MakeWord{SCNuFAST16}{Macro}
\MakeWord{SCNuFAST32}{Macro}
\MakeWord{SCNuFAST64}{Macro}
\MakeWord{SCNuPTR}{Macro}
%
\MakeWord{SCNx8}{Macro}
\MakeWord{SCNx16}{Macro}
\MakeWord{SCNx24}{Macro}
\MakeWord{SCNx32}{Macro}
\MakeWord{SCNx48}{Macro}
\MakeWord{SCNx64}{Macro}
\MakeWord{SCNx96}{Macro}
\MakeWord{SCNx128}{Macro}
\MakeWord{SCNxLEAST8}{Macro}
\MakeWord{SCNxLEAST16}{Macro}
\MakeWord{SCNxLEAST24}{Macro}
\MakeWord{SCNxLEAST32}{Macro}
\MakeWord{SCNxLEAST64}{Macro}
\MakeWord{SCNxFAST8}{Macro}
\MakeWord{SCNxFAST16}{Macro}
\MakeWord{SCNxFAST32}{Macro}
\MakeWord{SCNxFAST64}{Macro}
\MakeWord{SCNxPTR}{Macro}

% Functions from stdbit.h

\MakeWord{stdc_memreverse8u8}{Function}
\MakeWord{stdc_memreverse8u16}{Function}
\MakeWord{stdc_memreverse8u32}{Function}
\MakeWord{stdc_memreverse8u64}{Function}
%
\MakeWord{stdc_load8_leu8}{Function}
\MakeWord{stdc_load8_leu16}{Function}
\MakeWord{stdc_load8_leu32}{Function}
\MakeWord{stdc_load8_leu64}{Function}
\MakeWord{stdc_load8_beu8}{Function}
\MakeWord{stdc_load8_beu16}{Function}
\MakeWord{stdc_load8_beu32}{Function}
\MakeWord{stdc_load8_beu64}{Function}
\MakeWord{stdc_load8_les8}{Function}
\MakeWord{stdc_load8_les16}{Function}
\MakeWord{stdc_load8_les32}{Function}
\MakeWord{stdc_load8_les64}{Function}
\MakeWord{stdc_load8_bes8}{Function}
\MakeWord{stdc_load8_bes16}{Function}
\MakeWord{stdc_load8_bes32}{Function}
\MakeWord{stdc_load8_bes64}{Function}
\MakeWord{stdc_load8_aligned_leu8}{Function}
\MakeWord{stdc_load8_aligned_leu16}{Function}
\MakeWord{stdc_load8_aligned_leu32}{Function}
\MakeWord{stdc_load8_aligned_leu64}{Function}
\MakeWord{stdc_load8_aligned_beu8}{Function}
\MakeWord{stdc_load8_aligned_beu16}{Function}
\MakeWord{stdc_load8_aligned_beu32}{Function}
\MakeWord{stdc_load8_aligned_beu64}{Function}
\MakeWord{stdc_load8_aligned_les8}{Function}
\MakeWord{stdc_load8_aligned_les16}{Function}
\MakeWord{stdc_load8_aligned_les32}{Function}
\MakeWord{stdc_load8_aligned_les64}{Function}
\MakeWord{stdc_load8_aligned_bes8}{Function}
\MakeWord{stdc_load8_aligned_bes16}{Function}
\MakeWord{stdc_load8_aligned_bes32}{Function}
\MakeWord{stdc_load8_aligned_bes64}{Function}
%
\MakeWord{stdc_store8_leu8}{Function}
\MakeWord{stdc_store8_leu16}{Function}
\MakeWord{stdc_store8_leu32}{Function}
\MakeWord{stdc_store8_leu64}{Function}
\MakeWord{stdc_store8_beu8}{Function}
\MakeWord{stdc_store8_beu16}{Function}
\MakeWord{stdc_store8_beu32}{Function}
\MakeWord{stdc_store8_beu64}{Function}
\MakeWord{stdc_store8_les8}{Function}
\MakeWord{stdc_store8_les16}{Function}
\MakeWord{stdc_store8_les32}{Function}
\MakeWord{stdc_store8_les64}{Function}
\MakeWord{stdc_store8_bes8}{Function}
\MakeWord{stdc_store8_bes16}{Function}
\MakeWord{stdc_store8_bes32}{Function}
\MakeWord{stdc_store8_bes64}{Function}
\MakeWord{stdc_store8_aligned_leu8}{Function}
\MakeWord{stdc_store8_aligned_leu16}{Function}
\MakeWord{stdc_store8_aligned_leu32}{Function}
\MakeWord{stdc_store8_aligned_leu64}{Function}
\MakeWord{stdc_store8_aligned_beu8}{Function}
\MakeWord{stdc_store8_aligned_beu16}{Function}
\MakeWord{stdc_store8_aligned_beu32}{Function}
\MakeWord{stdc_store8_aligned_beu64}{Function}
\MakeWord{stdc_store8_aligned_les8}{Function}
\MakeWord{stdc_store8_aligned_les16}{Function}
\MakeWord{stdc_store8_aligned_les32}{Function}
\MakeWord{stdc_store8_aligned_les64}{Function}
\MakeWord{stdc_store8_aligned_bes8}{Function}
\MakeWord{stdc_store8_aligned_bes16}{Function}
\MakeWord{stdc_store8_aligned_bes32}{Function}
\MakeWord{stdc_store8_aligned_bes64}{Function}

\unless\ifx\TcodeLang\empty \let\TcodeLang\CSavedLang \fi
