home *** CD-ROM | disk | FTP | other *** search
- #ifndef FDISK_CONSTRAINTS_H
- #define FDISK_CONSTRAINTS_H
-
- /* lets define a 'contraint' - use for automatic allocation of resources */
- /* contraints are able to handle unsigned values only, but thats all we need */
- /* if active, contraint requires value to be within the range defined by */
- /* min and max, inclusively. */
- struct constraint {
- unsigned int active; /* 0 is contraint disabled, 1 otherwise */
- unsigned int current; /* current value */
- unsigned int min; /* minimum value allowed */
- unsigned int max; /* maximum value allowed */
- };
-
- typedef struct constraint Constraint;
-
- /* DriveSet describes a set of numbers (drive numbers usually) */
- /* If active[n] is non-zero, then the number 'n' is in the set */
- #define MAX_DRIVESET_NUM 32
- struct driveset {
- unsigned int current;
- unsigned char active[MAX_DRIVESET_NUM+1];
- };
-
- typedef struct driveset DriveSet;
-
- int fdiskSetFixedConstraint( Constraint *c, unsigned int value );
- int fdiskGetConstraint( Constraint *c, unsigned int *cur,
- unsigned int *min, unsigned int *max,
- unsigned int *active);
- int fdiskSetConstraint( Constraint *c, unsigned int cur,
- unsigned int min, unsigned int max,
- unsigned int active);
- int fdiskGetMinMaxConstraint(Constraint *c,unsigned int *mn,unsigned int *mx);
- int fdiskGetCurrentConstraint(Constraint *c, unsigned int *current);
- int fdiskSetCurrentConstraint(Constraint *c, unsigned int current);
- int fdiskQueryConstraint( Constraint *c, unsigned int *cur,
- unsigned int *min, unsigned int *max,
- unsigned int dmin, unsigned int dmax );
- int fdiskConstraintIsActive( Constraint *c );
- int fdiskEnableConstraint( Constraint *c );
- int fdiskDisableConstraint( Constraint *c );
- int fdiskResetConstraint( Constraint *c );
-
- int fdiskActivateAllDriveSet( DriveSet *ds );
- int fdiskDeactivateAllDriveSet( DriveSet *ds );
- int fdiskActivateDriveSet( DriveSet *ds, unsigned int i);
- int fdiskDeactiveDriveSet( DriveSet *ds, unsigned int i);
- int fdiskThisDriveSetIsActive( DriveSet *ds, unsigned int i);
- int fdiskDriveSetIsActive( DriveSet *ds );
- int fdiskInitWalkDriveSet( DriveSet *ds, unsigned int *i );
- int fdiskWalkDriveSet( DriveSet *ds, unsigned int *i );
- int fdiskSetCurrentDriveSet( DriveSet *ds, unsigned int i );
- int fdiskGetCurrentDriveSet( DriveSet *ds, unsigned int *i );
- #endif
-