/* The contents of this struct is internal. */
struct ecc_curve;
+/* FIXME: Rename with leading underscore. Due to ABI subtleties,
+ applications should not refer to these directly, but use the below
+ accessor functions. */
+extern const struct ecc_curve nettle_secp_192r1;
+extern const struct ecc_curve nettle_secp_224r1;
+extern const struct ecc_curve nettle_secp_256r1;
+extern const struct ecc_curve nettle_secp_384r1;
+extern const struct ecc_curve nettle_secp_521r1;
+
#ifdef __GNUC__
#define NETTLE_PURE __attribute__((pure))
#else
#undef NETTLE_PURE
-/* For backwards compatibility */
-#define nettle_secp_192r1 (*nettle_get_secp_192r1())
-#define nettle_secp_224r1 (*nettle_get_secp_224r1())
-#define nettle_secp_256r1 (*nettle_get_secp_256r1())
-#define nettle_secp_384r1 (*nettle_get_secp_384r1())
-#define nettle_secp_521r1 (*nettle_get_secp_521r1())
-
#ifdef __cplusplus
}
#endif
#define sec_modinv _nettle_sec_modinv
#define curve25519_eh_to_x _nettle_curve25519_eh_to_x
-/* FIXME: Rename with leading underscore, but keep current name (and
- size!) for now, for ABI compatibility with nettle-3.1, soname
- libhogweed.so.4. */
-#undef nettle_secp_192r1
-#undef nettle_secp_224r1
-#undef nettle_secp_256r1
-#undef nettle_secp_384r1
-#undef nettle_secp_521r1
-
-extern const struct ecc_curve nettle_secp_192r1;
-extern const struct ecc_curve nettle_secp_224r1;
-extern const struct ecc_curve nettle_secp_256r1;
-extern const struct ecc_curve nettle_secp_384r1;
-extern const struct ecc_curve nettle_secp_521r1;
-
/* Keep this structure internal for now. It's misnamed (since it's
really implementing the equivalent twisted Edwards curve, with
different coordinates). And we're not quite ready to provide