createlabel(3)createlabel(3)NAMEcreatelabel - creates a disk label structure for a disk device
SYNOPSIS
#include <sys/types.h> #include <sys/disklabel.h>
int createlabel(
char *devname,
char *name,
struct disklabel *disk,
char *boot,
int boot_len );
LIBRARY
Standard C Library (libc.a)
PARAMETERS
Specifies the device special file name of the device. Specifies the
name entry in the /etc/disktab file that is to be used for the label
information. Otherwise, specify NULL to indicate either that the name
entry is not in the /etc/disktab file or that it should be ignored even
if it is in the /etc/disktab file. Points to the disk label structure
that is filled in with the returned disk description on successful com‐
pletion of the function. Points to the buffer that the function may
use to contain the (optional) primary and secondary bootstrap names for
the disk label. Specifies the length of the boot buffer. The value
must be set to the value of the BUFSIZ constant.
DESCRIPTION
The createlabel() function fills in the disk label structure pointed to
by the disk parameter. The resulting disk label can then be written to
the disk in order to label it.
The function queries the device, using the devname parameter, to obtain
the disk's geometry, capacity, and any default partition information.
The function checks the name parameter. If name is non-null, the func‐
tion looks for an entry in the /etc/disktab file that matches the name
string and initializes the disk label structure from that entry. The
function then overrides the device data and initializes the disk label
structure from the entry in the /etc/disktab file.
If the name string is NULL or has no matching entry in the /etc/disktab
file, the function queries the device (using the devname parameter) to
obtain the device's name string. The function then looks for an entry
in the /etc/disktab file that matches that name string, and if it finds
a match, it initializes the disk label structure from that entry.
If an /etc/disktab entry indicates that the device has a dynamic geome‐
try, the function queries the device (using the devname parameter) to
obtain the disk's true geometry and capacity and to override any value
given in an /etc/disktab entry associated with the device. In this
case, any -1 lengths encountered in the partition specifications for
the entry are replaced by a value equal to the device's total capacity
minus the starting offset of the partition.
RETURN VALUES
Upon successful completion of the createlabel() function, a value of 0
is returned and the contents of the disk label structure are updated.
Upon error, a value of -1 is returned and errno is set to [EINVAL].
ERRORS
Either disk or boot is NULL, or boot_len is not equal to BUFSIZ.
FILES
Table of disk partition sizes for supported disks.
SEE ALSO
Commands: disklabel(8)
Functions: getdiskbyname(3).
Files: disklabel(4), disktab(4)createlabel(3)