# 4. `ctb` -- Interface to the Communications Tool Box

Availability: Macintosh.

This module provides a partial interface to the Macintosh Communications Toolbox. Currently, only Connection Manager tools are supported. It may not be available in all Mac Python versions.

`error`
  The exception raised on errors.

`cmData`
`cmCntl`
`cmAttn`
  Flags for the channel argument of the `Read()` and `Write()` methods.

`cmFlagsEOM`
  End-of-message flag for `Read()` and `Write()`.

`choose*`
  Values returned by `Choose()`.

`cmStatus*`
  Bits in the status as returned by `Status()`.

`available` ()
  Return `1` if the Communication Toolbox is available, zero otherwise.

`CMNew` (name, sizes)
  Create a connection object using the connection tool named name. sizes is a 6-tuple given buffer sizes for data in, data out, control in, control out, attention in and attention out. Alternatively, passing `None` for sizes will result in default buffer sizes.

- 4.1 Connection Objects