[net.unix] #include <sys/mx.h>

sfs@hou2a.UUCP (S.STUMPF) (05/08/84)

Could someone please tell me what this file is for?
I have some code that has this line in a few files.
I am compiling without it and looking at the errors
and I am getting absolutely nowhere.  Any clues as
to what it is and how to write one?  Thanks.

-- until the lips are blue --
Jon S. Stumpf @ the beach
{allegra|ihnp4}!hocoer!jss

Note: the above does not match header

steiny@scc.UUCP (Don Steiny) (05/12/84)

***

	<sys/mx.h> - is the definations needed for the mpxcall(2)
system call.  V7 "had" this great scheme called multiplexed i/o.
According to the manual, it allowed the user to set up 
interprocess "channels" so that more that processes could
communicate with each other.  There was a special type of file
called a "multiplexed file".  Any number of processes could open the 
file.  "mx.h" contains the definations for the headers and
control messages.

	The catch was, that even though there were manual pages
(see mpx(2), mpxio(4), mx(5) - in the V7 manual), it did not work.
UCB managed to get it to work on 4.1bsd, but it does not work in
regular V7.  UCB has a couple of programs that use it (comsat).

	Code that uses mpx has to be rewritten using messages on System V.

			Don Steiny
			Personetics

guy@rlgvax.UUCP (Guy Harris) (05/17/84)

> 	Code that uses mpx has to be rewritten using messages on System V.

Or to use sockets in 4.2BSD; Berkeley canned multiplexed files as well.

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy

P.S.  It takes about a day's work (at most) to get System V message queues up
under 4.2BSD, and they're a bit faster than UNIX-domain stream sockets.
Unfortunately, the UNIX domain doesn't have "reliably delivered messages",
so I couldn't benchmark them against messages.