Day One
Introduction to the class
- Applications for z/OS UNIX
- Setting the stage: A Level Set
- Setting the stage: Skills to Acquire
- The Ubiquitousness of C
- Computer Exercise: Class Lab Set Up
File Access in z/OS UNIX Applications
- What We Already Know
- C functions for accessing QSAM and HFS files
- COBOL – QSAM access
- COBOL – native access to HFS files
- PL/I – accessing QSAM and HFS files
- Assembler – accessing QSAM and HFS files
- Computer Exercise: Accessing HFS files under OMVS
Interacting with the user at the OMVS terminal
- COBOL – Using DISPLAY and ACCEPT
- PL/I – Using PUT LIST and GET EDIT
- C printf() and scanf() functions – an introduction
- The CALL interface
- Function references
- Interpreting C language descriptions
- Computer Exercise: Using printf() and scanf() – C programmers only
Calling C functions from COBOL
- General notes
- fopen(), fread(), fwrite(), fclose(), printf(), scanf()
- Computer Exercise: Using printf() and scanf() – COBOL programmers only
Calling C functions from PL/I
- General notes
- fopen(), fread(), fwrite(), fclose(), printf(), scanf()
- Computer Exercise: Using printf() and scanf() – PL/I programmers only
Calling C functions from Assembler
- General notes
- fopen(), fread(), fwrite(), fclose(), printf(), scanf()
- Computer Exercise: Using printf() and scanf() – Assembler programmers only
Day Two
Compiling / Assembling, and binding Under OMVS
- Compiling and binding under OMVS
- Archive libraries
- Shell commands: ar
- C370LIBs
- Shell commands: c89
- Computer Exercise: Using c89 to compile and bind
- Computer Exercise: Using c89 to Assemble and bind
Assembling – a new alternative
- The as command
- Computer Exercise: Using as to Assemble a program
Compiling COBOL and binding executables
- Shell commands: cob2
- Computer Exercise: Using cob2 to Compile and bind
Compiling PL/I and binding executables
- Shell commands: pli
- Computer Exercise: Using pli to Compile and bind
Binding: the ld command
- Shell commands: ld
- Computer Exercise (Optional., for Assembler programmers): Bind a module
Introduction to Callable UNIX services
- Dynamic calls
- Callable UNIX services
- The BPX1LOD service
- Assembler calling BPX1LOD
- COBOL calling BPX1LOD
- PL/I calling BPX1LOD
- C calling BPX1LOD
- A selection of callable services
- BPX1… services, concluded
- Computer Exercise: Dynamic calls
Day Three
Parms and Environment Variables
- How the PARM field is set up
- Accessing the PARM field – Assembler
- Accessing the PARM field – COBOL
- Accessing the PARM field – PL/I
- Accessing the PARM field – C
- Accessing the PARM field using CEE3PRM and CEE3PR2
- Parms for subroutines
- The PARM set up under the shell
- Accessing the parm from a program run under the shell
- Determining the environment (CEE3INF)
- Using Environment Variables Under the Shell
- C functions clearenv(), getenv(), putenv(), setenv()
- Using the CEEENV callable LE service
- Computer Exercise: Working With Environment Variables
Managing Applications: Scripts and make
- Application management
- Using shell scripts for application management
- make – the big picture
- Introduction to makefiles
- Makefiles by example
- Computer Exercise: Basic Makefiles
Archive files and make syntax
- Archive files and make
- Target attributes
- Designing makefiles
- Recursive make
- Include files for make
- Special target directives
- The syntax for make
- Computer Exercise: Combining makefiles
More on make
- Target lines: rule operators
- Runtime macros
- Command line prefixes
- Group recipes
- Special target directives, revisited
- Macro modifiers
- Conditionals
- Conclusion
Appendices
- Source programs
- HFS File I/O and C Functions
- Kernel functions for working with HFS files
- HFS File I/O and integrity
- Make and inference rules
Index
Comments are closed.