+;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+;;;; *************************************************************************
+;;;; FILE IDENTIFICATION
+;;;;
+;;;; Name: array-2d.cl
+;;;; Purpose: UFFI Example file use 2-dimensional arrays
+;;;; Programmer: Kevin M. Rosenberg
+;;;; Date Started: Mar 2002
+;;;;
+;;;; $Id: array-2d.cl,v 1.1 2002/03/18 02:27:32 kevin Exp $
+;;;;
+;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
+;;;;
+;;;; UFFI users are granted the rights to distribute and use this software
+;;;; as governed by the terms of the Lisp Lesser GNU Public License
+;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
+;;;; *************************************************************************
+
+(in-package :cl-user)
+
+(uffi:def-constant +column-length+ 10)
+
+(uffi:def-array long-array (:long 10))
+
+(defun test-array-2d ()
+ "Tests 2d array"
+ (let ((a (uffi:allocate-foreign-object long-array)))
+ (dotimes (i +column-length+)
+ (setf (uffi:deref-array a :long i) (* i i)))
+ (dotimes (i +column-length+)
+ (format "~&~D => ~D" i (uffi:deref-array a 'long-array i)))
+ (uffi:free-foreign-object a)))
+
+#+test-uffi
+(test-array-2d)
+
+