Well, one should pass the address of the pointer via (cffi:pointer-address ... )
and everything is fine... Frank Am 17.11.2007 um 20:30 schrieb Frank Goenninger:
* PGP Signed: 11/17/07 at 20:30:52 Hi all: I have in C in a library: typedef struct __tsPMDevInfo { ... some slots in here; don't matter ... } tsPMDevInfo, *ptsPMDevInfoPtr;// ---------------------------------------------------------------------- --// nFindPMs -- Find PM Devices on all available serials// ---------------------------------------------------------------------- ---int nFindPMs( ptsPMDevInfoPtr **pppsPMDevInfoArray, int *pnNrPMsFound ) { int nRC = 0; ptsPMDevInfoPtr *ppsPMDevInfoArray = NULL; .... Here, memory gets allocated and ppsPMDevInfoArray points to an array of pointers to struct tsPMDevInfo ! if( pppsPMDevInfoArray != NULL ) *pppsPMDevInfoArray = ppsPMDevInfoArray; if( pnNrPMsFound != NULL ) *pnNrPMsFound = nNrPMs; if( nNrPMs > 0 ) nRC = PMIO_RC_OK; else nRC = PMIO_RC_NO_PM_FOUND; return nRC; } In Lisp-land I do (simplified): (defcfun ("nFindPMs" %nFindPMs) pmio-rc (ppsPMDevInfoPtr :pointer) (pnNrPMs :pointer)) (defun find-pms (ppsPMDevInfoPtr pnNrPMs) (%nFindPMs ppsPMDevInfoPtr pnNrPMs)) I do get a valid value for the nr of PMs back with (mem-ref pnNrPMs :int 0)But I am unable to get a valid foreign pointer back for ppsPMDevInfoPtr :(mem-ref ppsPMDebInfoPtr :pointer 0)always returns an invalid value (no valid memory address). So, the question is: How do I return a pointer to an array of pointers ? In C land everything is OK and the pointer array is valid: check via ppsPMDebInfoPtr[0] -> This is the pointer to a valid struct tsPMDevInfo.Thx for any pointers ;-) !!! Frank * Frank Goenninger<[EMAIL PROTECTED]> * 0xED320F02:0x05AE0907 _______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel * PGP Signed: 11/17/07 at 20:30:52 * text/plain body * Frank Goenninger<[EMAIL PROTECTED]> * 0xED320F02:0x05AE0907
PGP.sig
Description: PGP signature
_______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel