aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/c_src/common.h
diff options
context:
space:
mode:
authorHans Nilsson <[email protected]>2019-03-22 10:31:29 +0100
committerHans Nilsson <[email protected]>2019-03-22 10:31:29 +0100
commitefe5385cd8b5c5477a840557b90da6f44256f83e (patch)
treeb1e113dc27755d64e38f3f40c32bf66a2770b98d /lib/crypto/c_src/common.h
parent7ddbc128e6eabe662a15e37f85045284ad9f27c8 (diff)
parentea884fc1297a675ccbb08420bf1eae9f1faa94a2 (diff)
downloadotp-efe5385cd8b5c5477a840557b90da6f44256f83e.tar.gz
otp-efe5385cd8b5c5477a840557b90da6f44256f83e.tar.bz2
otp-efe5385cd8b5c5477a840557b90da6f44256f83e.zip
Merge branch 'hans/crypto/aead_error_handling'
* hans/crypto/aead_error_handling: crypto: New error schema in aead.c crypto: Move new error macros to common.h crypto: Use key length in alias/2
Diffstat (limited to 'lib/crypto/c_src/common.h')
-rw-r--r--lib/crypto/c_src/common.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/crypto/c_src/common.h b/lib/crypto/c_src/common.h
index 2bc8bdd73c..0bf7f09f4f 100644
--- a/lib/crypto/c_src/common.h
+++ b/lib/crypto/c_src/common.h
@@ -35,4 +35,15 @@
#include "openssl_config.h"
#include "atoms.h"
+
+/* All nif functions return a valid value or throws an exception */
+#define EXCP(Env, Id, Str) enif_raise_exception((Env), \
+ enif_make_tuple2((Env), \
+ (Id), \
+ enif_make_string((Env),(Str),(ERL_NIF_LATIN1)) ))
+
+#define EXCP_NOTSUP(Env, Str) EXCP((Env), atom_notsup, (Str))
+#define EXCP_BADARG(Env, Str) EXCP((Env), atom_badarg, (Str))
+#define EXCP_ERROR(Env, Str) EXCP((Env), atom_error, (Str))
+
#endif /* E_COMMON_H__ */