When you begin to work with i5/OS™ PASE, the points listed in this topic might be helpful to you.
i5/OS PASE provides an AIX® runtime environment on i5/OS that lets you port your AIX applications to the iSeries™ server with minimal effort. In fact, many AIX programs run in i5/OS PASE with no change. This is because i5/OS PASE supplies many of the same shared libraries that are available on AIX, and it provides a broad subset of AIX utilities that run directly on the iSeries PowerPC® processor in the same way that they run on the pSeries® AIX PowerPC processor.
Some points to keep in mind as you begin to work with i5/OS PASE:
If you compile your i5/OS PASE applications on AIX, the application binary created on AIX needs to be compatible with the version of i5/OS PASE that you want the application to run in. The following table shows which AIX binary versions are compatible with different versions of i5/OS PASE. For example, a 32-bit application created for AIX release 5.1 will run on i5/OS PASE V5R4, V5R3, or OS/400® PASE V5R2, but not on OS/400 PASE V5R1. Similarly, a 64-bit application created for AIX release 4.3 will run on OS/400 PASE V5R1, but not on i5/OS PASE V5R4, V5R3, or OS/400 PASE V5R2.
AIX release | OS/400 V5R1 | OS/400 V5R2 | i5/OS V5R3 | i5/OS V5R4 |
---|---|---|---|---|
4.3 (32-bit) | X | X | X | X |
4.3 (64-bit) | X | - | - | - |
5.1 (32- or 64-bit) | - | X | X | X |
5.2 (32- or 64-bit) | - | - | X | X |
5.3 (32- or 64-bit) | - | - | - | X |
Instead, any low-level system functions that are needed by a shared library are routed to the i5/OS kernel or to the integrated i5/OS functions. In this regard, i5/OS PASE bridges the gap across the AIX and i5/OS platforms: your code uses the same syntax for the APIs in the shared libraries as you can find on AIX, but your i5/OS PASE program runs within an i5/OS job and is managed by i5/OS just like any other i5/OS job.
Some APIs, however, might behave differently in i5/OS PASE, or might not be supported in i5/OS PASE. Because of this, your plan for preparing i5/OS PASE programs should begin with a thorough code analysis using the API Analysis Tool. This tool gives you a comprehensive summary of the types of program modifications you need to consider in porting your AIX application to i5/OS PASE.
i5/OS PASE automatically handles some of these issues. For example, when you use the i5/OS PASE runtime service that the system provides (including any system call or runtime function in a shared library shipped with i5/OS option 33), i5/OS PASE performs ASCII-to-EBCDIC conversions as needed, although generally no conversions are done for data that is read or written to a file descriptor (byte stream file or socket).
You can use other low-level functions, such as _ILECALL, to extend the functionality of your i5/OS PASE program with calls to ILE functions and APIs, but as mentioned above you might need to handle data conversion. Also, coding these extensions into your program requires the use of additional header and export files.