//
@co_call(par_area,par_class,'getPath',par_id=>par_id,par_area=>par_area,par_class=>par_class);
filename = ap_psprintf(p, "%s/%s", cou_getCODataPath(), (char *) cou_getReturnValue( cnx, CO_STRING, &err));

__SEND_MESG_DEBUG("file with data = %s", filename)

fd = open( filename, O_RDONLY);
if (fd==-1) {
__SEND_MESG_DEBUG("couldn't open file %s", filename)
return -1; /* can't open file */
}
if (fstat(fd, &stat_buf)==-1) {
__SEND_MESG_DEBUG("couldn't state file %s", filename)
return -1; /* can't stat file */
}
length = stat_buf.st_size+1;
out_buf = ap_pstrdup(p, (map=mmap( 0, length, PROT_READ, MAP_SHARED, fd, 0)));
munmap(map, length);
close(fd);

// if (ap_pclosef(p, fd) == -1) cou_logError(cnx, CO_LOG_DEBUG, "couldn't close file %s", filename);


__RETURN_STRING(out_buf)