struct dev * mkdev(char *path, int mode, int bufsz, int round, int hold, int autovol) { struct dev *d; if (path) { for (d = dev_list; d != NULL; d = d->next) { if (d->reqmode & (MODE_LOOP | MODE_THRU)) continue; if (strcmp(d->path, path) == 0) return d; } } else { if (dev_list) return dev_list; path = SIO_DEVANY; } if (!bufsz && !round) { round = DEFAULT_ROUND; bufsz = DEFAULT_BUFSZ; } else if (!bufsz) { bufsz = round * 2; } else if (!round) round = bufsz / 2; d = dev_new(path, mode, bufsz, round, hold, autovol); if (d == NULL) exit(1); return d; }
struct dev * mkdev(char *path, struct aparams *par, int mode, int bufsz, int round, int rate, int hold, int autovol) { struct dev *d; for (d = dev_list; d != NULL; d = d->next) { if (strcmp(d->path, path) == 0) return d; } if (!bufsz && !round) { round = DEFAULT_ROUND; bufsz = DEFAULT_BUFSZ; } else if (!bufsz) { bufsz = round * 2; } else if (!round) round = bufsz / 2; d = dev_new(path, par, mode, bufsz, round, rate, hold, autovol); if (d == NULL) exit(1); return d; }
bool_t dev_init() { dev_new(&rmscsidevsw); return (TRUE); }