perr
struct puffs_error *perr = (void *)preq;
perr->perr_error, perr->perr_str, preq->preq_cookie);
perr("%s", msg);
perr("Cannot init group list for `%s'", pentry->pw_name);
perr("Cannot change primary group to %lu",
perr("Cannot create a session");
perr("Cannot set login name to `%s'", pentry->pw_name);
perr("Cannot set user id to %lu", (unsigned long)uid);
perr("Cannot change file permissions to `%s'", filename);
perr("Cannot fork");
perr("Cannot open input file");
perr("Error duplicating input file descriptor");
perr("Error in fstat of input file descriptor");
perr("Error in lstat of `%s'", filename);
perr("Error in fcntl");
perr("Cannot chdir to `%s'", _PATH_ATSPOOL);
perr("Cannot create output file `%s'", filename);
perr("Error in fstat of output file descriptor");
perr("Error in fork");
perr("Error in lseek");
perr("Error in I/O redirection");
perr("Error in I/O redirection");
perr("Error in I/O redirection");
perr("Cannot chdir to `%s'", _PATH_ATJOBS);
perr("Exec failed for /bin/sh");
perr("Error in stat of output file `%s'", filename);
perr("Open of jobfile `%s' failed", filename);
perr("Exec failed for mail command `%s'", _PATH_SENDMAIL);
perr("Cannot change directory to `%s'", _PATH_ATJOBS);
perr("Cannot open `%s'", _PATH_ATJOBS);
perr("Cannot stat `%s' in `%s'", dirent->d_name,
static void perr(const char *, ...) __dead;
perr("Can't stat `/'");
perr("Can't stat `%s'", newname);
perr("Can't convert to raw `%s'", newname);
perr("Can't stat `%s'", raw);
perr("%s is not a character device\n", raw);
perr("Can't convert to cooked `%s'", newname);
perr("%s", buf);
void perr(const char *, ...) __printflike(1, 2);
perr("could not read fsinfo block");
perr("Unable to write FSInfo");
perr("could not read backup bootblock");
perr("could not read fsinfo block");
perr("Unable to write FSInfo");
perr("could not read boot block");
perr("Can't open `%s'", filename);
perr("could not write LOST.DIR");
perr("No space for directory buffer (%zu)", len);
perr("No space for directory delbuf (%zu)", len);
perr("No space for directory entry");
perr("Unable to read directory");
perr("Unable to write directory");
perr("Unable to read directory");
perr("No space for directory");
perr("No space for todo list");
perr("Unable to write directory");
perr("Unable to write directory");
perr("No space for buffer");
perr("could not read LOST.DIR");
perr("Unable to read FAT");
perr("No space for FAT clusters (%zu)", len);
perr("No space for FAT sectors (%zu)", fatsz);
perr("Unable to write FAT");
perr("No space for FAT sectors (%zu)", len);
perr("Unable to read FAT");
int perr = (le32toh(msg.u.complete.count) & __BIT(30)) != 0;
if (perr && sc->sc_started) {
struct puffs_error *perr;
puffs_msgmem_alloc(sizeof(struct puffs_error), &park, (void *)&perr, 1);
perr->perr_error = error;
strlcpy(perr->perr_str, str, sizeof(perr->perr_str));
perr("Cannot open lockfile " _PATH_LOCKFILE);
perr("Cannot generate job number");
perr("Cannot access " _PATH_ATJOBS);
perr("Cannot create atjob file");
perr("Error in dup() of job file");
perr("Cannot give away file");
perr("Cannot open input file");
perr("Cannot give away file");
perr("Cannot change to " _PATH_ATJOBS);
perr("Cannot open " _PATH_ATJOBS);
perr("Cannot stat in " _PATH_ATJOBS);
perr("Cannot change to " _PATH_ATJOBS);
perr("Cannot open " _PATH_ATJOBS);
perr("Cannot stat in " _PATH_ATJOBS);
perr(dirent->d_name);
perr("Cannot open file");
perr(msg);
void perr(const char *) __dead;
int8_t perr;
rv = prop_dictionary_get_int8(results_dict, "drvctl-error", &perr);
if (rv == false || perr != 0) {
perr("Register format must be .XY");
void perr(const char *fmt, ...) __printflike(1, 2);
perr("Undefined symbol %s", s->name);
perr("Divide by zero");
perr("Unknown instruction code %s", opcode);
perr("Inappropriate type for operand %u", nop+1);
perr("Spec out of bounds");
perr("Insufficient operands");
perr("Extra operands ignored");
perr("Invalid %s specifier", what);
perr("Extra operands ignored");
perr("Registers must be in the same register file");
perr("Value truncated to 16 bits");
perr("5-bit constant out of range");
perr("Displacement too large");
perr("Displacement too large (word)");
perr("Short displacement too large or 0");
perr("DSJS displacement too large");
perr("Displacement too large (word)");
perr("Field size must be 1..32");
perr("Field extension must be 0 or 1");
perr("Registers must all be in the same file");
perr("Register name repeated");
perr("Mask value out of range");
perr("Extra operands ignored");
perr("Illegal combination of addressing modes");
perr("Source displacement too large");
perr("Destination displacement too large");
perr("%s out of range",
perr("BUG: unknown instruction class %d", class);
perr("Bad number syntax");
perr("Unterminated string");
perr("Require filename string");
perr("Inappropriate operand");
perr("Inappropriate operand");
perr("Insufficient operands");
perr("Extra operands ignored");
perr("Inappropriate operand");
perr("Label required");
perr("Inappropriate operand");
perr("Inappropriate operand");
perr("Word value too large");
perr("Phase error on numeric label %d (%#x -> %#x)",
perr("Multiply defined label %s", id);
perr("Phase error on label %s (%#x -> %#x)",
perr("%s", errs);
int8_t perr;
rv = prop_dictionary_get_int8(results_dict, "drvctl-error", &perr);
if (rv == false || perr != 0) {