Returning allocated structure from C

BlitzMax Forums/BlitzMax Programming/Returning allocated structure from C

I'm trying to return a structure (created in C), back to BM.
The C routine is thus :

struct __HEADER	*Create_Header(void)
{
struct __HEADER	*temp;

	if ((temp=(struct __HEADER *) calloc(1,sizeof(struct __HEADER)))!=NULL)
	{
		temp->header=LINKLIST_HEADER;
	}
	
	return (temp);
}


and the BM code is :

Import "/Users/nicholaskingsley/LinkList/LinkList.c"

Extern
	Type LinkListNode
		Field header:Int
		Field dataSize:Int
		Field data:Byte Ptr
		Field prevNode:LinkListNode Ptr
		Field nextNode:LinkListNode Ptr
	EndType
	
	Type LinkListHeader
		Field header:Int
		Field numNodes:Int
		Field firstNode:LinkListNode Ptr
		Field lastNode:LinkListNode Ptr
	EndType
	
	Function Create_Header:LinkListHeader()
	'Function Diag:Byte(header:LinkListHeader,fileName$)
EndExtern

Local header:LinkListHeader

	header=Create_Header()
	Print "Returned Header header :"
	Print header.header


The C function is being called no problem, memory is being allocated and the header code is being stored.

Unfortunately the value in header.header in BM is 0, which must mean a pointer to the stucture isn't being returned for some reason.