Esempio n. 1
0
File: pc98.c Progetto: Excito/parted
static PedAlignment*
pc98_get_partition_alignment(const PedDisk *disk)
{
	PedSector cylinder_size =
		disk->dev->hw_geom.sectors * disk->dev->hw_geom.heads;

        return ped_alignment_new(0, cylinder_size);
}
Esempio n. 2
0
File: dasd.c Progetto: bcl/parted
static PedAlignment*
dasd_get_partition_alignment(const PedDisk *disk)
{
        LinuxSpecific *arch_specific = LINUX_SPECIFIC(disk->dev);
        PedSector sector_size =
                arch_specific->real_sector_size / disk->dev->sector_size;

        return ped_alignment_new(0, disk->dev->hw_geom.sectors * sector_size);
}
Esempio n. 3
0
/* _ped_Alignment -> PedAlignment functions */
PedAlignment *_ped_Alignment2PedAlignment(PyObject *s) {
    PedAlignment *ret = NULL;
    _ped_Alignment *alignment = (_ped_Alignment *) s;

    if (alignment == NULL) {
        PyErr_SetString(PyExc_TypeError, "Empty _ped.Alignment()");
        return NULL;
    }

    ret = ped_alignment_new(alignment->offset, alignment->grain_size);
    if (ret == NULL)
        return (PedAlignment *) PyErr_NoMemory();

    return ret;
}
Esempio n. 4
0
int _ped_Alignment_init(_ped_Alignment *self, PyObject *args, PyObject *kwds) {
    static char *kwlist[] = {"offset", "grain_size", NULL};
    PedAlignment *alignment = NULL;

    if (!PyArg_ParseTupleAndKeywords(args, kwds, "LL", kwlist,
                                     &self->offset, &self->grain_size)) {
        return -1;
    } else {
        alignment = ped_alignment_new(self->offset, self->grain_size);
        if (!alignment) {
            PyErr_SetString(CreateException, "Could not create new alignment");
            return -1;
        }

        self->offset = alignment->offset;
        self->grain_size = alignment->grain_size;

        ped_alignment_destroy(alignment);
        return 0;
    }
}