I'm quite new to C especially ILE C and am trying to port a software written in C (with target platform Linux/Unix) to ILE C.

The software uses the lockf() function which is available on other platforms but not on System i.

The "UNIX C Applications Porting to AS/400 Companion Guide" also points out that there are problems but gives a function which should be used for lockf().

On most (probably all) systems lockf the following declaration:
int lockf(int fildes, int function, off_t size);

But the function from the IBM redbook has:
int lockf(_RFILE *fildes, int function, int size)

Where _RFILE is:

typedef _Packed struct {
char reserved1[16];
volatile void *const *const in_buf;
volatile void *const *const out_buf;
char reserved2[48];
_RIOFB_T riofb;
char reserved3[32];
const unsigned int buf_length;
char reserved4[28];
volatile char *const in_null_map;
volatile char *const out_null_map;
volatile char *const null_key_map;
char reserved5[48];
const int min_length;
short null_map_len;
short null_key_map_len;
char reserved6[8];

What do I have to do to get these two worlds together ?

For those interested: I try to port the template engine ClearSilver (www.clearsilver.net) to ILE C to be able to use it from RPG.

Any ideas?

Thanx in advance

Mihael Schmidt

Dirk Rossmann GmbH
Iserhägener Str.16
30938 Burgwedel
* +49 (05139) 898 - 4353

Handelsregister-Nr. HRB 120546, Amtsgericht Hannover
Ust-Id-Nr. DE 115055186
St.-Nr. 16 / 205 / 65401
Geschäftsführer: Dirk Roßmann, Alice Schardt-Roßmann, Roland Frobel, Klaus Praus

This thread ...


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

This mailing list archive is Copyright 1997-2019 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].