#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
MODULE = Tie::Array::Pointer PACKAGE = Tie::Array::Pointer
PROTOTYPES: DISABLE
void *
tsp_malloc(bytes)
size_t bytes
CODE:
void *buffer;
# // printf("tsp_malloc(%d)\n", bytes);
buffer = safemalloc(bytes);
RETVAL = buffer;
OUTPUT:
RETVAL
void
tsp_free(buffer)
void *buffer
CODE:
if (buffer) safefree(buffer);
# /* write 1 byte */
void
tsp_w8(buffer, i8)
void *buffer;
I32 i8;
CODE:
char *b = (char *) buffer;
*b = i8;
# /* write 2 bytes */
void
tsp_w16(buffer, i16)
void *buffer;
I16 i16;
CODE:
I16 *b = (I16 *) buffer;
*b = i16;
# /* write 4 bytes */
void
tsp_w32(buffer, i32)
void *buffer;
I32 i32;
CODE:
I32 *b = (I32 *) buffer;
*b = i32;
# /* read 1 byte */
I32
tsp_r8(buffer)
void *buffer;
CODE:
char *b = (char *) buffer;
RETVAL = (I32) *b;
# // printf("read %d at %08x\n", RETVAL, b);
OUTPUT:
RETVAL
# /* read 2 bytes */
I16
tsp_r16(buffer)
void *buffer;
CODE:
I16 *b = (I16 *) buffer;
RETVAL = *b;
OUTPUT:
RETVAL
# /* read 4 bytes */
I32
tsp_r32(buffer)
void *buffer;
CODE:
I32 *b = (I32 *) buffer;
RETVAL = *b;
OUTPUT:
RETVAL
# /* a comment in .xs files needs to start w/ /^#\s+/ */
# /* $Id */