# Function Calls

The following are the calls related to signals and messages.

## Allocating Signals

The following calls work with signal bits.

- `AllocSignal()` Allocates one or more signals for intertask communication.
- `ClearCurrentSignals()` Clears specified signals bits of the current task.
- `FreeSignal()` Frees signal bits.
- `GetCurrentSignals()` Returns the state of the current task's signal bits.
- `SendSignal()` Sends one or more signals to another task or thread.
- `WaitSignal()` Waits for one or more signals to arrive.

## Creating Messages and Message Ports

The following calls create messages and ports.

- `CreateBufferedMsg()` Creates a buffered message.
- `CreateMsg()` Creates a standard message.
- `CreateMsgPort()`Creates a message port.
- `CreateSmallMsg()`Creates a small message.
- `CreateUniqueMsgPort()`Creates a message port with a guaranteed unique name.

## Deleting Messages and Message Ports

The following calls delete messages and ports.

- `DeleteMsg()` Deletes a message of any type.
- `DeleteMsgPort()`Deletes a message port.

## Finding a Message Port

The following call finds a message port by name.

- `FindMsgPort()` Returns the item number of the message port having the specified name.

## Sending Messages

The following calls send different types of messages:

- `SendMsg()` Sends a message.
- `SendSmallMsg()`Sends a small message.

## Receiving Messages

The following calls retrieve messages:

- `GetMsg()` Gets a message from a message port.
- `GetThisMsg()` Gets a specific message.
- `WaitPort()`Waits for a message to arrive.

## Replying to Messages

The following calls reply to messages:

- `ReplyMsg()` Sends a reply to a message.
- `ReplySmallMsg()` Sends a reply to a small message.