FUNCTION assoc_xdf,fname,lines=lines,columns=columns,datatype=datatype,typecode=typecode,header=header,nocompress=nocompress f = open_xdf(fname,lines=lines,columns=columns,datatype=datatype,typecode=typecode,header=header,nocompress=nocompress) outarr = make_array(1,type=typecode) point_lun,f*(-1),pos zinfoname='binfo'+strtrim(string(fix(randomu(seed)*10000)),2)+'.inf' openw,f2,zinfoname,/get_lun,/xdr writeu,f2,outarr free_lun,f2 openr,f2,zinfoname,/get_lun,/xdr point_lun,f2*(-1),pos1 readu,f2,outarr point_lun,f2*(-1),pos2 arrsize = pos2-pos1 free_lun,f2 file_delete,zinfoname,/quiet ;arrsize is the size of one element ;need to know: one element size, one column size (element * lines) colsize = long(arrsize) * long(lines) IF NOT keyword_set(header) THEN header = 0 return, {fptr : f, fpos : pos, fsize : arrsize, ftype : typecode, fcols : columns, flines : lines, fheader : header, fcolsize : colsize} END