#define HEADER_CRYPTO_H
#include <stdlib.h>
+#include <time.h>
#include <openssl/e_os2.h>
#include <stdio.h>
#endif
-/* Get FIPS renames if needed */
-#if defined(OPENSSL_FIPSCANISTER) && defined(OPENSSL_FIPSAPI)
-#include <openssl/fips.h>
-#endif
-
#include <openssl/stack.h>
#include <openssl/safestack.h>
#include <openssl/opensslv.h>
one way or another */
#include <openssl/symhacks.h>
-/* For FIPS mode rename all OpenSSL symbols to avoid clashes with a
- * non-FIPS OpenSSL.
- */
-
-#if defined(OPENSSL_FIPSCANISTER)
-# include <openssl/fipssyms.h>
-#else
-# define __fips_constseg
-#endif
-
#ifdef __cplusplus
extern "C" {
#endif
#define OPENSSL_malloc_locked(num) \
CRYPTO_malloc_locked((int)num,__FILE__,__LINE__)
#define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr)
+#define OPENSSL_MALLOC_MAX_NELEMS(type) (((1U<<(sizeof(int)*8-1))-1)/sizeof(type))
const char *SSLeay_version(int type);
int FIPS_mode(void);
int FIPS_mode_set(int r);
+void OPENSSL_init(void);
+
+/* CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. It
+ * takes an amount of time dependent on |len|, but independent of the contents
+ * of |a| and |b|. Unlike memcmp, it cannot be used to put elements into a
+ * defined order as the return value when a != b is undefined, other than to be
+ * non-zero. */
+int CRYPTO_memcmp(const void *a, const void *b, size_t len);
+
/* BEGIN ERROR CODES */
/* The following lines are auto generated by the script mkerr.pl. Any changes
* made after this point may be overwritten when the script is next run.
*/
void ERR_load_CRYPTO_strings(void);
+struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result);
+int OPENSSL_gmtime_adj(struct tm *tm, int offset_day, long offset_sec);
+int OPENSSL_gmtime_diff(int *pday, int *psec,
+ const struct tm *from, const struct tm *to);
+
/* Error codes for the CRYPTO functions. */
/* Function codes. */