In the mach3 release area in latest/lib there are the following libraries:

libmach.a	Similiar in function to the libmach.a that is distributed 
		with Mach 2.5, but it provides the interface to the Mach 3.0
		system calls and supports the new ipc calls: 
		mach_msg_{send,receive,destroy,server} rather than the old 
		ones: msg_{send,receive,rpc}.

libthreads.a	Supports the cthreads package for Mach 3.0. Has the same
		interface as the Mach 2.5 chreads library with the 
		addition of some undocumented features. Currently the sources
		for this library can be found in mk/src/latest/user/threads.

libmach_sa.a	Contains interface to pure kernel, new ipc calls and some
		string processing routines. It is missing the interface to
		the envmgr, netnameserver and service server. Currently the
		sources for this library can be found in mk/src/latest/user/
		libmach.

libmach3_*.a	These libraries are intended to be a combination of the old
		libmach.a and libc.a. The different variations correspond 
		to the different environments that could be running.
		The following describes the current state of affairs.

libmach3_sa.a   Replaces both the old libmach.a and libc.a. To be used when 
		only the pure kernel is running. Does not include Unix 
		system calls.

libmach3_unix.a Currently contains only the calls that are missing from
		the 2.5 version of libmach.a and libc.a and must be loaded
		with those two libraries.  To be used when
		and application wants to run on both Mach 3.0 with a
		Unix emulation and Mach 2.5.

libmach3_us.a   A complete library to be used when the pure kernel and 
		the multi-servers are running, but no Unix emualation
		library is to be loaded. Differs from libmach3_sa.a in
		including the interfaces to the multi-servers.

libmach3_vus.a  To be used when the pure kernel and the multi-servers are
		running and an emulation library is loaded. Currently
		this library contains only the entries missing from
		libc.a and must be loaded with libc.a.


Future plans:
Eventually there will be only three general libaries in addition to 
libthreads.a. They will be:

libmach3_sa.a	Will be all the libc and libmach calls as well as the 
		interfaces to the multi-servers. Will not include
		Unix syscalls. This library should replace libmach.a and
		libmach_sa.a.

libmach3_unix30.a The same as libmach3_sa.a with the addition of the Unix
		syscalls. Runs on the Mach 3.0 kernel with an Unix emulation
		library loaded. This library replaces libmach3_vus.a

libmach3_unix25.a Provides the same external interface as libmach3_unix30.a
		but assumes it is running on the Mach 2.5 kernel. It will
		provide write-arounds for new Mach system calls or features
		that are different from the Mach 2.5 ones whenever it is
		feasible. This library should be used by applications that
		wish to run on both Mach 3.0 and 2.5. This library replaces
		libmach3_unix.a.