IBM i Exit Point and Exit Program

Register exit programs
  type command WRKREGINF


 For information on the exit program definitions, go to the IBM i Documentation > Programming > Application programming interfaces > API Finder. Go to Find by Group and click on All Exit Programs:
https://www.ibm.com/docs/en/i/7.5?topic=interfaces-api-finder

Exit Programs
SecureMyi.com

Exit Point Name
Exit Point Format Name
Exit Program
Query Supervisor
QIBM_QQQ_QRY_SUPER
QRYS0100

Query Supervisor example exit programs
Open Database File Exit Program
QIBM_QDB_OPEN
DBOP0100

How to use the Open Database File Exit program to secure your database
Refined Object auditing control on the QIBM_DB_OPEN exit program

Work Management Exit Points

Auxiliary Storage Lower Limit
QIBM_QWC_QSTGLOWACN
STGL0100

Identifying Reasons for IBM i Disk Space Growth
Admin Alert: Protecting Your System from Critical Storage Errors
Admin Alert: Dealing with i5 Critical Storage Errors
APIs by Example : NOTIFICATION WHEN CRITICAL ASP USAGE LIMITS OCCUR
CBX913 -- Critical ASP usage % exit program
Storage system values: When maximum usage is reached
Command Analyzer Change
QIBM_QCA_CHG_COMMAND
CHGC0100

CBX213 - CHANGE AND RETRIEVE COMMAND EXIT POINTS – AND COMMAND EXIT CL COMMANDS
CF_API_CBX CBX213
Using CL Command Exit Programs Part 1
How to block a CL command that uses QIBM_QCA_CHG_COMMAND exit point
The CL Corner: Overriding Commands and Their Parameter Values
QIBM_CA_CHG_COMMAND pour CRTBNDRPG
Command Analyzer Retrieve
QIBM_QCA_RTV_COMMAND
RTVC0100

CBX213 - CHANGE AND RETRIEVE COMMAND EXIT POINTS – AND COMMAND EXIT CL COMMANDS
CF_API_CBX CBX213
Real-Time Alerts for CL Command Execution
CL retrieve exit programs can run after command completion
Call Job Interrupt Program
QIBM_QWC_JOBITPPGM
JITP0100

Dump_QTEMP
Call Job Interrupt Program (QWCJBITP) API
QALWJOBITP
HOW TO DISPLAY THE SCREEN OF ANOTHER INTERACTIVE JOB
CBX256 DSPJOBSCN
SENDING COMMANDS TO ANOTHER JOB – REVISITED FOR I5/OS V5R4
SENDING COMMANDS TO ANOTHER JOB — THE RUNJOBCMD COMMAND
CBX935 - RUNJOBCMD
Change Job
QIBM_QWT_CHGJOB
CHGJ0100

Job Notification
QIBM_QWT_JOBNOTIFY
NTFY0100

CBX122 - APIS BY EXAMPLE: REALTIME JOB MONITOR
CF_API_CBX CBX122
CBX900 - Job Notification Exit Program
The API Corner: Monitoring a Job Queue
Submit Job
QIBM_QWT_SBMJOB
SBMJ0100

Power Down System (PWRDWNSYS) or End System (ENDSYS) command is used
QIBM_QWC_PWRDWNSYS
PWRD0100 , PWDR0200

PWRDWNSYS exit programs
Preattention Program
QIBM_QWT_PREATTNPGMS
ATTN0100

Presystem Request Program
QIBM_QWT_SYSREQPGMS
SREQ0100

CBX107 - Set profile exit program & Retrieve profile exit program
Prevent Access to System Request Menu
CONTROLLING THE ACTION OF THE SYSTEM REQUEST KEY AND THE ATTN KEY
TAKING CONTROL OF THE SYSTEM REQUEST MENU
CBX945 - CHGPRFEXIT
Pre-restricted State Exit Programs
QIBM_QWC_PRERESTRICT
PRSE0100, PRSE0200

QIBM_QWC_PRERESTRICT Example and Usage Notes

