Hi all, I am trying to pass in a scalar to the DoAttach C function, which is then modified by the C function and returned to the perl program. It is getting modified okay, but not as I want/expect!! Here's the perl code:-
$hObject = 0; $result = &testmain::DoAttach( 123, 0x1234, $hObject);
This is the code in the XS file:-
long dsmFSAttach(PID,service,hFS) unsigned short PID unsigned short service unsigned long * hFS OUTPUT: hFS RETVAL
And here is the C code that tries to modify the var:-
long DoAttach(unsigned short PID, unsigned short service, unsigned long *hFS) { *hFS = ReturnFromSomeFunc(...) return foo; }
When this is run the hFS variable in the C function is set to 48 (The ASCII value for 0), and after it is altered by the function it is filled with F's, i.e Print it as an 8bit value and it will print 255... I have tried several combinations in the typemap file - unsigned long * T_PV unsigned long * T_IV unsigned long * T_RV None seem to work! Any help would be excellent, Thanks in advance Paul
PS If you read this and can answer tonight (Thursday 31st May) could you plz email me at paul.hunt@blueyonder.co.uk, if not p_hunt@bitwise.co.uk Thanks again

In reply to PerlXS type problem by PH

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.