Skip to main content

TPF : Support : Maintenance TPF : Support : Maintenance

Skip to: Abstract | Comments | Solution | Related Segments | Migration | Download

APAR NUMBER:  PJ29526                           
PRODUCT:  TPF4  
FUNCTIONAL AREA:  ISO-C SUPPORT  
SHIPPED IN PUT:  19  
   

ABSTRACT:  
Allow the entrc() function to be used in C++ code and C code compiled  
with the DLL option.  
   
APAR CONTENTS:  
FEATURE   TYPE                STATUS    NAME                                
Base      CHeader             Changed   include/tpfapi.h  
   
PREREQUISITE APARS:  To be applied in order listed.  
Base      CHeader             Changed   include/tpfapi.h  
 PJ25632(09)  PJ25780(09)  PJ26161(10)  PJ26100(11)  
 PJ26707(11)  
 PJ26820(12)  PJ26901(12)  PJ26873(12)  PJ26767(13)  PJ27387(13)  
 PJ27393(13)  PJ27835(15)  PJ28097(15)  PJ27785(15)  PJ28491(17)  
 PJ28654(17)  PJ28810(17)  PJ28129(17)  PJ29396(18)  PJ29024(18)  
   

COMMENTS:  
The entrc() function cannot be used in C++ code or in C code compiled  
with the DLL option. This restriction needs to be removed.  
   

SOLUTION:  
This APAR removes the restrictions on the entrc() function. entrc() may  
now be coded in C++ code and C code compiled with the DLL option. This  
APAR satisfies FITS item MR1122025128.   
   
In addition, the function prototype for entrc() has been changed to  
allow for greater flexibility and ease of use. This new prototype for  
entrc() is compatible with the previous entrc() prototype, so there is  
no need to change existing programs that use entrc(). The new entrc()  
prototype and explanation is listed below.   
   
   
void *entrc(const char *program, ...);   
   
where    
   
program   
Pointer to the name of the application program that you want to enter.  
Program must be the 4-character name of a BAL segment, a TARGET(TPF)  
segment, or a TPF ISO-C DLM.    
   
... - Additional parameters:    
If program is a basic assembler language (BAL) segment, exactly one  
additional parameter must be coded. The additional parameter must be a  
pointer to a TPF_regs structure (struct TPF_regs *) or must be coded as  
NULL. If the additional parameter is a pointer to a TPF_regs structure,  
the CP will load regs R0-R7 from TPF_regs before passing control to the  
called program. If the additional parameter is coded as NULL, no  
registers are loaded.   
   
If program specifies a TARGET(TPF) segment or a TPF ISO-C DLM, any  
number of additional parameters may be coded. Only signed or unsigned  
integral types (char, short, int, or long), pointer types, or double  
types may be passed as additional parameters.   
   
Return value   
If the program is a basic assembler language (BAL) segment, entrc does  
not return any data. If a pointer to a TPF_regs structure was coded,  
registers R0-R7 from the called program are stored in the TPF_regs  
structure, and data can be returned through the TPF_regs structure.   
   
If program specifies a TARGET(TPF) segment or a TPF ISO-C DLM, this  
function returns the cast to (void *) value returned by the program  
called.  
   
   
DEPENDENCIES  
   

SEGMENTS TO BE ASSEMBLED OR COMPILED:  
None.  
   

SEGMENTS TO BE LINK EDITED:  
None.  
   
COREQS:  
None.  
   

MIGRATION CONSIDERATIONS:  
None.  
   
UPDATED INFORMATION UNITS:  
TPF C/C++ Language Support User's Guide  
   
See your IBM representative if you need additional information.  
   
DOWNLOAD INSTRUCTIONS:  
http://www.ibm.com/software/htp/tpf/pages/maint.htm
   
-- END APAR PJ29526 
       



Download file(s): Login once to access server, leave window open, then click on link(s) below. Source