root/trunk/thirdparty/cl+ssl/ffi-buffer.lisp

Revision 2698, 0.7 kB (checked in by hans, 10 months ago)

updated cl+ssl from CVS trunk - now with deadlines

Line 
1 (in-package :cl+ssl)
2
3 (defun make-buffer (size)
4   (cffi-sys::make-shareable-byte-vector size))
5
6 (defun buffer-length (buf)
7   (length buf))
8
9 (defun buffer-elt (buf index)
10   (elt buf index))
11 (defun set-buffer-elt (buf index val)
12   (setf (elt buf index) val))
13 (defsetf buffer-elt set-buffer-elt)
14
15 (defun v/b-replace (vec buf &key (start1 0) end1 (start2 0) end2)
16   (replace vec buf :start1 start1 :end1 end1 :start2 start2 :end2 end2))
17 (defun b/v-replace (buf vec &key (start1 0) end1 (start2 0) end2)
18   (replace buf vec :start1 start1 :end1 end1 :start2 start2 :end2 end2))
19
20 (defmacro with-pointer-to-vector-data ((ptr buf) &body body)
21   `(cffi-sys::with-pointer-to-vector-data (,ptr ,buf)
22     ,@body))
Note: See TracBrowser for help on using the browser.