Lines Matching full:part

243 	struct part *part;  in parse_part()  local
253 part = calloc(1, sizeof(struct part)); in parse_part()
254 if (part == NULL) in parse_part()
267 part->alias = malloc(len); in parse_part()
268 if (part->alias == NULL) { in parse_part()
272 strlcpy(part->alias, spec, len); in parse_part()
277 part->kind = PART_KIND_SIZE; in parse_part()
280 part->kind = PART_KIND_FILE; in parse_part()
283 part->kind = PART_KIND_PIPE; in parse_part()
291 part->contents = strdup(spec); in parse_part()
292 if (part->contents == NULL) { in parse_part()
297 spec = part->alias; in parse_part()
301 if (strlen(part->alias) == 0 || strlen(sep) == 0) { in parse_part()
305 part->label = strdup(sep); in parse_part()
306 if (part->label == NULL) { in parse_part()
312 part->index = nparts; in parse_part()
313 TAILQ_INSERT_TAIL(&partlist, part, link); in parse_part()
318 if (part->alias != NULL) in parse_part()
319 free(part->alias); in parse_part()
320 free(part); in parse_part()
406 struct part *part, *part2; in mkimg_validate() local
412 TAILQ_FOREACH(part, &partlist, link) { in mkimg_validate()
413 start = part->block; in mkimg_validate()
414 end = part->block + part->size; in mkimg_validate()
416 part2 = TAILQ_NEXT(part, link); in mkimg_validate()
441 struct part *part; in mkimg() local
449 TAILQ_FOREACH(part, &partlist, link) { in mkimg()
450 error = scheme_check_part(part); in mkimg()
452 errc(EX_DATAERR, error, "partition %d", part->index+1); in mkimg()
457 TAILQ_FOREACH(part, &partlist, link) { in mkimg()
462 switch (part->kind) { in mkimg()
465 offset = part->contents; in mkimg()
467 if (part->kind == PART_KIND_SIZE && in mkimg()
489 part->block = block; in mkimg()
493 "... ", part->index + 1, (long long)part->block); in mkimg()
496 switch (part->kind) { in mkimg()
498 fd = open(part->contents, O_RDONLY, 0); in mkimg()
506 fp = popen(part->contents, "r"); in mkimg()
516 errc(EX_IOERR, error, "partition %d", part->index + 1); in mkimg()
517 part->size = (bytesize + secsz - 1) / secsz; in mkimg()
519 bytesize = part->size * secsz; in mkimg()
521 (long long)bytesize, (long long)part->size); in mkimg()
535 part->block + part->size); in mkimg()