|
Hello Walden, You wrote: >Where did you find out about the TERASPACE__ define? Nowhere. That's just my version of the __TERASPACE__ define used in the C include for stdlib since RPG IV doesn't allow names beginning with underscores. Its only effect is to change the EXTPROC associated with the various storage allocation functions. >Also, what's in your STDLIB include? An RPG IV version of all the stuff that is in the C stdlib . . . but that's not really what you were asking is it? Here is an excerpt from my STDLIB that contains the definitions you need. *========================================================================* * Allocate and initialise storage for an array * * void *calloc ( size_t, size_t ); * *========================================================================* D calloc PR LIKE(pointer_t) @A1A /if defined(TERASPACE__) @A1A D EXTPROC('_C_TS_calloc') @A1A /else D EXTPROC('calloc') @A1A /endif * * Required parameter group: * Number of elements to allocate D nbrElem LIKE(size_t) VALUE * Size of each element D size LIKE(size_t) VALUE *========================================================================* * Release allocated storage * * void free ( void * ); * *========================================================================* D free PR @A1A /if defined(TERASPACE__) @A1A D EXTPROC('_C_TS_free') @A1A /else D EXTPROC('free') @A1A /endif * * Required parameter group: * Address of storage to release D stgPtr LIKE(pointer_t) VALUE *========================================================================* * Allocate and initialise storage block * * void *malloc ( size_t ); * *========================================================================* D malloc PR LIKE(pointer_t) @A1A /if defined(TERASPACE__) @A1A D EXTPROC('_C_TS_malloc') @A1A /else D EXTPROC('malloc') @A1A /endif * * Required parameter group: * Size of storage to allocate D size LIKE(size_t) VALUE *========================================================================* * Change allocated storage block size * * void *realloc ( void *, size_t ); * *========================================================================* D realloc PR LIKE(pointer_t) @A1A /if defined(TERASPACE__) @A1A D EXTPROC('_C_TS_realloc') @A1A /else D EXTPROC('realloc') @A1A /endif * * Required parameter group: * Address of storage to reallocate D stgPtr LIKE(pointer_t) VALUE * Size of storage to allocate D size LIKE(size_t) VALUE You'll also need the following from STDDEF D size_t S LIKE(uint_t) and the following from my C_RPG_TYPE include @A1A D char_t S 3I 0 D short_t S 5I 0 D int_t S 10I 0 D long_t S LIKE(int_t) @A1A D longLong_t S 20I 0 @A1A D uchar_t S 3U 0 D ushort_t S 5U 0 D uint_t S 10U 0 D ulong_t S LIKE(uint_t) @A1A D ulongLong_t S 20U 0 D float_t S 4F D double_t S 8F D longDouble_t S LIKE(double_t) D pointer_t S * D funcPtr_t S * PROCPTR Regards, Simon Coulter. -------------------------------------------------------------------- FlyByNight Software AS/400 Technical Specialists http://www.flybynight.com.au/ Phone: +61 3 9419 0175 Mobile: +61 0411 091 400 /"\ Fax: +61 3 9419 0175 mailto: shc@flybynight.com.au \ / X ASCII Ribbon campaign against HTML E-Mail / \ --------------------------------------------------------------------
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.