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:
Sertonix
2025-10-28 08:43:45 +01:00
committed by Jan Höppner
parent 0ff130ed84
commit 0ea693d95c
8 changed files with 174 additions and 164 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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};

View File

@@ -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 */

View File

@@ -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);

View File

@@ -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,