creatediskbyname(3x)creatediskbyname(3x)Name
creatediskbyname - get the disk description associated with a file name
Syntax
#include <disktab.h>
struct disktab *
creatediskbyname(name)
char *name;
Description
The subroutine takes the name of the character device special file representing a disk device (for example, and returns a structure pointer
describing its geometry information and the default disk partition tables. It obtains this information by polling the controlling disk
device driver. The subroutine returns information only for MSCP and SCSI disks.
The file has the following form:
#define DISKTAB "/etc/disktab"
struct disktab {
char *d_name; /* drive name */
char *d_type; /* drive type */
int d_secsize; /* sector size in bytes */
int d_ntracks; /* # tracks/cylinder */
int d_nsectors; /* # sectors/track */
int d_ncylinders; /* # cylinders */
int d_rpm; /* revolutions/minute */
struct partition {
int p_size; /* #sectors in partition */
short p_bsize; /* block size in bytes */
short p_fsize; /* frag size in bytes */
} d_partitions[8];
};
struct disktab *getdiskbyname();
struct disktab *creatediskbyname();
Diagnostics
Successful completion of the subroutine returns a pointer to a valid disktab structure. Failure of this subroutine returns a null pointer.
The subroutine fails if it cannot obtain the necessary information from the device driver or disktab file.
A check is done to ensure that the disktab file exists and is readable. This check ensures that the subroutine is not being called because
the disktab file was accidentally removed. If there is no disktab file, the subroutine fails.
The subroutine also fails if it cannot determine disk geometry attributes by polling the driver. This can occur if the disk is not an MSCP
or SCSI disk. In some cases where the disk consists of removable media and the media is not loaded, the driver will be unable to determine
disk attributes.
Restrictions
The subroutine returns information only for MSCP and SCSI disks.
See Alsogetdiskbyname(3x), ra(4), rz(4), disktab(5)creatediskbyname(3x)
Check Out this Related Man Page
DISKTAB(5) BSD File Formats Manual DISKTAB(5)NAME
disktab -- disk description file
SYNOPSIS
#include <disklabel.h>
DESCRIPTION
Disktab is a simple database which describes disk geometries and disk partition characteristics. It is used to initialize the disk label on
the disk. The format is patterned after the termcap(5) terminal data base. Entries in disktab consist of a number of `:'-separated fields.
The first field for each entry gives the names by which a disk's entry may be selected, separated by `|' characters. The last name given
should be a long name fully identifying the disk.
The optional fields for each entry are:
ID Type Description
ty str Type of disk (e.g. removable, winchester)
dt str Type of controller (e.g. SMD, ESDI, floppy)
ns num Number of sectors per track
nt num Number of tracks per cylinder
nc num Total number of cylinders on the disk
sc num Number of sectors per cylinder, ns*nt default
su num Number of sectors per unit, sc*nc default
se num Sector size in bytes, DEV_BSIZE default
sf bool Controller supports bad144-style bad sector forwarding
rm num Rotation speed, rpm, 3600 default
sk num Sector skew per track, default 0
cs num Sector skew per cylinder, default 0
hs num Headswitch time, usec, default 0
ts num One-cylinder seek time, usec, default 0
il num Sector interleave (n:1), 1 default
d[0-4] num Drive-type-dependent parameters
bs num Boot block size, default BBSIZE
sb num Superblock size, default 0
ba num Block size for partition `a' (bytes)
bd num Block size for partition `d' (bytes)
be num Block size for partition `e' (bytes)
bf num Block size for partition `f' (bytes)
bg num Block size for partition `g' (bytes)
bh num Block size for partition `h' (bytes)
fa num Fragment size for partition `a' (bytes)
fd num Fragment size for partition `d' (bytes)
fe num Fragment size for partition `e' (bytes)
ff num Fragment size for partition `f' (bytes)
fg num Fragment size for partition `g' (bytes)
fh num Fragment size for partition `h' (bytes)
oa num Offset of partition `a' in sectors
ob num Offset of partition `b' in sectors
oc num Offset of partition `c' in sectors
od num Offset of partition `d' in sectors
oe num Offset of partition `e' in sectors
of num Offset of partition `f' in sectors
og num Offset of partition `g' in sectors
oh num Offset of partition `h' in sectors
pa num Size of partition `a' in sectors
pb num Size of partition `b' in sectors
pc num Size of partition `c' in sectors
pd num Size of partition `d' in sectors
pe num Size of partition `e' in sectors
pf num Size of partition `f' in sectors
pg num Size of partition `g' in sectors
ph num Size of partition `h' in sectors
ta str Partition type of partition `a' (4.2BSD file system, swap, etc)
tb str Partition type of partition `b'
tc str Partition type of partition `c'
td str Partition type of partition `d'
te str Partition type of partition `e'
tf str Partition type of partition `f'
tg str Partition type of partition `g'
th str Partition type of partition `h'
FILES
/etc/disktab
SEE ALSO getdiskbyname(3), bsdlabel(8), newfs(8)HISTORY
The disktab description file appeared in 4.2BSD.
BSD October 14, 2006 BSD