Chapter 11. Exits 271
   char              ApplGrpNameÝARCCSXIT_MAX_NAME_SIZE + 1¨;             
   char              ApplNameÝARCCSXIT_MAX_NAME_SIZE + 1¨;                
   char              ObjServerÝARCCSXIT_MAX_SERVER_SIZE + 1¨;             
   char              StorageNodeÝARCCSXIT_MAX_NAME_SIZE + 1¨;             
   void              *pJES;                                               
   char              IndexerParmsÝARCCSXIT_MAX_INDEXER_SIZE + 1¨;     
   ArcCSXitCarCtl    CCType;                                          
   ArcI32            LRECL;                                           
   ArcCSXitDocFormat RECFM;                                           
   ArcI32            UpdateAppl;                                      
   char              DelimÝARCCSXIT_MAX_DELIMITER_SIZE + 1¨;          
   char              *instance;                                       
   char              DbFieldNameÝARCCSXIT_MAX_DBCOL_NAME_SIZE + 1¨;   
   char              DbFieldDateFormatÝARCCSXIT_MAX_DATEFMT_SIZE + 1¨;
} ArsCSXitUpdtExit;                                                   
                                                                      
typedef struct _ArsCSXitUpdtExitU                                     
{                                                                     
   ArcChar           *pFileName;                                      
   ArcI32            Function;                                        
   ArcChar           ApplGrpNameÝARCCSXIT_MAX_NAME_SIZE + 1¨;         
   ArcChar           ApplNameÝARCCSXIT_MAX_NAME_SIZE + 1¨;            
   ArcChar           ObjServerÝARCCSXIT_MAX_SERVER_SIZE + 1¨;         
   ArcChar           StorageNodeÝARCCSXIT_MAX_NAME_SIZE + 1¨;         
   void              *pJES;                                            
   ArcChar           IndexerParmsÝARCCSXIT_MAX_INDEXER_SIZE + 1¨;      
   ArcCSXitCarCtl    CCType;                                           
   ArcI32            LRECL;                                            
   ArcCSXitDocFormat RECFM;                                            
   ArcI32            UpdateAppl;                                       
   ArcChar           DelimÝARCCSXIT_MAX_DELIMITER_SIZE + 1¨;           
   ArcChar           *instance;                                        
   ArcChar           DbFieldNameÝARCCSXIT_MAX_DBCOL_NAME_SIZE + 1¨;    
   ArcChar           DbFieldDateFormatÝARCCSXIT_MAX_DATEFMT_SIZE + 1¨; 
} ArsCSXitUpdtExitU;                                                   
                                                                       
ArcI32                                                                 
ARSCSXIT_EXPORT                                                        
ARSCSXIT_API                                                           
UPDTEXIT( ArsCSXitUpdtExit *updt ); 
Activating the report specifications archive definition exit
The report specifications archive definition exit is implemented by a single DLL, ARSUUPDT. 
ARSUUPDT is a DLL module that is written in the C programming language. The samples that 
are shipped (ARSUUPDT and ARSUUPDC) initialize the ARSUUPDA structure and call the ARSUUPDX 
ARS.RSADUPDT exit driver.
The ARSUUPDT DLL invokes module ARSUUPDX. Module ARSUUPDX interfaces with the MVS 
Dynamic Exit Facility to perform the following actions:
/SM590000Define the logical exit point name: ARS.RSADUPDT
/SM590000Route control to a set of exit routines that are associated with MVS and process the 
results of their execution
Module ARSUUPDZ is implemented as dynamic exit routine that is associated with MVS. An exit 
routine is eligible for execution after it becomes associated with the logical exit point. The 
MVS Dynamic Exit Facility provides several methods for performing this association.