 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Bottom of page |
|
createlabel(3)
NAME
createlabel - Creates a disk label structure for a disk device
LIBRARY
Standard C Library (libc.a)
SYNOPSIS
#include <sys/types.h>
#include <sys/disklabel.h>
int createlabel(
char *devname,
char *name,
struct disklabel *disk,
char *boot,
int boot_len);
PARAMETERS
devname
Specifies the device special file name of the device.
name
Specifies the name entry in the /etc/disktab file that is to be used
for the label information. Otherwise, specify NULL to indicate that
the name entry either is not in the /etc/disktab file, or, if it is,
that it should be ignored.
disk
Points to the disk label structure that is filled in with the returned
disk description on successful completion of the function.
boot
Points to the buffer that the function may use to contain the
(optional) primary and secondary bootstrap names for the disk label.
boot_len
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 function
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, initializes the disk label structure from that entry.
If an /etc/disktab entry indicates that the device has a dynamic geometry,
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
[EINVAL] Either disk or boot is NULL, or boot_len is not equal to BUFSIZ.
FILES
/etc/disktab
Table of disk partition sizes for supported disks.
RELATED INFORMATION
Commands: disklabel(8)
Functions: getdiskbyname(3).
Files: disklabel(4), disktab(4)
 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Top of page |
|