|
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-2025 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.