30#define VTOC_START_CC 0x0
31#define VTOC_START_HH 0x1
32#define FIRST_USABLE_CYL 1
33#define FIRST_USABLE_TRK 2
35#define DASD_3380_TYPE 13148
36#define DASD_3390_TYPE 13200
37#define DASD_9345_TYPE 37701
39#define DASD_3380_VALUE 0xbb60
40#define DASD_3390_VALUE 0xe5a2
41#define DASD_9345_VALUE 0xbc98
43#define VOLSER_LENGTH 6
44#define BIG_DISK_SIZE 0x10000
45#define LV_COMPAT_CYL 0xFFFE
124 u_int64_t formatted_blocks;
139 u_int32_t block_size;
140 u_int32_t origin_ptr;
141 u_int32_t usable_count;
142 u_int32_t formatted_count;
144 u_int32_t used_count;
154 u_int32_t disk_offset;
161 u_int32_t open_files;
165 char segment_name[8];
347 unsigned int compat_cylinders,
348 unsigned int real_cylinders,
351 unsigned int blksize,
355 u_int16_t unused_update);
360 int trk, u_int16_t a, u_int16_t b,
364 int trk, u_int16_t a, u_int16_t b,
370 u_int32_t a, u_int32_t b);
373 u_int32_t a, u_int32_t b);
384 u_int32_t
start, u_int32_t stop, u_int32_t
cyl,
typedef __attribute__
Definition: vtoc.h:80
uint32_t start
Definition: dos.c:4
uint64_t block_count
Definition: f2fs.h:10
unsigned char f1
Definition: fdasd.h:0
unsigned short dev_type
Definition: fdasd.h:8
@ upper
Definition: fdasd.h:264
@ lower
Definition: fdasd.h:264
unsigned char f5
Definition: fdasd.h:4
unsigned char f4
Definition: fdasd.h:3
unsigned char reserved1
Definition: fdasd.h:2
uint16_t cyl
Definition: pc98.c:9
unsigned long start
Definition: vtoc.h:55
unsigned char sectors
Definition: vtoc.h:53
unsigned short cylinders
Definition: vtoc.h:54
unsigned char heads
Definition: vtoc.h:52
u_int32_t cchh2trk(cchh_t *p, struct fdasd_hd_geometry *geo)
Definition: vtoc.c:311
void vtoc_init_format1_label(unsigned int blksize, extent_t *part_extent, format1_label_t *f1)
Definition: vtoc.c:793
u_int64_t cchhb2blk(cchhb_t *p, struct fdasd_hd_geometry *geo)
Definition: vtoc.c:294
void vtoc_init_format9_label(format9_label_t *f9)
Definition: vtoc.c:815
struct volume_label volume_label_t
Definition: vtoc.h:63
void vtoc_update_format7_label_del(format7_label_t *f7, int verbose, u_int32_t a, u_int32_t b)
Definition: vtoc.c:1212
u_int16_t vtoc_get_head_from_cchhb(cchhb_t *addr)
Definition: vtoc.c:281
void vtoc_init_format4_label(format4_label_t *f4lbl, unsigned int compat_cylinders, unsigned int real_cylinders, unsigned int tracks, unsigned int blocks, unsigned int blksize, u_int16_t dev_type)
Definition: vtoc.c:631
void vtoc_update_format7_label_add(format7_label_t *f7, int verbose, u_int32_t a, u_int32_t b)
Definition: vtoc.c:1131
void vtoc_init_format5_label(format5_label_t *f5)
Definition: vtoc.c:708
struct ds7ext ds7ext_t
Definition: vtoc.h:71
struct labeldate labeldate_t
Definition: vtoc.h:62
char * vtoc_ebcdic_enc(char const *source, char *target, int l)
Definition: vtoc.c:186
char * vtoc_volume_label_get_label(volume_label_t *vlabel, char *lbl)
Definition: vtoc.c:516
u_int32_t vtoc_get_cyl_from_cchh(cchh_t *addr)
Definition: vtoc.c:231
void vtoc_set_date(labeldate_t *d, u_int8_t year, u_int16_t day)
Definition: vtoc.c:318
void vtoc_set_cchhb(cchhb_t *addr, u_int32_t cc, u_int16_t hh, u_int8_t b)
Definition: vtoc.c:258
int vtoc_write_volume_label(int fd, unsigned long vlabel_start, volume_label_t const *vlabel)
Definition: vtoc.c:418
char * vtoc_ebcdic_dec(char const *source, char *target, int l)
Definition: vtoc.c:198
struct format7_label format7_label_t
Definition: vtoc.h:72
void vtoc_write_label(int fd, unsigned long position, format1_label_t const *f1, format4_label_t const *f4, format5_label_t const *f5, format7_label_t const *f7, format9_label_t const *f9)
Definition: vtoc.c:573
struct format4_label format4_label_t
Definition: vtoc.h:68
struct format1_label format1_label_t
Definition: vtoc.h:67
void vtoc_set_cchh(cchh_t *addr, u_int32_t cc, u_int16_t hh)
Definition: vtoc.c:221
struct cchhb cchhb_t
Definition: vtoc.h:60
void vtoc_volume_label_init(volume_label_t *vlabel)
Definition: vtoc.c:329
struct dev_const dev_const_t
Definition: vtoc.h:66
void vtoc_init_format8_label(unsigned int blksize, extent_t *part_extent, format1_label_t *f1)
Definition: vtoc.c:801
void vtoc_update_format8_label(cchhb_t *associated_f9, format1_label_t *f8)
Definition: vtoc.c:809
struct cms_volume_label cms_volume_label_t
Definition: vtoc.h:64
u_int32_t vtoc_get_cyl_from_cchhb(cchhb_t *addr)
Definition: vtoc.c:269
struct format9_label format9_label_t
Definition: vtoc.h:73
void vtoc_update_format5_label_del(format5_label_t *f5, int verbose, int trk, u_int16_t a, u_int16_t b, u_int8_t c)
Definition: vtoc.c:973
void vtoc_set_extent(extent_t *ext, u_int8_t typeind, u_int8_t seqno, cchh_t *lower, cchh_t *upper)
Definition: vtoc.c:210
u_int64_t cchh2blk(cchh_t *p, struct fdasd_hd_geometry *geo)
Definition: vtoc.c:303
void vtoc_init_format7_label(format7_label_t *f7)
Definition: vtoc.c:723
void vtoc_set_freespace(format4_label_t *f4, format5_label_t *f5, format7_label_t *f7, char ch, int verbose, u_int32_t start, u_int32_t stop, u_int32_t cyl, u_int32_t trk)
Definition: vtoc.c:1289
struct format5_label format5_label_t
Definition: vtoc.h:70
void vtoc_update_format5_label_add(format5_label_t *f5, int verbose, int trk, u_int16_t a, u_int16_t b, u_int8_t c)
Definition: vtoc.c:885
void vtoc_update_format4_label(format4_label_t *f4, cchhb_t *highest_f1, u_int16_t unused_update)
Definition: vtoc.c:827
void vtoc_volume_label_set_key(volume_label_t *vlabel, char const *key)
Definition: vtoc.c:484
struct cchh cchh_t
Definition: vtoc.h:61
void vtoc_read_label(int fd, unsigned long position, format1_label_t *f1, format4_label_t *f4, format5_label_t *f5, format7_label_t *f7)
Definition: vtoc.c:529
struct ds5ext ds5ext_t
Definition: vtoc.h:69
char * vtoc_volume_label_get_volser(volume_label_t *vlabel, char *volser)
Definition: vtoc.c:471
struct extent extent_t
Definition: vtoc.h:65
struct ttr ttr_t
Definition: vtoc.h:59
void vtoc_volume_label_set_volser(volume_label_t *vlabel, char const *volser)
Definition: vtoc.c:442
void vtoc_volume_label_set_label(volume_label_t *vlabel, char const *lbl)
Definition: vtoc.c:500
int vtoc_read_volume_label(int fd, unsigned long vlabel_start, volume_label_t *vlabel)
Definition: vtoc.c:341
u_int16_t vtoc_get_head_from_cchh(cchh_t *addr)
Definition: vtoc.c:243