Re: C program for QDFRTVFD API

"Monnier, Gary" <[email protected]>
Newsgroups gmane.comp.lang.as400.c
Message-ID <C7776ECF3936FF4C97CC338B54786E875B7E5E@vamex102>
Stick the data in a user space and obtain a pointer to the space.  You can then spin through the space as often as you like.  Replace the data as you desire.

-----Original Message-----
From: C400-L [mailto:[email protected]] On Behalf Of Frank Kolmann
Sent: Wednesday, September 10, 2014 2:54 AM
To: c400-l
Subject: [C400-L] C program for QDFRTVFD API

Hi



I have coded a C program to get info from the QDFRTVFD API.

It works and successfully retrieves Fields (incl posn and atr) and Constants from a DSPF.

It is here. http://wiki.midrange.com/index.php/CQDFRTVFD



However the way it is coded is very inefficient because I invoke the API for every field/constant in the DSPF.

To be more efficient I would need to invoke the API only once and retain the API returned data.

I want to keep the API invoke in the called function.

To retain data after a C program ends is , I believe the definition of ‘memory leak’, so I cant see how I can call the API within the C program and also retain the data after the program ends.

I know how to pass data back to the caller, in fact that is how the field information is returned.  However for this I have memory allocated in the caller.
The C program does a  ‘malloc’  and here is where I am lost, as I cannot see how to pass back the data in the ‘malloc’.

Any help. TIA.


Frank
--
This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: [email protected]
Before posting, please take a moment to review the archives at http://archive.midrange.com/c400-l.

-- 
This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) mailing list
To post a message email: [email protected]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: [email protected]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.