Lines Matching full:part
91 static void lba2chs(unsigned long lba_addr, CHS *chs, PARTITION *part)
96 abss = (lba_addr >> 9) + part->start;
97 chs->cyl = abss / (part->sects * part->heads);
98 chs->head = (abss / part->sects) % part->heads;
99 chs->sector = (abss % part->sects) + 1;
150 static io_channel alloc_io_channel(PARTITION *part)
160 ioch->name = (char *)malloc(strlen(part->dev)+1);
165 strcpy(ioch->name, part->dev);
166 ioch->private_data = part;
184 PARTITION *part;
215 part = (PARTITION*)malloc(sizeof(PARTITION));
216 if (!part)
240 part->phys = 0x80;
241 part->phys += toupper(tmp[2]) - 'A';
246 part->pno = isdigit((int)tmp[3]) ? tmp[3] - '0' - 1: 0;
248 part->pno = 0xFF;
253 part->phys = isdigit((int)tmp[2]) ? tmp[2] - '0' : 0;
255 part->phys = 0x00; /* We'll assume /dev/fd0 */
263 if(part->phys < 0x80)
270 part->dev = strdup(dev);
276 part->phys,
286 free(part->dev);
287 free(part);
294 part->cyls = (unsigned short)(((sec[0] >> 6) << 8) + sec[1] + 1);
295 part->heads = sec[3] + 1;
296 part->sects = sec[0] & 0x3F;
301 _dio_hw_error = biosdisk(DISK_READ, part->phys, 0, 0, 1, 1, sec);
306 free(part->dev);
307 free(part);
312 pent = scan_partition_table(pent, part->phys, &part->pno);
316 _dio_error = part->pno == 0xFE ? ERR_EMPTYPART :
317 part->pno == 0xFD ? ERR_LINUXSWAP : ERR_NOTEXT2FS;
318 free(part->dev);
319 free(part);
332 part->start = fsec + fhead * part->sects + fcyl *
333 (part->heads * part->sects) - 1;
334 part->len = pent->size;
342 free(part);
346 partitions[npart++] = active = part;
376 PARTITION *part;
382 part = (PARTITION*)channel->private_data;
387 lba2chs(loc, &chs, part);
394 part->phys,
413 PARTITION *part;
419 part = (PARTITION*)channel->private_data;
432 lba2chs(loc, &chs, part);
434 part->phys,