Function
fli
dereference pointer &key index type copy-foreign-object => value
An instance of an FLI pointer.
 An integer. If index is supplied,dereference assumes that pointer points to one element in an array of object, and returns the element at the index position in the array.
 The foreign object type that pointer points to. If the specified type is different to the actual type,dereference returns the value of the object in the format of type where possible.
This option is only important when dealing with aggregate FLI types, which cannot be returned by value.
If set tot,dereference makes a copy of the aggregate object pointed to by pointer and returns the copy.
If set tonil,dereference returns the aggregate object directly.
If set toerror thendereference signals an error. This is the default value for copy-foreign-object.
The value of the dereferenced object at pointer.
dereference accesses and returns the value of the FLI object pointed to by pointer, unless pointer points to an aggregate type. In the case of aggregates, the return value is specified by using the copy-foreign-object option. setf anddereference. See the examples section for an example of this. LONG type is defined and an instance, pointed to bypoint, with a specified initial value of 10 is created with memory allocated usingallocate-foreign-object. Thedereference function is then used to get the value thatpoint points to. 
(fli:define-c-typedef LONG :long)
(setq point (fli:allocate-foreign-object
             :type 'LONG
             :initial-element 10))
(fli:dereference point)
 LONG is changed to 20 usingsetf.(setf (fli:dereference point) 20)
char. (fli:define-c-typedef BOOL (:boolean :int)) (setq point2 (fli:allocate-foreign-object :type 'BOOL)) (fli:dereference point2 :type :char)