Primitive Types


Overview

Primitive types have a single value, these include characters, numbers, and pointers. They are all symbols in the keyword package.

  • :char - Signed 8-bits. A dereferenced :char pointer returns an character.

  • :unsigned-char - Unsigned 8-bits. A dereferenced :unsigned-char pointer returns an character.

  • :byte - Signed 8-bits. A dereferenced :byte pointer returns an integer.

  • :unsigned-byte - Unsigned 8-bits. A dereferenced :unsigned-byte pointer returns an integer.

  • :short - Signed 16-bits.

  • :unsigned-short - Unsigned 16-bits.

  • :int - Signed 32-bits.

  • :unsigned-int - Unsigned 32-bits.

  • :long - Signed 32 or 64 bit integer, depending upon the platform.

  • :unsigned-long - Unsigned 32 or 64 bit integer, depending upon the platform.

  • :long-long - Signed 64 bits integer for implementations that support this. If implementation does not support this, 'uffi:no-long-long is pushed on the <variable>cl:*features*</variable> list.

  • :unsigned-long-long - Unsigned 64 bits integer for implementations that support this. If implementation does not support this, 'uffi:no-long-long is pushed on the <variable>cl:*features*</variable> list.

  • :float - 32-bit floating point.

  • :double - 64-bit floating point.

  • :cstring - A NULL terminated string used for passing and returning characters strings with a C function.

  • :void - The absence of a value. Used to indicate that a function does not return a value.

  • :pointer-void - Points to a generic object.

  • * - Used to declare a pointer to an object

Table of Contents

def-constant — Binds a symbol to a constant.
def-foreign-type — Defines a new foreign type.
null-char-p — Tests a character for NULL value.