|
Last week I posted a question regarding system pointers. I am trying to use the activate bound program API which requires a system pointer. There are other ways to activate a program but using this API allows me to retrieve an activation mark which I am hoping will allow duplicated procedure names within service programs to be accessed. The only way I know of to retrieve a system pointer is via MI or C. We do not have a C compiler. I am therefore relegated to using MI. I no longer have access to the functional concepts manual so I have to work backwards from a few programs I created several years ago. Here is what I have so far. It seems to work. I get back a reasonable looking pointer that in debug says SYP and refers to the service program name and library. It also refers to an authority which is all zeros. I pass this pointer value to the activate program API and get back a return value that is supposed to be an activation mark. I receive no errors on this call. I then pass this activation mark to the get export API with the name of the procedure that I am trying to get a procedure pointer for. I get back a *NULL pointer and no error in the error parameter. If I pass an invalid procedure name I do get an error. If anyone has any experience with these sorts of things I would really appreciate some help. I have included the MI source that I used to return the system pointer. It is hard coded to service programs. ENTRY * (*ENTRY) EXT; DCL SPCPTR P01 PARM; DCL SPCPTR P02 PARM; DCL OL *ENTRY (P01,P02) EXT PARM MIN(0); DCL DD #PARM1 CHAR(10) BAS(P01); DCL SYSPTR #PARM2 BAS(P02); DCL DD OBJ CHAR(34) STAT BDRY(16); DCL DD OBJTYP CHAR(01) DEF(OBJ) POS(01); DCL DD SUBTYP CHAR(01) DEF(OBJ) POS(02); DCL DD OBJNAM CHAR(30) DEF(OBJ) POS(03); DCL DD RQDAUT CHAR(02) DEF(OBJ) POS(33); DCL DD AUT CHAR(02) INIT(X'5F00'); CPYBLAP OBJNAM, #PARM1, ' '; CPYBLA OBJTYP, X'02'; CPYBLA SUBTYP, X'03'; RSLVSP #PARM2, OBJ, *, AUT; BRK'RTX'; RTX *; PEND; Thank you for any input. David Morris +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to "MIDRANGE-L@midrange.com". | To unsubscribe from this list send email to MAJORDOMO@midrange.com | and specify 'unsubscribe MIDRANGE-L' in the body of your message. | Questions should be directed to the list owner/operator: david@midrange.com +---
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.