From: "Peter Ross" <peter.ross@dmis-cmm.com>
Newsgroups: comp.sys.transputer
Subject: C - Occam communication
Date: 11 Mar 1999 10:14:52 GMT
Organization: IMS
Message-Id: <01be6ba7$f82901a0$0600000a@peter.ross.IMSDOM>
Xref: ukc comp.sys.transputer:9084


Dear All,

Can someone please explain:

I have a C process and an Occam process running on the same transputer. I
have a communication channel between them. 

At the Occam end the code looks like:		
		
	in ? byte; byte; byte

where 'in' is a channel of type byte.


At the C end I have:


	ChanOut(chan.out, &array[0], 3) ;

where 'array' is of type unsigned char. This does not work.


However, the following does work:

	int i;

	for (i=0; i<3; i++)
	{
		ChanOutChar(chan.out, array[i])
	}


I am guessing that this is due to the way the Occam channel is specified
but could someone please gice the definitive explanation.

Thanks

Peter 

