Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

dkio(4) [ultrix man page]

dkio(4) 						     Kernel Interfaces Manual							   dkio(4)

Name
       dkio - disk interface

Syntax
       #include <sys/fs.h>
       #include <sys/ioctl.h>

Description
       This  section  describes  the ioctl (input/output controller) codes for all disk drivers.  The basic ioctl (input/output controller) format
       is:

       #include <sys/fs.h>
       #include <sys/ioctl.h>
       ioctl(fildes, code, arg)
       struct pt *arg;

       The applicable codes are:

       DIOCGETPT       Indicates to the driver to store the information in the current partition table in the address pointed to by arg.  The file
		       descriptor must be opened on the raw partitions, a or c.

		       DIOCGETPT does not change the partition table, but it does provide access to the partition table information.

       DIOCSETPT       Indicates to the driver to modify the current partition table with the information pointed to by arg.

		       The file descriptor must be opened on the raw partitions, a or c.

		       If  the a or c partition is not mounted, only the partition table in the driver is modified.  This temporarily modifies the
		       partition table of the disk.  The modifications are overwritten with the default table when the disk is turned off and on.

		       If the a or c partition is mounted, both the partition table  in  the  driver  and  the	partition  table  in  the  primary
		       superblock are modified.  This permanently modifies the partition table of the disk.  This is not recommended.  To change a
		       partition table permanently, use the command.

       DIOCDGTPT       Indicates to the driver to store the default information of the current partition table in the address pointed to  by  arg.
		       The file descriptor must be opened on the raw partitions a or c.

		       DIOCGETPT does not change the partition table, but it does provide access to the partition table information.

       DKIOCGET        Allows the user to receive generic disk information as defined in structdevget.

       DKIOCACC        This code is defined in It is currently unused.

Restrictions
       These restrictions apply when using the DIOCSETPT ioctl code:

       o   You must have superuser privileges.

       o   You	cannot	shrink	or change the offset of a partition with a file system mounted on it or with an open file descriptor on the entire
	   partition.

       o   You cannot change the offset of the a partition.

Examples
       This example shows how to use the DIOGETPT ioctl code to print the length and offset of the a partition of an RZ23 disk:
       #include <sys/types.h>
       #include <sys/param.h>
       #include <sys/fs.h>
       #include <sys/ioctl.h>

       main()
       {
	    struct pt arg;
	    int fd, i;

	    /* Open the "a" partition of the disk you want to see */

	    if ( (fd = open("/dev/rz0a",0)) < 0 ) {
		 printf("Unable to open device
");
		 exit(2);
	    }

	    /* Get the partition information */

	    if ( ioctl(fd,DIOCGETPT,&arg) < 0 )
		 printf("Error in ioctl
");

	    printf("Length		Offset
");

	    for ( i = 0; i <= 7; i++ ) {
		 printf("%d		%d
",arg.pt_part[i].pi_nblocks,
			     arg.pt_part[i].pi_blkoff );
	    }
       }

Files
See Also
       rz(4), disktab(5), fstab(5), chpt(8), diskpart(8), fsck(8), MAKEDEV(8), mkfs(8), tunefs(8)

								       RISC								   dkio(4)

Check Out this Related Man Page

DISKPART(8)						    BSD System Manager's Manual 					       DISKPART(8)

NAME
diskpart -- calculate default disk partition sizes SYNOPSIS
diskpart [-d] [-p] [-s size] disk-type DESCRIPTION
diskpart is used to calculate the disk partition sizes based on the default rules used at Berkeley. Available options and operands: -d An entry suitable for inclusion in the disk description file /etc/disktab is generated; for example, disktab(5). -p Tables suitable for inclusion in a device driver are produced. -s size The size of the disk may be limited to size with the -s option. On disks that use bad144(8) type of bad-sector forwarding, space is normally left in the last partition on the disk for a bad sector forward- ing table, although this space is not reflected in the tables produced. The space reserved is one track for the replicated copies of the ta- ble and sufficient tracks to hold a pool of 126 sectors to which bad sectors are mapped. For more information, see bad144(8). The -s option is intended for other controllers which reserve some space at the end of the disk for bad-sector replacements or other control areas, even if not a multiple of cylinders. The disk partition sizes are based on the total amount of space on the disk as given in the table below (all values are supplied in units of sectors). The 'c' partition is, by convention, used to access the entire physical disk. The device driver tables include the space reserved for the bad sector forwarding table in the 'c' partition; those used in the disktab and default formats exclude reserved tracks. In normal operation, either the 'g' partition is used, or the 'd', 'e', and 'f' partitions are used. The 'g' and 'f' partitions are variable-sized, occupying whatever space remains after allocation of the fixed sized partitions. If the disk is smaller than 20 Megabytes, then diskpart aborts with the message ``disk too small, calculate by hand''. Partition 20-60 MB 61-205 MB 206-355 MB 356+ MB a 15884 15884 15884 15884 b 10032 33440 33440 66880 d 15884 15884 15884 15884 e unused 55936 55936 307200 h unused unused 291346 291346 If an unknown disk type is specified, diskpart will prompt for the required disk geometry information. SEE ALSO
disktab(5), bad144(8) HISTORY
The diskpart command appeared in 4.2BSD. BUGS
Most default partition sizes are based on historical artifacts (like the RP06), and may result in unsatisfactory layouts. When using the -d flag, alternative disk names are not included in the output. BSD
June 6, 1993 BSD
Man Page