Lines Matching refs:params

82 hp300_setboot(ib_params *params)
100 assert(params != NULL);
101 assert(params->fsfd != -1);
102 assert(params->filesystem != NULL);
103 assert(params->s1fd != -1);
104 assert(params->stage1 != NULL);
110 bootstrap_mapsize = params->s1stat.st_size;
112 label = malloc(params->sectorsize);
119 if (params->stage2 != NULL) {
125 if (strcmp(params->fstype->name, "cd9660") != 0) {
127 params->fstype->name);
130 if (S_ISREG(params->fsstat.st_mode)) {
131 if (fsync(params->fsfd) == -1)
133 params->filesystem);
137 "a bootstrap", params->filesystem);
151 if (!params->fstype->findstage2(params, &nblk, blocks))
156 params->stage2);
160 "contiguous blocks", params->stage2);
164 boot_offset = blocks[0].block * params->fstype->blocksize;
168 if ((params->flags & IB_VERBOSE) != 0) {
170 params->stage2, (unsigned long)boot_offset,
171 params->filesystem);
176 if ((params->flags & IB_APPEND) != 0) {
177 if (!S_ISREG(params->fsstat.st_mode)) {
180 params->filesystem);
183 boot_offset = roundup(params->fsstat.st_size, HP300_SECTSIZE);
189 if (pread(params->fsfd, label, params->sectorsize,
190 LABELSECTOR * params->sectorsize)
191 != (ssize_t)params->sectorsize) {
201 warnx("Invalid disklabel in %s", params->filesystem);
224 if (boot_size < (uint64_t)params->s1stat.st_size) {
227 (unsigned long long)params->s1stat.st_size);
234 PROT_READ | PROT_WRITE, MAP_PRIVATE, params->s1fd, 0);
236 warn("mmapping `%s'", params->stage1);
244 uint32_t limit = hp300_btolifs(params->s1stat.st_size);
256 if ((params->flags & IB_NOWRITE) != 0) {
262 rv = pwrite(params->fsfd, bootstrap, LIF_VOLDIRSIZE, 0);
265 warn("Writing `%s'", params->filesystem);
267 warnx("Writing `%s': short write", params->filesystem);
272 if (params->stage2 != NULL) {
285 size = roundup(params->s1stat.st_size, secsize) - offset;
287 rv = pwrite(params->fsfd, bootstrap + offset, size,
292 params->filesystem);
295 params->filesystem);