From: <cjw...@gm...> - 2009-02-24 08:35:16
|
I've got two c-files, which i need for my perl-program. the functions are: I. extractrtcm.h int32 extractrtcm(struct ertcmdata *p, int byte); I.I. struct ertcmdata { uint32 Result[33]; uint8 RawData[5*33]; uint8 Position; uint8 State; uint32 BlockLen; struct systime TimeVal; }; I.II. curtime.h struct systime { uint32 sec; uint32 micro; }; II. decodertcm.h int32 decodertcm(uint32 *data, uint32 numblocks); ------------------------------------------------- My first interface looks like this...is the %include part enough to use the structs??? or is it important to typedef a struct? /* getrtcm.i */ %module getrtcm %include typemaps.i %include "curtime.h" %include "extractrtcm.h" %inline %{ typedef unsigned int uint32; typedef unsigned char uint8; typedef int int32; %} %typemap(Perl5,in) uint32 * { $1 = (uint32 *) SvRV($input); } int32 extractrtcm(struct ertcmdata *p, int byte); int32 decodertcm(uint32 *data, uint32 numblocks); ---------------------------------------------------- typedef structs ok? typedef struct systime{ uint32 sec; uint32 micro; }systime; typedef struct ertcmdata { uint32 Result[33]; uint8 RawData[5*33]; uint8 Position; uint8 State; uint32 BlockLen; struct systime TimeVal; }ertcmdata; ----------------------------------------------------- Perl-Part /*$ertcmdata=pack("I I I I I", $Result[33],$RawData[5*33], $Position, $State, $BlockLen, pack("I I", $sec,$micro));*/ thanks for your help!!! -- Marco Computer Bild Tarifsieger! GMX FreeDSL - Telefonanschluss + DSL für nur 17,95 ¿/mtl.!* http://dsl.gmx.de/?ac=OM.AD.PD003K11308T4569a |