× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi,

here my first crude version for the prototypes for doubly-linked list and hash table.
I tried some simple things and it seemed to work. I haven't tested every prototype/procedure yet.

*---------------------------------------------------------------
* GLib Doubly-Linked List Prototypes
*---------------------------------------------------------------
D g_list_alloc PR * extproc('g_list_alloc')
*
D g_list_append PR * extproc('g_list_append')
D list * value
D data * value
*
D g_list_concat PR * extproc('g_list_concat')
D list1 * value
D list2 * value
*
D g_list_copy PR * extproc('g_list_copy')
D list * value
*
D g_list_find PR * extproc('g_list_find')
D list * value
D data * value
*
D g_list_find_custom...
D PR * extproc('g_list_find_custom')
D list * value
D data * value
D proc * procptr value
*
D g_list_first PR * extproc('g_list_first')
D list * value
*
D g_list_foreach...
D PR extproc('g_list_foreach')
D list * value
D proc * procptr value
D userdata * value
*
D g_list_free PR extproc('g_list_free')
D list * value
*
D g_list_free_1 PR extproc('g_list_free_1')
D list * value
*
D g_list_index PR 10I 0 extproc('g_list_index')
D list * value
D data * value
*
D g_list_insert PR * extproc('g_list_insert')
D list * value
D data * value
D position 10I 0 value
*
D g_list_insert_sorted...
D PR * extproc('g_list_insert_sorted')
D list * value
D data * value
D compareProc * procptr value
*
D g_list_last PR * extproc('g_list_last')
D list * value
*
D g_list_length PR 10U 0 extproc('g_list_length')
D list * value
*
D g_list_nth PR * extproc('g_list_nth')
D list * value
D n 10U 0 value
*
D g_list_nth_data...
D PR * extproc('g_list_nth_data')
D list * value
D n 10U 0 value
*
D g_list_pop_allocator...
D PR extproc('g_list_pop_allocator')
*
D g_list_position...
D PR 10I 0 extproc('g_list_position')
D list * value
D link * value
*
D g_list_prepend PR * extproc('g_list_prepend')
D list * value
D data * value
*
D g_list_push_allocator...
D PR extproc('g_list_push_allocator')
D allocator * value
*
D g_list_remove PR * extproc('g_list_remove')
D list * value
D data * value
*
D g_list_remove_link...
D PR * extproc('g_list_remove_link')
D list * value
D link * value
*
D g_list_reverse PR * extproc('g_list_reverse')
D list * value
*
D g_list_sort PR * extproc('g_list_sort')
D list * value
D compareProc * procptr value
*
* no documentation found for procedure sort2
*
D*g_list_sort2 PR * extproc('g_list_sort2')
D* list * value
D* compareProc * procPtr
D* userdata * value


*---------------------------------------------------------------
* GLib Hash Table Prototypes
*---------------------------------------------------------------
D g_hash_table_destroy...
D PR extproc('g_hash_table_destroy')
D htable * value
*
D g_hash_table_foreach...
D PR 10I 0 extproc('g_hash_table_foreach')
D htable * value
D proc * procptr value
D userdata * value
*
D g_hash_table_foreach_remove...
D PR 10U 0 extproc('g_hash_table_foreach_remove-
D ')
D htable * value
D proc * procptr value
D userdata * value
*
* no documentation found for procedure freeze
*
D*g_hash_table_freeze...
D* PR extproc('g_hash_table_freeze')
D* htable * value
*
D g_hash_table_insert...
D PR extproc('g_hash_table_insert')
D htable * value
D key * value
D data * value
*
D g_hash_table_lookup...
D PR * extproc('g_hash_table_lookup')
D htable * value
D key * value
*
D g_hash_table_lookup_extended...
D PR 10I 0 extproc('g_hash_table_lookup_extende-
D d')
D htable * value
D key * value
D value * value
*
D g_hash_table_new...
D PR * extproc('g_hash_table_new')
D hashProc * procptr value
D equalProc * procptr value
*
D g_hash_table_remove...
D PR 10I 0 extproc('g_hash_table_remove')
D htable * value
D key * value
*
D g_hash_table_size...
D PR 10U 0 extproc('g_hash_table_size')
D htable * value
*
* no documentation found for procedure thaw
*
D*g_hash_table_thaw...
D* PR extproc('g_hash_table_thaw')
D* htable * value


-----Ursprüngliche Nachricht-----
Von: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] Im Auftrag von Scott Klement
Gesendet: Donnerstag, 27. März 2008 23:51
An: Midrange Systems Technical Discussion
Betreff: Re: GLib library for iSeries

Hi Mihael,

I thought the same thing... but I never found an include file (a copy
book for C programmers) with the prototypes, etc, for the GLIB service
program, so I never sat down and tried to use it from RPG.

I suppose I could go find the original glib.h on the web somewhere and
assume that IBM didn't change the prototypes... but I never really got
around to looking further...



Schmidt, Mihael wrote:
Hello,

i just noticed that there is a port of the glib c-library to the
iSeries. Does anybody has any experience (good or bad) with the
library on the iSeries (and perhaps with its usage in RPG).

The library can be downloaded here:
http://www-03.ibm.com/servers/enable/site/porting/iseries/overview/gnu_utilities.html


One thing that leaves me uncertain is the version of the library ,
1.2.2. That is a bit outdated. The current version is 2.16.1 afaik.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.