… | |
… | |
3 | |
3 | |
4 | #include "EXTERN.h" |
4 | #include "EXTERN.h" |
5 | #include "perl.h" |
5 | #include "perl.h" |
6 | #include "XSUB.h" |
6 | #include "XSUB.h" |
7 | |
7 | |
|
|
8 | #ifndef pTHX_ |
|
|
9 | # define pTHX_ |
|
|
10 | # define aTHX_ |
|
|
11 | # define pTHX |
|
|
12 | # define aTHX |
|
|
13 | #endif |
|
|
14 | |
8 | /* perl-related */ |
15 | /* perl-related */ |
9 | #define TRANSFER_SAVE_DEFAV 0x00000001 /* @_ */ |
16 | #define TRANSFER_SAVE_DEFAV 0x00000001 /* @_ */ |
10 | #define TRANSFER_SAVE_DEFSV 0x00000002 /* $_ */ |
17 | #define TRANSFER_SAVE_DEFSV 0x00000002 /* $_ */ |
11 | #define TRANSFER_SAVE_ERRSV 0x00000004 /* $@ */ |
18 | #define TRANSFER_SAVE_ERRSV 0x00000004 /* $@ */ |
12 | #define TRANSFER_SAVE_CURPM 0x00000008 /* regex results */ |
|
|
13 | /* c-related */ |
19 | /* c-related */ |
14 | #define TRANSFER_SAVE_CCTXT 0x00000100 |
20 | #define TRANSFER_SAVE_CCTXT 0x00000100 |
15 | #ifdef CORO_LAZY_STACK |
21 | #ifdef CORO_LAZY_STACK |
16 | # define TRANSFER_LAZY_STACK 0x00000200 |
22 | # define TRANSFER_LAZY_STACK 0x00000200 |
17 | #else |
23 | #else |
18 | # define TRANSFER_LAZY_STACK 0x00000000 |
24 | # define TRANSFER_LAZY_STACK 0x00000000 |
19 | #endif |
25 | #endif |
20 | |
26 | |
21 | #define TRANSFER_SAVE_ALL (TRANSFER_SAVE_DEFAV|TRANSFER_SAVE_DEFSV \ |
27 | #define TRANSFER_SAVE_ALL (TRANSFER_SAVE_DEFAV|TRANSFER_SAVE_DEFSV \ |
22 | |TRANSFER_SAVE_ERRSV|TRANSFER_SAVE_CURPM \ |
28 | |TRANSFER_SAVE_ERRSV|TRANSFER_SAVE_CCTXT) |
23 | |TRANSFER_SAVE_CCTXT) |
|
|
24 | |
29 | |
25 | struct coro; /* opaque */ |
30 | struct coro; /* opaque */ |
26 | |
31 | |
27 | struct CoroAPI { |
32 | struct CoroAPI { |
28 | I32 ver; |
33 | I32 ver; |