OpenersNotesSection(Spacer1)Details

The array a is laid out in memory like a C array declared as short a[m][n]….

heads gives a list of character strings corresponding to the names of symbols that appear as heads at each level in the array.

WSGetInteger16Array() allocates memory which must be disowned by calling (NonWLLink[WSReleaseInteger16Array(), paclet:ref/c/WSReleaseInteger16Array]). If WSGetInteger16Array() fails the function's return value indicates an error, do not call (NonWLLink[WSReleaseInteger16Array(), paclet:ref/c/WSReleaseInteger16Array]) on the contents of a.

External programs should not modify the arrays generated by WSGetInteger16Array().

WSGetInteger16Array() returns immutable data.

WSGetInteger16Array() 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 WSGetInteger16Array() fails.

WSGetInteger16Array() 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"

/* read an array of 16-bit integers from a link */

void f(WSLINK lp)
{
	short *data;
	int *dims;
	char **heads;
	int d;

	if(! WSGetInteger16Array(lp, &data, &dims, &heads, &d))
		{
			/* unable to read the integer array */
			return;
		}

	/* ... */

	WSReleaseInteger16Array(lp, data, dims, heads, d);
}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(NonWLLink[WSReleaseInteger16Array(), paclet:ref/c/WSReleaseInteger16Array])  ▪  (NonWLLink[WSGetInteger32Array(), paclet:ref/c/WSGetInteger32Array])  ▪  (NonWLLink[WSGetInteger64Array(), paclet:ref/c/WSGetInteger64Array])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Manipulating Expressions in External Programs, paclet:tutorial/ManipulatingExpressionsInExternalPrograms])}, {▪(RefLinkPlain[Handling Lists, Arrays and Other Expressions, paclet:tutorial/HandlingListsArraysAndOtherExpressions])}, {▪(RefLinkPlain[Portability of WSTP Programs, paclet:tutorial/PortabilityOfWSTPPrograms])}, {▪(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[WSTP C Functions for Exchanging Integers, paclet:guide/WSTPCFunctionsForExchangingIntegers])}, {▪(RefLinkPlain[WSTP C Functions for Exchanging Multidimensional Arrays, paclet:guide/WSTPCFunctionsForExchangingMultidimensionalArrays])}})}})