Obsoleted by new material in IDSoftwareRelease2010
[ZOOM-Perl-moved-to-github.git] / typemap
1 ZOOM_connection                                 T_PTROBJ
2 ZOOM_connection *                               T_PTROBJ
3 ZOOM_options                                    T_PTROBJ
4 ZOOM_options_callback                           T_PTROBJ
5 ZOOM_package                                    T_PTROBJ
6 ZOOM_query                                      T_PTROBJ
7 ZOOM_record                                     T_PTROBJ
8 ZOOM_record *                                   T_PTROBJ
9 ZOOM_resultset                                  T_PTROBJ
10 ZOOM_scanset                                    T_PTROBJ
11 __compar_fn_t                                   T_PTROBJ
12 __const char *                                  T_PTROBJ
13 __const void *                                  T_PTROBJ
14 __const wchar_t *                               T_PTROBJ
15 __extension__ extern lldiv_t                    T_PTROBJ
16 __extension__ extern long long int              T_PTROBJ
17 __extension__ extern unsigned long long int     T_PTROBJ
18 __locale_t                                      T_PTROBJ
19 char * __const *                                T_PTROBJ
20 const __sigset_t *                              T_PTROBJ
21 # The next line was originally autogenerated by h2xs, which gave the
22 # type of "const char *" as T_PTROBJ -- a pointer to an opaque object.
23 # This prevented the return value of ZOOM_record_get() from being
24 # translated into a Perl string.  Instead, I am using T_PV, which
25 # works properly.  This also has the pleasant side-effect that I no
26 # longer have to discard the "const" qualfiers from the arguments to
27 # the functions in the .xs file.
28 const char *                                    T_PV
29 opaquechar *                                    T_OPAQUECHAR
30 const char **                                   T_PTROBJ
31 const struct timespec *                         T_PTROBJ
32 div_t                                           T_OPAQUE_STRUCT
33 double *                                        T_PTROBJ
34 fd_set *                                        T_PTROBJ
35 int *                                           T_PTROBJ
36 int32_t *                                       T_PTROBJ
37 ldiv_t                                          T_OPAQUE_STRUCT
38 long double                                     T_NV
39 long int                                        T_PTROBJ
40 long int *                                      T_PTROBJ
41 long long int                                   T_PTROBJ
42 struct drand48_data *                           T_PTROBJ
43 struct random_data *                            T_PTROBJ
44 struct timeval *                                T_PTROBJ
45 unsigned int *                                  T_PTROBJ
46 unsigned long int                               T_PTROBJ
47 unsigned short int                              T_PTROBJ
48 unsigned short int *                            T_PTROBJ
49 void ( * __func ) ( int __status, void * __arg )        T_PTROBJ
50 void ( * __func ) ( void )                      T_PTROBJ
51 void **                                         T_PTROBJ
52 struct datachunk                                T_DATACHUNK
53 # ---------------------------------------------------------------------------
54 INPUT
55 T_OPAQUE_STRUCT
56         if (sv_derived_from($arg, \"${ntype}\")) {
57             STRLEN len;
58             char  *s = SvPV((SV*)SvRV($arg), len);
59
60             if (len != sizeof($var))
61                 croak(\"Size %d of packed data != expected %d\",
62                         len, sizeof($var));
63             $var = *($type *)s;
64         }
65         else
66             croak(\"$var is not of type ${ntype}\")
67 T_OPAQUECHAR
68         { STRLEN _unused_len;
69         $var = ($type) SvPV($arg, _unused_len); }
70
71 # ---------------------------------------------------------------------------
72 OUTPUT
73 T_OPAQUE_STRUCT
74         sv_setref_pvn($arg, \"${ntype}\", (char *)&$var, sizeof($var));
75 T_DATACHUNK
76         sv_setpvn($arg, $var.data, $var.len);