#include "mathlink.h"
/* transfer an expression to link 2 from loopback link 1 */
void f(MLINK lp2, MLINK lp1)
{
/* send EvaluatePacket[ToExpression[str]] to lp1 */
if(! MLPutFunction(lp1, "EvaluatePacket", 1))
{ /* unable to put function to lp1 */ }
if(! MLPutFunction(lp1, "ToExpression", 1))
{ /* unable to put function to lp1 */ }
if(! MLPutString(lp1, "a = Table[RandomInteger[2,12]];"))
{ /* unable to put the string to lp1 */ }
if(! MLEndPacket(lp1))
{ /* unable to put the end-of-packet indicator to lp1 */ }
if(! MLFlush(lp1))
{ /* unable to put flush any outgoing data buffered in lp1 */ }
/* now transfer to lp2 from lp1 */
if(! MLTransferExpression(lp2, lp1))
{ /* unable to transfer an expression from lp1 to lp2 */ }
}