[Pyrex] numeric C pointer argument and python integer argument

Daniele Pianu muogoro at gmail.com
Thu Apr 10 11:04:50 CEST 2008


Mmmm, ok...but your solution is not praticable in the script that I'm
writing. I'm writing a script that generate python classes from C
structures(and relative methods that use those structures), so, when I parse
a method in a C header, I need to know if a pointer argument points to a
single integer or to a vector to wrap the method. I think it's impossible to
do this in the script. Am I wrong?

2008/4/10, Lenard Lindstrom <len-l at telus.net>:
>
> One way is to create a new Python container type that wraps the C int
> array. The other is to copy values between the int array and some
> existing Python container type, such as a list.
>
> Lenard
>
>
>
> Daniele Pianu wrote:
> > And if the c pointer points to a vector of numeric values and not a
> > single int? Is there any way to manage that in pyrex?
> >
>
> > 2008/4/9, Lenard Lindstrom <len-l at telus.net <mailto:len-l at telus.net>>:
>
> >
> >     Daniele Pianu wrote:
> >     > I've a C function like this
> >     >
> >     > void Socket_getRemoteAddr(Socket *self, char *serverHostAddr,
> >     int bufferSize, int *serverPortNo)
> >     >
> >     > and I want to wrap it on this python method
> >     >
> >     > def setRemoteAddr( self, serverHostAddr, serverPortNo )
> >     >
> >     > serverPortNo is a python integer, and it must reflect
> modifications
> >     > done on the relative C argument (serverPortNo). How can I do it
> >     in pyrex?
> >     >
> >
> >     The usual way is to return the changed value as a value of the
> >     function:
> >
> >     def setRemoteAddr(...., int serverPortNo):
> >         ....
> >         Socket_getRemoteAddr(...., &serverPortNo)
> >         ....
> >         return serverPortNo
> >
>
>
>
> _______________________________________________
> Pyrex mailing list
> Pyrex at lists.copyleft.no
> http://lists.copyleft.no/mailman/listinfo/pyrex
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.copyleft.no/pipermail/pyrex/attachments/20080410/a0e48cf1/attachment-0001.html 


More information about the Pyrex mailing list