| ubi_io_read_echdr#(PNUM, PAGESIZE, PEBS; AEHDR; BITFLIPS, ERR) {if PNUM < # PEBS ∧ ¬ PEBS[PNUM].bad then let BUF = mkbuf(PAGESIZE) in {ubi_io_read#(PNUM, 0, 0, PAGESIZE, PEBS; BUF; BITFLIPS, ERR); if ERR = ESUCCESS then if isempty(BUF) then AEHDR := empty else let EHDR = ? in {decode_echeader#(PAGESIZE, BUF; EHDR; ERR); if ERR = ESUCCESS then AEHDR := aechdr(EHDR.ec)}} else abort } |