TCP/IP client and server support (OMTCP)

The OMTCP library is a set of functions that allow TCP connections to and from other processes and machines.

Functions and Opaque Data Types

Among other things, OMTCP allows you to:

The functions in this library use the following opaque data types:

  • tcp.connection—allows you to create a connection to a remote machine, and
  • tcp.service—allows you to accept TCP connections from remote client machines.

Usage Note

To use OMTCP, you must import it into your program using an import declaration such as:

  import "omtcp.xmd" prefixed by omtcp.

OMTCP Generated Exceptions

This is a complete list of the OMTCP library external exceptions that may be thrown back to the calling OmniMark program. These are all catchable using the #external-exception label.

  • TCP01: Unable to resolve the given destination address: %s
  • TCP02: Wait operation failed: %s
  • TCP03: Minimum (%d) and maximum (%d) must be >= -1 with max > min
  • TCP04: TCP object already has a derived source
  • TCP05: TCP socket is not connected
  • TCP06: Write operation timed out
  • TCP07: Read operation timed out
  • TCP08: Unable to connect to destination %s
  • TCP09: Failed to create service port %d
  • TCP10: Failed to accept incoming connection: %s
  • TCP11: Error while reading from connection: %s
  • TCP12: Error while writing to connection: %s
  • TCP13: Invalid packet size %d received for packet-based protocol
  • TCP14: Specified port %d is out of range (0 to 65535)
  • TCP15: Internal error, contact customer support!
  • TCP16: Out of memory
  • TCP17: Unable to create thread
  • TCP19: Specified IO protocol is unsupported
  • TCP20: TCP object already has a derived sink
  • TCP21: An error has already occurred on this TCP object
  • TCP22: Only one of port or socket may be specified
  • TCP23: Invalid queue length %d. Range is 1 to 1024
  • TCP24: Invalid socket descriptor %d, which is less than 0
  • TCP25: Value is out of range