docs: def tobinary(self):
          """Return self as a binary string."""
          entrylen = struct.calcsize(self.ENTRYSTRUCT)
          rslt = []
          for (dpos, dlen, ulen, flag, typcd, nm) in self.data:
              nmlen = len(nm) + 1       # add 1 for a '\0'
              # version 4
              # rslt.append(struct.pack(self.ENTRYSTRUCT+`nmlen`+'s',
              #   nmlen+entrylen, dpos, dlen, ulen, flag, typcd, nm+'\0'))
              # version 5
              #   align to 16 byte boundary so xplatform C can read
              toclen = nmlen + entrylen
              if toclen % 16 == 0:
                  pad = '\0'
              else:
                  padlen = 16 - (toclen % 16)
                  pad = '\0'*padlen
                  nmlen = nmlen + padlen
              rslt.append(struct.pack(self.ENTRYSTRUCT+`nmlen`+'s',
                              nmlen+entrylen, dpos, dlen, ulen, flag, typcd, nm+pad))
              # end version 5
  
          return ''.join(rslt)