OpenersNotesSection(Spacer1)Details

After the call to WSPutUTF8Function(), other WSTP functions must be called to send the arguments of the function.

WSPutUTF8Function() returns 0 in the event of an error, and a nonzero value if the function succeeds.

Use (NonWLLink[WSError(), paclet:ref/c/WSError]) to retrieve the error code if WSPutUTF8Function() fails.

WSPutUTF8Function() is declared in the WSTP header file (RefLink[wstp.h, paclet:ref/file/wstp.h]).

OpenersPrimaryExamplesSection(Spacer1)Examples  (1)

OpenersExampleSection0(Spacer1)Basic Examples  (1)

#include "wstp.h"

/* A function to put List[1,2,3] to the link */

void f(WSLINK l)
{
	unsigned char name[4];
	name[0] = 'L';
	name[1] = 'i';
	name[2] = 's';
	name[3] = 't';

	if(! WSPutUTF8Function(l, (const unsigned char *)name, 4, 3))
	{ /* Unable to put the function head to the link */ }

	if(! WSPutInteger8(l, 1))
	{ /* Unable to write 1 to the link */ }

	if(! WSPutInteger8(l, 2))
	{ /* Unable to write 2 to the link */ }

	if(! WSPutInteger8(l, 3))
	{ /* Unable to write 3 to the link */ }

	if(! WSEndPacket(l))
	{ /* Unable to write the end-of-packet sequence to the link */ }

	if(! WSFlush(l))
	{ /* Unable to flush the outbound data to the link */ }
}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(NonWLLink[WSPutFunction(), paclet:ref/c/WSPutFunction])  ▪  (NonWLLink[WSPutUCS2Function(), paclet:ref/c/WSPutUCS2Function])  ▪  (NonWLLink[WSPutUTF16Function(), paclet:ref/c/WSPutUTF16Function])  ▪  (NonWLLink[WSPutUTF32Function(), paclet:ref/c/WSPutUTF32Function])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Manipulating Expressions in External Programs, paclet:tutorial/ManipulatingExpressionsInExternalPrograms])}, {▪(RefLinkPlain[Handling Lists, Arrays, and Other Expressions, paclet:tutorial/HandlingListsArraysAndOtherExpressions])}, {▪(RefLinkPlain[WSTP C API Developer Guide (Mac OS X), paclet:tutorial/WSTPDeveloperGuide-MacintoshOverview])}, {▪(RefLinkPlain[WSTP C API Developer Guide (Unix and Linux), paclet:tutorial/WSTPDeveloperGuide-UnixOverview])}, {▪(RefLinkPlain[WSTP C API Developer Guide (Windows), paclet:tutorial/WSTPDeveloperGuide-WindowsOverview])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Alphabetical Listing of WSTP C Functions, paclet:guide/AlphabeticalListingOfWSTPCFunctions])}, {▪(RefLinkPlain[C/C++ Language Interface, paclet:guide/CLanguageInterface])}, {▪(RefLinkPlain[Installable WSTP Programs, paclet:guide/InstallableWSTPPrograms])}, {▪(RefLinkPlain[WSTP API, paclet:guide/WSTPAPI])}, {▪(RefLinkPlain[WSTP C Functions for Exchanging Data, paclet:guide/WSTPCFunctionsForExchangingData])}, {▪(RefLinkPlain[WSTP C Functions for Exchanging Expressions, paclet:guide/WSTPCFunctionsForExchangingExpressions])}, {▪(RefLinkPlain[WSTP C Language Functions, paclet:guide/WSTPCLanguageFunctions])}, {▪(RefLinkPlain[WSTP Expression Packet Handling, paclet:guide/WSTPExpressionPacketHandling])}})}})