Chapter 11. Exits 267
   ArcU32 comp_off;                  
   ArcU32 comp_len;                  
} ArcCSXitDocHandle;                 
                                     
typedef struct _ArcCSXitDoc          
{                                    
   ArcCSXitDocFields doc_flds;       
   ArcCSXitDocHandle doc_hndl;       
} ArcCSXitDoc; 
From the previous example, the ArcCSXitApplGroup structure consists of the application 
group name, the application group identifier (agid), and the AGID name (agid_name). This 
information is important because it indicates the input to the functions. Structures that are 
specific to a function are also included in the header file.
In the following sections, we examine each exit and describe its usage.
11.5.2  Load exit
The load exit is used to send a notification after a document is loaded. The header file in 
Example 11-10 shows the information that can be incorporated into the notification message.
Example 11-10   Header file of the load exit
/**********************************************************************/ 
/* LOADEXIT - Load Exit                                               */ 
/*                                                                    */ 
/*  To activate the load exit, the arsuload dll must exist in the     */ 
/*  OnDemand exits installation directory.                            */ 
/*                                                                    */ 
/* INPUT: load                                                        */ 
/*                                                                    */ 
/* OUTPUT:                                                            */ 
/*        None                                                        */ 
/*                                                                    */ 
/* RETURN_CODE:                                                       */ 
/*        0         -> Successful                                     */ 
/*        Otherwise -> Failed                                         */ 
/*                                                                    */ 
/**********************************************************************/ 
typedef struct _ArsCSXitLoadExit                                          
{                                                                         
   char              *hostname;   /* OnDemand Library Server Hostname */  
   char              *load_id;    /* Load Id */                           
   ArcU32            deprecated;  /* was bytes.  Use report_bytes */      
   ArcU32            res_bytes;   /* Number of resource bytes stored */   
   ArcCSXitApplGroup *appl_grp;   /* Application Group Info */            
   ArcCSXitAppl      *appl;       /* Application Info */                  
   char              *file;       /* File containing all rows */          
   char              *user_def;   /* User Specified string to load */     
   ArcCSXitField     *reference;  /* Reference column defined for ODF */  
   char              *file_l;     /* File containing rows in non-UTF8  */   
   ArcU32            cp;          /* codepage file_l is in            */  
   void              **hndl;      /* pointer to anchor for arsuload   */  
   char              ColDelim;    /* Character used to delimit columns*/  
   ArcI64            report_bytes;/* Number of bytes in report */      
   char              *instance;   /* OD Instance name */               
} ArsCSXitLoadExit;