goto err;
}
- sz = make_hd_dn(buf, size, off, disk_fd, dev->part, options);
+ sz = make_hd_dn(buf+off, size?size-off:0,
+ disk_fd, dev->part, options);
saved_errno = errno;
close(disk_fd);
errno = saved_errno;
}
ssize_t HIDDEN
-_make_hd_dn(uint8_t *buf, ssize_t size, int fd, int32_t partition,
- uint32_t options)
+make_hd_dn(uint8_t *buf, ssize_t size, int fd, int32_t partition,
+ uint32_t options)
{
uint64_t part_start=0, part_size = 0;
uint8_t signature[16]="", format=0, signature_type=0;
extern bool HIDDEN is_partitioned(int fd);
-extern HIDDEN ssize_t _make_hd_dn(uint8_t *buf, ssize_t size, int fd,
- int32_t partition, uint32_t options);
-#define make_hd_dn(buf, size, off, fd, partition, option) \
- _make_hd_dn(((buf)+(off)), ((size)?((size)-(off)):0), (fd),\
- (partition), (options))
+extern HIDDEN ssize_t make_hd_dn(uint8_t *buf, ssize_t size, int fd,
+ int32_t partition, uint32_t options);
#endif /* _EFIBOOT_DISK_H */
ssize_t sz;
ssize_t len = utf8len(lf, -1) + 1;
ssize_t req = sizeof (*file) + len * sizeof (uint16_t);
+
sz = efidp_make_generic(buf, size, EFIDP_MEDIA_TYPE, EFIDP_MEDIA_FILE,
req);
if (size && sz == req) {
efidp_hd *hd = (efidp_hd *)buf;
ssize_t sz;
ssize_t req = sizeof (*hd);
+
sz = efidp_make_generic(buf, size, EFIDP_MEDIA_TYPE, EFIDP_MEDIA_HD,
req);
if (size && sz == req) {