def-struct
Prev | Aggregate Types | Next

## Name

def-struct — Defines a `C` structure. Macro

## Syntax

    	  def-struct name &rest fields

## Arguments and Values

`name`

  A symbol that names the structure.

`fields`

  A variable number of field defintions. Each definition is a list consisting of a symbol naming the field followed by its foreign type.

## Description

Declares a structure. A special type is available as a slot in the field. It is a pointer that points to an instance of the parent structure. It's type is `:pointer-self`.

## Examples

    (def-struct foo (a :unsigned-int)
                    (b (* :char))
                    (c (:array :int 10))
                    (next :pointer-self))

## Side Effects

Creates a foreign type.

## Affected by

None.

## Exceptional Situations

None.

Prev | Up | Next
def-enum | Home | get-slot-value