Apologies for the formatting of these replies, I'm at work with Lotus
Notes.
PNI (Parrot Native Interface) is for writing native extensions in C.
So, what I meant is you can write a method for stashing a raw pointer with
the API today (probably using char *). I'm not sure if it is your
preferred method,
and I understand your wariness of bytecode in this case. I was 1/2 asleep
this morning on IRC when I suggested it, not understanding the case
you were dealing with.
You can see samples that Dan has played with such as ncurses somewhere
in the examples area. (I'm still not saying you don't need API added to
extend.h
though, but I'd have to be very clear on what you are asking for...)
-Melvin
Arthur Bergman <[EMAIL PROTECTED]>
10/27/2003 12:09 PM
To: Melvin Smith/ATLANTA/Contr/[EMAIL PROTECTED]
cc: Melvin Smith <[EMAIL PROTECTED]>, [EMAIL PROTECTED],
[EMAIL PROTECTED]
Subject: Re: Storing external data in PMCs
On Monday, October 27, 2003, at 04:44 pm, Melvin Smith wrote:
>
> In this case I assume the function can either be Perl5 or Parrot?
> Sounds like a custom PMC to me. Given the PMC that
> could stash function pointers and correctly dispatch gets/sets
> you have the option of writing a PNI method for setting the stashed
> routine from C or we have to add a call to the extension API to stash a
> raw pointer.
>
> -Melvin
>
The function is a C function. And yes it is a custom PMC which I have
already created.
Dan pointed out the unmanagedstruct.pmc which but I fail to see how
that would help me, I think we need an external API for stashing raw
pointers.
(I don't know what PNI is, but I assume it is to execute bytecode from
C and I do not want to do that).
Arthur