mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
Use standard uint*_t instead of u_int*_t
Fixes some compilation issues on musl libc. uint*_t is already used so this should not introduce any new issues. Github-ID: https://github.com/ibm-s390-linux/s390-tools/pull/193 Signed-off-by: Sertonix <sertonix@posteo.net> Reviewed-by: Steffen Eiden <seiden@linux.ibm.com> Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
@@ -19,6 +19,7 @@
|
|||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <mntent.h>
|
#include <mntent.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -69,13 +70,13 @@ static void error(const char *format, ...)
|
|||||||
"is in invalid format\n",prog_name);}
|
"is in invalid format\n",prog_name);}
|
||||||
|
|
||||||
typedef struct bootstrap1 {
|
typedef struct bootstrap1 {
|
||||||
u_int32_t key;
|
uint32_t key;
|
||||||
u_int32_t data[6];
|
uint32_t data[6];
|
||||||
} __attribute__ ((packed)) bootstrap1_t;
|
} __attribute__ ((packed)) bootstrap1_t;
|
||||||
|
|
||||||
typedef struct bootstrap2 {
|
typedef struct bootstrap2 {
|
||||||
u_int32_t key;
|
uint32_t key;
|
||||||
u_int32_t data[36];
|
uint32_t data[36];
|
||||||
} __attribute__ ((packed)) bootstrap2_t;
|
} __attribute__ ((packed)) bootstrap2_t;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
#include <linux/version.h>
|
#include <linux/version.h>
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -652,7 +653,7 @@ dasdview_read_vtoc(dasdview_info_t *info)
|
|||||||
volume_label_t vlabel;
|
volume_label_t vlabel;
|
||||||
format1_label_t tmp;
|
format1_label_t tmp;
|
||||||
unsigned long maxblk, pos;
|
unsigned long maxblk, pos;
|
||||||
u_int64_t vtocblk;
|
uint64_t vtocblk;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
pos = info->dasd_info.label_block * info->blksize;
|
pos = info->dasd_info.label_block * info->blksize;
|
||||||
@@ -669,7 +670,7 @@ dasdview_read_vtoc(dasdview_info_t *info)
|
|||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
vtocblk = (u_int64_t)vtoc_get_cyl_from_cchhb(&vlabel.vtoc) *
|
vtocblk = (uint64_t)vtoc_get_cyl_from_cchhb(&vlabel.vtoc) *
|
||||||
info->geo.heads * info->geo.sectors +
|
info->geo.heads * info->geo.sectors +
|
||||||
vtoc_get_head_from_cchhb(&vlabel.vtoc) * info->geo.sectors +
|
vtoc_get_head_from_cchhb(&vlabel.vtoc) * info->geo.sectors +
|
||||||
vlabel.vtoc.b;
|
vlabel.vtoc.b;
|
||||||
@@ -2087,7 +2088,7 @@ static void dasdview_print_raw_track(char *trackdata,
|
|||||||
{
|
{
|
||||||
struct eckd_count *ecount;
|
struct eckd_count *ecount;
|
||||||
char *data;
|
char *data;
|
||||||
u_int32_t record;
|
uint32_t record;
|
||||||
|
|
||||||
record = 0;
|
record = 0;
|
||||||
data = trackdata;
|
data = trackdata;
|
||||||
@@ -2112,8 +2113,8 @@ static void dasdview_print_raw_track(char *trackdata,
|
|||||||
|
|
||||||
static void dasdview_view_raw(dasdview_info_t *info)
|
static void dasdview_view_raw(dasdview_info_t *info)
|
||||||
{
|
{
|
||||||
u_int64_t residual, trckstart, trckend, track, trckbuffsize;
|
uint64_t residual, trckstart, trckend, track, trckbuffsize;
|
||||||
u_int64_t tracks_to_read, trckcount, i;
|
uint64_t tracks_to_read, trckcount, i;
|
||||||
char *trackdata;
|
char *trackdata;
|
||||||
char *data;
|
char *data;
|
||||||
int rc;
|
int rc;
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#define DASDVIEW_H
|
#define DASDVIEW_H
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* SECTION: Definitions needed for DASD-API (see dasd.h)
|
* SECTION: Definitions needed for DASD-API (see dasd.h)
|
||||||
@@ -68,7 +69,7 @@ typedef struct dasdview_info
|
|||||||
int dasd_info_version;
|
int dasd_info_version;
|
||||||
unsigned int blksize;
|
unsigned int blksize;
|
||||||
struct hd_geometry geo;
|
struct hd_geometry geo;
|
||||||
u_int32_t hw_cylinders;
|
uint32_t hw_cylinders;
|
||||||
|
|
||||||
unsigned long long begin;
|
unsigned long long begin;
|
||||||
unsigned long long size;
|
unsigned long long size;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/sysmacros.h>
|
#include <sys/sysmacros.h>
|
||||||
|
|
||||||
@@ -211,9 +212,9 @@ static void setpos(fdasd_anchor_t *anc, int dsn, int pos)
|
|||||||
anc->partno[dsn] = pos;
|
anc->partno[dsn] = pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u_int32_t get_usable_cylinders(fdasd_anchor_t *anc)
|
static uint32_t get_usable_cylinders(fdasd_anchor_t *anc)
|
||||||
{
|
{
|
||||||
u_int32_t cyl;
|
uint32_t cyl;
|
||||||
|
|
||||||
/* large volume */
|
/* large volume */
|
||||||
if (anc->f4->DS4DEVCT.DS4DSCYL == LV_COMPAT_CYL &&
|
if (anc->f4->DS4DEVCT.DS4DSCYL == LV_COMPAT_CYL &&
|
||||||
@@ -221,7 +222,7 @@ static u_int32_t get_usable_cylinders(fdasd_anchor_t *anc)
|
|||||||
return anc->f4->DS4DCYL;
|
return anc->f4->DS4DCYL;
|
||||||
/* normal volume */
|
/* normal volume */
|
||||||
if (anc->f4->DS4DEVCT.DS4DEVFG & ALTERNATE_CYLINDERS_USED)
|
if (anc->f4->DS4DEVCT.DS4DEVFG & ALTERNATE_CYLINDERS_USED)
|
||||||
cyl = anc->f4->DS4DEVCT.DS4DSCYL - (u_int16_t)anc->f4->DS4DEVAC;
|
cyl = anc->f4->DS4DEVCT.DS4DSCYL - (uint16_t)anc->f4->DS4DEVAC;
|
||||||
else
|
else
|
||||||
cyl = anc->f4->DS4DEVCT.DS4DSCYL;
|
cyl = anc->f4->DS4DEVCT.DS4DSCYL;
|
||||||
|
|
||||||
@@ -230,7 +231,7 @@ static u_int32_t get_usable_cylinders(fdasd_anchor_t *anc)
|
|||||||
|
|
||||||
static void get_addr_of_highest_f1_f8_label(fdasd_anchor_t *anc, cchhb_t *addr)
|
static void get_addr_of_highest_f1_f8_label(fdasd_anchor_t *anc, cchhb_t *addr)
|
||||||
{
|
{
|
||||||
u_int8_t record;
|
uint8_t record;
|
||||||
/* We have to count the following labels:
|
/* We have to count the following labels:
|
||||||
* one format 4
|
* one format 4
|
||||||
* one format 5
|
* one format 5
|
||||||
@@ -2470,9 +2471,9 @@ static int fdasd_get_partition_data(fdasd_anchor_t *anc, extent_t *part_extent,
|
|||||||
unsigned long start, stop, limit;
|
unsigned long start, stop, limit;
|
||||||
partition_info_t *part_tmp;
|
partition_info_t *part_tmp;
|
||||||
cchh_t llimit, ulimit;
|
cchh_t llimit, ulimit;
|
||||||
u_int16_t hh, head;
|
uint16_t hh, head;
|
||||||
u_int32_t cc, cyl;
|
uint32_t cc, cyl;
|
||||||
u_int8_t b1, b2;
|
uint8_t b1, b2;
|
||||||
char mesg[48];
|
char mesg[48];
|
||||||
|
|
||||||
start = FIRST_USABLE_TRK;
|
start = FIRST_USABLE_TRK;
|
||||||
@@ -2777,8 +2778,8 @@ static void fdasd_auto_partition(fdasd_anchor_t *anc)
|
|||||||
{
|
{
|
||||||
partition_info_t *part_info = anc->first;
|
partition_info_t *part_info = anc->first;
|
||||||
cchh_t llimit, ulimit;
|
cchh_t llimit, ulimit;
|
||||||
u_int16_t head;
|
uint16_t head;
|
||||||
u_int32_t cyl;
|
uint32_t cyl;
|
||||||
extent_t ext;
|
extent_t ext;
|
||||||
cchhb_t hf1;
|
cchhb_t hf1;
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
#ifndef FDASD_H
|
#ifndef FDASD_H
|
||||||
#define FDASD_H
|
#define FDASD_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* SECTION: Definitions needed for DASD-API (see dasd.h) *
|
* SECTION: Definitions needed for DASD-API (see dasd.h) *
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
@@ -67,7 +69,7 @@ static struct fdasd_options options = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
typedef struct partition_info {
|
typedef struct partition_info {
|
||||||
u_int8_t used;
|
uint8_t used;
|
||||||
unsigned long start_trk;
|
unsigned long start_trk;
|
||||||
unsigned long end_trk;
|
unsigned long end_trk;
|
||||||
unsigned long len_trk;
|
unsigned long len_trk;
|
||||||
@@ -100,7 +102,7 @@ typedef struct fdasd_anchor {
|
|||||||
int option_reuse;
|
int option_reuse;
|
||||||
int option_recreate;
|
int option_recreate;
|
||||||
int partno[USABLE_PARTITIONS];
|
int partno[USABLE_PARTITIONS];
|
||||||
u_int16_t dev_type;
|
uint16_t dev_type;
|
||||||
unsigned int used_partitions;
|
unsigned int used_partitions;
|
||||||
unsigned long label_pos;
|
unsigned long label_pos;
|
||||||
unsigned int blksize;
|
unsigned int blksize;
|
||||||
@@ -113,8 +115,8 @@ typedef struct fdasd_anchor {
|
|||||||
partition_info_t *last;
|
partition_info_t *last;
|
||||||
volume_label_t *vlabel;
|
volume_label_t *vlabel;
|
||||||
config_data_t confdata[USABLE_PARTITIONS];
|
config_data_t confdata[USABLE_PARTITIONS];
|
||||||
u_int32_t hw_cylinders;
|
uint32_t hw_cylinders;
|
||||||
u_int32_t formatted_cylinders;
|
uint32_t formatted_cylinders;
|
||||||
} fdasd_anchor_t;
|
} fdasd_anchor_t;
|
||||||
|
|
||||||
enum offset {lower, upper};
|
enum offset {lower, upper};
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -44,27 +45,27 @@
|
|||||||
|
|
||||||
typedef struct ttr
|
typedef struct ttr
|
||||||
{
|
{
|
||||||
u_int16_t tt;
|
uint16_t tt;
|
||||||
u_int8_t r;
|
uint8_t r;
|
||||||
} __attribute__ ((packed)) ttr_t;
|
} __attribute__ ((packed)) ttr_t;
|
||||||
|
|
||||||
typedef struct cchhb
|
typedef struct cchhb
|
||||||
{
|
{
|
||||||
u_int16_t cc;
|
uint16_t cc;
|
||||||
u_int16_t hh;
|
uint16_t hh;
|
||||||
u_int8_t b;
|
uint8_t b;
|
||||||
} __attribute__ ((packed)) cchhb_t;
|
} __attribute__ ((packed)) cchhb_t;
|
||||||
|
|
||||||
typedef struct cchh
|
typedef struct cchh
|
||||||
{
|
{
|
||||||
u_int16_t cc;
|
uint16_t cc;
|
||||||
u_int16_t hh;
|
uint16_t hh;
|
||||||
} __attribute__ ((packed)) cchh_t;
|
} __attribute__ ((packed)) cchh_t;
|
||||||
|
|
||||||
typedef struct labeldate
|
typedef struct labeldate
|
||||||
{
|
{
|
||||||
u_int8_t year;
|
uint8_t year;
|
||||||
u_int16_t day;
|
uint16_t day;
|
||||||
} __attribute__ ((packed)) labeldate_t;
|
} __attribute__ ((packed)) labeldate_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -84,7 +85,7 @@ typedef struct volume_label
|
|||||||
char volkey[4]; /* volume key = volume label */
|
char volkey[4]; /* volume key = volume label */
|
||||||
char vollbl[4]; /* volume label */
|
char vollbl[4]; /* volume label */
|
||||||
char volid[6]; /* volume identifier */
|
char volid[6]; /* volume identifier */
|
||||||
u_int8_t security; /* security byte */
|
uint8_t security; /* security byte */
|
||||||
cchhb_t vtoc; /* VTOC address */
|
cchhb_t vtoc; /* VTOC address */
|
||||||
char res1[5]; /* reserved */
|
char res1[5]; /* reserved */
|
||||||
char cisize[4]; /* CI-size for FBA,... */
|
char cisize[4]; /* CI-size for FBA,... */
|
||||||
@@ -118,8 +119,8 @@ static inline int is_vol1(char *this)
|
|||||||
|
|
||||||
typedef struct extent
|
typedef struct extent
|
||||||
{
|
{
|
||||||
u_int8_t typeind; /* extent type indicator */
|
uint8_t typeind; /* extent type indicator */
|
||||||
u_int8_t seqno; /* extent sequence number */
|
uint8_t seqno; /* extent sequence number */
|
||||||
cchh_t llimit; /* starting point of this extent */
|
cchh_t llimit; /* starting point of this extent */
|
||||||
cchh_t ulimit; /* ending point of this extent */
|
cchh_t ulimit; /* ending point of this extent */
|
||||||
} __attribute__ ((packed)) extent_t;
|
} __attribute__ ((packed)) extent_t;
|
||||||
@@ -127,16 +128,16 @@ typedef struct extent
|
|||||||
|
|
||||||
typedef struct dev_const
|
typedef struct dev_const
|
||||||
{
|
{
|
||||||
u_int16_t DS4DSCYL; /* number of logical cyls */
|
uint16_t DS4DSCYL; /* number of logical cyls */
|
||||||
u_int16_t DS4DSTRK; /* number of tracks in a logical cylinder */
|
uint16_t DS4DSTRK; /* number of tracks in a logical cylinder */
|
||||||
u_int16_t DS4DEVTK; /* device track length */
|
uint16_t DS4DEVTK; /* device track length */
|
||||||
u_int8_t DS4DEVI; /* non-last keyed record overhead */
|
uint8_t DS4DEVI; /* non-last keyed record overhead */
|
||||||
u_int8_t DS4DEVL; /* last keyed record overhead */
|
uint8_t DS4DEVL; /* last keyed record overhead */
|
||||||
u_int8_t DS4DEVK; /* non-keyed record overhead differential */
|
uint8_t DS4DEVK; /* non-keyed record overhead differential */
|
||||||
u_int8_t DS4DEVFG; /* flag byte */
|
uint8_t DS4DEVFG; /* flag byte */
|
||||||
u_int16_t DS4DEVTL; /* device tolerance */
|
uint16_t DS4DEVTL; /* device tolerance */
|
||||||
u_int8_t DS4DEVDT; /* number of DSCB's per track */
|
uint8_t DS4DEVDT; /* number of DSCB's per track */
|
||||||
u_int8_t DS4DEVDB; /* number of directory blocks per track */
|
uint8_t DS4DEVDB; /* number of directory blocks per track */
|
||||||
} __attribute__ ((packed)) dev_const_t;
|
} __attribute__ ((packed)) dev_const_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -146,33 +147,33 @@ typedef struct dev_const
|
|||||||
typedef struct format1_label
|
typedef struct format1_label
|
||||||
{
|
{
|
||||||
char DS1DSNAM[44]; /* data set name */
|
char DS1DSNAM[44]; /* data set name */
|
||||||
u_int8_t DS1FMTID; /* format identifier */
|
uint8_t DS1FMTID; /* format identifier */
|
||||||
unsigned char DS1DSSN[6];/* data set serial number */
|
unsigned char DS1DSSN[6];/* data set serial number */
|
||||||
u_int16_t DS1VOLSQ; /* volume sequence number */
|
uint16_t DS1VOLSQ; /* volume sequence number */
|
||||||
labeldate_t DS1CREDT; /* creation date: ydd */
|
labeldate_t DS1CREDT; /* creation date: ydd */
|
||||||
labeldate_t DS1EXPDT; /* expiration date */
|
labeldate_t DS1EXPDT; /* expiration date */
|
||||||
u_int8_t DS1NOEPV; /* number of extents on volume */
|
uint8_t DS1NOEPV; /* number of extents on volume */
|
||||||
u_int8_t DS1NOBDB; /* no. of bytes used in last direction blk */
|
uint8_t DS1NOBDB; /* no. of bytes used in last direction blk */
|
||||||
u_int8_t DS1FLAG1; /* flag 1 */
|
uint8_t DS1FLAG1; /* flag 1 */
|
||||||
unsigned char DS1SYSCD[13]; /* system code */
|
unsigned char DS1SYSCD[13]; /* system code */
|
||||||
labeldate_t DS1REFD; /* date last referenced */
|
labeldate_t DS1REFD; /* date last referenced */
|
||||||
u_int8_t DS1SMSFG; /* system managed storage indicators */
|
uint8_t DS1SMSFG; /* system managed storage indicators */
|
||||||
u_int8_t DS1SCXTF; /* sec. space extension flag byte */
|
uint8_t DS1SCXTF; /* sec. space extension flag byte */
|
||||||
u_int16_t DS1SCXTV; /* secondary space extension value */
|
uint16_t DS1SCXTV; /* secondary space extension value */
|
||||||
u_int8_t DS1DSRG1; /* data set organisation byte 1 */
|
uint8_t DS1DSRG1; /* data set organisation byte 1 */
|
||||||
u_int8_t DS1DSRG2; /* data set organisation byte 2 */
|
uint8_t DS1DSRG2; /* data set organisation byte 2 */
|
||||||
u_int8_t DS1RECFM; /* record format */
|
uint8_t DS1RECFM; /* record format */
|
||||||
u_int8_t DS1OPTCD; /* option code */
|
uint8_t DS1OPTCD; /* option code */
|
||||||
u_int16_t DS1BLKL; /* block length */
|
uint16_t DS1BLKL; /* block length */
|
||||||
u_int16_t DS1LRECL; /* record length */
|
uint16_t DS1LRECL; /* record length */
|
||||||
u_int8_t DS1KEYL; /* key length */
|
uint8_t DS1KEYL; /* key length */
|
||||||
u_int16_t DS1RKP; /* relative key position */
|
uint16_t DS1RKP; /* relative key position */
|
||||||
u_int8_t DS1DSIND; /* data set indicators */
|
uint8_t DS1DSIND; /* data set indicators */
|
||||||
u_int8_t DS1SCAL1; /* secondary allocation flag byte */
|
uint8_t DS1SCAL1; /* secondary allocation flag byte */
|
||||||
char DS1SCAL3[3]; /* secondary allocation quantity */
|
char DS1SCAL3[3]; /* secondary allocation quantity */
|
||||||
ttr_t DS1LSTAR; /* last used track and block on track */
|
ttr_t DS1LSTAR; /* last used track and block on track */
|
||||||
u_int16_t DS1TRBAL; /* space remaining on last used track */
|
uint16_t DS1TRBAL; /* space remaining on last used track */
|
||||||
u_int16_t res1; /* reserved */
|
uint16_t res1; /* reserved */
|
||||||
extent_t DS1EXT1; /* first extent description */
|
extent_t DS1EXT1; /* first extent description */
|
||||||
extent_t DS1EXT2; /* second extent description */
|
extent_t DS1EXT2; /* second extent description */
|
||||||
extent_t DS1EXT3; /* third extent description */
|
extent_t DS1EXT3; /* third extent description */
|
||||||
@@ -184,7 +185,7 @@ typedef struct format3_label
|
|||||||
{
|
{
|
||||||
char DS3KEYID[4]; /* key identifier */
|
char DS3KEYID[4]; /* key identifier */
|
||||||
extent_t DS3EXTNT[4]; /* first 4 extent descriptions */
|
extent_t DS3EXTNT[4]; /* first 4 extent descriptions */
|
||||||
u_int8_t DS3FMTID; /* format identifier */
|
uint8_t DS3FMTID; /* format identifier */
|
||||||
extent_t DS3ADEXT[9]; /* last 9 extent description */
|
extent_t DS3ADEXT[9]; /* last 9 extent description */
|
||||||
cchhb_t DS3PTRDS; /* pointer to next format3 DSCB */
|
cchhb_t DS3PTRDS; /* pointer to next format3 DSCB */
|
||||||
} __attribute__ ((packed)) format3_label_t;
|
} __attribute__ ((packed)) format3_label_t;
|
||||||
@@ -193,15 +194,15 @@ typedef struct format3_label
|
|||||||
typedef struct format4_label
|
typedef struct format4_label
|
||||||
{
|
{
|
||||||
char DS4KEYCD[44]; /* key code for VTOC labels: 44 times 0x04 */
|
char DS4KEYCD[44]; /* key code for VTOC labels: 44 times 0x04 */
|
||||||
u_int8_t DS4IDFMT; /* format identifier */
|
uint8_t DS4IDFMT; /* format identifier */
|
||||||
cchhb_t DS4HPCHR; /* highest address of a format 1 DSCB */
|
cchhb_t DS4HPCHR; /* highest address of a format 1 DSCB */
|
||||||
u_int16_t DS4DSREC; /* number of available DSCB's */
|
uint16_t DS4DSREC; /* number of available DSCB's */
|
||||||
cchh_t DS4HCCHH; /* CCHH of next available alternate track */
|
cchh_t DS4HCCHH; /* CCHH of next available alternate track */
|
||||||
u_int16_t DS4NOATK; /* number of remaining alternate tracks */
|
uint16_t DS4NOATK; /* number of remaining alternate tracks */
|
||||||
u_int8_t DS4VTOCI; /* VTOC indicators */
|
uint8_t DS4VTOCI; /* VTOC indicators */
|
||||||
u_int8_t DS4NOEXT; /* number of extents in VTOC */
|
uint8_t DS4NOEXT; /* number of extents in VTOC */
|
||||||
u_int8_t DS4SMSFG; /* system managed storage indicators */
|
uint8_t DS4SMSFG; /* system managed storage indicators */
|
||||||
u_int8_t DS4DEVAC; /* number of alternate cylinders.
|
uint8_t DS4DEVAC; /* number of alternate cylinders.
|
||||||
Subtract from first two bytes of
|
Subtract from first two bytes of
|
||||||
DS4DEVSZ to get number of usable
|
DS4DEVSZ to get number of usable
|
||||||
cylinders. can be zero. valid
|
cylinders. can be zero. valid
|
||||||
@@ -214,21 +215,21 @@ typedef struct format4_label
|
|||||||
char DS4F6PTR[5]; /* pointer to first format 6 DSCB */
|
char DS4F6PTR[5]; /* pointer to first format 6 DSCB */
|
||||||
extent_t DS4VTOCE; /* VTOC extent description */
|
extent_t DS4VTOCE; /* VTOC extent description */
|
||||||
char res2[10]; /* reserved */
|
char res2[10]; /* reserved */
|
||||||
u_int8_t DS4EFLVL; /* extended free-space management level */
|
uint8_t DS4EFLVL; /* extended free-space management level */
|
||||||
cchhb_t DS4EFPTR; /* pointer to extended free-space info */
|
cchhb_t DS4EFPTR; /* pointer to extended free-space info */
|
||||||
char res3; /* reserved */
|
char res3; /* reserved */
|
||||||
u_int32_t DS4DCYL; /* number of logical cyls */
|
uint32_t DS4DCYL; /* number of logical cyls */
|
||||||
char res4[2]; /* reserved */
|
char res4[2]; /* reserved */
|
||||||
u_int8_t DS4DEVF2; /* device flags */
|
uint8_t DS4DEVF2; /* device flags */
|
||||||
char res5; /* reserved */
|
char res5; /* reserved */
|
||||||
} __attribute__ ((packed)) format4_label_t;
|
} __attribute__ ((packed)) format4_label_t;
|
||||||
|
|
||||||
|
|
||||||
typedef struct ds5ext
|
typedef struct ds5ext
|
||||||
{
|
{
|
||||||
u_int16_t t; /* RTA of the first track of free extent */
|
uint16_t t; /* RTA of the first track of free extent */
|
||||||
u_int16_t fc; /* number of whole cylinders in free ext. */
|
uint16_t fc; /* number of whole cylinders in free ext. */
|
||||||
u_int8_t ft; /* number of remaining free tracks */
|
uint8_t ft; /* number of remaining free tracks */
|
||||||
} __attribute__ ((packed)) ds5ext_t;
|
} __attribute__ ((packed)) ds5ext_t;
|
||||||
|
|
||||||
|
|
||||||
@@ -237,7 +238,7 @@ typedef struct format5_label
|
|||||||
char DS5KEYID[4]; /* key identifier */
|
char DS5KEYID[4]; /* key identifier */
|
||||||
ds5ext_t DS5AVEXT; /* first available (free-space) extent. */
|
ds5ext_t DS5AVEXT; /* first available (free-space) extent. */
|
||||||
ds5ext_t DS5EXTAV[7]; /* seven available extents */
|
ds5ext_t DS5EXTAV[7]; /* seven available extents */
|
||||||
u_int8_t DS5FMTID; /* format identifier */
|
uint8_t DS5FMTID; /* format identifier */
|
||||||
ds5ext_t DS5MAVET[18]; /* eighteen available extents */
|
ds5ext_t DS5MAVET[18]; /* eighteen available extents */
|
||||||
cchhb_t DS5PTRDS; /* pointer to next format5 DSCB */
|
cchhb_t DS5PTRDS; /* pointer to next format5 DSCB */
|
||||||
} __attribute__ ((packed)) format5_label_t;
|
} __attribute__ ((packed)) format5_label_t;
|
||||||
@@ -245,8 +246,8 @@ typedef struct format5_label
|
|||||||
|
|
||||||
typedef struct ds7ext
|
typedef struct ds7ext
|
||||||
{
|
{
|
||||||
u_int32_t a; /* starting RTA value */
|
uint32_t a; /* starting RTA value */
|
||||||
u_int32_t b; /* ending RTA value + 1 */
|
uint32_t b; /* ending RTA value + 1 */
|
||||||
} __attribute__ ((packed)) ds7ext_t;
|
} __attribute__ ((packed)) ds7ext_t;
|
||||||
|
|
||||||
|
|
||||||
@@ -254,7 +255,7 @@ typedef struct format7_label
|
|||||||
{
|
{
|
||||||
char DS7KEYID[4]; /* key identifier */
|
char DS7KEYID[4]; /* key identifier */
|
||||||
ds7ext_t DS7EXTNT[5]; /* space for 5 extent descriptions */
|
ds7ext_t DS7EXTNT[5]; /* space for 5 extent descriptions */
|
||||||
u_int8_t DS7FMTID; /* format identifier */
|
uint8_t DS7FMTID; /* format identifier */
|
||||||
ds7ext_t DS7ADEXT[11]; /* space for 11 extent descriptions */
|
ds7ext_t DS7ADEXT[11]; /* space for 11 extent descriptions */
|
||||||
char res1[2]; /* reserved */
|
char res1[2]; /* reserved */
|
||||||
cchhb_t DS7PTRDS; /* pointer to next FMT7 DSCB */
|
cchhb_t DS7PTRDS; /* pointer to next FMT7 DSCB */
|
||||||
@@ -263,12 +264,12 @@ typedef struct format7_label
|
|||||||
|
|
||||||
typedef struct format9_label
|
typedef struct format9_label
|
||||||
{
|
{
|
||||||
u_int8_t DS9KEYID; /* key code for format 9 labels (0x09) */
|
uint8_t DS9KEYID; /* key code for format 9 labels (0x09) */
|
||||||
u_int8_t DS9SUBTY; /* subtype (0x01) */
|
uint8_t DS9SUBTY; /* subtype (0x01) */
|
||||||
u_int8_t DS9NUMF9; /* number of F9 datasets */
|
uint8_t DS9NUMF9; /* number of F9 datasets */
|
||||||
u_int8_t res1[41]; /* reserved */
|
uint8_t res1[41]; /* reserved */
|
||||||
u_int8_t DS9FMTID; /* format identifier */
|
uint8_t DS9FMTID; /* format identifier */
|
||||||
u_int8_t res2[90]; /* reserved */
|
uint8_t res2[90]; /* reserved */
|
||||||
cchhb_t DS9PTRDS; /* pointer to next DSCB */
|
cchhb_t DS9PTRDS; /* pointer to next DSCB */
|
||||||
} __attribute__ ((packed)) format9_label_t;
|
} __attribute__ ((packed)) format9_label_t;
|
||||||
|
|
||||||
@@ -276,31 +277,31 @@ char * vtoc_ebcdic_enc (char *source, char *target, int l);
|
|||||||
char * vtoc_ebcdic_dec (char *source, char *target, int l);
|
char * vtoc_ebcdic_dec (char *source, char *target, int l);
|
||||||
void vtoc_set_extent (
|
void vtoc_set_extent (
|
||||||
extent_t * ext,
|
extent_t * ext,
|
||||||
u_int8_t typeind,
|
uint8_t typeind,
|
||||||
u_int8_t seqno,
|
uint8_t seqno,
|
||||||
cchh_t * lower,
|
cchh_t * lower,
|
||||||
cchh_t * upper);
|
cchh_t * upper);
|
||||||
void vtoc_set_cchh (
|
void vtoc_set_cchh (
|
||||||
cchh_t * addr,
|
cchh_t * addr,
|
||||||
u_int32_t cc,
|
uint32_t cc,
|
||||||
u_int16_t hh);
|
uint16_t hh);
|
||||||
u_int32_t vtoc_get_cyl_from_cchh(cchh_t *addr);
|
uint32_t vtoc_get_cyl_from_cchh(cchh_t *addr);
|
||||||
u_int16_t vtoc_get_head_from_cchh(cchh_t *addr);
|
uint16_t vtoc_get_head_from_cchh(cchh_t *addr);
|
||||||
void vtoc_set_cchhb (
|
void vtoc_set_cchhb (
|
||||||
cchhb_t * addr,
|
cchhb_t * addr,
|
||||||
u_int32_t cc,
|
uint32_t cc,
|
||||||
u_int16_t hh,
|
uint16_t hh,
|
||||||
u_int8_t b);
|
uint8_t b);
|
||||||
u_int32_t vtoc_get_cyl_from_cchhb(cchhb_t *addr);
|
uint32_t vtoc_get_cyl_from_cchhb(cchhb_t *addr);
|
||||||
u_int16_t vtoc_get_head_from_cchhb(cchhb_t *addr);
|
uint16_t vtoc_get_head_from_cchhb(cchhb_t *addr);
|
||||||
u_int64_t cchhb2blk(cchhb_t *p, struct hd_geometry *geo);
|
uint64_t cchhb2blk(cchhb_t *p, struct hd_geometry *geo);
|
||||||
u_int64_t cchh2blk (cchh_t *p, struct hd_geometry *geo);
|
uint64_t cchh2blk (cchh_t *p, struct hd_geometry *geo);
|
||||||
u_int32_t cchh2trk (cchh_t *p, struct hd_geometry *geo);
|
uint32_t cchh2trk (cchh_t *p, struct hd_geometry *geo);
|
||||||
|
|
||||||
void vtoc_set_date (
|
void vtoc_set_date (
|
||||||
labeldate_t * d,
|
labeldate_t * d,
|
||||||
u_int8_t year,
|
uint8_t year,
|
||||||
u_int16_t day);
|
uint16_t day);
|
||||||
|
|
||||||
void vtoc_volume_label_init (
|
void vtoc_volume_label_init (
|
||||||
volume_label_t *vlabel);
|
volume_label_t *vlabel);
|
||||||
@@ -365,12 +366,12 @@ void vtoc_init_format4_label (
|
|||||||
unsigned int tracks,
|
unsigned int tracks,
|
||||||
unsigned int blocks,
|
unsigned int blocks,
|
||||||
unsigned int blksize,
|
unsigned int blksize,
|
||||||
u_int16_t dev_type);
|
uint16_t dev_type);
|
||||||
|
|
||||||
void vtoc_update_format4_label (
|
void vtoc_update_format4_label (
|
||||||
format4_label_t *f4,
|
format4_label_t *f4,
|
||||||
cchhb_t *highest_f1,
|
cchhb_t *highest_f1,
|
||||||
u_int16_t unused_update);
|
uint16_t unused_update);
|
||||||
|
|
||||||
void vtoc_init_format5_label (
|
void vtoc_init_format5_label (
|
||||||
format5_label_t *f5);
|
format5_label_t *f5);
|
||||||
@@ -379,17 +380,17 @@ void vtoc_update_format5_label_add (
|
|||||||
format5_label_t *f5,
|
format5_label_t *f5,
|
||||||
int verbose,
|
int verbose,
|
||||||
int trk,
|
int trk,
|
||||||
u_int16_t a,
|
uint16_t a,
|
||||||
u_int16_t b,
|
uint16_t b,
|
||||||
u_int8_t c);
|
uint8_t c);
|
||||||
|
|
||||||
void vtoc_update_format5_label_del (
|
void vtoc_update_format5_label_del (
|
||||||
format5_label_t *f5,
|
format5_label_t *f5,
|
||||||
int verbose,
|
int verbose,
|
||||||
int trk,
|
int trk,
|
||||||
u_int16_t a,
|
uint16_t a,
|
||||||
u_int16_t b,
|
uint16_t b,
|
||||||
u_int8_t c);
|
uint8_t c);
|
||||||
|
|
||||||
void vtoc_init_format7_label (
|
void vtoc_init_format7_label (
|
||||||
format7_label_t *f7);
|
format7_label_t *f7);
|
||||||
@@ -397,14 +398,14 @@ void vtoc_init_format7_label (
|
|||||||
void vtoc_update_format7_label_add (
|
void vtoc_update_format7_label_add (
|
||||||
format7_label_t *f7,
|
format7_label_t *f7,
|
||||||
int verbose,
|
int verbose,
|
||||||
u_int32_t a,
|
uint32_t a,
|
||||||
u_int32_t b);
|
uint32_t b);
|
||||||
|
|
||||||
void vtoc_update_format7_label_del (
|
void vtoc_update_format7_label_del (
|
||||||
format7_label_t *f7,
|
format7_label_t *f7,
|
||||||
int verbose,
|
int verbose,
|
||||||
u_int32_t a,
|
uint32_t a,
|
||||||
u_int32_t b);
|
uint32_t b);
|
||||||
|
|
||||||
void vtoc_init_format8_label (
|
void vtoc_init_format8_label (
|
||||||
unsigned int blksize,
|
unsigned int blksize,
|
||||||
@@ -424,9 +425,9 @@ void vtoc_set_freespace(
|
|||||||
format7_label_t *f7,
|
format7_label_t *f7,
|
||||||
char ch,
|
char ch,
|
||||||
int verbose,
|
int verbose,
|
||||||
u_int32_t start,
|
uint32_t start,
|
||||||
u_int32_t stop,
|
uint32_t stop,
|
||||||
u_int32_t cyl,
|
uint32_t cyl,
|
||||||
u_int32_t trk);
|
uint32_t trk);
|
||||||
|
|
||||||
#endif /* LIB_VTOC_H */
|
#endif /* LIB_VTOC_H */
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
@@ -99,7 +100,7 @@ static int next_entry(DIR *dir, char *in_path, char *out_path,
|
|||||||
static int nvme_getdev_by_fid(char *fidstr, char *devpath)
|
static int nvme_getdev_by_fid(char *fidstr, char *devpath)
|
||||||
{
|
{
|
||||||
char temp_path[PATH_MAX + 19], real_path[PATH_MAX];
|
char temp_path[PATH_MAX + 19], real_path[PATH_MAX];
|
||||||
u_int64_t target_fid, curfid;
|
uint64_t target_fid, curfid;
|
||||||
char *sys_path;
|
char *sys_path;
|
||||||
DIR *dir;
|
DIR *dir;
|
||||||
char *end;
|
char *end;
|
||||||
@@ -140,7 +141,7 @@ static int nvme_getdev_by_nsid(char *nsid_str, char *path, char *dev_path)
|
|||||||
{
|
{
|
||||||
char full_path[NVME_PATH_MAX+1], nsid_path[sizeof(full_path)+5];
|
char full_path[NVME_PATH_MAX+1], nsid_path[sizeof(full_path)+5];
|
||||||
char *end;
|
char *end;
|
||||||
u_int64_t nsid, curnsid;
|
uint64_t nsid, curnsid;
|
||||||
DIR *dir;
|
DIR *dir;
|
||||||
|
|
||||||
nsid = strtoul(nsid_str, &end, 10);
|
nsid = strtoul(nsid_str, &end, 10);
|
||||||
|
|||||||
@@ -6,6 +6,8 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "lib/vtoc.h"
|
#include "lib/vtoc.h"
|
||||||
|
|
||||||
static unsigned char EBCtoASC[256] =
|
static unsigned char EBCtoASC[256] =
|
||||||
@@ -198,7 +200,7 @@ char * vtoc_ebcdic_dec (char *source, char *target, int l)
|
|||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void vtoc_set_extent (extent_t *ext, u_int8_t typeind, u_int8_t seqno,
|
void vtoc_set_extent (extent_t *ext, uint8_t typeind, uint8_t seqno,
|
||||||
cchh_t *lower, cchh_t *upper)
|
cchh_t *lower, cchh_t *upper)
|
||||||
{
|
{
|
||||||
ext->typeind = typeind;
|
ext->typeind = typeind;
|
||||||
@@ -211,17 +213,17 @@ void vtoc_set_extent (extent_t *ext, u_int8_t typeind, u_int8_t seqno,
|
|||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void vtoc_set_cchh (cchh_t *addr, u_int32_t cc, u_int16_t hh)
|
void vtoc_set_cchh (cchh_t *addr, uint32_t cc, uint16_t hh)
|
||||||
{
|
{
|
||||||
addr->cc = (u_int16_t) cc;
|
addr->cc = (uint16_t) cc;
|
||||||
addr->hh = cc >> 16;
|
addr->hh = cc >> 16;
|
||||||
addr->hh <<= 4;
|
addr->hh <<= 4;
|
||||||
addr->hh |= hh;
|
addr->hh |= hh;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_int32_t vtoc_get_cyl_from_cchh(cchh_t *addr)
|
uint32_t vtoc_get_cyl_from_cchh(cchh_t *addr)
|
||||||
{
|
{
|
||||||
u_int32_t cyl;
|
uint32_t cyl;
|
||||||
|
|
||||||
/*decode cylinder for large volumes */
|
/*decode cylinder for large volumes */
|
||||||
cyl = addr->hh & 0xFFF0;
|
cyl = addr->hh & 0xFFF0;
|
||||||
@@ -230,7 +232,7 @@ u_int32_t vtoc_get_cyl_from_cchh(cchh_t *addr)
|
|||||||
return cyl;
|
return cyl;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_int16_t vtoc_get_head_from_cchh(cchh_t *addr)
|
uint16_t vtoc_get_head_from_cchh(cchh_t *addr)
|
||||||
{
|
{
|
||||||
/* decode heads for large volumes */
|
/* decode heads for large volumes */
|
||||||
return addr->hh & 0x000F;
|
return addr->hh & 0x000F;
|
||||||
@@ -239,7 +241,7 @@ u_int16_t vtoc_get_head_from_cchh(cchh_t *addr)
|
|||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static void vtoc_set_ttr (ttr_t *addr, u_int16_t tt, u_int8_t r)
|
static void vtoc_set_ttr (ttr_t *addr, uint16_t tt, uint8_t r)
|
||||||
{
|
{
|
||||||
addr->tt = tt;
|
addr->tt = tt;
|
||||||
addr->r = r;
|
addr->r = r;
|
||||||
@@ -249,18 +251,18 @@ static void vtoc_set_ttr (ttr_t *addr, u_int16_t tt, u_int8_t r)
|
|||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void vtoc_set_cchhb (cchhb_t *addr, u_int32_t cc, u_int16_t hh, u_int8_t b)
|
void vtoc_set_cchhb (cchhb_t *addr, uint32_t cc, uint16_t hh, uint8_t b)
|
||||||
{
|
{
|
||||||
addr->cc = (u_int16_t) cc;
|
addr->cc = (uint16_t) cc;
|
||||||
addr->hh = cc >> 16;
|
addr->hh = cc >> 16;
|
||||||
addr->hh <<= 4;
|
addr->hh <<= 4;
|
||||||
addr->hh |= hh;
|
addr->hh |= hh;
|
||||||
addr->b = b;
|
addr->b = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_int32_t vtoc_get_cyl_from_cchhb(cchhb_t *addr)
|
uint32_t vtoc_get_cyl_from_cchhb(cchhb_t *addr)
|
||||||
{
|
{
|
||||||
u_int32_t cyl;
|
uint32_t cyl;
|
||||||
|
|
||||||
/* decode cylinder for large volumes */
|
/* decode cylinder for large volumes */
|
||||||
cyl = addr->hh & 0xFFF0;
|
cyl = addr->hh & 0xFFF0;
|
||||||
@@ -269,7 +271,7 @@ u_int32_t vtoc_get_cyl_from_cchhb(cchhb_t *addr)
|
|||||||
return cyl;
|
return cyl;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_int16_t vtoc_get_head_from_cchhb(cchhb_t *addr)
|
uint16_t vtoc_get_head_from_cchhb(cchhb_t *addr)
|
||||||
{
|
{
|
||||||
/* decode heads for large volumes */
|
/* decode heads for large volumes */
|
||||||
return addr->hh & 0x000F;
|
return addr->hh & 0x000F;
|
||||||
@@ -281,22 +283,22 @@ u_int16_t vtoc_get_head_from_cchhb(cchhb_t *addr)
|
|||||||
* Note: Record zero is special, so first block on a track is
|
* Note: Record zero is special, so first block on a track is
|
||||||
* in record 1!
|
* in record 1!
|
||||||
*/
|
*/
|
||||||
u_int64_t cchhb2blk(cchhb_t *p, struct hd_geometry *geo)
|
uint64_t cchhb2blk(cchhb_t *p, struct hd_geometry *geo)
|
||||||
{
|
{
|
||||||
return (u_int64_t) vtoc_get_cyl_from_cchhb(p) *
|
return (uint64_t) vtoc_get_cyl_from_cchhb(p) *
|
||||||
geo->heads * geo->sectors +
|
geo->heads * geo->sectors +
|
||||||
vtoc_get_head_from_cchhb(p) * geo->sectors +
|
vtoc_get_head_from_cchhb(p) * geo->sectors +
|
||||||
p->b;
|
p->b;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_int64_t cchh2blk (cchh_t *p, struct hd_geometry *geo) {
|
uint64_t cchh2blk (cchh_t *p, struct hd_geometry *geo) {
|
||||||
|
|
||||||
return (u_int64_t) vtoc_get_cyl_from_cchh(p) *
|
return (uint64_t) vtoc_get_cyl_from_cchh(p) *
|
||||||
geo->heads * geo->sectors +
|
geo->heads * geo->sectors +
|
||||||
vtoc_get_head_from_cchh(p) * geo->sectors;
|
vtoc_get_head_from_cchh(p) * geo->sectors;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_int32_t cchh2trk (cchh_t *p, struct hd_geometry *geo) {
|
uint32_t cchh2trk (cchh_t *p, struct hd_geometry *geo) {
|
||||||
|
|
||||||
return vtoc_get_cyl_from_cchh(p) * geo->heads +
|
return vtoc_get_cyl_from_cchh(p) * geo->heads +
|
||||||
vtoc_get_head_from_cchh(p);
|
vtoc_get_head_from_cchh(p);
|
||||||
@@ -305,7 +307,7 @@ u_int32_t cchh2trk (cchh_t *p, struct hd_geometry *geo) {
|
|||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void vtoc_set_date (labeldate_t * d, u_int8_t year, u_int16_t day)
|
void vtoc_set_date (labeldate_t * d, uint8_t year, uint16_t day)
|
||||||
{
|
{
|
||||||
d->year = year;
|
d->year = year;
|
||||||
d->day = day;
|
d->day = day;
|
||||||
@@ -625,7 +627,7 @@ vtoc_init_format4_label (
|
|||||||
unsigned int tracks,
|
unsigned int tracks,
|
||||||
unsigned int blocks,
|
unsigned int blocks,
|
||||||
unsigned int blksize,
|
unsigned int blksize,
|
||||||
u_int16_t dev_type)
|
uint16_t dev_type)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -748,8 +750,8 @@ static void vtoc_init_format_1_8_label (
|
|||||||
f1->DS1VOLSQ = 0x0001;
|
f1->DS1VOLSQ = 0x0001;
|
||||||
|
|
||||||
vtoc_set_date(&f1->DS1CREDT,
|
vtoc_set_date(&f1->DS1CREDT,
|
||||||
(u_int8_t) creatime->tm_year,
|
(uint8_t) creatime->tm_year,
|
||||||
(u_int16_t) creatime->tm_yday);
|
(uint16_t) creatime->tm_yday);
|
||||||
/* expires never - 99 365 */
|
/* expires never - 99 365 */
|
||||||
vtoc_set_date(&f1->DS1EXPDT,
|
vtoc_set_date(&f1->DS1EXPDT,
|
||||||
0x63,
|
0x63,
|
||||||
@@ -760,8 +762,8 @@ static void vtoc_init_format_1_8_label (
|
|||||||
vtoc_ebcdic_enc("IBM LINUX ", str, 13);
|
vtoc_ebcdic_enc("IBM LINUX ", str, 13);
|
||||||
memcpy((char *)f1->DS1SYSCD, str, 13);
|
memcpy((char *)f1->DS1SYSCD, str, 13);
|
||||||
vtoc_set_date(&f1->DS1REFD,
|
vtoc_set_date(&f1->DS1REFD,
|
||||||
(u_int8_t) creatime->tm_year,
|
(uint8_t) creatime->tm_year,
|
||||||
(u_int16_t) creatime->tm_yday);
|
(uint16_t) creatime->tm_yday);
|
||||||
f1->DS1SMSFG = 0x00;
|
f1->DS1SMSFG = 0x00;
|
||||||
f1->DS1SCXTF = 0x00;
|
f1->DS1SCXTF = 0x00;
|
||||||
f1->DS1SCXTV = 0x0000;
|
f1->DS1SCXTV = 0x0000;
|
||||||
@@ -831,7 +833,7 @@ void
|
|||||||
vtoc_update_format4_label (
|
vtoc_update_format4_label (
|
||||||
format4_label_t *f4,
|
format4_label_t *f4,
|
||||||
cchhb_t *highest_f1,
|
cchhb_t *highest_f1,
|
||||||
u_int16_t unused_update)
|
uint16_t unused_update)
|
||||||
{
|
{
|
||||||
/* update highest address of a format 1 label */
|
/* update highest address of a format 1 label */
|
||||||
memcpy(&f4->DS4HPCHR, highest_f1, sizeof(cchhb_t));
|
memcpy(&f4->DS4HPCHR, highest_f1, sizeof(cchhb_t));
|
||||||
@@ -893,9 +895,9 @@ void
|
|||||||
vtoc_update_format5_label_add (format5_label_t *f5,
|
vtoc_update_format5_label_add (format5_label_t *f5,
|
||||||
int verbose,
|
int verbose,
|
||||||
int trk,
|
int trk,
|
||||||
u_int16_t a,
|
uint16_t a,
|
||||||
u_int16_t b,
|
uint16_t b,
|
||||||
u_int8_t c)
|
uint8_t c)
|
||||||
{
|
{
|
||||||
ds5ext_t *ext = NULL, *tmp = NULL;
|
ds5ext_t *ext = NULL, *tmp = NULL;
|
||||||
int i;
|
int i;
|
||||||
@@ -988,9 +990,9 @@ void
|
|||||||
vtoc_update_format5_label_del (format5_label_t *f5,
|
vtoc_update_format5_label_del (format5_label_t *f5,
|
||||||
int verbose,
|
int verbose,
|
||||||
int trk,
|
int trk,
|
||||||
u_int16_t a,
|
uint16_t a,
|
||||||
u_int16_t b,
|
uint16_t b,
|
||||||
u_int8_t c)
|
uint8_t c)
|
||||||
{
|
{
|
||||||
ds5ext_t *ext;
|
ds5ext_t *ext;
|
||||||
int i, counter=0;
|
int i, counter=0;
|
||||||
@@ -1058,9 +1060,9 @@ vtoc_update_format5_label_del (format5_label_t *f5,
|
|||||||
((ext->t + ext->fc*trk + ext->ft) > (a + b*trk + c)))
|
((ext->t + ext->fc*trk + ext->ft) > (a + b*trk + c)))
|
||||||
{
|
{
|
||||||
/* partition divides free space into 2 pieces */
|
/* partition divides free space into 2 pieces */
|
||||||
u_int16_t x = a + b*trk + c;
|
uint16_t x = a + b*trk + c;
|
||||||
u_int16_t w,y;
|
uint16_t w,y;
|
||||||
u_int8_t z;
|
uint8_t z;
|
||||||
|
|
||||||
w = (ext->t + ext->fc*trk + ext->ft) - (a + b*trk + c);
|
w = (ext->t + ext->fc*trk + ext->ft) - (a + b*trk + c);
|
||||||
y = w / trk;
|
y = w / trk;
|
||||||
@@ -1149,7 +1151,7 @@ vtoc_reorganize_FMT7_extents (format7_label_t *f7)
|
|||||||
* add a free space extent description to the VTOC FMT7 DSCB
|
* add a free space extent description to the VTOC FMT7 DSCB
|
||||||
*/
|
*/
|
||||||
void vtoc_update_format7_label_add (format7_label_t *f7, int verbose,
|
void vtoc_update_format7_label_add (format7_label_t *f7, int verbose,
|
||||||
u_int32_t a, u_int32_t b)
|
uint32_t a, uint32_t b)
|
||||||
{
|
{
|
||||||
ds7ext_t *ext = NULL, *tmp = NULL;
|
ds7ext_t *ext = NULL, *tmp = NULL;
|
||||||
int i;
|
int i;
|
||||||
@@ -1223,7 +1225,7 @@ void vtoc_update_format7_label_add (format7_label_t *f7, int verbose,
|
|||||||
* remove a free space extent description from the VTOC FMT7 DSCB
|
* remove a free space extent description from the VTOC FMT7 DSCB
|
||||||
*/
|
*/
|
||||||
void vtoc_update_format7_label_del (format7_label_t *f7, int verbose,
|
void vtoc_update_format7_label_del (format7_label_t *f7, int verbose,
|
||||||
u_int32_t a, u_int32_t b)
|
uint32_t a, uint32_t b)
|
||||||
{
|
{
|
||||||
ds7ext_t *ext;
|
ds7ext_t *ext;
|
||||||
int i, counter=0;
|
int i, counter=0;
|
||||||
@@ -1294,7 +1296,7 @@ void vtoc_update_format7_label_del (format7_label_t *f7, int verbose,
|
|||||||
*/
|
*/
|
||||||
void vtoc_set_freespace(format4_label_t *f4, format5_label_t *f5,
|
void vtoc_set_freespace(format4_label_t *f4, format5_label_t *f5,
|
||||||
format7_label_t *f7, char ch, int verbose,
|
format7_label_t *f7, char ch, int verbose,
|
||||||
u_int32_t start, u_int32_t stop, u_int32_t cyl, u_int32_t trk)
|
uint32_t start, uint32_t stop, uint32_t cyl, uint32_t trk)
|
||||||
{
|
{
|
||||||
if ((cyl * trk) > BIG_DISK_SIZE) {
|
if ((cyl * trk) > BIG_DISK_SIZE) {
|
||||||
if (ch == '+') {
|
if (ch == '+') {
|
||||||
@@ -1317,12 +1319,12 @@ void vtoc_set_freespace(format4_label_t *f4, format5_label_t *f5,
|
|||||||
f4->DS4EFLVL = 0x07;
|
f4->DS4EFLVL = 0x07;
|
||||||
vtoc_set_cchhb(&f4->DS4EFPTR, 0x0000, 0x0001, 0x03);
|
vtoc_set_cchhb(&f4->DS4EFPTR, 0x0000, 0x0001, 0x03);
|
||||||
} else {
|
} else {
|
||||||
u_int16_t x,y;
|
uint16_t x,y;
|
||||||
u_int8_t z;
|
uint8_t z;
|
||||||
|
|
||||||
x = (u_int16_t) start;
|
x = (uint16_t) start;
|
||||||
y = (u_int16_t) ((stop - start + 1) / trk);
|
y = (uint16_t) ((stop - start + 1) / trk);
|
||||||
z = (u_int8_t) ((stop - start + 1) % trk);
|
z = (uint8_t) ((stop - start + 1) % trk);
|
||||||
|
|
||||||
if (ch == '+') {
|
if (ch == '+') {
|
||||||
vtoc_update_format5_label_add(f5, verbose, trk,
|
vtoc_update_format5_label_add(f5, verbose, trk,
|
||||||
|
|||||||
Reference in New Issue
Block a user