From e86f1d02e4c79f6083fd35c851b91f80f9d64cea Mon Sep 17 00:00:00 2001 From: Darren Bane Date: Tue, 26 May 2020 21:22:02 +0100 Subject: Making changes --- xdr.lsp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 xdr.lsp (limited to 'xdr.lsp') 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)) -- cgit 1.4.1-2-gfad0