# Message port

An item through which a task receives messages.

### Description

A message port is an item through which a task receives messages.

### Folio

kernel

### Item Type

MSGPORTNODE

### Create

`CreateMsgPort(), CreateItem()`

### Delete

`DeleteMsgPort`(), DeleteItem()

### Query

`FindMsgPort`(), FindItem(), FindNamedItem(), FindVersionedItem()

### Use

`WaitPort`(), GetMsg(), SendMsg(), SendSmallMsg(), ReplyMsg(), ReplySmallMsg()

### Tags

CREATEPORT_TAG_SIGNAL
  (int32) Create. Whenever a message arrives at a message port, the kernel sends a signal to the owner of the message port. This tag lets you specify which signal should be sent. If this tag is not provided, the kernel will allocate a signal for the message port itself.

CREATEPORT_TAG_USERDATA
  (void *) Create. Lets you specify the 32-bit value that gets put into the mp_UserData field of the MsgPort structure. This can be anything you want, and is sometimes useful to idenify a message port.