DCMD_BLK_PARTENTRY
QNX SDP8.0Devctl and Ioctl CommandsDeveloper
Get the partition entry
Synopsis:
#include <sys/dcmd_blk.h>
#define DCMD_BLK_PARTENTRY __DIOF(_DCMD_BLK, 1, struct partition_entry)
Arguments to devctl():
Argument | Value |
---|---|
filedes | A file descriptor that you obtained by opening the device. |
dcmd | DCMD_BLK_PARTENTRY |
dev_data_ptr | A pointer to a struct partition_entry that the device can fill in (see below) |
n_bytes | sizeof(struct partition_entry) |
dev_info_ptr | NULL |
Description:
This command gets the partition entry for the device associated with the given file descriptor. It's used by x86 disk partitions with harddisk-based filesystems.
Input:
None.
Output:
The struct partition_entry (or partition_entry_t) is defined in <sys/disk.h> as follows:
typedef struct partition_entry {
unsigned char boot_ind,
beg_head,
beg_sector,
beg_cylinder,
os_type,
end_head,
end_sector,
end_cylinder;
uint32_t part_offset,
part_size;
} partition_entry_t;
The members include:
- boot_ind
- 0x80 if the partition is bootable, 0x00 if it isn't.
- beg_head
- The beginning head number.
- beg_sector
- The beginning sector number.
- beg_cylinder
- The beginning cylinder number.
- os_type
- The partition type; see
Partitions
in the Filesystems chapter of the System Architecture guide. - end_head
- The end head number.
- end_sector
- The end sector number.
- end_cylinder
- The end cylinder number.
- part_offset
- The offset of the partition, in bytes.
- part_size
- The number of sectors in the partition.
Example:
partition_entry_t *prt;
memset(&prt, 0, sizeof(prt));
if(devctl(fd, DCMD_BLK_PARTENTRY, prt, sizeof(*prt), 0) == EOK) {
...
}
See also:
devctl() in the QNX OS C Library Reference
fdisk in the QNX OS Utilities Reference
Page updated: