aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/src/ssh.hrl
diff options
context:
space:
mode:
authorPaul Meinhardt <[email protected]>2019-05-26 15:34:19 +0200
committerPaul Meinhardt <[email protected]>2019-06-06 00:16:54 +0200
commit508ddd5aaa189ddcf7a06f4342c187b07ec1734a (patch)
treee7cb102db743a2c12597ae8eea365730995e1e27 /lib/ssh/src/ssh.hrl
parent639ca4526b3f378bd1635fbc56f134d9c01e624b (diff)
downloadotp-508ddd5aaa189ddcf7a06f4342c187b07ec1734a.tar.gz
otp-508ddd5aaa189ddcf7a06f4342c187b07ec1734a.tar.bz2
otp-508ddd5aaa189ddcf7a06f4342c187b07ec1734a.zip
Remove duplication of SSH encoding macros
Diffstat (limited to 'lib/ssh/src/ssh.hrl')
-rw-r--r--lib/ssh/src/ssh.hrl19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/ssh/src/ssh.hrl b/lib/ssh/src/ssh.hrl
index 04453e6ef0..54e98ee10e 100644
--- a/lib/ssh/src/ssh.hrl
+++ b/lib/ssh/src/ssh.hrl
@@ -68,6 +68,25 @@
-define(string(X), ?string_utf8(X)).
-define(binary(X), << ?STRING(X) >>).
+-define('2bin'(X), (if is_binary(X) -> X;
+ is_list(X) -> list_to_binary(X);
+ X==undefined -> <<>>
+ end) ).
+
+%% encoding macros
+-define('E...'(X), ?'2bin'(X)/binary ).
+-define(Eboolean(X), ?BOOLEAN(case X of
+ true -> ?TRUE;
+ false -> ?FALSE
+ end) ).
+-define(Ebyte(X), ?BYTE(X) ).
+-define(Euint32(X), ?UINT32(X) ).
+-define(Estring(X), ?STRING(?'2bin'(X)) ).
+-define(Estring_utf8(X), ?string_utf8(X)/binary ).
+-define(Ename_list(X), ?STRING(ssh_bits:name_list(X)) ).
+-define(Empint(X), (ssh_bits:mpint(X))/binary ).
+-define(Ebinary(X), ?STRING(X) ).
+
%% Cipher details
-define(SSH_CIPHER_NONE, 0).
-define(SSH_CIPHER_3DES, 3).