diff options
author | Darren Bane <dbane@tilde.institute> | 2020-05-26 21:22:02 +0100 |
---|---|---|
committer | Darren Bane <dbane@tilde.institute> | 2020-05-26 21:22:02 +0100 |
commit | e86f1d02e4c79f6083fd35c851b91f80f9d64cea (patch) | |
tree | aa43e604fc22b8bb1c8c25df2f8421724a7f9773 /xdr.lsp | |
parent | 4d40956bf90f368bbb6c864148d9a9c4842199b6 (diff) | |
download | lsp-e86f1d02e4c79f6083fd35c851b91f80f9d64cea.tar.gz |
Making changes
Diffstat (limited to 'xdr.lsp')
-rw-r--r-- | xdr.lsp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/xdr.lsp b/xdr.lsp new file mode 100644 index 0000000..34d9024 --- /dev/null +++ b/xdr.lsp @@ -0,0 +1,23 @@ +(defpackage #:xdr + (:use #:openlisp) + (:export + #:h-to-xdr + #:xdr-to-h)) +(in-package #:xdr) +(defglobal *encode-buf*) +(defun buffer-init (buf op) + (case op + ((encode) (setq *encode-buf* buf)) + ((decode) (setq *decode-buf* buf)) + (t (error "bad op")))) +(defun set-be-x (buf n) + (setf (elt buf 0) (logand (ash -56 n) #xFF)) + (setf (elt buf 1) (logand (ash -48 n) #xFF))) +(defun h-to-xdr (n) + (set-be-x xdr-encode-buf n)) +(provide "xdr") + +(deftest wrt-test () + (buffer-init buffer 'encode) + (i-to-xdr 1234) + (write-file buffer +bytes-per-unit+ fh)) |