fails on the cpu_hdr, return 0 instead of -1. This allows the caller to distinguise between fatal errors and 'nothing there'.