libhd  5.0
block.h
Go to the documentation of this file.
hd_detail_cdrom
@ hd_detail_cdrom
Definition: hd.h:2064
HD_DEB_CDROM
#define HD_DEB_CDROM
Definition: hd.h:37
res_cache_t::type
enum resource_types type
Definition: hd.h:1744
block.h
hd_dev_num_t::major
unsigned major
Definition: hd.h:1009
get_dvd_profile
int get_dvd_profile(int fd)
Definition: dvd.c:187
cdrom_info_s::media_type
unsigned media_type
boot emulation type
Definition: hd.h:1305
hd_log_hex
void hd_log_hex(hd_data_t *hd_data, int with_ascii, unsigned data_len, unsigned char *data)
Definition: hd.c:2377
read_file
str_list_t * read_file(char *file_name, unsigned start_line, unsigned lines)
Definition: hd.c:2527
cdrom_info_s::dvdr
unsigned dvdr
Definition: hd.h:1294
scsi_s::fcp_lun_ok
unsigned fcp_lun_ok
Definition: hd.h:1146
hd_getdisksize
int hd_getdisksize(hd_data_t *hd_data, char *dev, int fd, hd_res_t **geo, hd_res_t **size)
Definition: hd.c:5002
s_hd_t::is_s::dvdrdl
unsigned dvdrdl
DVD-R DL.
Definition: hd.h:2481
s_hd_t::unix_dev_name2
char * unix_dev_name2
Special device file.
Definition: hd.h:2369
s_hd_t::prog_if
hd_id_t prog_if
(PCI) programming interface (id and name).
Definition: hd.h:2241
cdrom_info_s::ok
unsigned ok
Definition: hd.h:1297
s_hd_t::base_class
hd_id_t base_class
Base class (id and name).
Definition: hd.h:2231
hd_detail_scsi
@ hd_detail_scsi
Definition: hd.h:2066
u_hd_res_t::cache
res_cache_t cache
Definition: hd.h:1831
pif_dvd
@ pif_dvd
Definition: hd.h:283
sc_sdev_scanner
@ sc_sdev_scanner
Definition: hd.h:233
res_fc_t::wwpn_ok
unsigned wwpn_ok
Definition: hd.h:1812
cdrom_info_s::next
struct cdrom_info_s * next
Definition: hd.h:1291
DRIVE_CDROM_CAPS_BDRE
#define DRIVE_CDROM_CAPS_BDRE
Definition: dvd.h:14
s_hd_t::attached_to
unsigned attached_to
Device this hardware is attached to.
Definition: hd.h:2326
DRIVE_CDROM_CAPS_HDDVDR
#define DRIVE_CDROM_CAPS_HDDVDR
Definition: dvd.h:16
cdrom_info_s::label
char * label
Definition: hd.h:1314
s_sysfsdrv_t::driver
char * driver
Definition: hd.h:996
hd_data_t::cdrom
cdrom_info_t * cdrom
(Internal) CDROM devs from PROC_CDROM_INFO
Definition: hd.h:2686
hd_data_t::hd
hd_t * hd
Current hardware list.
Definition: hd.h:2610
add_disk_size
static void add_disk_size(hd_data_t *hd_data, hd_t *hd)
Definition: block.c:1820
s_hd_t::is_s::cdrw
unsigned cdrw
CD-RW.
Definition: hd.h:2477
PROC_PARTITIONS
#define PROC_PARTITIONS
Definition: hd_int.h:26
s_str_list_t::search_str_list
str_list_t * search_str_list(str_list_t *sl, char *str)
Definition: hd.c:2464
remove_hd_entries
void remove_hd_entries(hd_data_t *hd_data)
Definition: hd.c:2711
scsi_s::dev_name
char * dev_name
Definition: hd.h:1147
cdrom_info_s::geo
struct cdrom_info_s::@3::@4 geo
pif_dvdr
@ pif_dvdr
Definition: hd.h:283
cdrom_info_s::application
char * application
Definition: hd.h:1298
get_scsi_tape
static void get_scsi_tape(hd_data_t *hd_data)
Definition: block.c:1542
scsi_s::fcp_lun
uint64_t fcp_lun
Definition: hd.h:1169
s_hd_t::serial
char * serial
Serial id.
Definition: hd.h:2287
res_disk_geo_t::heads
unsigned heads
Definition: hd.h:1751
hd_sysfs_find_driver
char * hd_sysfs_find_driver(hd_data_t *hd_data, char *sysfs_id, int exact)
Definition: block.c:388
canon_str
char * canon_str(char *s, int len)
Definition: hd.c:2191
hd_scan_sysfs_block
void hd_scan_sysfs_block(hd_data_t *hd_data)
Definition: block.c:44
DRIVE_CDROM_CAPS_DVDPLUSRWDL
#define DRIVE_CDROM_CAPS_DVDPLUSRWDL
Definition: dvd.h:10
res_fc_t::port_id_ok
unsigned port_id_ok
Definition: hd.h:1814
bc_partition
@ bc_partition
Definition: hd.h:167
new_str
char * new_str(const char *s)
Definition: hd.c:1577
read_dir
str_list_t * read_dir(char *dir_name, int type)
Definition: hd.c:2576
sc_sdev_other
@ sc_sdev_other
Definition: hd.h:234
s_sysfsdrv_t::device
char * device
Definition: hd.h:997
PROGRESS
#define PROGRESS(a, b, c)
Definition: hd_int.h:61
mod_block
@ mod_block
Definition: hd_int.h:79
s_hd_t::is_s::notready
unsigned notready
block devices: no medium, other: device not configured
Definition: hd.h:2472
hd_detail_t::type
enum hd_detail_type type
Definition: hd.h:2142
res_io
@ res_io
Definition: hd.h:1635
cdrom_info_s::preparer
char * preparer
Definition: hd.h:1298
add_other_sysfs_info
static void add_other_sysfs_info(hd_data_t *hd_data, hd_t *hd)
Definition: block.c:521
pif_dvdram
@ pif_dvdram
Definition: hd.h:283
s_str_list_t::next
struct s_str_list_t * next
Link to next member.
Definition: hd.h:407
res_size_t::val2
uint64_t val2
to allow for 2D values
Definition: hd.h:1730
s_hd_t::slot
unsigned slot
Slot and bus number.
Definition: hd.h:2221
s_hd_t::drivers
str_list_t * drivers
List of currently active drivers.
Definition: hd.h:2537
sc_sdev_disk
@ sc_sdev_disk
Definition: hd.h:233
hd_dev_num_t::type
int type
Definition: hd.h:1008
u_hd_res_t::fc
res_fc_t fc
Definition: hd.h:1841
s_sysfsdrv_t::next
struct s_sysfsdrv_t * next
Definition: hd.h:995
s_hd_t::is_s::fcoe
unsigned fcoe
fcoe device
Definition: hd.h:2501
read_partitions
static void read_partitions(hd_data_t *hd_data)
Definition: block.c:1157
hd_data_t::lsscsi
str_list_t * lsscsi
(Internal) lsscsi result (if any)
Definition: hd.h:2733
res_disk_geo_t::type
enum resource_types type
Definition: hd.h:1750
PROC_CDROM_INFO
#define PROC_CDROM_INFO
Definition: hd_int.h:12
cdrom_info_s::cdrw
unsigned cdrw
Definition: hd.h:1294
pif_cdr
@ pif_cdr
Definition: hd.h:283
s_sysfsdrv_t
sysfs driver info
Definition: hd.h:994
s_hd_t::unix_dev_name
char * unix_dev_name
Special device file.
Definition: hd.h:2348
s_hd_t::is_s::mrww
unsigned mrww
MRW-W.
Definition: hd.h:2495
s_hd_t::is_s::hdrw
unsigned hdrw
HD-RW.
Definition: hd.h:2491
get_cdrom_entry
static cdrom_info_t * get_cdrom_entry(cdrom_info_t *ci, int n)
Definition: block.c:1503
bus_pci
@ bus_pci
Definition: hd.h:293
hd_data_t::cdroms
str_list_t * cdroms
(Internal) cdroms according to PROC_CDROM_INFO
Definition: hd.h:2716
read_cdroms
static void read_cdroms(hd_data_t *hd_data)
Definition: block.c:1409
s_hd_t::sysfs_device_link
char * sysfs_device_link
sysfs device link.
Definition: hd.h:2341
hd_data_t::flag_struct::list_md
unsigned list_md
Report md & lvm devices from /proc/partitions.
Definition: hd.h:2649
s_hd_t
Individual hardware item.
Definition: hd.h:2196
hd_detail_ccw_t::data
ccw_t * data
Definition: hd.h:2133
res_cache_t::size
unsigned size
in kbyte
Definition: hd.h:1745
pr_block_part
@ pr_block_part
Definition: hd.h:119
s_hd_t::is_s::bd
unsigned bd
BD.
Definition: hd.h:2486
res_io_t::type
enum resource_types type
Definition: hd.h:1704
pr_scsi
@ pr_scsi
Definition: hd.h:112
DRIVE_CDROM_CAPS_DVDRDL
#define DRIVE_CDROM_CAPS_DVDRDL
Definition: dvd.h:7
s_hd_t::is_s::dvdprdl
unsigned dvdprdl
DVD+R DL.
Definition: hd.h:2484
s_hd_t::is_s::hdr
unsigned hdr
HD-R.
Definition: hd.h:2490
res_fc
@ res_fc
Definition: hd.h:1637
s_hd_t::rom_id
char * rom_id
BIOS/PROM id.
Definition: hd.h:2382
cdrom_info_s::publisher
char * publisher
Definition: hd.h:1298
u_hd_res_t
libhd resource union
Definition: hd.h:1822
s_hd_t::sysfs_bus_id
char * sysfs_bus_id
sysfs bus id for this hardware, if any.
Definition: hd.h:2336
u_hd_res_t::disk_geo
res_disk_geo_t disk_geo
Definition: hd.h:1833
s_hd_t::next
struct s_hd_t * next
Link to next hardware item.
Definition: hd.h:2197
DRIVE_CDROM_CAPS_DVDPLUSR
#define DRIVE_CDROM_CAPS_DVDPLUSR
Definition: dvd.h:8
hd_scan_sysfs_scsi
void hd_scan_sysfs_scsi(hd_data_t *hd_data)
Definition: block.c:1519
hd_sysfs_id
char * hd_sysfs_id(char *path)
Definition: hd.c:5986
s_hd_t::device
hd_id_t device
Device id and name.
Definition: hd.h:2259
DRIVE_CDROM_CAPS_HDDVDRW
#define DRIVE_CDROM_CAPS_HDDVDRW
Definition: dvd.h:17
DRIVE_CDROM_CAPS_BDR
#define DRIVE_CDROM_CAPS_BDR
Definition: dvd.h:13
scsi_s::controller_id
char * controller_id
Definition: hd.h:1170
s_hd_t::is_s::cdr
unsigned cdr
CD-R.
Definition: hd.h:2476
s_str_list_t::free_str_list
str_list_t * free_str_list(str_list_t *list)
Definition: hd.c:2493
hd_report_this
int hd_report_this(hd_data_t *hd_data, hd_t *hd)
Definition: hd.c:5825
res_size_t::type
enum resource_types type
Definition: hd.h:1728
res_disk_geo
@ res_disk_geo
Definition: hd.h:1636
res_disk_geo_t::geotype
enum geo_types geotype
0-3: physical/logical/bios edd/bios legacy
Definition: hd.h:1753
res_fc_t::fcp_lun
uint64_t fcp_lun
Definition: hd.h:1816
u_hd_res_t::io
res_io_t io
Definition: hd.h:1825
hddb.h
res_any_t::type
enum resource_types type
Definition: hd.h:1683
hd_get_device_by_idx
hd_t * hd_get_device_by_idx(hd_data_t *hd_data, unsigned idx)
Definition: hd.c:2290
free_hd_detail
hd_detail_t * free_hd_detail(hd_detail_t *d)
Definition: hd.c:1213
u_hd_res_t::next
union u_hd_res_t * next
Definition: hd.h:1823
hd_data_t::module
unsigned module
(Internal) the current probing module we are in
Definition: hd.h:2681
bus_ide
@ bus_ide
Definition: hd.h:297
cdrom_info_s::dvd
unsigned dvd
Definition: hd.h:1294
s_hd_t::is_s::dvd
unsigned dvd
DVD.
Definition: hd.h:2478
add_ide_sysfs_info
static void add_ide_sysfs_info(hd_data_t *hd_data, hd_t *hd)
Definition: block.c:565
cdrom_info_s::bootable
unsigned bootable
Definition: hd.h:1304
hd_data_t::sysfsdrv
hd_sysfsdrv_t * sysfsdrv
(Internal) sysfs driver info
Definition: hd.h:2728
pr_block_mods
@ pr_block_mods
Definition: hd.h:120
s_hd_t::is_s::mrw
unsigned mrw
MRW.
Definition: hd.h:2494
ADD2LOG
#define ADD2LOG(a...)
Definition: hd_int.h:62
cdrom_info_s::load_address
unsigned load_address
Definition: hd.h:1306
s_str_list_t
String list type.
Definition: hd.h:406
DRIVE_CDROM_CAPS_DVDPLUSRDL
#define DRIVE_CDROM_CAPS_DVDPLUSRDL
Definition: dvd.h:11
load_module
int load_module(hd_data_t *hd_data, char *module)
Definition: hd.c:3859
s_hd_t::detail
hd_detail_t * detail
Special info associated with this hardware.
Definition: hd.h:2433
hd_data_t::flags
struct hd_data_t::flag_struct flags
add_hd_entry
hd_t * add_hd_entry(hd_data_t *hd_data, unsigned line, unsigned count)
Definition: hd.c:1777
hd_detail_t::ccw
hd_detail_ccw_t ccw
Definition: hd.h:2155
hd_sysfs_dev2_name
char * hd_sysfs_dev2_name(char *str)
Definition: hd.c:6019
hd_sysfs_name2_dev
char * hd_sysfs_name2_dev(char *str)
Definition: hd.c:5998
cdrom_info_s::cdr
unsigned cdr
Definition: hd.h:1294
hd_data_t::debug
unsigned debug
Debug flags.
Definition: hd.h:2635
cdrom_info_s::iso9660
struct cdrom_info_s::@2 iso9660
add_scsi_sysfs_info
static void add_scsi_sysfs_info(hd_data_t *hd_data, hd_t *hd, char *sf_dev)
Definition: block.c:712
cdrom_info_s::el_torito
struct cdrom_info_s::@3 el_torito
DRIVE_CDROM_CAPS_HDDVDROM
#define DRIVE_CDROM_CAPS_HDDVDROM
Definition: dvd.h:15
res_fc_t::controller_id
char * controller_id
Definition: hd.h:1818
DRIVE_CDROM_CAPS_DVDRW
#define DRIVE_CDROM_CAPS_DVDRW
Definition: dvd.h:6
add_cdrom_info
static void add_cdrom_info(hd_data_t *hd_data, hd_t *hd)
Definition: block.c:445
hd_probe_feature
int hd_probe_feature(hd_data_t *hd_data, enum probe_feature feature)
Definition: hd.c:579
bc_storage_device
@ bc_storage_device
Definition: hd.h:165
s_hd_t::sub_device
hd_id_t sub_device
Subdevice id and name.
Definition: hd.h:2275
hd_detail_ccw
@ hd_detail_ccw
Definition: hd.h:2067
get_generic_scsi_devs
static void get_generic_scsi_devs(hd_data_t *hd_data)
Definition: block.c:1678
s_hd_t::is_s::dvdprw
unsigned dvdprw
DVD+RW.
Definition: hd.h:2483
MAKE_ID
#define MAKE_ID(tag, id_val)
Combine tag and id value.
Definition: hd.h:102
s_hd_t::is
struct s_hd_t::is_s is
DRIVE_CDROM_CAPS_BDROM
#define DRIVE_CDROM_CAPS_BDROM
Definition: dvd.h:12
mod_scsi
@ mod_scsi
Definition: hd_int.h:75
hd_dev_num_t
device number; type is either 0 or 'b' or 'c'.
Definition: hd.h:1007
s_hd_t::is_s::bdre
unsigned bdre
BD-RE.
Definition: hd.h:2488
res_fc_t::fcp_lun_ok
unsigned fcp_lun_ok
Definition: hd.h:1813
hd_id_t::id
unsigned id
Numeric id.
Definition: hd.h:397
add_partitions
static void add_partitions(hd_data_t *hd_data, hd_t *hd, char *path)
Definition: block.c:423
hd.h
cdrom_info_s::start
unsigned start
start sector
Definition: hd.h:1308
s_hd_t::is_s::dvdrw
unsigned dvdrw
DVD-RW.
Definition: hd.h:2480
s_hd_t::is_s::mo
unsigned mo
MO.
Definition: hd.h:2493
s_hd_t::sysfs_id
char * sysfs_id
sysfs entry for this hardware, if any.
Definition: hd.h:2331
s_hd_t::is_s::dvdr
unsigned dvdr
DVD-R.
Definition: hd.h:2479
hd_attr_uint
int hd_attr_uint(char *attr, uint64_t *u, int base)
Definition: hd.c:5955
hd_data_t::partitions
str_list_t * partitions
(Internal) dto, partitions
Definition: hd.h:2715
sc_sdev_tape
@ sc_sdev_tape
Definition: hd.h:233
s_hd_t::res
hd_res_t * res
Device resources.
Definition: hd.h:2427
cdrom_info_s::creation_date
char * creation_date
Definition: hd.h:1298
s_hd_t::sub_class
hd_id_t sub_class
Sub class (id and name).
Definition: hd.h:2236
cdrom_info_s::dvdram
unsigned dvdram
Definition: hd.h:1294
pif_cdrw
@ pif_cdrw
Definition: hd.h:283
s_hd_t::is_s::bdr
unsigned bdr
BD-R.
Definition: hd.h:2487
hd_read_cdrom_info
cdrom_info_t * hd_read_cdrom_info(hd_data_t *hd_data, hd_t *hd)
Definition: block.c:1242
PROC_IDE
#define PROC_IDE
Definition: hd_int.h:10
s_hd_t::unix_dev_num2
hd_dev_num_t unix_dev_num2
Device type & number according to sysfs.
Definition: hd.h:2374
free_res_list
hd_res_t * free_res_list(hd_res_t *res)
Definition: hd.c:1726
bus_none
@ bus_none
Definition: hd.h:293
hd_detail_ccw_t::type
enum hd_detail_type type
Definition: hd.h:2132
cdrom_info_s::cdrom
unsigned cdrom
cdrom in drive
Definition: hd.h:1295
s_hd_t::is_s::hd
unsigned hd
HD.
Definition: hd.h:2489
line
static char line[1024]
Definition: cdbisdn.c:29
cdrom_info_s::id_string
char * id_string
Definition: hd.h:1303
pr_scsi_noserial
@ pr_scsi_noserial
Definition: hd.h:121
pr_block_cdrom
@ pr_block_cdrom
Definition: hd.h:119
scsi_s::wwpn
uint64_t wwpn
Definition: hd.h:1168
bc_scanner
@ bc_scanner
Definition: hd.h:166
s_hd_t::unix_dev_num
hd_dev_num_t unix_dev_num
Device type & number according to sysfs.
Definition: hd.h:2353
s_hd_t::sub_vendor
hd_id_t sub_vendor
Subvendor id and name.
Definition: hd.h:2267
s_hd_t::vendor
hd_id_t vendor
Vendor id and name.
Definition: hd.h:2249
hd_id_t::name
char * name
Name (if any) that corresponds to hd_id_t::id.
Definition: hd.h:398
hd_int.h
hd_data_t::disks
str_list_t * disks
(Internal) disks according to /proc/partitions
Definition: hd.h:2714
res_io_t::base
uint64_t base
Definition: hd.h:1705
s_hd_t::bus
hd_id_t bus
Bus type (id and name).
Definition: hd.h:2215
cdrom_info_s::speed
unsigned speed
Definition: hd.h:1293
hd_detail_t::scsi
hd_detail_scsi_t scsi
Definition: hd.h:2153
TAG_PCI
#define TAG_PCI
PCI ids.
Definition: hd.h:83
hd_detail_t::cdrom
hd_detail_cdrom_t cdrom
Definition: hd.h:2146
hd_dev_num_t::minor
unsigned minor
Definition: hd.h:1009
s_hd_t::idx
unsigned idx
Unique index, starting at 1.
Definition: hd.h:2203
res_disk_geo_t::cyls
unsigned cyls
Definition: hd.h:1751
cdrom_info_s::platform
unsigned platform
Definition: hd.h:1302
s_hd_t::is_s::dvdprwdl
unsigned dvdprwdl
DVD+RW DL.
Definition: hd.h:2485
ccw_s::lcss
unsigned char lcss
Definition: hd.h:1274
hd_data
static hd_data_t * hd_data
Definition: pppoe.c:29
str_printf
void str_printf(char **buf, int offset, char *format,...)
Definition: hd.c:2401
res_cache
@ res_cache
Definition: hd.h:1636
hd_data_t::flag_struct::vmware
unsigned vmware
running in vmware
Definition: hd.h:2662
res_size_t::unit
enum size_units unit
Definition: hd.h:1729
add_res_entry
hd_res_t * add_res_entry(hd_res_t **res, hd_res_t *new_res)
Definition: hd.c:1769
geo_physical
@ geo_physical
Definition: hd.h:1668
hd_detail_scsi_t::data
scsi_t * data
Definition: hd.h:2123
res_disk_geo_t::sectors
unsigned sectors
Definition: hd.h:1751
hd_read_sysfs_link
char * hd_read_sysfs_link(char *base_dir, char *link_name)
Definition: hd.c:2631
scsi_s
raw SCSI data
Definition: hd.h:1140
new_cdrom_entry
static cdrom_info_t * new_cdrom_entry(cdrom_info_t **ci)
Definition: block.c:1493
cdrom_info_s::volume
char * volume
Definition: hd.h:1298
s_hd_t::revision
hd_id_t revision
Revision id or string.
Definition: hd.h:2282
cdrom_info_s::name
char * name
Definition: hd.h:1292
cdrom_info_s::load_count
unsigned load_count
sectors to load
Definition: hd.h:1307
res_size_t::val1
uint64_t val1
Definition: hd.h:1730
s_hd_t::func
unsigned func
(PCI) function.
Definition: hd.h:2226
s_hd_t::is_s::dvdpr
unsigned dvdpr
DVD+R.
Definition: hd.h:2482
s_str_list_t::add_str_list
str_list_t * add_str_list(str_list_t **sl, char *str)
Definition: hd.c:2479
cdrom_info_s::catalog
unsigned catalog
boot catalog start
Definition: hd.h:1309
scsi_s::cache
unsigned cache
Definition: hd.h:1161
size_unit_sectors
@ size_unit_sectors
Definition: hd.h:1645
geo_logical
@ geo_logical
Definition: hd.h:1669
sc_sdev_cdrom
@ sc_sdev_cdrom
Definition: hd.h:233
res_fc_t::wwpn
uint64_t wwpn
Definition: hd.h:1815
s_hd_t::module
unsigned module
(Internal) Probing module that created this entry.
Definition: hd.h:2412
hd_dev_num_t::range
unsigned range
Definition: hd.h:1009
bus_scsi
@ bus_scsi
Definition: hd.h:297
hd_detail_cdrom_t::data
cdrom_info_t * data
Definition: hd.h:2087
scsi_s::wwpn_ok
unsigned wwpn_ok
Definition: hd.h:1145
hd_data_t
Holds all data accumulated during hardware probing.
Definition: hd.h:2604
res_size
@ res_size
Definition: hd.h:1636
new_mem
void * new_mem(size_t size)
Definition: hd.c:1535
sc_sdev_floppy
@ sc_sdev_floppy
Definition: hd.h:233
hd_sysfs_driver_list
void hd_sysfs_driver_list(hd_data_t *hd_data)
Definition: hd.c:5751
cdrom_info_s
special CDROM entry
Definition: hd.h:1290
DRIVE_CDROM_CAPS_DVDPLUSRW
#define DRIVE_CDROM_CAPS_DVDPLUSRW
Definition: dvd.h:9
s_hd_t::is_s::dvdram
unsigned dvdram
DVDRAM.
Definition: hd.h:2492
dvd.h
pr_block
@ pr_block
Definition: hd.h:119
u_hd_res_t::any
res_any_t any
Definition: hd.h:1824
res_fc_t::port_id
unsigned port_id
Definition: hd.h:1817
s_str_list_t::str
char * str
Some string data.
Definition: hd.h:408
free_mem
void * free_mem(void *p)
Definition: hd.c:1594
u_hd_res_t::size
res_size_t size
Definition: hd.h:1830
get_sysfs_attr_by_path
char * get_sysfs_attr_by_path(const char *path, const char *attr)
Definition: hd.c:6053
get_block_devs
static void get_block_devs(hd_data_t *hd_data)
Definition: block.c:91