Found it, it was down to C pointers as expected / feared.
This works, note the use of 'textlenp' in the call:

#pragma linkage (rxhlicpl, OS)                                   
main () {                                                        
 extern int rxhlicpl();                                          
 int retcode;                                                    
 char hlicmd[8];                                                 
 char name[61];       /* text + eod  */                          
 int  *namelenp, namelen;                                        
 char text[121];      /* text + eod  */                          
 int  *textlenp, textlen;                                        
 int  retval;                                                    
-  -  -
 retcode = 0;                                                    
 strcpy (hlicmd, "VGET    ");                                    
 strcpy (name, "TESTVAR");                                       
 namelen = 7 ;                                                   
 textlen = 120;                                                  
 textlenp=&textlen;                                              
 retcode = rxhlicpl (hlicmd, name, namelen, text, textlenp);     
 printf("rc is %d, text is %d '%s'\n\n", retcode, textlen, text);

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to