 
#ifndef __dl_print_h
#define __dl_print_h
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __dl_wimp_h
#include "Wimp.h"
#endif
#ifndef __dl_pdriver_h
#include "PDriver.h"
#endif
typedef struct print_block {
void *reference; 
char *jobtitle; 
printer_info printerinfo; 
print_job job; 
print_job oldjob; 
}
print_block;
enum {
print_result_OK = 0, 
print_result_QUEUED, 
print_result_NEEDPRINTERMANAGER, 
print_result_PRINTERROR, 
print_result_SAVEFAILED, 
print_result_CANTSAVE, 
print_result_CANTOPENPRINTER, 
print_result_FAILED 
};
typedef int print_result;
typedef BOOL (*print_printfn)( print_block *print);
typedef BOOL (*print_savefn)( print_block *print, message_datasaveack *datasaveack);
typedef void (*print_resultfn)( print_block *print, print_result result);
BOOL Print_StartPrint( 
print_printfn printfn, 
print_savefn savefn, 
print_resultfn resulfn, 
void *reference, 
int filetype, 
int estsize, 
char *leafname, 
char *jobtitle
);
#ifdef __cplusplus
}
#endif
#endif
