# Function Calls

The following kernel function calls control items. See Kernel Folio Calls, in the 3DO System Programmer's Reference for a complete description of these calls.

## Creating Items

The following calls create items:

- `CreateBufferedMsg()` Creates a buffered message.
- `CreateIOReq()` Creates an I/O request.
- `CreateItem()` Creates an item.
- `CreateMsg()` Creates a standard message.
- `CreateMsgPort()` Creates a message port.
- `CreateSemaphore()` Creates a semaphore.
- `CreateSmallMsg)` Creates a small message.
- `CreateThread()` Creates a thread.
- `CreateUniqueMsgPort()` Creates a message port with a guaranteed unique name.
- `CreateUniqueSemaphore()` Creates a semaphore with a guaranteed unique name.

## Opening Items

The following calls open items:

- `FindAndOpenDevice()` Finds and opens a device item.
- `FindAndOpenFolio()` Finds and opens a folio item.
- `FindAndOpenItem()` Finds and opens an item.
- `FindAndOpenNamedItem()` Finds an item by name and opens it.
- `OpenItem()` Opens a system item.
- `OpenNamedDevice()` Opens the named device.

## Managing Items

The following calls manage items:

- `CheckItem()` Checks to see if an item exists.
- `FindDevice()` Finds a device item by name.
- `FindFolio()` Finds a folio item by name.
- `FindItem()` Finds an item by type and tag arguments.
- `FindMsgPort()` Finds a message port item by name.
- `FindNamedItem()`Finds an item by name.
- `FindSemaphore()` Finds a semaphore item by name.
- `FindTask()`Finds a task item by name.
- `FindVersionedItem()`Finds an item by name and version number.
- `LookupItem()`Gets a pointer to an item.
- `SetItemOwner()`Changes the owner of an item.
- `SetItemPri()`Changes the priority of an item.

## Closing and Deleting Items

The following calls close and delete items:

- `CloseItem()` Closes a system item.
- `CloseNamedDevice()` Closes a device item.
- `DeleteIOReq()` Deletes an IOReq item.
- `DeleteItem()` Deletes an item.
- `DeleteMsg()`Deletes a message item.
- `DeleteMsgPort()`Deletes a message port item.
- `DeleteSemaphore()` Deletes a semaphore item.
- `DeleteThread()`Deletes a thread.