-1 is a possible input, but I would think of it as meaning “Unknown”. Don’t think of it as meaning “determine automatically”, because in general, mktime() can’t always determine it automatically.
The explicit DST status (0 or 1) should come from something external to the software, for example store it in the file or database, or prompt the user.