PRO rd_fheader, lun_filnam, file_header, ndset
;       ----------------------------------------------------------
;   ----------------------------------------------------------
;
gen_struct
file_header0 = {file_header_rec}
;
n = n_elements(lun_filnam)
file_header = replicate(file_header0, n)
;
for i=0,n-1 do begin
    siz = size(lun_filnam)
    vtyp = siz(siz(0)+1)
    if (vtyp eq 7) then begin       ;passed file name
    openr, lun, lun_filnam(i), /block, /get_lun
    end else begin
    lun = lun_filnam(i)
    end
    ;
    rd_pointer, lun, pointer
    ibyt = pointer.file_header
    rdwrt, 'R', lun, ibyt, 0, file_header0
    file_header(i) = file_header0

    if (vtyp eq 7) then free_lun, lun
end
;
ndset = file_header.nDataSets
;
end