Re: Calling RPGILE program from C
Tony Cate <[email protected]>
| Newsgroups | gmane.comp.lang.as400.c |
|---|---|
| Message-ID | <CAC7ed4YpJXp=8s7cQh8knGqeEJt0_p6PFm5fsPZ4HKXyHhFcmQ@mail.gmail.com> |
I am building a trigger mediator and recursion is the issue. As a side note Charles Wilt's note '...at v5r4 RPG programs aren't reentrant...' surprised me. At what release are they reentrant? Anyway, I looked at Alan Campin's code. It seems really convoluted. Wouldn't a pass thru C program calling a SRVPGM proc do the same thing? John, what do you mean by 'direct'? On Tue, Oct 28, 2014 at 5:23 PM, Jon Paris <[email protected]> wrote: > Yup - I was going to suggest the same thing if he needed flexibility. Or > just do it “direct” if not. > > > Jon Paris > > www.partner400.com > www.SystemiDeveloper.com > > On Oct 28, 2014, at 4:44 PM, Jon Paris <[email protected]> wrote: > > > Not being funny Tony - but if you are calling an RPG program to do the > work then why bother with the C at all? > > > > > > Jon Paris > > > > www.partner400.com > > www.SystemiDeveloper.com > > > > On Oct 28, 2014, at 4:02 PM, Tony Cate <[email protected]> wrote: > > > >> First the code: > >> > >> *#include <stdio.h>* > >> *#include <string.h>* > >> > >> *#include <decimal.h> > >> #include <stdlib.h> > >> > >> typedef void RGTRIGCNTL(char[80], decimal(10,0)); > >> > >> #pragma linkage(RGTRIGCNTL,fetchable) > >> > >> int main(int argc, char *argv[]) > >> { > >> char *triggerInfo; > >> decimal (10,0) triggerLen; > >> > >> triggerInfo = argv[1]; > >> triggerLen = argv[2]; > >> > >> RGTRIGCNTL(triggerInfo, &triggerLen); > >> }* > >> > >> *What's going on: trying to write a small C program to attach to file > triggers.* > >> > >> Problems: > >> > >> pragma linkage won't allow 'OS' for a parameter. Everything I've read > >> indicates that's what I want. The only "ID' compiler didn't barf on is > >> 'fetchable', which is why its there. > >> > >> It compiles, but nothing happens when I try to step into RGTRIGCNTL. > >> > >> The Dev box is V5R4 (long story). > >> > >> The questions: > >> > >> Why can't I use 'OS' in linkage? Why isn't my program getting called? > >> > >> The last time I wrote a C program was in college, a looong time ago. > >> -- > >> *Tony Cate* | Senior Programmer/Analyst | 704.872.2458 x 126 > >> [image: Auction Edge, Inc.] <http://www.auctionedge.com/> > >> *AUCTION EDGE, INC.* | *Powering Independent Auctions* > >> STATESVILLE, NC | 704.872.2458 > >> -- > >> This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) > mailing list > >> To post a message email: [email protected] > >> To subscribe, unsubscribe, or change list options, > >> visit: http://lists.midrange.com/mailman/listinfo/c400-l > >> or email: [email protected] > >> Before posting, please take a moment to review the archives > >> at http://archive.midrange.com/c400-l. > >> > > > > -- > This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) > mailing list > To post a message email: [email protected] > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/c400-l > or email: [email protected] > Before posting, please take a moment to review the archives > at http://archive.midrange.com/c400-l. > > -- *Tony Cate* | Senior Programmer/Analyst | 704.872.2458 x 126 [image: Auction Edge, Inc.] <http://www.auctionedge.com/> *AUCTION EDGE, INC.* | *Powering Independent Auctions* STATESVILLE, NC | 704.872.2458 -- This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/c400-l or email: [email protected] Before posting, please take a moment to review the archives at http://archive.midrange.com/c400-l.