3 dnl (progn (modify-syntax-entry ?< "(>") (modify-syntax-entry ?> ")<") )
5 dnl FORTRAN style comment character
8 dnl Disable m4 comment processing, since the default, #, is used for
9 dnl constants on some architectures, in particular ARM.
12 dnl Including files from the srcdir
13 define(<include_src>, <include(srcdir/$1)>)dnl
15 dnl default definition, changed in fat builds
16 define(<fat_transform>, <$1>)
17 define(<C_NAME>, <SYMBOL_PREFIX<>fat_transform($1)>)
20 define(<DECLARE_FUNC>,
21 <ifelse(ELF_STYLE,yes,
22 <.type $1,TYPE_FUNCTION>,
30 define(<GMP_NUMB_BITS>,<>)dnl
34 DECLARE_FUNC(C_NAME($1))
38 <ifelse(ELF_STYLE,yes,
39 <.size C_NAME($1), . - C_NAME($1)>,<>)>)
41 define(<m4_log2>, <m4_log2_internal($1,1,0)>)
42 define(<m4_log2_internal>,
43 <ifelse($3, 10, <not-a-power-of-two>,
45 <m4_log2_internal($1, eval(2*$2), eval(1 + $3))>)>)
47 dnl Argument to ALIGN is always in bytes, and converted to a
48 dnl logarithmic .align if necessary.
51 <.align ifelse(ALIGN_LOG,yes,<m4_log2($1)>,$1)
54 dnl Struct defining macros
57 define(<STRUCTURE>, <define(<SOFFSET>, 0)define(<SPREFIX>, <$1>)>)dnl
59 dnl STRUCT(name, size)
61 <define(SPREFIX<_>$1, SOFFSET)dnl
62 define(<SOFFSET>, eval(SOFFSET + ($2)))>)dnl
65 define(<UCHAR>, <STRUCT(<$1>, 1)>)dnl
68 define(<UNSIGNED>, <STRUCT(<$1>, 4)>)dnl
70 dnl Offsets in arcfour_ctx
76 dnl Offsets in aes_table
77 define(AES_SBOX_SIZE, 256)dnl
78 define(AES_TABLE_SIZE, 1024)dnl
81 STRUCT(SBOX, AES_SBOX_SIZE)
82 STRUCT(TABLE0, AES_TABLE_SIZE)
83 STRUCT(TABLE1, AES_TABLE_SIZE)
84 STRUCT(TABLE2, AES_TABLE_SIZE)
85 STRUCT(TABLE3, AES_TABLE_SIZE)
87 C For 64-bit implementation