ARSperl

 view release on metacpan or  search on metacpan

support-h.template  view on Meta::CPAN

/*
$Header: /cvsroot/arsperl/ARSperl/support-h.template,v 1.37 2010/09/01 17:18:29 tstapff Exp $

    ARSperl - An ARS v2 - v5 / Perl5 Integration Kit

    Copyright (C) 1995-2003
	Joel Murphy, jmurphy@acsu.buffalo.edu
        Jeff Murphy, jcmurphy@acsu.buffalo.edu

    This program is free software; you can redistribute it and/or modify
    it under the terms as Perl itself. 
    
    Refer to the file called "Artistic" that accompanies the source distribution 
    of ARSperl (or the one that accompanies the source distribution of Perl
    itself) for a full description.
 
    Comments to:  arsperl@arsperl.org
                  (this is a *mailing list* and you must be
                   a subscriber before posting)

    Home Page: http://www.arsperl.org
 

*/

#ifndef __support_h_
#define __support_h_

#if (PERL_BASEREV_IS == 50) && (PERL_PATCHLEVEL_IS < 5)
 #define PL_na na
 #define PL_sv_undef sv_undef
#endif

#undef EXTERN
#ifndef __support_c_
# define EXTERN extern
#else
# define EXTERN 
#endif

#include "ar.h"
#include "arerrno.h"
#include "arextern.h"
#include "arstruct.h"
#include "arfree.h"

#if AR_EXPORT_VERSION < 6
# include "nt.h"
# include "nterrno.h"
# include "ntfree.h"
# include "ntsextrn.h"
#endif

/* the following are defined because we use them as default values in ARS.xs */

#if AR_EXPORT_VERSION < 3
# define AR_FIELD_TYPE_ALL 0
# include "ntcextrn.h"
#endif
#if AR_EXPORT_VERSION < 5
# define AR_IMPORT_OPT_CREATE 0
# define AR_IMPORT_OPT_OVERWRITE 1
#endif

#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

#include <stdio.h>
#include <string.h>
#include <limits.h>

#ifdef PROFILE
# include <sys/time.h>
#endif

#define SAFEPRT(X) (X && *X)? X : "[null]"
#ifdef ARSPERL_DEBUG
# define DBG(X) printf("[%s %d] %s : ", __FILE__, __LINE__, __FUNCTION__); printf X
#else
# define DBG(X)
#endif

typedef struct {
  unsigned int numItems;
  void *array;
} ARList;

typedef struct {
  ARControlStruct ctrl;
  int queries;
  long startTime;
  long endTime;
} ars_ctrl;

#define TYPEMAP_LAST 0xFFFFFFFFL

typedef struct {
  unsigned int  number;
  char         *name;
} TypeMapStruct;


static struct {
	unsigned int  number;
	char	     *name;
} StructItemTypeMap[] = {
/*STRUCTITEMTYPEMAP*/
	{ TYPEMAP_LAST, "" }
};

static struct {
	unsigned int  number;
	char	     *name;



( run in 0.693 second using v1.01-cache-2.11-cpan-39bf76dae61 )