home *** CD-ROM | disk | FTP | other *** search
- #ifndef FDISK_PARTSPEC_H
- #define FDISK_PARTSPEC_H
-
- /* reasons partition wasnt allocated */
- /* ALLOC_UNDEF - reason is currently undefined */
- /* ALLOC_OK - it was allocated just fine */
- /* ALLOC_SIZE - no room on allowed drives */
- /* ALLOC_START - couldnt start at requested sector */
- /* ALLOC_CYL - couldnt put in requested range */
- /* ALLOC_DRIVE - not really used yet */
- /* ALLOC_FREEPRI - no free primary partitions */
- /* ALLOC_EXTCRE - couldnt create extended partition */
- /* ALLOC_FREEPART- no free slots in HardDrive struct */
- enum allocReason {ALLOC_UNDEF, ALLOC_OK, ALLOC_SIZE, ALLOC_START, ALLOC_CYL,
- ALLOC_DRIVE, ALLOC_FREEPRI, ALLOC_FREEPART };
-
- /* holds the reason latest alloc attempt failed (or didnt) */
- extern enum allocReason LastAllocStat;
-
- /* some structures used to abstact partitions even more */
- struct partition_spec {
- char *name;
- unsigned int status;
- enum allocReason reason;
- Partition partition;
- };
-
- #define MAX_PARTITION_SPEC 100
- struct all_partition_spec {
- unsigned int num;
- struct partition_spec entry[MAX_PARTITION_SPEC];
- };
-
- typedef struct partition_spec PartitionSpecEntry;
- typedef struct all_partition_spec PartitionSpec;
-
- #define REQUEST_GRANTED 1
- #define REQUEST_PENDING 2
- #define REQUEST_DENIED 4
- #define REQUEST_ORIGINAL 8
-
- char *GetReasonString( enum allocReason reason );
- int fdiskHandleSpecialPartitions( PartitionSpec *spec );
- int fdiskGetConstraintPriority( Partition *p );
- int fdiskReturnPartitionSpec( PartitionSpec *spec, char *name, Partition **p );
- int fdiskIndexPartitionSpec( PartitionSpec *spec, char *name, unsigned int *i);
- int fdiskInsertPartitionSpec( PartitionSpec *spec, char *name, Partition *p,
- unsigned int status);
- int fdiskRenamePartitionSpec( PartitionSpec *spec, char *name, char *newname);
- int fdiskModifyPartitionSpec( PartitionSpec *spec, char *name, Partition *p,
- unsigned int status);
- int fdiskDeletePartitionSpec( PartitionSpec *spec, char *name );
- int fdiskWipePartitionSpec( PartitionSpec *spec );
- int fdiskSetupPartitionSpec( HardDrive **hdarr, unsigned int numhd,
- PartitionSpec *spec );
- int fdiskCleanOriginalSpecs( HardDrive **hdarr, unsigned int numhd,
- PartitionSpec *spec );
- int fdiskMakeUniqSpecName( PartitionSpec *spec, char * base, char **s );
- int fdiskMakeSwapSpecName( PartitionSpec *spec, char **s );
- #endif
-
-
-