Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #220
Difficulty: Easy
When multiple routers are used in interconnected networks, the routers can exchange information about destination addresses using a routing protocol.
True or False?
Linux & Unix Commands - Search Man Pages

createlabel(3) [osf1 man page]

createlabel(3)						     Library Functions Manual						    createlabel(3)

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
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 that the name entry either is not in the /etc/disktab file, or, if it is, that it should be ignored. Points to the disk label structure that is filled in with the returned disk description on successful completion of the func- tion. 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 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 informa- tion. 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 parame- ter) 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
Either disk or boot is NULL, or boot_len is not equal to BUFSIZ. FILES
Table of disk partition sizes for supported disks. RELATED INFORMATION
Commands: disklabel(8) Functions: getdiskbyname(3). Files: disklabel(4), disktab(4) delim off createlabel(3)

Check Out this Related Man Page

creatediskbyname(3x)													      creatediskbyname(3x)

       creatediskbyname - get the disk description associated with a file name

       #include <disktab.h>

       struct disktab *
       char *name;

       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();

       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.

       The subroutine returns information only for MSCP and SCSI disks.

See Also
       getdiskbyname(3x), ra(4), rz(4), disktab(5)


Featured Tech Videos