1 # $Id: typemap,v 1.5 2005-10-17 13:48:08 mike Exp $
3 ZOOM_connection T_PTROBJ
4 ZOOM_connection * T_PTROBJ
6 ZOOM_options_callback T_PTROBJ
10 ZOOM_record * T_PTROBJ
11 ZOOM_resultset T_PTROBJ
13 __compar_fn_t T_PTROBJ
14 __const char * T_PTROBJ
15 __const void * T_PTROBJ
16 __const wchar_t * T_PTROBJ
17 __extension__ extern lldiv_t T_PTROBJ
18 __extension__ extern long long int T_PTROBJ
19 __extension__ extern unsigned long long int T_PTROBJ
21 char * __const * T_PTROBJ
22 const __sigset_t * T_PTROBJ
23 # The next line was originally autogenerated by h2xs, which gave the
24 # type of "const char *" as T_PTROBJ -- a pointer to an opaque object.
25 # This prevented the return value of ZOOM_record_get() from being
26 # translated into a Perl string. Instead, I am using T_PV, which
27 # works properly. This also has the pleasant side-effect that I no
28 # longer have to discard the "const" qualfiers from the arguments to
29 # the functions in the .xs file.
31 opaquechar * T_OPAQUECHAR
32 const char ** T_PTROBJ
33 const struct timespec * T_PTROBJ
39 ldiv_t T_OPAQUE_STRUCT
43 long long int T_PTROBJ
44 struct drand48_data * T_PTROBJ
45 struct random_data * T_PTROBJ
46 struct timeval * T_PTROBJ
47 unsigned int * T_PTROBJ
48 unsigned long int T_PTROBJ
49 unsigned short int T_PTROBJ
50 unsigned short int * T_PTROBJ
51 void ( * __func ) ( int __status, void * __arg ) T_PTROBJ
52 void ( * __func ) ( void ) T_PTROBJ
54 struct datachunk T_DATACHUNK
55 #############################################################################
58 if (sv_derived_from($arg, \"${ntype}\")) {
60 char *s = SvPV((SV*)SvRV($arg), len);
62 if (len != sizeof($var))
63 croak(\"Size %d of packed data != expected %d\",
68 croak(\"$var is not of type ${ntype}\")
71 $var = ($type) SvPV($arg, _unused_len);
73 #############################################################################
76 sv_setref_pvn($arg, \"${ntype}\", (char *)&$var, sizeof($var));
78 sv_setpvn($arg, $var.data, $var.len);