static inline uint16_t sun_pt_checksum(const struct sun_disklabel *label)
{
- uint16_t *ptr = ((uint16_t *) (label + 1)) - 1;
+ const uint16_t *ptr = ((const uint16_t *) (label + 1)) - 1;
uint16_t sum;
- for (sum = 0; ptr >= ((uint16_t *) label);)
+ for (sum = 0; ptr >= ((const uint16_t *) label);)
sum ^= *ptr--;
return sum;
extern struct blkid_prval *blkid_probe_new_val(void)
__attribute__((warn_unused_result));
extern int blkid_probe_set_value(blkid_probe pr, const char *name,
- unsigned char *data, size_t len)
+ const unsigned char *data, size_t len)
__attribute__((nonnull));
extern int blkid_probe_value_set_data(struct blkid_prval *v,
- unsigned char *data, size_t len)
+ const unsigned char *data, size_t len)
__attribute__((nonnull));
extern int blkid_probe_vsprintf_value(blkid_probe pr, const char *name,
__attribute__ ((__format__ (__printf__, 3, 4)));
extern int blkid_probe_set_magic(blkid_probe pr, uint64_t offset,
- size_t len, unsigned char *magic)
+ size_t len, const unsigned char *magic)
__attribute__((nonnull));
extern int blkid_probe_verify_csum(blkid_probe pr, uint64_t csum, uint64_t expected)
}
if (rc == BLKID_PROBE_OK && mag && chn && !chn->binary)
rc = blkid_probe_set_magic(pr, off, mag->len,
- (unsigned char *) mag->magic);
+ (const unsigned char *) mag->magic);
DBG(LOWPROBE, ul_debug("%s: <--- (rc = %d)", id->name, rc));
}
* functions.
*/
blkid_probe_set_value(pr, "PTTYPE",
- (unsigned char *) name,
+ (const unsigned char *) name,
strlen(name) + 1);
DBG(LOWPROBE, ul_debug("<-- leaving probing loop (type=%s) [PARTS idx=%d]",
v = blkid_parttable_get_type(tab);
if (v)
blkid_probe_set_value(pr, "PART_ENTRY_SCHEME",
- (unsigned char *) v, strlen(v) + 1);
+ (const unsigned char *) v, strlen(v) + 1);
}
v = blkid_partition_get_name(par);
if (v)
blkid_probe_set_value(pr, "PART_ENTRY_NAME",
- (unsigned char *) v, strlen(v) + 1);
+ (const unsigned char *) v, strlen(v) + 1);
v = blkid_partition_get_uuid(par);
if (v)
blkid_probe_set_value(pr, "PART_ENTRY_UUID",
- (unsigned char *) v, strlen(v) + 1);
+ (const unsigned char *) v, strlen(v) + 1);
/* type */
v = blkid_partition_get_type_string(par);
if (v)
blkid_probe_set_value(pr, "PART_ENTRY_TYPE",
- (unsigned char *) v, strlen(v) + 1);
+ (const unsigned char *) v, strlen(v) + 1);
else
blkid_probe_sprintf_value(pr, "PART_ENTRY_TYPE",
"0x%x", blkid_partition_get_type(par));
* for binary data it's without terminator).
*/
int blkid_probe_value_set_data(struct blkid_prval *v,
- unsigned char *data, size_t len)
+ const unsigned char *data, size_t len)
{
v->data = calloc(1, len + 1); /* always terminate by \0 */
}
int blkid_probe_set_value(blkid_probe pr, const char *name,
- unsigned char *data, size_t len)
+ const unsigned char *data, size_t len)
{
struct blkid_prval *v;
}
int blkid_probe_set_magic(blkid_probe pr, uint64_t offset,
- size_t len, unsigned char *magic)
+ size_t len, const unsigned char *magic)
{
int rc = 0;
struct blkid_chain *chn = blkid_probe_get_chain(pr);
{
const unsigned char *buf;
- struct bde_fve_metadata *fve;
+ const struct bde_fve_metadata *fve;
uint64_t off = 0;
int kind;
/* Check BitLocker header */
switch (kind) {
case BDE_VERSION_WIN7:
- off = le64_to_cpu(((struct bde_header_win7 *) buf)->fve_metadata_offset);
+ off = le64_to_cpu(((const struct bde_header_win7 *) buf)->fve_metadata_offset);
break;
case BDE_VERSION_TOGO:
- off = le64_to_cpu(((struct bde_header_togo *) buf)->fve_metadata_offset);
+ off = le64_to_cpu(((const struct bde_header_togo *) buf)->fve_metadata_offset);
break;
case BDE_VERSION_VISTA:
goto done;
if (!buf)
return errno ? -errno : 1;
- fve = (struct bde_fve_metadata *) buf;
+ fve = (const struct bde_fve_metadata *) buf;
if (memcmp(fve->signature, BDE_MAGIC_FVE, sizeof(fve->signature)) != 0)
goto nothing;
if (buf_fve)
return rc;
if (kind == BDE_VERSION_WIN7) {
- struct bde_header_win7 *hdr = (struct bde_header_win7 *) buf_hdr;
+ const struct bde_header_win7 *hdr = (const struct bde_header_win7 *) buf_hdr;
/* Unfortunately, it seems volume_serial is always zero */
blkid_probe_sprintf_uuid(pr,
- (unsigned char *) &hdr->volume_serial,
+ (const unsigned char *) &hdr->volume_serial,
sizeof(hdr->volume_serial),
"%016d", le32_to_cpu(hdr->volume_serial));
}
if (buf_fve) {
- struct bde_fve_metadata *fve = (struct bde_fve_metadata *) buf_fve;
+ const struct bde_fve_metadata *fve = (const struct bde_fve_metadata *) buf_fve;
blkid_probe_sprintf_version(pr, "%d", fve->version);
}
static int get_minix_version(const unsigned char *data, int *other_endian)
{
- struct minix_super_block *sb = (struct minix_super_block *) data;
- struct minix3_super_block *sb3 = (struct minix3_super_block *) data;
+ const struct minix_super_block *sb = (const struct minix_super_block *) data;
+ const struct minix3_super_block *sb3 = (const struct minix3_super_block *) data;
int version = 0;
char *endian;
switch (version) {
case 1:
case 2: {
- struct minix_super_block *sb = (struct minix_super_block *) data;
+ const struct minix_super_block *sb = (const struct minix_super_block *) data;
uint16_t state = minix_swab16(swabme, sb->s_state);
if ((state & (MINIX_VALID_FS | MINIX_ERROR_FS)) != state)
break;
}
case 3: {
- struct minix3_super_block *sb = (struct minix3_super_block *) data;
+ const struct minix3_super_block *sb = (const struct minix3_super_block *) data;
zones = minix_swab32(swabme, sb->s_zones);
ninodes = minix_swab32(swabme, sb->s_ninodes);
(buf + SECOND_COPY_OFFSET);
}
- blkid_probe_strncpy_uuid(pr, (unsigned char *)stratis->dev_uuid,
+ blkid_probe_strncpy_uuid(pr, stratis->dev_uuid,
sizeof(stratis->dev_uuid));
blkid_probe_set_value(pr, "POOL_UUID",
- (unsigned char *)stratis->pool_uuid,
+ stratis->pool_uuid,
sizeof(stratis->pool_uuid));
blkid_probe_sprintf_value(pr, "BLOCKDEV_SECTORS", "%" PRIu64,
/* all checks passed */
if (chn->flags & BLKID_SUBLKS_TYPE)
rc = blkid_probe_set_value(pr, "TYPE",
- (unsigned char *) id->name,
+ (const unsigned char *) id->name,
strlen(id->name) + 1);
if (!rc)
if (!rc && mag)
rc = blkid_probe_set_magic(pr, off, mag->len,
- (unsigned char *) mag->magic);
+ (const unsigned char *) mag->magic);
if (rc) {
blkid_probe_chain_reset_values(pr, chn);
DBG(LOWPROBE, ul_debug("failed to set result -- ignore"));
if (chn->flags & BLKID_SUBLKS_VERSION)
return blkid_probe_set_value(pr, "VERSION",
- (unsigned char *) version, strlen(version) + 1);
+ (const unsigned char *) version,
+ strlen(version) + 1);
return 0;
}
}
int blkid_probe_set_id_label(blkid_probe pr, const char *name,
- unsigned char *data, size_t len)
+ const unsigned char *data, size_t len)
{
struct blkid_chain *chn = blkid_probe_get_chain(pr);
struct blkid_prval *v;
}
int blkid_probe_set_utf8_id_label(blkid_probe pr, const char *name,
- unsigned char *data, size_t len, int enc)
+ const unsigned char *data, size_t len, int enc)
{
struct blkid_chain *chn = blkid_probe_get_chain(pr);
struct blkid_prval *v;
return rc;
}
-int blkid_probe_set_label(blkid_probe pr, unsigned char *label, size_t len)
+int blkid_probe_set_label(blkid_probe pr, const unsigned char *label, size_t len)
{
struct blkid_chain *chn = blkid_probe_get_chain(pr);
struct blkid_prval *v;
return rc;
}
-int blkid_probe_set_utf8label(blkid_probe pr, unsigned char *label,
+int blkid_probe_set_utf8label(blkid_probe pr, const unsigned char *label,
size_t len, int enc)
{
struct blkid_chain *chn = blkid_probe_get_chain(pr);
return rc;
}
-int blkid_probe_sprintf_uuid(blkid_probe pr, unsigned char *uuid,
+int blkid_probe_sprintf_uuid(blkid_probe pr, const unsigned char *uuid,
size_t len, const char *fmt, ...)
{
struct blkid_chain *chn = blkid_probe_get_chain(pr);
}
/* function to set UUIDs that are in superblocks stored as strings */
-int blkid_probe_strncpy_uuid(blkid_probe pr, unsigned char *str, size_t len)
+int blkid_probe_strncpy_uuid(blkid_probe pr, const unsigned char *str, size_t len)
{
struct blkid_chain *chn = blkid_probe_get_chain(pr);
struct blkid_prval *v;
return -EINVAL;
if (!len)
- len = strlen((char *) str);
+ len = strlen((const char *) str);
if ((chn->flags & BLKID_SUBLKS_UUIDRAW) &&
(rc = blkid_probe_set_value(pr, "UUID_RAW", str, len)) < 0)
}
/* default _set_uuid function to set DCE UUIDs */
-int blkid_probe_set_uuid_as(blkid_probe pr, unsigned char *uuid, const char *name)
+int blkid_probe_set_uuid_as(blkid_probe pr, const unsigned char *uuid, const char *name)
{
struct blkid_chain *chn = blkid_probe_get_chain(pr);
struct blkid_prval *v;
return rc;
}
-int blkid_probe_set_uuid(blkid_probe pr, unsigned char *uuid)
+int blkid_probe_set_uuid(blkid_probe pr, const unsigned char *uuid)
{
return blkid_probe_set_uuid_as(pr, uuid, NULL);
}
extern int blkid_probe_sprintf_version(blkid_probe pr, const char *fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
-extern int blkid_probe_set_label(blkid_probe pr, unsigned char *label, size_t len);
-extern int blkid_probe_set_utf8label(blkid_probe pr, unsigned char *label,
+extern int blkid_probe_set_label(blkid_probe pr, const unsigned char *label, size_t len);
+extern int blkid_probe_set_utf8label(blkid_probe pr, const unsigned char *label,
size_t len, int enc);
-extern int blkid_probe_sprintf_uuid(blkid_probe pr, unsigned char *uuid,
+extern int blkid_probe_sprintf_uuid(blkid_probe pr, const unsigned char *uuid,
size_t len, const char *fmt, ...)
__attribute__ ((__format__ (__printf__, 4, 5)));
-extern int blkid_probe_strncpy_uuid(blkid_probe pr, unsigned char *str, size_t len);
+extern int blkid_probe_strncpy_uuid(blkid_probe pr, const unsigned char *str, size_t len);
-extern int blkid_probe_set_uuid(blkid_probe pr, unsigned char *uuid);
-extern int blkid_probe_set_uuid_as(blkid_probe pr, unsigned char *uuid, const char *name);
+extern int blkid_probe_set_uuid(blkid_probe pr, const unsigned char *uuid);
+extern int blkid_probe_set_uuid_as(blkid_probe pr, const unsigned char *uuid, const char *name);
extern int blkid_probe_set_id_label(blkid_probe pr, const char *name,
- unsigned char *data, size_t len);
+ const unsigned char *data, size_t len);
extern int blkid_probe_set_utf8_id_label(blkid_probe pr, const char *name,
- unsigned char *data, size_t len, int enc);
+ const unsigned char *data, size_t len, int enc);
extern int blkid_probe_is_bitlocker(blkid_probe pr);
}
if (boot_label && memcmp(boot_label, no_name, 11))
- blkid_probe_set_id_label(pr, "LABEL_FATBOOT", (unsigned char *) boot_label, 11);
+ blkid_probe_set_id_label(pr, "LABEL_FATBOOT", boot_label, 11);
if (vol_label)
- blkid_probe_set_label(pr, (unsigned char *) vol_label, 11);
+ blkid_probe_set_label(pr, vol_label, 11);
/* We can't just print them as %04X, because they are unaligned */
if (vol_serno)
static int find_uberblocks(const void *label, loff_t *ub_offset, int *swap_endian)
{
uint64_t swab_magic = swab64((uint64_t)UBERBLOCK_MAGIC);
- struct zfs_uberblock *ub;
+ const struct zfs_uberblock *ub;
int i, found = 0;
loff_t offset = VDEV_LABEL_UBERBLOCK;
for (i = 0; i < UBERBLOCKS_COUNT; i++, offset += UBERBLOCK_SIZE) {
- ub = (struct zfs_uberblock *)((char *) label + offset);
+ ub = (const struct zfs_uberblock *)((const char *) label + offset);
if (ub->ub_magic == UBERBLOCK_MAGIC) {
*ub_offset = offset;
"/sbin/dmsetup"
};
int dmpipe[] = { -1, -1 }, stripes, stripesize;
- char *cmd = NULL;
+ const char *cmd = NULL;
FILE *stream = NULL;
long long offset, size;
size_t i;
for (i = 0; i < ARRAY_SIZE(paths); i++) {
struct stat sb;
if (stat(paths[i], &sb) == 0) {
- cmd = (char *) paths[i];
+ cmd = paths[i];
break;
}
}
switch (fork()) {
case 0:
{
- char *dmargv[7], maj[16], min[16];
+ const char *dmargv[7];
+ char maj[16], min[16];
/* Plumbing */
close(dmpipe[0]);
dmargv[5] = min;
dmargv[6] = NULL;
- execv(dmargv[0], dmargv);
+ execv(dmargv[0], (char * const *) dmargv);
DBG(LOWPROBE, ul_debug("Failed to execute %s: errno=%d", cmd, errno));
exit(1);