struct partition_limit { char const *name; uint64_t max_start_sector; uint64_t max_length; }; %% dasd,UINT32_MAX,UINT32_MAX dvh,UINT32_MAX,UINT32_MAX gpt,UINT64_MAX,UINT64_MAX mac,UINT32_MAX,UINT32_MAX msdos,UINT32_MAX,UINT32_MAX # # Sun partitions are cylinder-aligned, and it looks like there are 128 sectors # in a cylinder. FIXME verify. Possibly compute sectors-per-cylinder, given # u_int16_t ntrks; /* Tracks per cylinder */ # u_int16_t nsect; /* Sectors per track */ sun,128ULL*UINT32_MAX,UINT32_MAX # bsd,UINT32_MAX,UINT32_MAX # aix,UINT32_MAX,UINT32_MAX # In reality, loop labels have no particular limit. loop,UINT64_MAX,UINT64_MAX pc98,UINT32_MAX,UINT32_MAX # # FIXME: not verified. looks like these are cylinder aligned, too amiga,UINT32_MAX,UINT32_MAX atari,INT32_MAX,INT32_MAX