code: def _parse_header(self):
          
          # update the file size, needed when parse_header is called after
          # we have unlinked a chunk or writed a new one
          self.size = self.get_size()
  
          if self.size == 0:
              # Some region files seems to have 0 bytes of size, and
              # Minecraft handle them without problems. Take them
              # as empty region files.
              return
          elif self.size < 2*SECTOR_LENGTH:
              raise NoRegionHeader('The region file is %d bytes, too small in size to have a header.' % self.size)
          
          for index in range(0, SECTOR_LENGTH, 4):
              x = int(index//4) % 32
              z = int(index//4)//32
              m = self.metadata[x, z]
              
              self.file.seek(index)
              offset, length = unpack(">IB", b"\0" + self.file.read(4))
              m.blockstart, m.blocklength = offset, length
              self.file.seek(index + SECTOR_LENGTH)
              m.timestamp = unpack(">I", self.file.read(4))[0]
              
              if offset == 0 and length == 0:
                  m.status = STATUS_CHUNK_NOT_CREATED
              elif length == 0:
                  m.status = STATUS_CHUNK_ZERO_LENGTH
              elif offset < 2 and offset != 0:
                  m.status = STATUS_CHUNK_IN_HEADER
              elif SECTOR_LENGTH * offset + 5 > self.size:
                  # Chunk header can't be read.
                  m.status = STATUS_CHUNK_OUT_OF_FILE
              else:
                  m.status = STATUS_CHUNK_OK
          
          # Check for chunks overlapping in the file
          for chunks in self._sectors()[2:]:
              if len(chunks) > 1:
                  # overlapping chunks
                  for m in chunks:
                      # Update status, unless these more severe errors take precedence
                      if m.status not in (STATUS_CHUNK_ZERO_LENGTH, STATUS_CHUNK_IN_HEADER, 
                                          STATUS_CHUNK_OUT_OF_FILE):
                          m.status = STATUS_CHUNK_OVERLAPPING
docs: Read the region header and stores: offset, length and status.