FTP Exit Points

File Transfer Protocol exit programs
QIBM_QTMF_SERVER_REQ
QIBM_QTMF_CLIENT_REQ

VLRQ0100

QIBM_QTMF_SVR_LOGON
TCPL0100. TCPL0200, TCPL0300

Request validation exit point: client and server
AS/400 Journal - FTP FTPRQSVLD
FTP server logon exit point
easy400 - SECTCP
What is an Exit Point? And How do I Write Exit Programs?
AS/400 Journal - FTP FTPLOGON

Telnet Server Exit Points

Telnet exit point programs
QIBM_QTG_DEVINIT
INIT0100

QIBM_QTG_DEVTERM
TERM0100

TCP/IP Logging on to a remote computer (Telnet)
Examples: Telnet exit programs
Telnet Device Initialization Exit RPG IV Program -- Midrange-L list
easy400 SECTCP - TELNET session validation user exit
Telnet Device Initialization Exit Program

IBM i Host Server Exit Points

IBM i Host Server exit point to format mapping



The User Profile Exit Points

Exit PointDescriptionFormat
QIBM_QSY_CHG_PROFILEChange User ProfileCHGP0100
QIBM_QSY_CRT_PROFILECreate User ProfileCRTP0100
QIBM_QSY_RST_PROFILERestore User ProfileRSTP0100
QIBM_QSY_DLT_PROFILEDelete User Profile (Before Delete)DLTP0100
QIBM_QSY_DLT_PROFILEDelete User Profile (After Delete)DLTP0200

All format as following:
     **
     ** ExitPointName        1 - 20
     ** ExitPointFormatName 21 - 28
     ** UserProfile         29 - 38
     **
     **-- User profile exit parameter:
     D XitParm         Ds                  Qualified
     D  XitPntNam                    20a
     D  XitPntFmt                     8a
     D   UsrPrfAct                    3a   Overlay( XitPntFmt: 1 )
     D  UsrPrf                       10a
    

Password Exit Points

Validate Password Exit Program
 QIBM_QSY_VLD_PASSWRD
 VLDP0100, VLDP0200

Check Password Exit Program
 QIBM_QSY_CHK_PASSWRD
 CHKP0100, CHKP0200


Sockets-related User Exit Points

https://www.ibm.com/docs/en/i/7.5?topic=concepts-sockets-related-user-exit-points
  • QIBM_QSO_ACCEPT
  • QIBM_QSO_CONNECT
  • QIBM_QSO_LISTEN
Example: User Exit Program C for QIBM_QSO_ACCEPT
  QIBM_QSO_ACCEPT  RPGLE Exit Program SKTEXITACP.RPGLE
  QIBM_QSO_CONNECT RPGLE Exit Program SKTEXITCNN.RPGLE
  QIBM_QSO_LISTEN  RPGLE Exit Program SKTEXITLSN.RPGLE
  Socket Exit Program Log File        SKTEXITLOG.PF
  

Message Handling Exit Points

https://www.ibm.com/docs/en/i/7.5?topic=category-message-handling-apis

Break Handling Exit Program
Inquiry Handling
QIBM_QMH_HDL_INQEXT
INQE0100


Reply Handling
QIBM_QMH_REPLY_INQ
RPYI0100


Watch For Event

https://www.ibm.com/docs/api/v1/content/ssw_ibm_i_75/apis/xwchevnt.htm
MessageID-Type watches support following parameters to idendify the events to monitor:
  • Message ID
    • *All
    • *Generic
    • Message ID
  • Message type
    • *All
    • *COMP, *DIAG, *ESCAPE, etc.
  • Message severity
    • 0-99
  • Message data comparison
    • *MSGDTA
    • *FROMPGM
    • *TOPGM
  • Message queue
    • *SYSOPR
    • *HSTLOG
    • *JOBLOG
  • Watched job
    • Job name, *ALL
    • User profile, *ALL
    • Job number, *ALL

RCVJRNE Exit Program

Receiving journal entries in an exit program

沒有留言: