diff options
Diffstat (limited to 'static/freebsd/man4/disk.4 3.html')
| -rw-r--r-- | static/freebsd/man4/disk.4 3.html | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/static/freebsd/man4/disk.4 3.html b/static/freebsd/man4/disk.4 3.html new file mode 100644 index 00000000..3aa31a90 --- /dev/null +++ b/static/freebsd/man4/disk.4 3.html @@ -0,0 +1,177 @@ +<table class="head"> + <tr> + <td class="head-ltitle">disk(4)</td> + <td class="head-vol">Device Drivers Manual</td> + <td class="head-rtitle">disk(4)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp"><code class="Nm">disk</code> — <span class="Nd">common disk + interfaces</span></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> +<p class="Pp"><code class="Cd">device cd</code></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">Common block device IOCTLs</p> +<p class="Pp">All the block devices in the system should support these disk + <a class="Xr">ioctl(2)</a> commands defined here. Much of this information + is also available via the <a class="Xr">geom(2)</a> attributes.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="IOCTLS"><a class="permalink" href="#IOCTLS">IOCTLS</a></h1> +<p class="Pp">The following <a class="Xr">ioctl(2)</a> calls apply to disk + drives, and are defined in the + <code class="In"><<a class="In">sys/disk.h</a>></code> header + file.</p> +<dl class="Bl-tag"> + <dt id="DIOCGSECTORSIZE"><a class="permalink" href="#DIOCGSECTORSIZE"><code class="Dv">DIOCGSECTORSIZE</code></a></dt> + <dd>(<code class="Li">u_int</code>) Get the sector or block size of the device + in bytes. The sector size is the smallest unit of data which can be + transferred from this device. This is usually a power of 2 but it might + not be (e.g. CDROM audio). Operations to block devices such as + <a class="Xr">lseek(2)</a>, <a class="Xr">read(2)</a>, and + <a class="Xr">write(2)</a> may only be performed at file offsets that are + integral multiple of this size.</dd> + <dt id="DIOCGMEDIASIZE"><a class="permalink" href="#DIOCGMEDIASIZE"><code class="Dv">DIOCGMEDIASIZE</code></a></dt> + <dd>(<code class="Li">off_t</code>) Get the size of the entire device in + bytes. This should be a multiple of the sector size.</dd> + <dt id="DIOCGFWSECTORS"><a class="permalink" href="#DIOCGFWSECTORS"><code class="Dv">DIOCGFWSECTORS</code></a></dt> + <dd>(<code class="Li">u_int</code>) Return the firmware's notion of number of + sectors per track. This value is mostly used for compatibility with + various ill designed disk label formats. Use this value only when + absolutely required. Its interpretation and use is largely obsolete.</dd> + <dt id="DIOCGFWHEADS"><a class="permalink" href="#DIOCGFWHEADS"><code class="Dv">DIOCGFWHEADS</code></a></dt> + <dd>(<code class="Li">u_int</code>) Return the firmware's notion of number of + heads per cylinder. This value is mostly used for compatibility with + various ill designed disk label formats. Use this value only when + absolutely required. Its interpretation and use is largely obsolete.</dd> + <dt id="DIOCGFLUSH"><a class="permalink" href="#DIOCGFLUSH"><code class="Dv">DIOCGFLUSH</code></a></dt> + <dd>Flush write cache of the device.</dd> + <dt id="DIOCGDELETE"><a class="permalink" href="#DIOCGDELETE"><code class="Dv">DIOCGDELETE</code></a></dt> + <dd>(<code class="Li">off_t[2]</code>) Mark data on the device as unused. The + first element is the offset to start deleting. The second element is the + length to delete. Providers may use this information to free storage or + instruct storage devices the contents can be discarded.</dd> + <dt id="DIOCGIDENT"><a class="permalink" href="#DIOCGIDENT"><code class="Dv">DIOCGIDENT</code></a></dt> + <dd>(<code class="Li">char[DISK_IDENT_SIZE]</code>) Get the ident for this + provider. Ident is a unique and fixed identifier for this provider. + Ident's properties are as follow: + <ul class="Bl-bullet"> + <li>preserved between reboots,</li> + <li>preserved across a provider being detached/attached,</li> + <li>provider's name can change - ident can't,</li> + <li>ident value should not be based on on-disk metadata; in other words, + copying whole data from one disk to another should not yield the same + ident for the other disk,</li> + <li>there can be more than one provider with the same ident, but only if + they point at exactly the same physical storage, this is the case for + multipathing for example,</li> + <li>GEOM classes that consume a single provider and provide single + provider, like <a class="Xr">geli(8)</a>, the identifier should be + formed by attaching that provider's class name to the ident of the + underlying provider,</li> + <li>ident is an NUL-terminated ASCII string (is printable),</li> + <li>ident is optional and applications can't relay on its presence.</li> + </ul> + </dd> + <dt id="DIOCGPROVIDERNAME"><a class="permalink" href="#DIOCGPROVIDERNAME"><code class="Dv">DIOCGPROVIDERNAME</code></a></dt> + <dd>(<code class="Li">char[MAXPATHLEN]</code>) Store the provider name for the + device in a buffer. The buffer must be at least MAXPATHLEN bytes + long.</dd> + <dt id="DIOCGSTRIPESIZE"><a class="permalink" href="#DIOCGSTRIPESIZE"><code class="Dv">DIOCGSTRIPESIZE</code></a></dt> + <dd>(<code class="Li">off_t</code>) Get the size of the device's optimal + access block in bytes. This should be a multiple of the sector size.</dd> + <dt id="DIOCGSTRIPEOFFSET"><a class="permalink" href="#DIOCGSTRIPEOFFSET"><code class="Dv">DIOCGSTRIPEOFFSET</code></a></dt> + <dd>(<code class="Li">off_t</code>) Get the offset of the first device's + optimal access block in bytes. This should be a multiple of the sector + size.</dd> + <dt id="DIOCGPHYSPATH"><a class="permalink" href="#DIOCGPHYSPATH"><code class="Dv">DIOCGPHYSPATH</code></a></dt> + <dd>(<code class="Li">char[MAXPATHLEN]</code>) Get a string defining the + physical path for a given provider. This has similar rules to ident, but + is intended to uniquely identify the physical location of the device, not + the current occupant of that location. The buffer must be at least + MAXPATHLEN bytes long.</dd> + <dt id="DIOCGATTR"><a class="permalink" href="#DIOCGATTR"><code class="Dv">DIOCGATTR</code></a></dt> + <dd>(<code class="Li">struct diocgattr_arg</code>) + <div class="Bd Pp Bd-indent Li"> + <pre>struct diocgattr_arg { + char name[64]; + int len; + union { + char str[DISK_IDENT_SIZE]; + off_t off; + int i; + uint16_t u16; + } value; +};</pre> + </div> + Get a geom attribute from the provider. Format of the returned data is + specific to the attribute.</dd> + <dt id="DIOCZONECMD"><a class="permalink" href="#DIOCZONECMD"><code class="Dv">DIOCZONECMD</code></a></dt> + <dd>(<code class="Li">struct disk_zone_arg</code>) Send disk zone + commands.</dd> + <dt id="DIOCSKERNELDUMP"><a class="permalink" href="#DIOCSKERNELDUMP"><code class="Dv">DIOCSKERNELDUMP</code></a></dt> + <dd>(<code class="Li">struct diocskerneldump_arg</code>) Enable/Disable the + device for kernel core dumps.</dd> + <dt id="DIOCGKERNELDUMP"><a class="permalink" href="#DIOCGKERNELDUMP"><code class="Dv">DIOCGKERNELDUMP</code></a></dt> + <dd>(<code class="Li">struct diocskerneldump_arg</code>) Get current kernel + netdump configuration details for a given index. + <div class="Bd Pp Bd-indent Li"> + <pre>/* + * Sentinel values for kda_index. + * + * If kda_index is KDA_REMOVE_ALL, all dump configurations are cleared. + * + * If kda_index is KDA_REMOVE_DEV, all dump configurations for the specified + * device are cleared. + * + * If kda_index is KDA_REMOVE, only the specified dump configuration for the + * given device is removed from the list of fallback dump configurations. + * + * If kda_index is KDA_APPEND, the dump configuration is added after all + * existing dump configurations. + * + * Otherwise, the new configuration is inserted into the fallback dump list at + * index 'kda_index'. + */ +#define KDA_REMOVE UINT8_MAX +#define KDA_REMOVE_ALL (UINT8_MAX - 1) +#define KDA_REMOVE_DEV (UINT8_MAX - 2) +#define KDA_APPEND (UINT8_MAX - 3) +struct diocskerneldump_arg { + uint8_t kda_index; + uint8_t kda_compression; + uint8_t kda_encryption; + uint8_t kda_key[KERNELDUMP_KEY_MAX_SIZE]; + uint32_t kda_encryptedkeysize; + uint8_t *kda_encryptedkey; + char kda_iface[IFNAMSIZ]; + union kd_ip kda_server; + union kd_ip kda_client; + union kd_ip kda_gateway; + uint8_t kda_af; +};</pre> + </div> + </dd> +</dl> +</section> +<section class="Sh"> +<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> +<p class="Pp">The manual page was written by <span class="An">M Warner + Losh</span> + <<a class="Mt" href="mailto:imp@FreeBSD.org">imp@FreeBSD.org</a>> from + text largely derived from + <code class="In"><<a class="In">sys/disk.h</a>></code>.</p> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">November 20, 2020</td> + <td class="foot-os">FreeBSD 15.0</td> + </tr> +</table> |
