SSID: Respect ASCII character Label.
[tomato.git] / release / src / router / busybox / util-linux / fdisk_aix.c
blobee5df50e5c9bf5a47383065c366f1cb556657b6d
1 #if ENABLE_FEATURE_AIX_LABEL
2 /*
3 * Copyright (C) Andreas Neuper, Sep 1998.
5 * Licensed under GPLv2, see file LICENSE in this source tree.
6 */
8 typedef struct {
9 unsigned int magic; /* expect AIX_LABEL_MAGIC */
10 unsigned int fillbytes1[124];
11 unsigned int physical_volume_id;
12 unsigned int fillbytes2[124];
13 } aix_partition;
15 #define AIX_LABEL_MAGIC 0xc9c2d4c1
16 #define AIX_LABEL_MAGIC_SWAPPED 0xc1d4c2c9
17 #define AIX_INFO_MAGIC 0x00072959
18 #define AIX_INFO_MAGIC_SWAPPED 0x59290700
20 #define aixlabel ((aix_partition *)MBRbuffer)
24 Changes:
25 * 1999-03-20 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
26 * Internationalization
28 * 2003-03-20 Phillip Kesling <pkesling@sgi.com>
29 * Some fixes
32 static smallint aix_other_endian; /* bool */
33 static smallint aix_volumes = 1; /* max 15 */
36 * only dealing with free blocks here
39 static void
40 aix_info(void)
42 puts("\n"
43 "There is a valid AIX label on this disk.\n"
44 "Unfortunately Linux cannot handle these disks at the moment.\n"
45 "Nevertheless some advice:\n"
46 "1. fdisk will destroy its contents on write.\n"
47 "2. Be sure that this disk is NOT a still vital part of a volume group.\n"
48 " (Otherwise you may erase the other disks as well, if unmirrored.)\n"
49 "3. Before deleting this physical volume be sure to remove the disk\n"
50 " logically from your AIX machine. (Otherwise you become an AIXpert).\n"
54 static int
55 check_aix_label(void)
57 if (aixlabel->magic != AIX_LABEL_MAGIC
58 && aixlabel->magic != AIX_LABEL_MAGIC_SWAPPED
59 ) {
60 current_label_type = 0;
61 aix_other_endian = 0;
62 return 0;
64 aix_other_endian = (aixlabel->magic == AIX_LABEL_MAGIC_SWAPPED);
65 update_units();
66 current_label_type = LABEL_AIX;
67 g_partitions = 1016;
68 aix_volumes = 15;
69 aix_info();
70 /*aix_nolabel();*/ /* %% */
71 /*aix_label = 1;*/ /* %% */
72 return 1;
74 #endif /* AIX_LABEL */