fdisk: separate sun/aix/etc code into #included files
This commit is contained in:
76
util-linux/fdisk_aix.c
Normal file
76
util-linux/fdisk_aix.c
Normal file
@@ -0,0 +1,76 @@
|
||||
#ifdef CONFIG_FEATURE_AIX_LABEL
|
||||
/*
|
||||
* Copyright (C) Andreas Neuper, Sep 1998.
|
||||
* This file may be redistributed under
|
||||
* the terms of the GNU Public License.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
unsigned int magic; /* expect AIX_LABEL_MAGIC */
|
||||
unsigned int fillbytes1[124];
|
||||
unsigned int physical_volume_id;
|
||||
unsigned int fillbytes2[124];
|
||||
} aix_partition;
|
||||
|
||||
#define AIX_LABEL_MAGIC 0xc9c2d4c1
|
||||
#define AIX_LABEL_MAGIC_SWAPPED 0xc1d4c2c9
|
||||
#define AIX_INFO_MAGIC 0x00072959
|
||||
#define AIX_INFO_MAGIC_SWAPPED 0x59290700
|
||||
|
||||
#define aixlabel ((aix_partition *)MBRbuffer)
|
||||
|
||||
|
||||
/*
|
||||
Changes:
|
||||
* 1999-03-20 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
|
||||
* Internationalization
|
||||
*
|
||||
* 2003-03-20 Phillip Kesling <pkesling@sgi.com>
|
||||
* Some fixes
|
||||
*/
|
||||
|
||||
static int aix_other_endian;
|
||||
static short aix_volumes = 1;
|
||||
|
||||
/*
|
||||
* only dealing with free blocks here
|
||||
*/
|
||||
|
||||
static void
|
||||
aix_info(void)
|
||||
{
|
||||
puts(
|
||||
_("\n\tThere is a valid AIX label on this disk.\n"
|
||||
"\tUnfortunately Linux cannot handle these\n"
|
||||
"\tdisks at the moment. Nevertheless some\n"
|
||||
"\tadvice:\n"
|
||||
"\t1. fdisk will destroy its contents on write.\n"
|
||||
"\t2. Be sure that this disk is NOT a still vital\n"
|
||||
"\t part of a volume group. (Otherwise you may\n"
|
||||
"\t erase the other disks as well, if unmirrored.)\n"
|
||||
"\t3. Before deleting this physical volume be sure\n"
|
||||
"\t to remove the disk logically from your AIX\n"
|
||||
"\t machine. (Otherwise you become an AIXpert).")
|
||||
);
|
||||
}
|
||||
|
||||
static int
|
||||
check_aix_label(void)
|
||||
{
|
||||
if (aixlabel->magic != AIX_LABEL_MAGIC &&
|
||||
aixlabel->magic != AIX_LABEL_MAGIC_SWAPPED) {
|
||||
current_label_type = 0;
|
||||
aix_other_endian = 0;
|
||||
return 0;
|
||||
}
|
||||
aix_other_endian = (aixlabel->magic == AIX_LABEL_MAGIC_SWAPPED);
|
||||
update_units();
|
||||
current_label_type = label_aix;
|
||||
partitions = 1016;
|
||||
aix_volumes = 15;
|
||||
aix_info();
|
||||
/*aix_nolabel();*/ /* %% */
|
||||
/*aix_label = 1;*/ /* %% */
|
||||
return 1;
|
||||
}
|
||||
#endif /* AIX_LABEL */
|
||||
Reference in New Issue
Block a user