32#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
33#define ARCH_LITTLE_ENDIAN
35#define ARCH_BIG_ENDIAN
38#if defined(__UINT64_TYPE__) && !defined(NATIVE_64BITS)
50#ifdef ARCH_LITTLE_ENDIAN
115#define CX_LAST (1 << 0)
120#define CX_SIG_MODE (1 << 1)
125#define CX_MASK_SIGCRYPT (3 << 1)
126#define CX_ENCRYPT (2 << 1)
127#define CX_DECRYPT (0 << 1)
128#define CX_SIGN (CX_SIG_MODE | CX_ENCRYPT)
129#define CX_VERIFY (CX_SIG_MODE | CX_DECRYPT)
134#define CX_MASK_PAD (7 << 3)
135#define CX_PAD_NONE (0 << 3)
136#define CX_PAD_ISO9797M1 (1 << 3)
137#define CX_PAD_ISO9797M2 (2 << 3)
138#define CX_PAD_PKCS1_1o5 (3 << 3)
139#define CX_PAD_PKCS1_PSS (4 << 3)
140#define CX_PAD_PKCS1_OAEP (5 << 3)
145#define CX_MASK_CHAIN (7 << 6)
146#define CX_CHAIN_ECB (0 << 6)
147#define CX_CHAIN_CBC (1 << 6)
148#define CX_CHAIN_CTR (2 << 6)
149#define CX_CHAIN_CFB (3 << 6)
150#define CX_CHAIN_OFB (4 << 6)
155#define CX_MASK_ECC_VARIANT (7 << 6)
156#define CX_NO_CANONICAL (1 << 6)
161#define CX_MASK_RND (7 << 9)
162#define CX_RND_PRNG (1 << 9)
163#define CX_RND_TRNG (2 << 9)
164#define CX_RND_RFC6979 (3 << 9)
165#define CX_RND_PROVIDED (4 << 9)
170#define CX_MASK_EC (7 << 12)
171#define CX_ECSCHNORR_BIP0340 (0 << 12)
172#define CX_ECDH_POINT (1 << 12)
173#define CX_ECDH_X (2 << 12)
174#define CX_ECSCHNORR_ISO14888_XY (3 << 12)
175#define CX_ECSCHNORR_ISO14888_X (4 << 12)
176#define CX_ECSCHNORR_BSI03111 (5 << 12)
177#define CX_ECSCHNORR_LIBSECP (6 << 12)
178#define CX_ECSCHNORR_Z (7 << 12)
183#define CX_NO_REINIT (1 << 15)
struct uint64_s uint64bits_t
Similar to libc iovec type.
64-bit types, native or by-hands, depending on target and/or compiler support.
uint32_t l
32 least significant bits
uint32_t h
32 most significant bits