The Mach 3.0 IPC facility efficiently supports many different styles of communication, including server-client remote procedure calls, distributed object-oriented programming, and streams. As a building block, the interface provides a general message primitive. The message primitive operates on capabilities for communication ports. The interface remedies numerous problems that were observed in the older Mach 2.5 interface. The implementation provides good performance, running 30%-40% faster than Mach 2.5 with data structures 50% smaller. The Mach 3.0 implementation provides backwards-compatibilities for the older interface.