1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2015-02-04 23:33+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
19 #. Copyright (C) 2011, Hewlett-Packard Development Company, L.P.
20 #. Written by Stephen M. Cameron <scameron@beardog.cce.hp.com>
22 #. %%%LICENSE_START(GPLv2_ONELINE)
23 #. Licensed under GNU General Public License version 2 (GPLv2)
26 #. shorthand for double quote that works everywhere.
28 #: build/C/man4/cciss.4:9 build/C/man4/hpsa.4:9
34 #: build/C/man4/cciss.4:10
40 #: build/C/man4/cciss.4:10 build/C/man4/console_codes.4:23 build/C/man4/dsp56k.4:27 build/C/man4/hpsa.4:10 build/C/man4/sk98lin.4:27
46 #: build/C/man4/cciss.4:10 build/C/man4/console.4:12 build/C/man4/console_codes.4:23 build/C/man4/console_ioctl.4:40 build/C/man5/core.5:25 build/C/man4/cpuid.4:26 build/C/man4/dsp56k.4:27 build/C/man4/fd.4:28 build/C/man7/fifo.7:13 build/C/man4/full.4:26 build/C/man3/gnu_get_libc_version.3:26 build/C/man4/hd.4:29 build/C/man4/hpsa.4:10 build/C/man4/initrd.4:35 build/C/man4/lp.4:27 build/C/man3/makedev.3:26 build/C/man4/mem.4:26 build/C/man2/mknod.2:15 build/C/man4/mouse.4:26 build/C/man4/msr.4:26 build/C/man4/null.4:26 build/C/man7/pipe.7:25 build/C/man4/ram.4:26 build/C/man4/random.4:19 build/C/man4/sd.4:26 build/C/man4/sk98lin.4:27 build/C/man4/st.4:25 build/C/man2/syslog.2:33 build/C/man3/syslog.3:36 build/C/man4/ttyS.4:26 build/C/man7/uri.7:48 build/C/man4/vcs.4:29 build/C/man4/wavelan.4:15
52 #: build/C/man4/cciss.4:10 build/C/man4/console.4:12 build/C/man4/console_codes.4:23 build/C/man4/console_ioctl.4:40 build/C/man5/core.5:25 build/C/man4/cpuid.4:26 build/C/man4/dsp56k.4:27 build/C/man4/fd.4:28 build/C/man7/fifo.7:13 build/C/man4/full.4:26 build/C/man3/gnu_get_libc_version.3:26 build/C/man4/hd.4:29 build/C/man4/hpsa.4:10 build/C/man4/initrd.4:35 build/C/man4/lp.4:27 build/C/man3/makedev.3:26 build/C/man4/mem.4:26 build/C/man3/mkfifo.3:28 build/C/man2/mknod.2:15 build/C/man4/mouse.4:26 build/C/man4/msr.4:26 build/C/man4/null.4:26 build/C/man7/pipe.7:25 build/C/man4/ram.4:26 build/C/man4/random.4:19 build/C/man4/sd.4:26 build/C/man3/setlogmask.3:25 build/C/man4/sk98lin.4:27 build/C/man4/st.4:25 build/C/man3/stdarg.3:43 build/C/man2/syslog.2:33 build/C/man3/syslog.3:36 build/C/man4/ttyS.4:26 build/C/man7/uri.7:48 build/C/man4/vcs.4:29 build/C/man4/wavelan.4:15
54 msgid "Linux Programmer's Manual"
58 #: build/C/man4/cciss.4:11 build/C/man4/console.4:13 build/C/man4/console_codes.4:24 build/C/man4/console_ioctl.4:41 build/C/man5/core.5:26 build/C/man4/cpuid.4:27 build/C/man4/dsp56k.4:28 build/C/man4/fd.4:29 build/C/man7/fifo.7:14 build/C/man4/full.4:27 build/C/man3/gnu_get_libc_version.3:27 build/C/man4/hd.4:30 build/C/man4/hpsa.4:11 build/C/man4/initrd.4:36 build/C/man4/lp.4:28 build/C/man3/makedev.3:27 build/C/man4/mem.4:27 build/C/man3/mkfifo.3:29 build/C/man2/mknod.2:16 build/C/man4/mouse.4:27 build/C/man4/msr.4:27 build/C/man4/null.4:27 build/C/man7/pipe.7:26 build/C/man4/ram.4:27 build/C/man4/random.4:20 build/C/man4/sd.4:27 build/C/man3/setlogmask.3:26 build/C/man4/sk98lin.4:28 build/C/man4/st.4:26 build/C/man3/stdarg.3:44 build/C/man2/syslog.2:34 build/C/man3/syslog.3:37 build/C/man4/ttyS.4:27 build/C/man7/uri.7:49 build/C/man4/vcs.4:30 build/C/man4/wavelan.4:16
64 #: build/C/man4/cciss.4:13
65 msgid "cciss - HP Smart Array block driver"
69 #: build/C/man4/cciss.4:13 build/C/man4/dsp56k.4:30 build/C/man3/gnu_get_libc_version.3:29 build/C/man4/hpsa.4:13 build/C/man4/lp.4:30 build/C/man3/makedev.3:29 build/C/man3/mkfifo.3:31 build/C/man2/mknod.2:18 build/C/man4/random.4:22 build/C/man4/sd.4:29 build/C/man3/setlogmask.3:28 build/C/man4/sk98lin.4:30 build/C/man4/st.4:28 build/C/man3/stdarg.3:46 build/C/man2/syslog.2:37 build/C/man3/syslog.3:39 build/C/man7/uri.7:51 build/C/man4/wavelan.4:18
75 #: build/C/man4/cciss.4:16
77 msgid "modprobe cciss [ cciss_allow_hpsa=1 ]\n"
81 #: build/C/man4/cciss.4:17 build/C/man4/console.4:15 build/C/man4/console_codes.4:26 build/C/man4/console_ioctl.4:43 build/C/man5/core.5:28 build/C/man4/cpuid.4:29 build/C/man4/dsp56k.4:46 build/C/man4/fd.4:132 build/C/man7/fifo.7:16 build/C/man4/full.4:39 build/C/man3/gnu_get_libc_version.3:36 build/C/man4/hd.4:32 build/C/man4/hpsa.4:17 build/C/man4/initrd.4:71 build/C/man4/lp.4:43 build/C/man3/makedev.3:39 build/C/man4/mem.4:29 build/C/man3/mkfifo.3:62 build/C/man2/mknod.2:46 build/C/man4/mouse.4:33 build/C/man4/msr.4:29 build/C/man4/null.4:29 build/C/man7/pipe.7:28 build/C/man4/ram.4:29 build/C/man4/random.4:26 build/C/man4/sd.4:71 build/C/man3/setlogmask.3:34 build/C/man4/sk98lin.4:62 build/C/man4/st.4:37 build/C/man3/stdarg.3:56 build/C/man2/syslog.2:48 build/C/man3/syslog.3:59 build/C/man4/ttyS.4:29 build/C/man7/uri.7:71 build/C/man4/vcs.4:32 build/C/man4/wavelan.4:20
87 #: build/C/man4/cciss.4:20
88 msgid "B<cciss> is a block driver for older HP Smart Array RAID controllers."
92 #: build/C/man4/cciss.4:20 build/C/man4/hpsa.4:20 build/C/man4/initrd.4:180
98 #: build/C/man4/cciss.4:29
100 "I<cciss_allow_hpsa=1>: This option prevents the B<cciss> driver from "
101 "attempting to drive any controllers that the B<hpsa>(4) driver is capable "
102 "of controlling, which is to say, the B<cciss> driver is restricted by this "
103 "option to the following controllers:"
107 #: build/C/man4/cciss.4:48
110 " Smart Array 5300\n"
113 " Smart Array 5312\n"
116 " Smart Array 6400\n"
117 " Smart Array 6400 EM\n"
119 " Smart Array P600\n"
120 " Smart Array P400i\n"
121 " Smart Array E200i\n"
122 " Smart Array E200\n"
123 " Smart Array E200i\n"
124 " Smart Array E200i\n"
125 " Smart Array E200i\n"
126 " Smart Array E500\n"
130 #: build/C/man4/cciss.4:49 build/C/man4/hpsa.4:39
132 msgid "Supported hardware"
136 #: build/C/man4/cciss.4:53
137 msgid "The B<cciss> driver supports the following Smart Array boards:"
141 #: build/C/man4/cciss.4:79
144 " Smart Array 5300\n"
147 " Smart Array 5312\n"
150 " Smart Array 6400\n"
151 " Smart Array 6400 U320 Expansion Module\n"
153 " Smart Array P600\n"
154 " Smart Array P800\n"
155 " Smart Array E400\n"
156 " Smart Array P400i\n"
157 " Smart Array E200\n"
158 " Smart Array E200i\n"
159 " Smart Array E500\n"
160 " Smart Array P700m\n"
161 " Smart Array P212\n"
162 " Smart Array P410\n"
163 " Smart Array P410i\n"
164 " Smart Array P411\n"
165 " Smart Array P812\n"
166 " Smart Array P712m\n"
167 " Smart Array P711m\n"
171 #: build/C/man4/cciss.4:80 build/C/man4/hpsa.4:55
173 msgid "Configuration details"
177 #: build/C/man4/cciss.4:89 build/C/man4/hpsa.4:63
179 "To configure HP Smart Array controllers, use the HP Array Configuration "
180 "Utility (either B<hpacuxe>(8) or B<hpacucli>(8)) or the Offline ROM-based "
181 "Configuration Utility (ORCA) run from the Smart Array's option ROM at boot "
186 #: build/C/man4/cciss.4:89 build/C/man4/console.4:91 build/C/man4/dsp56k.4:110 build/C/man4/fd.4:195 build/C/man4/full.4:59 build/C/man4/hd.4:103 build/C/man4/hpsa.4:63 build/C/man4/initrd.4:418 build/C/man4/lp.4:126 build/C/man4/mem.4:88 build/C/man4/mouse.4:180 build/C/man4/null.4:57 build/C/man4/ram.4:41 build/C/man4/random.4:301 build/C/man4/sd.4:131 build/C/man4/sk98lin.4:574 build/C/man4/st.4:879 build/C/man4/ttyS.4:46 build/C/man4/vcs.4:93
192 #: build/C/man4/cciss.4:90 build/C/man4/hpsa.4:64
198 #: build/C/man4/cciss.4:92
199 msgid "The device naming scheme is as follows:"
203 #: build/C/man4/cciss.4:95
205 msgid "Major numbers:\n"
209 #: build/C/man4/cciss.4:104
223 #: build/C/man4/cciss.4:106
225 msgid "Minor numbers:\n"
229 #: build/C/man4/cciss.4:113
232 " b7 b6 b5 b4 b3 b2 b1 b0\n"
233 " |----+----| |----+----|\n"
235 " | +-------- Partition ID (0=wholedev, 1-15 partition)\n"
237 " +-------------------- Logical Volume number\n"
241 #: build/C/man4/cciss.4:115
243 msgid "The device naming scheme is:\n"
247 #: build/C/man4/cciss.4:120
250 " /dev/cciss/c0d0 Controller 0, disk 0, whole device\n"
251 " /dev/cciss/c0d0p1 Controller 0, disk 0, partition 1\n"
252 " /dev/cciss/c0d0p2 Controller 0, disk 0, partition 2\n"
253 " /dev/cciss/c0d0p3 Controller 0, disk 0, partition 3\n"
257 #: build/C/man4/cciss.4:125
260 " /dev/cciss/c1d1 Controller 1, disk 1, whole device\n"
261 " /dev/cciss/c1d1p1 Controller 1, disk 1, partition 1\n"
262 " /dev/cciss/c1d1p2 Controller 1, disk 1, partition 2\n"
263 " /dev/cciss/c1d1p3 Controller 1, disk 1, partition 3\n"
267 #: build/C/man4/cciss.4:126
269 msgid "Files in /proc"
273 #: build/C/man4/cciss.4:132
275 "The files I</proc/driver/cciss/cciss[0-9]+> contain information about the "
276 "configuration of each controller. For example:"
280 #: build/C/man4/cciss.4:152
283 " $ B<cd /proc/driver/cciss>\n"
286 " -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss0\n"
287 " -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss1\n"
288 " -rw-r--r-- 1 root root 0 2010-09-10 10:38 cciss2\n"
290 " cciss2: HP Smart Array P800 Controller\n"
291 " Board ID: 0x3223103c\n"
292 " Firmware Version: 7.14\n"
294 " Logical drives: 1\n"
295 " Current Q depth: 0\n"
296 " Current # commands on controller: 0\n"
297 " Max Q depth since init: 1\n"
298 " Max # commands on controller since init: 2\n"
299 " Max SG entries since init: 32\n"
300 " Sequential access devices: 0\n"
304 #: build/C/man4/cciss.4:154
306 msgid " cciss/c2d0: 36.38GB RAID 0\n"
310 #: build/C/man4/cciss.4:155
312 msgid "Files in /sys"
316 #: build/C/man4/cciss.4:156
318 msgid "I</sys/bus/pci/devices/E<lt>devE<gt>/ccissX/cXdY/model>"
322 #: build/C/man4/cciss.4:162
324 "Displays the SCSI INQUIRY page 0 model for logical drive I<Y> of controller "
329 #: build/C/man4/cciss.4:162
331 msgid "I</sys/bus/pci/devices/E<lt>devE<gt>/ccissX/cXdY/rev>"
335 #: build/C/man4/cciss.4:168
337 "Displays the SCSI INQUIRY page 0 revision for logical drive I<Y> of "
342 #: build/C/man4/cciss.4:168
344 msgid "I</sys/bus/pci/devices/E<lt>devE<gt>/ccissX/cXdY/unique_id>"
348 #: build/C/man4/cciss.4:174
350 "Displays the SCSI INQUIRY page 83 serial number for logical drive I<Y> of "
355 #: build/C/man4/cciss.4:174
357 msgid "I</sys/bus/pci/devices/E<lt>devE<gt>/ccissX/cXdY/vendor>"
361 #: build/C/man4/cciss.4:180
363 "Displays the SCSI INQUIRY page 0 vendor for logical drive I<Y> of controller "
368 #: build/C/man4/cciss.4:180
370 msgid "I</sys/bus/pci/devices/E<lt>devE<gt>/ccissX/cXdY/block:cciss!cXdY>"
374 #: build/C/man4/cciss.4:184
375 msgid "A symbolic link to I</sys/block/cciss!cXdY>."
379 #: build/C/man4/cciss.4:184
381 msgid "I</sys/bus/pci/devices/E<lt>devE<gt>/ccissX/rescan>"
385 #: build/C/man4/cciss.4:188
387 "When this file is written to, the driver rescans the controller to discover "
388 "any new, removed, or modified logical drives."
392 #: build/C/man4/cciss.4:188
394 msgid "I</sys/bus/pci/devices/E<lt>devE<gt>/ccissX/resettable>"
398 #: build/C/man4/cciss.4:197
400 "A value of 1 displayed in this file indicates that the \"reset_devices=1\" "
401 "kernel parameter (used by B<kdump>) is honored by this controller. A value "
402 "of 0 indicates that the \"reset_devices=1\" kernel parameter will not be "
403 "honored. Some models of Smart Array are not able to honor this parameter."
407 #: build/C/man4/cciss.4:197
409 msgid "I</sys/bus/pci/devices/E<lt>devE<gt>/ccissX/cXdY/lunid>"
413 #: build/C/man4/cciss.4:203
415 "Displays the 8-byte LUN ID used to address logical drive I<Y> of controller "
420 #: build/C/man4/cciss.4:203
422 msgid "I</sys/bus/pci/devices/E<lt>devE<gt>/ccissX/cXdY/raid_level>"
426 #: build/C/man4/cciss.4:209
427 msgid "Displays the RAID level of logical drive I<Y> of controller I<X>."
431 #: build/C/man4/cciss.4:209
433 msgid "I</sys/bus/pci/devices/E<lt>devE<gt>/ccissX/cXdY/usage_count>"
437 #: build/C/man4/cciss.4:215
439 "Displays the usage count (number of opens) of logical drive I<Y> of "
444 #: build/C/man4/cciss.4:215
446 msgid "SCSI tape drive and medium changer support"
450 #: build/C/man4/cciss.4:226
452 "SCSI sequential access devices and medium changer devices are supported and "
453 "appropriate device nodes are automatically created (e.g., I</dev/st0>, "
454 "I</dev/st1>, etc.; see B<st>(4) for more details.) You must enable \"SCSI "
455 "tape drive support for Smart Array 5xxx\" and \"SCSI support\" in your "
456 "kernel configuration to be able to use SCSI tape drives with your Smart "
457 "Array 5xxx controller."
461 #: build/C/man4/cciss.4:244
463 "Additionally, note that the driver will not engage the SCSI core at init "
464 "time. The driver must be directed to dynamically engage the SCSI core via "
465 "the I</proc> filesystem entry, which the \"block\" side of the driver "
466 "creates as I</proc/driver/cciss/cciss*> at run time. This is because at "
467 "driver init time, the SCSI core may not yet be initialized (because the "
468 "driver is a block driver) and attempting to register it with the SCSI core "
469 "in such a case would cause a hang. This is best done via an initialization "
470 "script (typically in I</etc/init.d>, but could vary depending on "
471 "distribution). For example:"
475 #: build/C/man4/cciss.4:250
478 " for x in /proc/driver/cciss/cciss[0-9]*\n"
480 " echo \"engage scsi\" E<gt> $x\n"
485 #: build/C/man4/cciss.4:254
487 "Once the SCSI core is engaged by the driver, it cannot be disengaged (except "
488 "by unloading the driver, if it happens to be linked as a module.)"
492 #: build/C/man4/cciss.4:258
494 "Note also that if no sequential access devices or medium changers are "
495 "detected, the SCSI core will not be engaged by the action of the above "
500 #: build/C/man4/cciss.4:258
502 msgid "Hot plug support for SCSI tape drives"
506 #: build/C/man4/cciss.4:268
508 "Hot plugging of SCSI tape drives is supported, with some caveats. The "
509 "B<cciss> driver must be informed that changes to the SCSI bus have been "
510 "made. This may be done via the I</proc> filesystem. For example:"
514 #: build/C/man4/cciss.4:270
516 msgid " echo \"rescan\" E<gt> /proc/scsi/cciss0/1\n"
520 #: build/C/man4/cciss.4:272
521 msgid "This causes the driver to:"
525 #: build/C/man4/cciss.4:273 build/C/man4/initrd.4:97 build/C/man4/initrd.4:323 build/C/man4/initrd.4:430 build/C/man4/st.4:892 build/C/man7/uri.7:532
531 #: build/C/man4/cciss.4:276
533 "query the adapter about changes to the physical SCSI buses and/or fibre "
534 "channel arbitrated loop, and"
538 #: build/C/man4/cciss.4:276 build/C/man4/initrd.4:101 build/C/man4/initrd.4:331 build/C/man4/initrd.4:441 build/C/man4/st.4:912 build/C/man7/uri.7:536
544 #: build/C/man4/cciss.4:279
546 "make note of any new or removed sequential access devices or medium "
551 #: build/C/man4/cciss.4:286
553 "The driver will output messages indicating which devices have been added or "
554 "removed and the controller, bus, target, and lun used to address each "
555 "device. The driver then notifies the SCSI midlayer of these changes."
559 #: build/C/man4/cciss.4:293
561 "Note that the naming convention of the I</proc> filesystem entries contains "
562 "a number in addition to the driver name (e.g., \"cciss0\" instead of just "
563 "\"cciss\", which you might expect)."
567 #: build/C/man4/cciss.4:311
569 "Note: I<Only> sequential access devices and medium changers are presented as "
570 "SCSI devices to the SCSI midlayer by the B<cciss> driver. Specifically, "
571 "physical SCSI disk drives are I<not> presented to the SCSI midlayer. The "
572 "only disk devices that are presented to the kernel are logical drives that "
573 "the array controller constructs from regions on the physical drives. The "
574 "logical drives are presented to the block layer (not to the SCSI midlayer). "
575 "It is important for the driver to prevent the kernel from accessing the "
576 "physical drives directly, since these drives are used by the array "
577 "controller to construct the logical drives."
581 #: build/C/man4/cciss.4:311
583 msgid "SCSI error handling for tape drives and medium changers"
587 #: build/C/man4/cciss.4:319
589 "The Linux SCSI midlayer provides an error-handling protocol that is "
590 "initiated whenever a SCSI command fails to complete within a certain amount "
591 "of time (which can vary depending on the command). The B<cciss> driver "
592 "participates in this protocol to some extent. The normal protocol is a "
597 #: build/C/man4/cciss.4:319 build/C/man4/cciss.4:321 build/C/man4/cciss.4:323 build/C/man4/cciss.4:325 build/C/man5/core.5:49 build/C/man5/core.5:66 build/C/man5/core.5:70 build/C/man5/core.5:74 build/C/man5/core.5:77 build/C/man5/core.5:90 build/C/man5/core.5:93 build/C/man5/core.5:106 build/C/man5/core.5:223 build/C/man5/core.5:227 build/C/man5/core.5:230 build/C/man5/core.5:234
603 #: build/C/man4/cciss.4:321
604 msgid "First, the device is told to abort the command."
608 #: build/C/man4/cciss.4:323
609 msgid "If that doesn't work, the device is reset."
613 #: build/C/man4/cciss.4:325
614 msgid "If that doesn't work, the SCSI bus is reset."
618 #: build/C/man4/cciss.4:327
619 msgid "If that doesn't work, the host bus adapter is reset."
623 #: build/C/man4/cciss.4:345
625 "The B<cciss> driver is a block driver as well as a SCSI driver and only the "
626 "tape drives and medium changers are presented to the SCSI midlayer. "
627 "Furthermore, unlike more straightforward SCSI drivers, disk I/O continues "
628 "through the block side during the SCSI error-recovery process. Therefore, "
629 "the B<cciss> driver implements only the first two of these actions, aborting "
630 "the command, and resetting the device. Note also that most tape drives will "
631 "not oblige in aborting commands, and sometimes it appears they will not even "
632 "obey a reset command, though in most circumstances they will. If the "
633 "command cannot be aborted and the device cannot be reset, the device will be "
638 #: build/C/man4/cciss.4:353
640 "In the event that the error-handling code is triggered and a tape drive is "
641 "successfully reset or the tardy command is successfully aborted, the tape "
642 "drive may still not allow I/O to continue until some command is issued that "
643 "positions the tape to a known position. Typically you must rewind the tape "
644 "(by issuing I<mt -f /dev/st0 rewind> for example) before I/O can proceed "
645 "again to a tape drive that was reset."
649 #: build/C/man4/cciss.4:353 build/C/man4/console.4:95 build/C/man4/console_codes.4:642 build/C/man4/console_ioctl.4:846 build/C/man5/core.5:429 build/C/man4/cpuid.4:89 build/C/man4/dsp56k.4:115 build/C/man4/fd.4:214 build/C/man7/fifo.7:65 build/C/man4/full.4:61 build/C/man3/gnu_get_libc_version.3:76 build/C/man4/hd.4:105 build/C/man4/hpsa.4:179 build/C/man4/initrd.4:474 build/C/man4/lp.4:135 build/C/man3/makedev.3:80 build/C/man4/mem.4:94 build/C/man3/mkfifo.3:197 build/C/man2/mknod.2:284 build/C/man4/mouse.4:184 build/C/man4/msr.4:55 build/C/man4/null.4:64 build/C/man7/pipe.7:243 build/C/man4/ram.4:43 build/C/man4/random.4:308 build/C/man3/setlogmask.3:78 build/C/man4/sk98lin.4:598 build/C/man4/st.4:954 build/C/man2/syslog.2:388 build/C/man3/syslog.3:315 build/C/man4/ttyS.4:48 build/C/man7/uri.7:706 build/C/man4/vcs.4:173 build/C/man4/wavelan.4:138
655 #: build/C/man4/cciss.4:358
656 msgid "B<cciss_vol_status>(8), B<hpsa>(4), B<hpacucli>(8), B<hpacuxe>(8),"
660 #. Don Brace, Steve Cameron, Chase Maupin, Mike Miller, Michael Ni,
661 #. Charles White, Francis Wiran
662 #. and probably some other people.
664 #: build/C/man4/cciss.4:370
666 "E<.UR http://cciss.sf.net> E<.UE ,> and I<Documentation/blockdev/cciss.txt> "
667 "and I<Documentation/ABI/testing/sysfs-bus-pci-devices-cciss> in the Linux "
672 #: build/C/man4/cciss.4:370 build/C/man4/console.4:112 build/C/man4/console_codes.4:646 build/C/man4/console_ioctl.4:873 build/C/man5/core.5:440 build/C/man4/cpuid.4:96 build/C/man4/dsp56k.4:121 build/C/man4/fd.4:222 build/C/man7/fifo.7:74 build/C/man4/full.4:65 build/C/man3/gnu_get_libc_version.3:78 build/C/man4/hd.4:110 build/C/man4/hpsa.4:197 build/C/man4/initrd.4:484 build/C/man4/lp.4:141 build/C/man3/makedev.3:83 build/C/man4/mem.4:98 build/C/man3/mkfifo.3:206 build/C/man2/mknod.2:297 build/C/man4/mouse.4:187 build/C/man4/msr.4:59 build/C/man4/null.4:68 build/C/man7/pipe.7:255 build/C/man4/ram.4:47 build/C/man4/random.4:313 build/C/man4/sd.4:137 build/C/man3/setlogmask.3:82 build/C/man4/sk98lin.4:602 build/C/man4/st.4:964 build/C/man3/stdarg.3:338 build/C/man2/syslog.2:391 build/C/man3/syslog.3:320 build/C/man4/ttyS.4:55 build/C/man7/uri.7:715 build/C/man4/vcs.4:178 build/C/man4/wavelan.4:145
678 #: build/C/man4/cciss.4:378 build/C/man4/console.4:120 build/C/man4/console_codes.4:654 build/C/man4/console_ioctl.4:881 build/C/man5/core.5:448 build/C/man4/cpuid.4:104 build/C/man4/dsp56k.4:129 build/C/man4/fd.4:230 build/C/man7/fifo.7:82 build/C/man4/full.4:73 build/C/man3/gnu_get_libc_version.3:86 build/C/man4/hd.4:118 build/C/man4/hpsa.4:205 build/C/man4/initrd.4:492 build/C/man4/lp.4:149 build/C/man3/makedev.3:91 build/C/man4/mem.4:106 build/C/man3/mkfifo.3:214 build/C/man2/mknod.2:305 build/C/man4/mouse.4:195 build/C/man4/msr.4:67 build/C/man4/null.4:76 build/C/man7/pipe.7:263 build/C/man4/ram.4:55 build/C/man4/random.4:321 build/C/man4/sd.4:145 build/C/man3/setlogmask.3:90 build/C/man4/sk98lin.4:610 build/C/man4/st.4:972 build/C/man3/stdarg.3:346 build/C/man2/syslog.2:399 build/C/man3/syslog.3:328 build/C/man4/ttyS.4:63 build/C/man7/uri.7:723 build/C/man4/vcs.4:186 build/C/man4/wavelan.4:153
680 "This page is part of release 3.79 of the Linux I<man-pages> project. A "
681 "description of the project, information about reporting bugs, and the latest "
682 "version of this page, can be found at "
683 "\\%http://www.kernel.org/doc/man-pages/."
687 #: build/C/man4/console.4:12
693 #: build/C/man4/console.4:12
699 #: build/C/man4/console.4:15
700 msgid "console - console terminal and virtual consoles"
704 #: build/C/man4/console.4:37
706 "A Linux system has up to 63 I<virtual consoles> (character devices with "
707 "major number 4 and minor number 1 to 63), usually called I</dev/ttyn> with 1 "
708 "\\(E<lt>= I<n> \\(E<lt>= 63. The current console is also addressed by "
709 "I</dev/console> or I</dev/tty0>, the character device with major number 4 "
710 "and minor number 0. The device files I</dev/*> are usually created using "
711 "the script MAKEDEV, or using B<mknod>(1), usually with mode 0622 and owner "
716 #: build/C/man4/console.4:45
718 "Before kernel version 1.1.54 the number of virtual consoles was compiled "
719 "into the kernel (in I<tty.h>: #define NR_CONSOLES 8) and could be changed "
720 "by editing and recompiling. Since version 1.1.54 virtual consoles are "
721 "created on the fly, as soon as they are needed."
725 #: build/C/man4/console.4:63
727 "Common ways to start a process on a console are: (a) tell B<init>(1) (in "
728 "B<inittab>(5)) to start a B<mingetty>(8) (or B<agetty>(8)) on the "
729 "console; (b) ask B<openvt>(1) to start a process on the console; (c) start "
730 "X\\(emit will find the first unused console, and display its output there. "
731 "(There is also the ancient B<doshell>(8).)"
735 #: build/C/man4/console.4:76
737 "Common ways to switch consoles are: (a) use Alt+FI<n> or Ctrl+Alt+FI<n> to "
738 "switch to console I<n>; AltGr+FI<n> might bring you to console I<n>+12 [here "
739 "Alt and AltGr refer to the left and right Alt keys, respectively]; (b) use "
740 "Alt+RightArrow or Alt+LeftArrow to cycle through the presently allocated "
741 "consoles; (c) use the program B<chvt>(1). (The key mapping is user "
742 "settable, see B<loadkeys>(1); the above mentioned key combinations are "
743 "according to the default settings.)"
747 #: build/C/man4/console.4:83
749 "The command B<deallocvt>(1) (formerly B<disalloc>) will free the memory "
750 "taken by the screen buffers for consoles that no longer have any associated "
755 #: build/C/man4/console.4:83
761 #: build/C/man4/console.4:91
763 "Consoles carry a lot of state. I hope to document that some other time. "
764 "The most important fact is that the consoles simulate vt100 terminals. In "
765 "particular, a console is reset to the initial state by printing the two "
766 "characters ESC c. All escape sequences can be found in B<console_codes>(4)."
770 #: build/C/man4/console.4:93
771 msgid "I</dev/console>"
775 #: build/C/man4/console.4:95
780 #: build/C/man4/console.4:112
782 "B<chvt>(1), B<deallocvt>(1), B<init>(1), B<loadkeys>(1), B<mknod>(1), "
783 "B<openvt>(1), B<console_codes>(4), B<console_ioctl>(4), B<tty>(4), "
784 "B<ttyS>(4), B<charsets>(7), B<agetty>(8), B<mapscrn>(8), B<mingetty>(8), "
785 "B<resizecons>(8), B<setfont>(8)"
789 #: build/C/man4/console_codes.4:23
791 msgid "CONSOLE_CODES"
795 #: build/C/man4/console_codes.4:26
796 msgid "console_codes - Linux console escape and control sequences"
800 #: build/C/man4/console_codes.4:33
802 "The Linux console implements a large subset of the VT102 and ECMA-48/ISO "
803 "6429/ANSI X3.64 terminal controls, plus certain private-mode sequences for "
804 "changing the color palette, character-set mapping, and so on. In the "
805 "tabular descriptions below, the second column gives ECMA-48 or DEC mnemonics "
806 "(the latter if prefixed with DEC) for the given function. Sequences without "
807 "a mnemonic are neither ECMA-48 nor VT102."
811 #: build/C/man4/console_codes.4:38
813 "After all the normal output processing has been done, and a stream of "
814 "characters arrives at the console driver for actual printing, the first "
815 "thing that happens is a translation from the code used for processing to the "
816 "code used for printing."
820 #: build/C/man4/console_codes.4:44
822 "If the console is in UTF-8 mode, then the incoming bytes are first assembled "
823 "into 16-bit Unicode codes. Otherwise, each byte is transformed according to "
824 "the current mapping table (which translates it to a Unicode value). See the "
825 "B<Character Sets> section below for discussion."
829 #: build/C/man4/console_codes.4:50
831 "In the normal case, the Unicode value is converted to a font index, and this "
832 "is stored in video memory, so that the corresponding glyph (as found in "
833 "video ROM) appears on the screen. Note that the use of Unicode (and the "
834 "design of the PC hardware) allows us to use 512 different glyphs "
839 #: build/C/man4/console_codes.4:57
841 "If the current Unicode value is a control character, or we are currently "
842 "processing an escape sequence, the value will treated specially. Instead of "
843 "being turned into a font index and rendered as a glyph, it may trigger "
844 "cursor movement or other control functions. See the B<Linux Console "
845 "Controls> section below for discussion."
849 #: build/C/man4/console_codes.4:69
851 "It is generally not good practice to hard-wire terminal controls into "
852 "programs. Linux supports a B<terminfo>(5) database of terminal "
853 "capabilities. Rather than emitting console escape sequences by hand, you "
854 "will almost always want to use a terminfo-aware screen library or utility "
855 "such as B<ncurses>(3), B<tput>(1), or B<reset>(1)."
859 #: build/C/man4/console_codes.4:69
861 msgid "Linux console controls"
865 #: build/C/man4/console_codes.4:73
867 "This section describes all the control characters and escape sequences that "
868 "invoke special functions (i.e., anything other than writing a glyph at the "
869 "current cursor location) on the Linux console."
873 #: build/C/man4/console_codes.4:75
874 msgid "B<Control characters>"
878 #: build/C/man4/console_codes.4:86
880 "A character is a control character if (before transformation according to "
881 "the mapping table) it has one of the 14 codes 00 (NUL), 07 (BEL), 08 (BS), "
882 "09 (HT), 0a (LF), 0b (VT), 0c (FF), 0d (CR), 0e (SO), 0f (SI), 18 (CAN), 1a "
883 "(SUB), 1b (ESC), 7f (DEL). One can set a \"display control characters\" "
884 "mode (see below), and allow 07, 09, 0b, 18, 1a, 7f to be displayed as "
885 "glyphs. On the other hand, in UTF-8 mode all codes 00-1f are regarded as "
886 "control characters, regardless of any \"display control characters\" mode."
890 #: build/C/man4/console_codes.4:95
892 "If we have a control character, it is acted upon immediately and then "
893 "discarded (even in the middle of an escape sequence) and the escape "
894 "sequence continues with the next character. (However, ESC starts a new "
895 "escape sequence, possibly aborting a previous unfinished one, and CAN and "
896 "SUB abort any escape sequence.) The recognized control characters are BEL, "
897 "BS, HT, LF, VT, FF, CR, SO, SI, CAN, SUB, ESC, DEL, CSI. They do what one "
902 #: build/C/man4/console_codes.4:97
903 msgid "BEL (0x07, B<^G>) beeps;"
907 #: build/C/man4/console_codes.4:100
909 "BS (0x08, B<^H>) backspaces one column (but not past the beginning of the "
914 #: build/C/man4/console_codes.4:103
916 "HT (0x09, B<^I>) goes to the next tab stop or to the end of the line if "
917 "there is no earlier tab stop;"
921 #: build/C/man4/console_codes.4:107
923 "LF (0x0A, B<^J>), VT (0x0B, B<^K>) and FF (0x0C, B<^L>) all give a linefeed, "
924 "and if LF/NL (new-line mode) is set also a carriage return;"
928 #: build/C/man4/console_codes.4:109
929 msgid "CR (0x0D, B<^M>) gives a carriage return;"
933 #: build/C/man4/console_codes.4:111
934 msgid "SO (0x0E, B<^N>) activates the G1 character set;"
938 #: build/C/man4/console_codes.4:113
939 msgid "SI (0x0F, B<^O>) activates the G0 character set;"
943 #: build/C/man4/console_codes.4:115
944 msgid "CAN (0x18, B<^X>) and SUB (0x1A, B<^Z>) interrupt escape sequences;"
948 #: build/C/man4/console_codes.4:117
949 msgid "ESC (0x1B, B<^[>) starts an escape sequence;"
953 #: build/C/man4/console_codes.4:119
954 msgid "DEL (0x7F) is ignored;"
958 #: build/C/man4/console_codes.4:121
959 msgid "CSI (0x9B) is equivalent to ESC [."
963 #: build/C/man4/console_codes.4:123
964 msgid "B<ESC- but not CSI-sequences>"
968 #: build/C/man4/console_codes.4:125
970 msgid "ESC c\tRIS\tReset.\n"
974 #: build/C/man4/console_codes.4:126
976 msgid "ESC D\tIND\tLinefeed.\n"
980 #: build/C/man4/console_codes.4:127
982 msgid "ESC E\tNEL\tNewline.\n"
986 #: build/C/man4/console_codes.4:128
988 msgid "ESC H\tHTS\tSet tab stop at current column.\n"
992 #: build/C/man4/console_codes.4:129
994 msgid "ESC M\tRI\tReverse linefeed.\n"
998 #: build/C/man4/console_codes.4:130
1000 msgid "ESC Z\tDECID\tT{\n"
1004 #: build/C/man4/console_codes.4:131
1006 msgid "DEC private identification. The kernel\n"
1010 #: build/C/man4/console_codes.4:132
1012 msgid "returns the string ESC [ ? 6 c, claiming\n"
1016 #: build/C/man4/console_codes.4:133
1018 msgid "that it is a VT102.\n"
1022 #: build/C/man4/console_codes.4:134 build/C/man4/console_codes.4:138 build/C/man4/console_codes.4:163 build/C/man4/console_codes.4:243 build/C/man4/console_codes.4:249 build/C/man4/console_codes.4:253 build/C/man4/console_codes.4:260
1028 #: build/C/man4/console_codes.4:135
1030 msgid "ESC 7\tDECSC\tT{\n"
1034 #: build/C/man4/console_codes.4:136
1036 msgid "Save current state (cursor coordinates,\n"
1040 #: build/C/man4/console_codes.4:137
1042 msgid "attributes, character sets pointed at by G0, G1).\n"
1046 #: build/C/man4/console_codes.4:139
1048 msgid "ESC 8\tDECRC\tRestore state most recently saved by ESC 7.\n"
1052 #: build/C/man4/console_codes.4:140
1054 msgid "ESC [\tCSI\tControl sequence introducer\n"
1058 #: build/C/man4/console_codes.4:141
1060 msgid "ESC %\t\tStart sequence selecting character set\n"
1064 #: build/C/man4/console_codes.4:142
1066 msgid "ESC % @\t\t\\0\\0\\0Select default (ISO 646 / ISO 8859-1)\n"
1070 #: build/C/man4/console_codes.4:143
1072 msgid "ESC % G\t\t\\0\\0\\0Select UTF-8\n"
1076 #: build/C/man4/console_codes.4:144
1078 msgid "ESC % 8\t\t\\0\\0\\0Select UTF-8 (obsolete)\n"
1082 #: build/C/man4/console_codes.4:145
1084 msgid "ESC # 8\tDECALN\tDEC screen alignment test - fill screen with E's.\n"
1088 #: build/C/man4/console_codes.4:146
1090 msgid "ESC (\t\tStart sequence defining G0 character set\n"
1094 #: build/C/man4/console_codes.4:147
1096 msgid "ESC ( B\t\t\\0\\0\\0Select default (ISO 8859-1 mapping)\n"
1100 #: build/C/man4/console_codes.4:148
1102 msgid "ESC ( 0\t\t\\0\\0\\0Select VT100 graphics mapping\n"
1106 #: build/C/man4/console_codes.4:149
1108 msgid "ESC ( U\t\t\\0\\0\\0Select null mapping - straight to character ROM\n"
1112 #: build/C/man4/console_codes.4:150
1114 msgid "ESC ( K\t\t\\0\\0\\0Select user mapping - the map that is loaded by\n"
1118 #: build/C/man4/console_codes.4:151
1120 msgid "\t\t\\0\\0\\0the utility B<mapscrn>(8).\n"
1124 #: build/C/man4/console_codes.4:152
1126 msgid "ESC )\t\tStart sequence defining G1\n"
1130 #: build/C/man4/console_codes.4:153
1132 msgid "\t\t(followed by one of B, 0, U, K, as above).\n"
1136 #: build/C/man4/console_codes.4:154
1138 msgid "ESC E<gt>\tDECPNM\tSet numeric keypad mode\n"
1142 #: build/C/man4/console_codes.4:155
1144 msgid "ESC =\tDECPAM\tSet application keypad mode\n"
1148 #: build/C/man4/console_codes.4:156
1150 msgid "ESC ]\tOSC\tT{\n"
1154 #: build/C/man4/console_codes.4:157
1156 msgid "(Should be: Operating system command)\n"
1160 #: build/C/man4/console_codes.4:158
1162 msgid "ESC ] P I<nrrggbb>: set palette, with parameter\n"
1166 #: build/C/man4/console_codes.4:159
1168 msgid "given in 7 hexadecimal digits after the final P :-(.\n"
1172 #: build/C/man4/console_codes.4:160
1174 msgid "Here I<n> is the color (0-15), and I<rrggbb> indicates\n"
1178 #: build/C/man4/console_codes.4:161
1180 msgid "the red/green/blue values (0-255).\n"
1184 #: build/C/man4/console_codes.4:162
1186 msgid "ESC ] R: reset palette\n"
1190 #: build/C/man4/console_codes.4:167
1191 msgid "B<ECMA-48 CSI sequences>"
1195 #: build/C/man4/console_codes.4:173
1197 "CSI (or ESC [) is followed by a sequence of parameters, at most NPAR (16), "
1198 "that are decimal numbers separated by semicolons. An empty or absent "
1199 "parameter is taken to be 0. The sequence of parameters may be preceded by a "
1200 "single question mark."
1204 #: build/C/man4/console_codes.4:177
1206 "However, after CSI [ (or ESC [ [) a single character is read and this entire "
1207 "sequence is ignored. (The idea is to ignore an echoed function key.)"
1211 #: build/C/man4/console_codes.4:179
1212 msgid "The action of a CSI sequence is determined by its final character."
1216 #: build/C/man4/console_codes.4:181
1218 msgid "@\tICH\tInsert the indicated # of blank characters.\n"
1222 #: build/C/man4/console_codes.4:182
1224 msgid "A\tCUU\tMove cursor up the indicated # of rows.\n"
1228 #: build/C/man4/console_codes.4:183
1230 msgid "B\tCUD\tMove cursor down the indicated # of rows.\n"
1234 #: build/C/man4/console_codes.4:184
1236 msgid "C\tCUF\tMove cursor right the indicated # of columns.\n"
1240 #: build/C/man4/console_codes.4:185
1242 msgid "D\tCUB\tMove cursor left the indicated # of columns.\n"
1246 #: build/C/man4/console_codes.4:186
1248 msgid "E\tCNL\tMove cursor down the indicated # of rows, to column 1.\n"
1252 #: build/C/man4/console_codes.4:187
1254 msgid "F\tCPL\tMove cursor up the indicated # of rows, to column 1.\n"
1258 #: build/C/man4/console_codes.4:188
1260 msgid "G\tCHA\tMove cursor to indicated column in current row.\n"
1264 #: build/C/man4/console_codes.4:189
1266 msgid "H\tCUP\tMove cursor to the indicated row, column (origin at 1,1).\n"
1270 #: build/C/man4/console_codes.4:190
1272 msgid "J\tED\tErase display (default: from cursor to end of display).\n"
1276 #: build/C/man4/console_codes.4:191
1278 msgid "\t\tESC [ 1 J: erase from start to cursor.\n"
1282 #: build/C/man4/console_codes.4:192
1284 msgid "\t\tESC [ 2 J: erase whole display.\n"
1288 #: build/C/man4/console_codes.4:193
1290 msgid "\t\tESC [ 3 J: erase whole display including scroll-back\n"
1294 #: build/C/man4/console_codes.4:194
1296 msgid "\t\t buffer (since Linux 3.0).\n"
1299 #. ESC [ 3 J: commit f8df13e0a901fe55631fed66562369b4dba40f8b
1301 #: build/C/man4/console_codes.4:196
1303 msgid "K\tEL\tErase line (default: from cursor to end of line).\n"
1307 #: build/C/man4/console_codes.4:197
1309 msgid "\t\tESC [ 1 K: erase from start of line to cursor.\n"
1313 #: build/C/man4/console_codes.4:198
1315 msgid "\t\tESC [ 2 K: erase whole line.\n"
1319 #: build/C/man4/console_codes.4:199
1321 msgid "L\tIL\tInsert the indicated # of blank lines.\n"
1325 #: build/C/man4/console_codes.4:200
1327 msgid "M\tDL\tDelete the indicated # of lines.\n"
1331 #: build/C/man4/console_codes.4:201
1333 msgid "P\tDCH\tDelete the indicated # of characters on current line.\n"
1337 #: build/C/man4/console_codes.4:202
1339 msgid "X\tECH\tErase the indicated # of characters on current line.\n"
1343 #: build/C/man4/console_codes.4:203
1345 msgid "a\tHPR\tMove cursor right the indicated # of columns.\n"
1349 #: build/C/man4/console_codes.4:204
1351 msgid "c\tDA\tAnswer ESC [ ? 6 c: \"I am a VT102\".\n"
1355 #: build/C/man4/console_codes.4:205
1357 msgid "d\tVPA\tMove cursor to the indicated row, current column.\n"
1361 #: build/C/man4/console_codes.4:206
1363 msgid "e\tVPR\tMove cursor down the indicated # of rows.\n"
1367 #: build/C/man4/console_codes.4:207
1369 msgid "f\tHVP\tMove cursor to the indicated row, column.\n"
1373 #: build/C/man4/console_codes.4:208
1375 msgid "g\tTBC\tWithout parameter: clear tab stop at current position.\n"
1379 #: build/C/man4/console_codes.4:209
1381 msgid "\t\tESC [ 3 g: delete all tab stops.\n"
1385 #: build/C/man4/console_codes.4:210
1387 msgid "h\tSM\tSet Mode (see below).\n"
1391 #: build/C/man4/console_codes.4:211
1393 msgid "l\tRM\tReset Mode (see below).\n"
1397 #: build/C/man4/console_codes.4:212
1399 msgid "m\tSGR\tSet attributes (see below).\n"
1403 #: build/C/man4/console_codes.4:213
1405 msgid "n\tDSR\tStatus report (see below).\n"
1409 #: build/C/man4/console_codes.4:214
1411 msgid "q\tDECLL\tSet keyboard LEDs.\n"
1415 #: build/C/man4/console_codes.4:215
1417 msgid "\t\tESC [ 0 q: clear all LEDs\n"
1421 #: build/C/man4/console_codes.4:216
1423 msgid "\t\tESC [ 1 q: set Scroll Lock LED\n"
1427 #: build/C/man4/console_codes.4:217
1429 msgid "\t\tESC [ 2 q: set Num Lock LED\n"
1433 #: build/C/man4/console_codes.4:218
1435 msgid "\t\tESC [ 3 q: set Caps Lock LED\n"
1439 #: build/C/man4/console_codes.4:219
1441 msgid "r\tDECSTBM\tSet scrolling region; parameters are top and bottom row.\n"
1445 #: build/C/man4/console_codes.4:220
1447 msgid "s\t?\tSave cursor location.\n"
1451 #: build/C/man4/console_codes.4:221
1453 msgid "u\t?\tRestore cursor location.\n"
1457 #: build/C/man4/console_codes.4:222
1459 msgid "\\`\tHPA\tMove cursor to indicated column in current row.\n"
1463 #: build/C/man4/console_codes.4:226
1464 msgid "B<ECMA-48 Set Graphics Rendition>"
1468 #: build/C/man4/console_codes.4:233
1470 "The ECMA-48 SGR sequence ESC [ I<parameters> m sets display attributes. "
1471 "Several attributes can be set in the same sequence, separated by "
1472 "semicolons. An empty parameter (between semicolons or string initiator or "
1473 "terminator) is interpreted as a zero."
1477 #: build/C/man4/console_codes.4:235
1479 msgid "param\tresult\n"
1483 #: build/C/man4/console_codes.4:236
1485 msgid "0\treset all attributes to their defaults\n"
1489 #: build/C/man4/console_codes.4:237
1491 msgid "1\tset bold\n"
1495 #: build/C/man4/console_codes.4:238
1497 msgid "2\tset half-bright (simulated with color on a color display)\n"
1501 #: build/C/man4/console_codes.4:239
1507 #: build/C/man4/console_codes.4:240
1509 msgid "set underscore (simulated with color on a color display)\n"
1513 #: build/C/man4/console_codes.4:241
1515 msgid "(the colors used to simulate dim or underline are set\n"
1519 #: build/C/man4/console_codes.4:242
1521 msgid "using ESC ] ...)\n"
1525 #: build/C/man4/console_codes.4:244
1527 msgid "5\tset blink\n"
1531 #: build/C/man4/console_codes.4:245
1533 msgid "7\tset reverse video\n"
1537 #: build/C/man4/console_codes.4:246
1543 #: build/C/man4/console_codes.4:247
1545 msgid "reset selected mapping, display control flag,\n"
1549 #: build/C/man4/console_codes.4:248
1551 msgid "and toggle meta flag (ECMA-48 says \"primary font\").\n"
1555 #: build/C/man4/console_codes.4:250
1561 #: build/C/man4/console_codes.4:251 build/C/man4/console_codes.4:255
1563 msgid "select null mapping, set display control flag,\n"
1567 #: build/C/man4/console_codes.4:252
1569 msgid "reset toggle meta flag (ECMA-48 says \"first alternate font\").\n"
1573 #: build/C/man4/console_codes.4:254
1579 #: build/C/man4/console_codes.4:256
1581 msgid "set toggle meta flag (ECMA-48 says \"second alternate font\").\n"
1585 #: build/C/man4/console_codes.4:257
1587 msgid "The toggle meta flag\n"
1591 #: build/C/man4/console_codes.4:258
1593 msgid "causes the high bit of a byte to be toggled\n"
1597 #: build/C/man4/console_codes.4:259
1599 msgid "before the mapping table translation is done.\n"
1603 #: build/C/man4/console_codes.4:261
1605 msgid "21\tset normal intensity (ECMA-48 says \"doubly underlined\")\n"
1609 #: build/C/man4/console_codes.4:262
1611 msgid "22\tset normal intensity\n"
1615 #: build/C/man4/console_codes.4:263
1617 msgid "24\tunderline off\n"
1621 #: build/C/man4/console_codes.4:264
1623 msgid "25\tblink off\n"
1627 #: build/C/man4/console_codes.4:265
1629 msgid "27\treverse video off\n"
1633 #: build/C/man4/console_codes.4:266
1635 msgid "30\tset black foreground\n"
1639 #: build/C/man4/console_codes.4:267
1641 msgid "31\tset red foreground\n"
1645 #: build/C/man4/console_codes.4:268
1647 msgid "32\tset green foreground\n"
1651 #: build/C/man4/console_codes.4:269
1653 msgid "33\tset brown foreground\n"
1657 #: build/C/man4/console_codes.4:270
1659 msgid "34\tset blue foreground\n"
1663 #: build/C/man4/console_codes.4:271
1665 msgid "35\tset magenta foreground\n"
1669 #: build/C/man4/console_codes.4:272
1671 msgid "36\tset cyan foreground\n"
1675 #: build/C/man4/console_codes.4:273
1677 msgid "37\tset white foreground\n"
1681 #: build/C/man4/console_codes.4:274
1683 msgid "38\tset underscore on, set default foreground color\n"
1687 #: build/C/man4/console_codes.4:275
1689 msgid "39\tset underscore off, set default foreground color\n"
1693 #: build/C/man4/console_codes.4:276
1695 msgid "40\tset black background\n"
1699 #: build/C/man4/console_codes.4:277
1701 msgid "41\tset red background\n"
1705 #: build/C/man4/console_codes.4:278
1707 msgid "42\tset green background\n"
1711 #: build/C/man4/console_codes.4:279
1713 msgid "43\tset brown background\n"
1717 #: build/C/man4/console_codes.4:280
1719 msgid "44\tset blue background\n"
1723 #: build/C/man4/console_codes.4:281
1725 msgid "45\tset magenta background\n"
1729 #: build/C/man4/console_codes.4:282
1731 msgid "46\tset cyan background\n"
1735 #: build/C/man4/console_codes.4:283
1737 msgid "47\tset white background\n"
1741 #: build/C/man4/console_codes.4:284
1743 msgid "49\tset default background color\n"
1747 #: build/C/man4/console_codes.4:288
1748 msgid "B<ECMA-48 Mode Switches>"
1752 #: build/C/man4/console_codes.4:288
1758 #: build/C/man4/console_codes.4:291
1759 msgid "DECCRM (default off): Display control chars."
1763 #: build/C/man4/console_codes.4:291
1769 #: build/C/man4/console_codes.4:294
1770 msgid "DECIM (default off): Set insert mode."
1774 #: build/C/man4/console_codes.4:294
1780 #: build/C/man4/console_codes.4:298
1781 msgid "LF/NL (default off): Automatically follow echo of LF, VT or FF with CR."
1785 #: build/C/man4/console_codes.4:301
1786 msgid "B<ECMA-48 Status Report Commands>"
1790 #: build/C/man4/console_codes.4:301
1796 #: build/C/man4/console_codes.4:304
1797 msgid "Device status report (DSR): Answer is ESC [ 0 n (Terminal OK)."
1801 #: build/C/man4/console_codes.4:304
1807 #: build/C/man4/console_codes.4:309
1809 "Cursor position report (CPR): Answer is ESC [ I<y> ; I<x> R, where I<x,y> is "
1810 "the cursor location."
1814 #: build/C/man4/console_codes.4:311
1815 msgid "B<DEC Private Mode (DECSET/DECRST) sequences>"
1819 #: build/C/man4/console_codes.4:317
1821 "These are not described in ECMA-48. We list the Set Mode sequences; the "
1822 "Reset Mode sequences are obtained by replacing the final \\(aqh\\(aq by "
1827 #: build/C/man4/console_codes.4:317
1833 #: build/C/man4/console_codes.4:321
1835 "DECCKM (default off): When set, the cursor keys send an ESC O prefix, rather "
1840 #: build/C/man4/console_codes.4:321
1846 #: build/C/man4/console_codes.4:328
1848 "DECCOLM (default off = 80 columns): 80/132 col mode switch. The driver "
1849 "sources note that this alone does not suffice; some user-mode utility such "
1850 "as B<resizecons>(8) has to change the hardware registers on the console "
1855 #: build/C/man4/console_codes.4:328
1861 #: build/C/man4/console_codes.4:331
1862 msgid "DECSCNM (default off): Set reverse-video mode."
1866 #: build/C/man4/console_codes.4:331
1872 #: build/C/man4/console_codes.4:335
1874 "DECOM (default off): When set, cursor addressing is relative to the upper "
1875 "left corner of the scrolling region."
1879 #: build/C/man4/console_codes.4:335
1885 #: build/C/man4/console_codes.4:341
1887 "DECAWM (default on): Set autowrap on. In this mode, a graphic character "
1888 "emitted after column 80 (or column 132 of DECCOLM is on) forces a wrap to "
1889 "the beginning of the following line first."
1893 #: build/C/man4/console_codes.4:341
1899 #: build/C/man4/console_codes.4:344
1900 msgid "DECARM (default on): Set keyboard autorepeat on."
1904 #: build/C/man4/console_codes.4:344
1910 #: build/C/man4/console_codes.4:348
1912 "X10 Mouse Reporting (default off): Set reporting mode to 1 (or reset to "
1917 #: build/C/man4/console_codes.4:348
1919 msgid "ESC [ ? 25 h"
1923 #: build/C/man4/console_codes.4:351
1924 msgid "DECTECM (default on): Make cursor visible."
1928 #: build/C/man4/console_codes.4:351
1930 msgid "ESC [ ? 1000 h"
1934 #: build/C/man4/console_codes.4:356
1936 "X11 Mouse Reporting (default off): Set reporting mode to 2 (or reset to "
1941 #: build/C/man4/console_codes.4:358
1942 msgid "B<Linux Console Private CSI Sequences>"
1946 #: build/C/man4/console_codes.4:365
1948 "The following sequences are neither ECMA-48 nor native VT102. They are "
1949 "native to the Linux console driver. Colors are in SGR parameters: 0 = "
1950 "black, 1 = red, 2 = green, 3 = brown, 4 = blue, 5 = magenta, 6 = cyan, 7 = "
1955 #: build/C/man4/console_codes.4:367
1957 msgid "ESC [ 1 ; I<n> ]\tSet color I<n> as the underline color\n"
1961 #: build/C/man4/console_codes.4:368
1963 msgid "ESC [ 2 ; I<n> ]\tSet color I<n> as the dim color\n"
1967 #: build/C/man4/console_codes.4:369
1969 msgid "ESC [ 8 ] \tMake the current color pair the default attributes.\n"
1973 #: build/C/man4/console_codes.4:370
1975 msgid "ESC [ 9 ; I<n> ]\tSet screen blank timeout to I<n> minutes.\n"
1979 #: build/C/man4/console_codes.4:371
1981 msgid "ESC [ 10 ; I<n> ]\tSet bell frequency in Hz.\n"
1985 #: build/C/man4/console_codes.4:372
1987 msgid "ESC [ 11 ; I<n> ]\tSet bell duration in msec.\n"
1991 #: build/C/man4/console_codes.4:373
1993 msgid "ESC [ 12 ; I<n> ]\tBring specified console to the front.\n"
1997 #: build/C/man4/console_codes.4:374
1999 msgid "ESC [ 13 ] \tUnblank the screen.\n"
2003 #: build/C/man4/console_codes.4:375
2005 msgid "ESC [ 14 ; I<n> ] \tSet the VESA powerdown interval in minutes.\n"
2009 #: build/C/man4/console_codes.4:377
2011 msgid "Character sets"
2015 #: build/C/man4/console_codes.4:382
2017 "The kernel knows about 4 translations of bytes into console-screen symbols. "
2018 "The four tables are: a) Latin1 -E<gt> PC, b) VT100 graphics -E<gt> PC, c) PC "
2019 "-E<gt> PC, d) user-defined."
2023 #: build/C/man4/console_codes.4:388
2025 "There are two character sets, called G0 and G1, and one of them is the "
2026 "current character set. (Initially G0.) Typing B<^N> causes G1 to become "
2027 "current, B<^O> causes G0 to become current."
2031 #: build/C/man4/console_codes.4:396
2033 "These variables G0 and G1 point at a translation table, and can be changed "
2034 "by the user. Initially they point at tables a) and b), respectively. The "
2035 "sequences ESC ( B and ESC ( 0 and ESC ( U and ESC ( K cause G0 to point at "
2036 "translation table a), b), c) and d), respectively. The sequences ESC ) B "
2037 "and ESC ) 0 and ESC ) U and ESC ) K cause G1 to point at translation table "
2038 "a), b), c) and d), respectively."
2042 #: build/C/man4/console_codes.4:406
2044 "The sequence ESC c causes a terminal reset, which is what you want if the "
2045 "screen is all garbled. The oft-advised \"echo ^V^O\" will make only G0 "
2046 "current, but there is no guarantee that G0 points at table a). In some "
2047 "distributions there is a program B<reset>(1) that just does \"echo ^[c\". "
2048 "If your terminfo entry for the console is correct (and has an entry "
2049 "rs1=\\eEc), then \"tput reset\" will also work."
2053 #: build/C/man4/console_codes.4:414
2055 "The user-defined mapping table can be set using B<mapscrn>(8). The result "
2056 "of the mapping is that if a symbol c is printed, the symbol s = map[c] is "
2057 "sent to the video memory. The bitmap that corresponds to s is found in the "
2058 "character ROM, and can be changed using B<setfont>(8)."
2062 #: build/C/man4/console_codes.4:414
2064 msgid "Mouse tracking"
2068 #: build/C/man4/console_codes.4:426
2070 "The mouse tracking facility is intended to return B<xterm>(1)-compatible "
2071 "mouse status reports. Because the console driver has no way to know the "
2072 "device or type of the mouse, these reports are returned in the console input "
2073 "stream only when the virtual terminal driver receives a mouse update ioctl. "
2074 "These ioctls must be generated by a mouse-aware user-mode application such "
2075 "as the B<gpm>(8) daemon."
2079 #: build/C/man4/console_codes.4:432
2081 "The mouse tracking escape sequences generated by B<xterm>(1) encode numeric "
2082 "parameters in a single character as I<value>+040. For example, \\(aq!\\(aq "
2083 "is 1. The screen coordinate system is 1-based."
2087 #: build/C/man4/console_codes.4:442
2089 "The X10 compatibility mode sends an escape sequence on button press encoding "
2090 "the location and the mouse button pressed. It is enabled by sending ESC [ ? "
2091 "9 h and disabled with ESC [ ? 9 l. On button press, B<xterm>(1) sends ESC [ "
2092 "M I<bxy> (6 characters). Here I<b> is button-1, and I<x> and I<y> are the x "
2093 "and y coordinates of the mouse when the button was pressed. This is the "
2094 "same code the kernel also produces."
2098 #: build/C/man4/console_codes.4:457
2100 "Normal tracking mode (not implemented in Linux 2.0.24) sends an escape "
2101 "sequence on both button press and release. Modifier information is also "
2102 "sent. It is enabled by sending ESC [ ? 1000 h and disabled with ESC [ ? "
2103 "1000 l. On button press or release, B<xterm>(1) sends ESC [ M I<bxy>. The "
2104 "low two bits of I<b> encode button information: 0=MB1 pressed, 1=MB2 "
2105 "pressed, 2=MB3 pressed, 3=release. The upper bits encode what modifiers "
2106 "were down when the button was pressed and are added together: 4=Shift, "
2107 "8=Meta, 16=Control. Again I<x> and I<y> are the x and y coordinates of the "
2108 "mouse event. The upper left corner is (1,1)."
2112 #: build/C/man4/console_codes.4:457
2114 msgid "Comparisons with other terminals"
2118 #: build/C/man4/console_codes.4:464
2120 "Many different terminal types are described, like the Linux console, as "
2121 "being \"VT100-compatible\". Here we discuss differences between the Linux "
2122 "console and the two most important others, the DEC VT102 and B<xterm>(1)."
2126 #: build/C/man4/console_codes.4:466
2127 msgid "B<Control-character handling>"
2131 #: build/C/man4/console_codes.4:468
2132 msgid "The VT102 also recognized the following control characters:"
2136 #: build/C/man4/console_codes.4:470
2137 msgid "NUL (0x00) was ignored;"
2141 #: build/C/man4/console_codes.4:472
2142 msgid "ENQ (0x05) triggered an answerback message;"
2146 #: build/C/man4/console_codes.4:474
2147 msgid "DC1 (0x11, B<^Q>, XON) resumed transmission;"
2151 #: build/C/man4/console_codes.4:477
2153 "DC3 (0x13, B<^S>, XOFF) caused VT100 to ignore (and stop transmitting) all "
2154 "codes except XOFF and XON."
2158 #: build/C/man4/console_codes.4:479
2159 msgid "VT100-like DC1/DC3 processing may be enabled by the terminal driver."
2163 #: build/C/man4/console_codes.4:485
2165 "The B<xterm>(1) program (in VT100 mode) recognizes the control characters "
2166 "BEL, BS, HT, LF, VT, FF, CR, SO, SI, ESC."
2170 #: build/C/man4/console_codes.4:487
2171 msgid "B<Escape sequences>"
2175 #: build/C/man4/console_codes.4:489
2176 msgid "VT100 console sequences not implemented on the Linux console:"
2180 #: build/C/man4/console_codes.4:491
2182 msgid "ESC N\tSS2\tSingle shift 2. (Select G2 character set for the next\n"
2186 #: build/C/man4/console_codes.4:492 build/C/man4/console_codes.4:494
2188 msgid "\t\tcharacter only.)\n"
2192 #: build/C/man4/console_codes.4:493
2194 msgid "ESC O\tSS3\tSingle shift 3. (Select G3 character set for the next\n"
2198 #: build/C/man4/console_codes.4:495
2200 msgid "ESC P\tDCS\tDevice control string (ended by ESC \\e)\n"
2204 #: build/C/man4/console_codes.4:496
2206 msgid "ESC X\tSOS\tStart of string.\n"
2210 #: build/C/man4/console_codes.4:497
2212 msgid "ESC ^\tPM\tPrivacy message (ended by ESC \\e)\n"
2216 #: build/C/man4/console_codes.4:498
2218 msgid "ESC \\e\tST\tString terminator\n"
2222 #: build/C/man4/console_codes.4:499
2224 msgid "ESC * ...\t\tDesignate G2 character set\n"
2228 #: build/C/man4/console_codes.4:500
2230 msgid "ESC + ...\t\tDesignate G3 character set\n"
2234 #: build/C/man4/console_codes.4:513
2236 "The program B<xterm>(1) (in VT100 mode) recognizes ESC c, ESC # 8, ESC "
2237 "E<gt>, ESC =, ESC D, ESC E, ESC H, ESC M, ESC N, ESC O, ESC P ... ESC \\e, "
2238 "ESC Z (it answers ESC [ ? 1 ; 2 c, \"I am a VT100 with advanced video "
2239 "option\") and ESC ^ ... ESC \\e with the same meanings as indicated above. "
2240 "It accepts ESC (, ESC ), ESC *, ESC + followed by 0, A, B for the DEC "
2241 "special character and line drawing set, UK, and US-ASCII, respectively."
2245 #: build/C/man4/console_codes.4:517
2247 "The user can configure B<xterm>(1) to respond to VT220-specific control "
2248 "sequences, and it will identify itself as a VT52, VT100, and up depending on "
2249 "the way it is configured and initialized."
2253 #: build/C/man4/console_codes.4:522
2255 "It accepts ESC ] (OSC) for the setting of certain resources. In addition to "
2256 "the ECMA-48 string terminator (ST), B<xterm>(1) accepts a BEL to terminate "
2257 "an OSC string. These are a few of the OSC control sequences recognized by "
2262 #: build/C/man4/console_codes.4:524
2264 msgid "ESC ] 0 ; I<txt> ST\tSet icon name and window title to I<txt>.\n"
2268 #: build/C/man4/console_codes.4:525
2270 msgid "ESC ] 1 ; I<txt> ST\tSet icon name to I<txt>.\n"
2274 #: build/C/man4/console_codes.4:526
2276 msgid "ESC ] 2 ; I<txt> ST\tSet window title to I<txt>.\n"
2280 #: build/C/man4/console_codes.4:527
2282 msgid "ESC ] 4 ; I<num>; I<txt> ST\tSet ANSI color I<num> to I<txt>.\n"
2286 #: build/C/man4/console_codes.4:528
2288 msgid "ESC ] 10 ; I<txt> ST\tSet dynamic text color to I<txt>.\n"
2292 #: build/C/man4/console_codes.4:529
2294 msgid "ESC ] 4 6 ; I<name> ST\tChange log file to I<name> (normally disabled\n"
2298 #: build/C/man4/console_codes.4:530
2300 msgid "\tby a compile-time option)\n"
2304 #: build/C/man4/console_codes.4:531
2306 msgid "ESC ] 5 0 ; I<fn> ST\tSet font to I<fn>.\n"
2310 #: build/C/man4/console_codes.4:536
2312 "It recognizes the following with slightly modified meaning (saving more "
2313 "state, behaving closer to VT100/VT220):"
2317 #: build/C/man4/console_codes.4:538
2319 msgid "ESC 7 DECSC\tSave cursor\n"
2323 #: build/C/man4/console_codes.4:539
2325 msgid "ESC 8 DECRC\tRestore cursor\n"
2329 #: build/C/man4/console_codes.4:543
2330 msgid "It also recognizes"
2334 #: build/C/man4/console_codes.4:545
2336 msgid "ESC F\t\tCursor to lower left corner of screen (if enabled by\n"
2340 #: build/C/man4/console_codes.4:546
2342 msgid "\t\tB<xterm>(1)'s B<hpLowerleftBugCompat> resource)\n"
2346 #: build/C/man4/console_codes.4:547
2348 msgid "ESC l\t\tMemory lock (per HP terminals).\n"
2352 #: build/C/man4/console_codes.4:548
2354 msgid "\t\tLocks memory above the cursor.\n"
2358 #: build/C/man4/console_codes.4:549
2360 msgid "ESC m\t\tMemory unlock (per HP terminals).\n"
2364 #: build/C/man4/console_codes.4:550
2366 msgid "ESC n\tLS2\tInvoke the G2 character set.\n"
2370 #: build/C/man4/console_codes.4:551
2372 msgid "ESC o\tLS3\tInvoke the G3 character set.\n"
2376 #: build/C/man4/console_codes.4:552
2378 msgid "ESC |\tLS3R\tInvoke the G3 character set as GR.\n"
2382 #: build/C/man4/console_codes.4:553
2384 msgid "ESC }\tLS2R\tInvoke the G2 character set as GR.\n"
2388 #: build/C/man4/console_codes.4:554
2390 msgid "ESC ~\tLS1R\tInvoke the G1 character set as GR.\n"
2394 #: build/C/man4/console_codes.4:560
2396 "It also recognizes ESC % and provides a more complete UTF-8 implementation "
2397 "than Linux console."
2401 #: build/C/man4/console_codes.4:562
2402 msgid "B<CSI Sequences>"
2406 #: build/C/man4/console_codes.4:576
2408 "Old versions of B<xterm>(1), for example, from X11R5, interpret the blink "
2409 "SGR as a bold SGR. Later versions which implemented ANSI colors, for "
2410 "example, XFree86 3.1.2A in 1995, improved this by allowing the blink "
2411 "attribute to be displayed as a color. Modern versions of xterm implement "
2412 "blink SGR as blinking text and still allow colored text as an alternate "
2413 "rendering of SGRs. Stock X11R6 versions did not recognize the color-setting "
2414 "SGRs until the X11R6.8 release, which incorporated XFree86 xterm. All "
2415 "ECMA-48 CSI sequences recognized by Linux are also recognized by I<xterm>, "
2416 "however B<xterm>(1) implements several ECMA-48 and DEC control sequences not "
2417 "recognized by Linux."
2421 #: build/C/man4/console_codes.4:590
2423 "The B<xterm>(1) program recognizes all of the DEC Private Mode sequences "
2424 "listed above, but none of the Linux private-mode sequences. For discussion "
2425 "of B<xterm>(1)'s own private-mode sequences, refer to the I<Xterm Control "
2426 "Sequences> document by Edward Moy, Stephen Gildea, and Thomas E. Dickey "
2427 "available with the X distribution. That document, though terse, is much "
2428 "longer than this manual page. For a chronological overview,"
2432 #: build/C/man4/console_codes.4:594
2433 msgid "E<.UR http://invisible-island.net\\:/xterm\\:/xterm.log.html> E<.UE>"
2437 #: build/C/man4/console_codes.4:597
2438 msgid "details changes to xterm."
2442 #: build/C/man4/console_codes.4:599
2443 msgid "The I<vttest> program"
2447 #: build/C/man4/console_codes.4:603
2448 msgid "E<.UR http://invisible-island.net\\:/vttest/> E<.UE>"
2452 #: build/C/man4/console_codes.4:608
2454 "demonstrates many of these control sequences. The B<xterm>(1) source "
2455 "distribution also contains sample scripts which exercise other features."
2459 #: build/C/man4/console_codes.4:608 build/C/man4/console_ioctl.4:824 build/C/man5/core.5:316 build/C/man4/cpuid.4:62 build/C/man4/fd.4:197 build/C/man7/fifo.7:54 build/C/man4/initrd.4:429 build/C/man3/makedev.3:71 build/C/man2/mknod.2:253 build/C/man4/msr.4:47 build/C/man4/null.4:61 build/C/man4/st.4:891 build/C/man3/stdarg.3:248 build/C/man2/syslog.2:380 build/C/man3/syslog.3:296 build/C/man7/uri.7:592
2465 #: build/C/man4/console_codes.4:611
2466 msgid "ESC 8 (DECRC) is not able to restore the character set changed with ESC %."
2470 #: build/C/man4/console_codes.4:611 build/C/man4/sk98lin.4:592 build/C/man3/stdarg.3:284 build/C/man7/uri.7:673
2476 #: build/C/man4/console_codes.4:614
2477 msgid "In 2.0.23, CSI is broken, and NUL is not ignored inside escape sequences."
2481 #: build/C/man4/console_codes.4:623
2483 "Some older kernel versions (after 2.0) interpret 8-bit control sequences. "
2484 "These \"C1 controls\" use codes between 128 and 159 to replace ESC [, ESC ] "
2485 "and similar two-byte control sequence initiators. There are fragments of "
2486 "that in modern kernels (either overlooked or broken by changes to support "
2487 "UTF-8), but the implementation is incomplete and should be regarded as "
2492 #: build/C/man4/console_codes.4:638
2494 "Linux \"private mode\" sequences do not follow the rules in ECMA-48 for "
2495 "private mode control sequences. In particular, those ending with ] do not "
2496 "use a standard terminating character. The OSC (set palette) sequence is a "
2497 "greater problem, since B<xterm>(1) may interpret this as a control sequence "
2498 "which requires a string terminator (ST). Unlike the B<setterm>(1) sequences "
2499 "which will be ignored (since they are invalid control sequences), the "
2500 "palette sequence will make B<xterm>(1) appear to hang (though pressing the "
2501 "return-key will fix that). To accommodate applications which have been "
2502 "hardcoded to use Linux control sequences, set the B<xterm>(1) resource "
2503 "B<brokenLinuxOSC> to true."
2507 #: build/C/man4/console_codes.4:642
2509 "An older version of this document implied that Linux recognizes the ECMA-48 "
2510 "control sequence for invisible text. It is ignored."
2514 #: build/C/man4/console_codes.4:646
2515 msgid "B<console>(4), B<console_ioctl>(4), B<charsets>(7)"
2519 #: build/C/man4/console_ioctl.4:40
2521 msgid "CONSOLE_IOCTL"
2525 #: build/C/man4/console_ioctl.4:40
2531 #: build/C/man4/console_ioctl.4:43
2532 msgid "console_ioctl - ioctls for console terminal and virtual consoles"
2536 #: build/C/man4/console_ioctl.4:49
2538 "The following Linux-specific B<ioctl>(2) requests are supported. Each "
2539 "requires a third argument, assumed here to be I<argp>."
2543 #: build/C/man4/console_ioctl.4:49
2549 #: build/C/man4/console_ioctl.4:59
2551 "Get state of LEDs. I<argp> points to a I<char>. The lower three bits of "
2552 "I<*argp> are set to the state of the LEDs, as follows:"
2556 #: build/C/man4/console_ioctl.4:61
2558 msgid "LED_CAP \t0x04\tcaps lock led\n"
2562 #: build/C/man4/console_ioctl.4:62
2564 msgid "LED_NUM \t0x02\tnum lock led\n"
2568 #: build/C/man4/console_ioctl.4:63
2570 msgid "LED_SCR \t0x01\tscroll lock led\n"
2574 #: build/C/man4/console_ioctl.4:65
2580 #: build/C/man4/console_ioctl.4:73
2582 "Set the LEDs. The LEDs are set to correspond to the lower three bits of "
2583 "I<argp>. However, if a higher order bit is set, the LEDs revert to normal: "
2584 "displaying the state of the keyboard functions of caps lock, num lock, and "
2589 #: build/C/man4/console_ioctl.4:80
2591 "Before 1.1.54, the LEDs just reflected the state of the corresponding "
2592 "keyboard flags, and KDGETLED/KDSETLED would also change the keyboard flags. "
2593 "Since 1.1.54 the LEDs can be made to display arbitrary information, but by "
2594 "default they display the keyboard flags. The following two ioctls are used "
2595 "to access the keyboard flags."
2599 #: build/C/man4/console_ioctl.4:80
2605 #: build/C/man4/console_ioctl.4:89
2607 "Get keyboard flags CapsLock, NumLock, ScrollLock (not lights). I<argp> "
2608 "points to a char which is set to the flag state. The low order three bits "
2609 "(mask 0x7) get the current flag state, and the low order bits of the next "
2610 "nibble (mask 0x70) get the default flag state. (Since 1.1.54.)"
2614 #: build/C/man4/console_ioctl.4:89
2620 #: build/C/man4/console_ioctl.4:98
2622 "Set keyboard flags CapsLock, NumLock, ScrollLock (not lights). I<argp> has "
2623 "the desired flag state. The low order three bits (mask 0x7) have the flag "
2624 "state, and the low order bits of the next nibble (mask 0x70) have the "
2625 "default flag state. (Since 1.1.54.)"
2629 #: build/C/man4/console_ioctl.4:98
2631 msgid "B<KDGKBTYPE>"
2635 #: build/C/man4/console_ioctl.4:102
2636 msgid "Get keyboard type. This returns the value KB_101, defined as 0x02."
2640 #: build/C/man4/console_ioctl.4:102
2646 #: build/C/man4/console_ioctl.4:107
2647 msgid "Add I/O port as valid. Equivalent to I<ioperm(arg,1,1)>."
2651 #: build/C/man4/console_ioctl.4:107
2657 #: build/C/man4/console_ioctl.4:112
2658 msgid "Delete I/O port as valid. Equivalent to I<ioperm(arg,1,0)>."
2662 #: build/C/man4/console_ioctl.4:112
2668 #: build/C/man4/console_ioctl.4:117
2670 "Enable I/O to video board. Equivalent to I<ioperm(0x3b4, 0x3df-0x3b4+1, "
2675 #: build/C/man4/console_ioctl.4:117
2677 msgid "B<KDDISABIO>"
2681 #: build/C/man4/console_ioctl.4:122
2683 "Disable I/O to video board. Equivalent to I<ioperm(0x3b4, 0x3df-0x3b4+1, "
2688 #: build/C/man4/console_ioctl.4:122
2690 msgid "B<KDSETMODE>"
2694 #: build/C/man4/console_ioctl.4:127
2695 msgid "Set text/graphics mode. I<argp> is one of these:"
2699 #: build/C/man4/console_ioctl.4:130
2701 msgid "KD_TEXT\t0x00\n"
2705 #: build/C/man4/console_ioctl.4:131
2707 msgid "KD_GRAPHICS\t0x01\n"
2711 #: build/C/man4/console_ioctl.4:133
2713 msgid "B<KDGETMODE>"
2717 #: build/C/man4/console_ioctl.4:141
2719 "Get text/graphics mode. I<argp> points to a I<long> which is set to one of "
2724 #: build/C/man4/console_ioctl.4:141
2730 #: build/C/man4/console_ioctl.4:155
2732 "Generate tone of specified length. The lower 16 bits of I<argp> specify the "
2733 "period in clock cycles, and the upper 16 bits give the duration in msec. If "
2734 "the duration is zero, the sound is turned off. Control returns "
2735 "immediately. For example, I<argp> = (125E<lt>E<lt>16) + 0x637 would specify "
2736 "the beep normally associated with a ctrl-G. (Thus since 0.99pl1; broken in "
2741 #: build/C/man4/console_ioctl.4:155
2743 msgid "B<KIOCSOUND>"
2747 #: build/C/man4/console_ioctl.4:167
2749 "Start or stop sound generation. The lower 16 bits of I<argp> specify the "
2750 "period in clock cycles (that is, I<argp> = 1193180/frequency). I<argp> = 0 "
2751 "turns sound off. In either case, control returns immediately."
2755 #: build/C/man4/console_ioctl.4:167
2761 #: build/C/man4/console_ioctl.4:174
2763 "Get the current default color map from kernel. I<argp> points to a 48-byte "
2764 "array. (Since 1.3.3.)"
2768 #: build/C/man4/console_ioctl.4:174
2774 #: build/C/man4/console_ioctl.4:187
2776 "Change the default text-mode color map. I<argp> points to a 48-byte array "
2777 "which contains, in order, the Red, Green, and Blue values for the 16 "
2778 "available screen colors: 0 is off, and 255 is full intensity. The default "
2779 "colors are, in order: black, dark red, dark green, brown, dark blue, dark "
2780 "purple, dark cyan, light grey, dark grey, bright red, bright green, yellow, "
2781 "bright blue, bright purple, bright cyan and white. (Since 1.3.3.)"
2785 #: build/C/man4/console_ioctl.4:187
2791 #: build/C/man4/console_ioctl.4:197
2793 "Gets 256-character screen font in expanded form. I<argp> points to an 8192 "
2794 "byte array. Fails with error code B<EINVAL> if the currently loaded font is "
2795 "a 512-character font, or if the console is not in text mode."
2799 #: build/C/man4/console_ioctl.4:197
2801 msgid "B<GIO_FONTX>"
2805 #: build/C/man4/console_ioctl.4:225
2807 "Gets screen font and associated information. I<argp> points to a I<struct "
2808 "consolefontdesc> (see B<PIO_FONTX>). On call, the I<charcount> field should "
2809 "be set to the maximum number of characters that would fit in the buffer "
2810 "pointed to by I<chardata>. On return, the I<charcount> and I<charheight> "
2811 "are filled with the respective data for the currently loaded font, and the "
2812 "I<chardata> array contains the font data if the initial value of "
2813 "I<charcount> indicated enough space was available; otherwise the buffer is "
2814 "untouched and I<errno> is set to B<ENOMEM>. (Since 1.3.1.)"
2818 #: build/C/man4/console_ioctl.4:225
2824 #: build/C/man4/console_ioctl.4:240
2826 "Sets 256-character screen font. Load font into the EGA/VGA character "
2827 "generator. I<argp> points to a 8192 byte map, with 32 bytes per character. "
2828 "Only the first I<N> of them are used for an 8xI<N> font (0 E<lt> I<N> E<lt>= "
2829 "32). This call also invalidates the Unicode mapping."
2833 #: build/C/man4/console_ioctl.4:240
2835 msgid "B<PIO_FONTX>"
2839 #: build/C/man4/console_ioctl.4:245
2840 msgid "Sets screen font and associated rendering information. I<argp> points to a"
2844 #: build/C/man4/console_ioctl.4:256
2847 "struct consolefontdesc {\n"
2848 " unsigned short charcount; /* characters in font\n"
2849 " (256 or 512) */\n"
2850 " unsigned short charheight; /* scan lines per\n"
2851 " character (1-32) */\n"
2852 " char *chardata; /* font data in\n"
2853 " expanded form */\n"
2858 #: build/C/man4/console_ioctl.4:264
2860 "If necessary, the screen will be appropriately resized, and B<SIGWINCH> sent "
2861 "to the appropriate processes. This call also invalidates the Unicode "
2862 "mapping. (Since 1.3.1.)"
2866 #: build/C/man4/console_ioctl.4:264
2868 msgid "B<PIO_FONTRESET>"
2872 #: build/C/man4/console_ioctl.4:272
2874 "Resets the screen font, size and Unicode mapping to the bootup defaults. "
2875 "I<argp> is unused, but should be set to NULL to ensure compatibility with "
2876 "future versions of Linux. (Since 1.3.28.)"
2880 #: build/C/man4/console_ioctl.4:272
2882 msgid "B<GIO_SCRNMAP>"
2886 #: build/C/man4/console_ioctl.4:281
2888 "Get screen mapping from kernel. I<argp> points to an area of size E_TABSZ, "
2889 "which is loaded with the font positions used to display each character. "
2890 "This call is likely to return useless information if the currently loaded "
2891 "font is more than 256 characters."
2895 #: build/C/man4/console_ioctl.4:281
2897 msgid "B<GIO_UNISCRNMAP>"
2901 #: build/C/man4/console_ioctl.4:293
2903 "Get full Unicode screen mapping from kernel. I<argp> points to an area of "
2904 "size I<E_TABSZ*sizeof(unsigned short)>, which is loaded with the Unicodes "
2905 "each character represent. A special set of Unicodes, starting at U+F000, "
2906 "are used to represent \"direct to font\" mappings. (Since 1.3.1.)"
2910 #: build/C/man4/console_ioctl.4:293
2912 msgid "B<PIO_SCRNMAP>"
2916 #: build/C/man4/console_ioctl.4:300
2918 "Loads the \"user definable\" (fourth) table in the kernel which maps bytes "
2919 "into console screen symbols. I<argp> points to an area of size E_TABSZ."
2923 #: build/C/man4/console_ioctl.4:300
2925 msgid "B<PIO_UNISCRNMAP>"
2929 #: build/C/man4/console_ioctl.4:308
2931 "Loads the \"user definable\" (fourth) table in the kernel which maps bytes "
2932 "into Unicodes, which are then translated into screen symbols according to "
2933 "the currently loaded Unicode-to-font map. Special Unicodes starting at "
2934 "U+F000 can be used to map directly to the font symbols. (Since 1.3.1.)"
2938 #: build/C/man4/console_ioctl.4:308
2940 msgid "B<GIO_UNIMAP>"
2944 #: build/C/man4/console_ioctl.4:313
2945 msgid "Get Unicode-to-font mapping from kernel. I<argp> points to a"
2949 #: build/C/man4/console_ioctl.4:320
2952 "struct unimapdesc {\n"
2953 " unsigned short entry_ct;\n"
2954 " struct unipair *entries;\n"
2959 #: build/C/man4/console_ioctl.4:326
2960 msgid "where I<entries> points to an array of"
2964 #: build/C/man4/console_ioctl.4:333
2967 "struct unipair {\n"
2968 " unsigned short unicode;\n"
2969 " unsigned short fontpos;\n"
2974 #: build/C/man4/console_ioctl.4:337 build/C/man4/console_ioctl.4:361
2975 msgid "(Since 1.1.92.)"
2979 #: build/C/man4/console_ioctl.4:337
2981 msgid "B<PIO_UNIMAP>"
2985 #: build/C/man4/console_ioctl.4:344
2987 "Put unicode-to-font mapping in kernel. I<argp> points to a I<struct "
2988 "unimapdesc>. (Since 1.1.92)"
2992 #: build/C/man4/console_ioctl.4:344
2994 msgid "B<PIO_UNIMAPCLR>"
2998 #: build/C/man4/console_ioctl.4:349
2999 msgid "Clear table, possibly advise hash algorithm. I<argp> points to a"
3003 #: build/C/man4/console_ioctl.4:357
3006 "struct unimapinit {\n"
3007 " unsigned short advised_hashsize; /* 0 if no opinion */\n"
3008 " unsigned short advised_hashstep; /* 0 if no opinion */\n"
3009 " unsigned short advised_hashlevel; /* 0 if no opinion */\n"
3014 #: build/C/man4/console_ioctl.4:361
3016 msgid "B<KDGKBMODE>"
3020 #: build/C/man4/console_ioctl.4:369
3022 "Gets current keyboard mode. I<argp> points to a I<long> which is set to one "
3027 #: build/C/man4/console_ioctl.4:372
3029 msgid "K_RAW\t0x00\n"
3033 #: build/C/man4/console_ioctl.4:373
3035 msgid "K_XLATE\t0x01\n"
3039 #: build/C/man4/console_ioctl.4:374
3041 msgid "K_MEDIUMRAW\t0x02\n"
3045 #: build/C/man4/console_ioctl.4:375
3047 msgid "K_UNICODE\t0x03\n"
3051 #: build/C/man4/console_ioctl.4:377
3053 msgid "B<KDSKBMODE>"
3057 #: build/C/man4/console_ioctl.4:384
3059 "Sets current keyboard mode. I<argp> is a I<long> equal to one of the above "
3064 #: build/C/man4/console_ioctl.4:384
3066 msgid "B<KDGKBMETA>"
3070 #: build/C/man4/console_ioctl.4:392
3072 "Gets meta key handling mode. I<argp> points to a I<long> which is set to "
3077 #: build/C/man4/console_ioctl.4:395
3079 msgid "K_METABIT\t0x03\tset high order bit\n"
3083 #: build/C/man4/console_ioctl.4:396
3085 msgid "K_ESCPREFIX\t0x04\tescape prefix\n"
3089 #: build/C/man4/console_ioctl.4:398
3091 msgid "B<KDSKBMETA>"
3095 #: build/C/man4/console_ioctl.4:405
3097 "Sets meta key handling mode. I<argp> is a I<long> equal to one of the above "
3102 #: build/C/man4/console_ioctl.4:405
3108 #: build/C/man4/console_ioctl.4:410
3110 "Gets one entry in key translation table (keycode to action code). I<argp> "
3115 #: build/C/man4/console_ioctl.4:418
3118 "struct kbentry {\n"
3119 " unsigned char kb_table;\n"
3120 " unsigned char kb_index;\n"
3121 " unsigned short kb_value;\n"
3126 #: build/C/man4/console_ioctl.4:437
3128 "with the first two members filled in: I<kb_table> selects the key table (0 "
3129 "E<lt>= I<kb_table> E<lt> MAX_NR_KEYMAPS), and I<kb_index> is the keycode (0 "
3130 "E<lt>= I<kb_index> E<lt> NR_KEYS). I<kb_value> is set to the corresponding "
3131 "action code, or K_HOLE if there is no such key, or K_NOSUCHMAP if "
3132 "I<kb_table> is invalid."
3136 #: build/C/man4/console_ioctl.4:437
3142 #: build/C/man4/console_ioctl.4:443
3143 msgid "Sets one entry in translation table. I<argp> points to a I<struct kbentry>."
3147 #: build/C/man4/console_ioctl.4:443
3149 msgid "B<KDGKBSENT>"
3153 #: build/C/man4/console_ioctl.4:448
3154 msgid "Gets one function key string. I<argp> points to a"
3158 #: build/C/man4/console_ioctl.4:455
3161 "struct kbsentry {\n"
3162 " unsigned char kb_func;\n"
3163 " unsigned char kb_string[512];\n"
3168 #: build/C/man4/console_ioctl.4:463
3170 "I<kb_string> is set to the (null-terminated) string corresponding to the "
3171 "I<kb_func>th function key action code."
3175 #: build/C/man4/console_ioctl.4:463
3177 msgid "B<KDSKBSENT>"
3181 #: build/C/man4/console_ioctl.4:469
3182 msgid "Sets one function key string entry. I<argp> points to a I<struct kbsentry>."
3186 #: build/C/man4/console_ioctl.4:469
3188 msgid "B<KDGKBDIACR>"
3192 #: build/C/man4/console_ioctl.4:474
3193 msgid "Read kernel accent table. I<argp> points to a"
3197 #: build/C/man4/console_ioctl.4:481
3200 "struct kbdiacrs {\n"
3201 " unsigned int kb_cnt;\n"
3202 " struct kbdiacr kbdiacr[256];\n"
3207 #: build/C/man4/console_ioctl.4:488
3208 msgid "where I<kb_cnt> is the number of entries in the array, each of which is a"
3212 #: build/C/man4/console_ioctl.4:496
3215 "struct kbdiacr {\n"
3216 " unsigned char diacr;\n"
3217 " unsigned char base;\n"
3218 " unsigned char result;\n"
3223 #: build/C/man4/console_ioctl.4:498
3225 msgid "B<KDGETKEYCODE>"
3229 #: build/C/man4/console_ioctl.4:503
3230 msgid "Read kernel keycode table entry (scan code to keycode). I<argp> points to a"
3234 #: build/C/man4/console_ioctl.4:510
3237 "struct kbkeycode {\n"
3238 " unsigned int scancode;\n"
3239 " unsigned int keycode;\n"
3244 #: build/C/man4/console_ioctl.4:524
3246 "I<keycode> is set to correspond to the given I<scancode>. (89 E<lt>= "
3247 "I<scancode> E<lt>= 255 only. For 1 E<lt>= I<scancode> E<lt>= 88, "
3248 "I<keycode>==I<scancode>.) (Since 1.1.63.)"
3252 #: build/C/man4/console_ioctl.4:524
3254 msgid "B<KDSETKEYCODE>"
3258 #: build/C/man4/console_ioctl.4:531
3260 "Write kernel keycode table entry. I<argp> points to a I<struct kbkeycode>. "
3265 #: build/C/man4/console_ioctl.4:531
3267 msgid "B<KDSIGACCEPT>"
3271 #: build/C/man4/console_ioctl.4:543
3273 "The calling process indicates its willingness to accept the signal I<argp> "
3274 "when it is generated by pressing an appropriate key combination. (1 E<lt>= "
3275 "I<argp> E<lt>= NSIG). (See I<spawn_console>() in "
3276 "I<linux/drivers/char/keyboard.c>.)"
3280 #: build/C/man4/console_ioctl.4:543
3282 msgid "B<VT_OPENQRY>"
3286 #: build/C/man4/console_ioctl.4:553
3288 "Returns the first available (non-opened) console. I<argp> points to an "
3289 "I<int> which is set to the number of the vt (1 E<lt>= I<*argp> E<lt>= "
3294 #: build/C/man4/console_ioctl.4:553
3296 msgid "B<VT_GETMODE>"
3300 #: build/C/man4/console_ioctl.4:558
3301 msgid "Get mode of active vt. I<argp> points to a"
3305 #: build/C/man4/console_ioctl.4:568
3308 "struct vt_mode {\n"
3309 " char mode; /* vt mode */\n"
3310 " char waitv; /* if set, hang on writes if not active */\n"
3311 " short relsig; /* signal to raise on release req */\n"
3312 " short acqsig; /* signal to raise on acquisition */\n"
3313 " short frsig; /* unused (set to 0) */\n"
3318 #: build/C/man4/console_ioctl.4:574
3320 "which is set to the mode of the active vt. I<mode> is set to one of these "
3325 #: build/C/man4/console_ioctl.4:577
3327 msgid "VT_AUTO\tauto vt switching\n"
3331 #: build/C/man4/console_ioctl.4:578
3333 msgid "VT_PROCESS\tprocess controls switching\n"
3337 #: build/C/man4/console_ioctl.4:579
3339 msgid "VT_ACKACQ\tacknowledge switch\n"
3343 #: build/C/man4/console_ioctl.4:581
3345 msgid "B<VT_SETMODE>"
3349 #: build/C/man4/console_ioctl.4:587
3350 msgid "Set mode of active vt. I<argp> points to a I<struct vt_mode>."
3354 #: build/C/man4/console_ioctl.4:587
3356 msgid "B<VT_GETSTATE>"
3360 #: build/C/man4/console_ioctl.4:592
3361 msgid "Get global vt state info. I<argp> points to a"
3365 #: build/C/man4/console_ioctl.4:600
3368 "struct vt_stat {\n"
3369 " unsigned short v_active; /* active vt */\n"
3370 " unsigned short v_signal; /* signal to send */\n"
3371 " unsigned short v_state; /* vt bit mask */\n"
3376 #: build/C/man4/console_ioctl.4:607
3378 "For each vt in use, the corresponding bit in the I<v_state> member is set. "
3379 "(Kernels 1.0 through 1.1.92.)"
3383 #: build/C/man4/console_ioctl.4:607
3385 msgid "B<VT_RELDISP>"
3389 #: build/C/man4/console_ioctl.4:610
3390 msgid "Release a display."
3394 #: build/C/man4/console_ioctl.4:610
3396 msgid "B<VT_ACTIVATE>"
3400 #: build/C/man4/console_ioctl.4:617
3401 msgid "Switch to vt I<argp> (1 E<lt>= I<argp> E<lt>= MAX_NR_CONSOLES)."
3405 #: build/C/man4/console_ioctl.4:617
3407 msgid "B<VT_WAITACTIVE>"
3411 #: build/C/man4/console_ioctl.4:622
3412 msgid "Wait until vt I<argp> has been activated."
3416 #: build/C/man4/console_ioctl.4:622
3418 msgid "B<VT_DISALLOCATE>"
3422 #: build/C/man4/console_ioctl.4:627
3423 msgid "Deallocate the memory associated with vt I<argp>. (Since 1.1.54.)"
3427 #: build/C/man4/console_ioctl.4:627
3429 msgid "B<VT_RESIZE>"
3433 #: build/C/man4/console_ioctl.4:632
3434 msgid "Set the kernel's idea of screensize. I<argp> points to a"
3438 #: build/C/man4/console_ioctl.4:640
3441 "struct vt_sizes {\n"
3442 " unsigned short v_rows; /* # rows */\n"
3443 " unsigned short v_cols; /* # columns */\n"
3444 " unsigned short v_scrollsize; /* no longer used */\n"
3449 #: build/C/man4/console_ioctl.4:647
3451 "Note that this does not change the videomode. See B<resizecons>(8). (Since "
3456 #: build/C/man4/console_ioctl.4:647
3458 msgid "B<VT_RESIZEX>"
3462 #: build/C/man4/console_ioctl.4:652
3463 msgid "Set the kernel's idea of various screen parameters. I<argp> points to a"
3467 #: build/C/man4/console_ioctl.4:667
3470 "struct vt_consize {\n"
3471 " unsigned short v_rows; /* number of rows */\n"
3472 " unsigned short v_cols; /* number of columns */\n"
3473 " unsigned short v_vlin; /* number of pixel rows\n"
3475 " unsigned short v_clin; /* number of pixel rows\n"
3476 " per character */\n"
3477 " unsigned short v_vcol; /* number of pixel columns\n"
3479 " unsigned short v_ccol; /* number of pixel columns\n"
3480 " per character */\n"
3485 #: build/C/man4/console_ioctl.4:676
3487 "Any parameter may be set to zero, indicating \"no change\", but if multiple "
3488 "parameters are set, they must be self-consistent. Note that this does not "
3489 "change the videomode. See B<resizecons>(8). (Since 1.3.3.)"
3493 #: build/C/man4/console_ioctl.4:683
3495 "The action of the following ioctls depends on the first byte in the struct "
3496 "pointed to by I<argp>, referred to here as the I<subcode>. These are legal "
3497 "only for the superuser or the owner of the current terminal."
3501 #: build/C/man4/console_ioctl.4:683
3503 msgid "B<TIOCLINUX, subcode=0>"
3507 #: build/C/man4/console_ioctl.4:691
3509 "Dump the screen. Disappeared in 1.1.92. (With kernel 1.1.92 or later, read "
3510 "from I</dev/vcsN> or I</dev/vcsaN> instead.)"
3514 #: build/C/man4/console_ioctl.4:691
3516 msgid "B<TIOCLINUX, subcode=1>"
3520 #: build/C/man4/console_ioctl.4:695
3521 msgid "Get task information. Disappeared in 1.1.92."
3525 #: build/C/man4/console_ioctl.4:695
3527 msgid "B<TIOCLINUX, subcode=2>"
3531 #: build/C/man4/console_ioctl.4:700
3532 msgid "Set selection. I<argp> points to a"
3536 #: build/C/man4/console_ioctl.4:708
3541 " short xs, ys, xe, ye;\n"
3542 " short sel_mode;\n"
3547 #: build/C/man4/console_ioctl.4:728
3549 "I<xs> and I<ys> are the starting column and row. I<xe> and I<ye> are the "
3550 "ending column and row. (Upper left corner is row=column=1.) I<sel_mode> is "
3551 "0 for character-by-character selection, 1 for word-by-word selection, or 2 "
3552 "for line-by-line selection. The indicated screen characters are highlighted "
3553 "and saved in the static array sel_buffer in I<devices/char/console.c>."
3557 #: build/C/man4/console_ioctl.4:728
3559 msgid "B<TIOCLINUX, subcode=3>"
3563 #: build/C/man4/console_ioctl.4:734
3565 "Paste selection. The characters in the selection buffer are written to "
3570 #: build/C/man4/console_ioctl.4:734
3572 msgid "B<TIOCLINUX, subcode=4>"
3576 #: build/C/man4/console_ioctl.4:737
3577 msgid "Unblank the screen."
3581 #: build/C/man4/console_ioctl.4:737
3583 msgid "B<TIOCLINUX, subcode=5>"
3587 #: build/C/man4/console_ioctl.4:742
3589 "Sets contents of a 256-bit look up table defining characters in a \"word\", "
3590 "for word-by-word selection. (Since 1.1.32.)"
3594 #: build/C/man4/console_ioctl.4:742
3596 msgid "B<TIOCLINUX, subcode=6>"
3600 #: build/C/man4/console_ioctl.4:749
3602 "I<argp> points to a char which is set to the value of the kernel variable "
3603 "I<shift_state>. (Since 1.1.32.)"
3607 #: build/C/man4/console_ioctl.4:749
3609 msgid "B<TIOCLINUX, subcode=7>"
3613 #: build/C/man4/console_ioctl.4:756
3615 "I<argp> points to a char which is set to the value of the kernel variable "
3616 "I<report_mouse>. (Since 1.1.33.)"
3620 #: build/C/man4/console_ioctl.4:756
3622 msgid "B<TIOCLINUX, subcode=8>"
3626 #: build/C/man4/console_ioctl.4:764
3628 "Dump screen width and height, cursor position, and all the "
3629 "character-attribute pairs. (Kernels 1.1.67 through 1.1.91 only. With "
3630 "kernel 1.1.92 or later, read from I</dev/vcsa*> instead.)"
3634 #: build/C/man4/console_ioctl.4:764
3636 msgid "B<TIOCLINUX, subcode=9>"
3640 #: build/C/man4/console_ioctl.4:772
3642 "Restore screen width and height, cursor position, and all the "
3643 "character-attribute pairs. (Kernels 1.1.67 through 1.1.91 only. With "
3644 "kernel 1.1.92 or later, write to I</dev/vcsa*> instead.)"
3648 #: build/C/man4/console_ioctl.4:772
3650 msgid "B<TIOCLINUX, subcode=10>"
3654 #: build/C/man4/console_ioctl.4:780
3656 "Handles the Power Saving feature of the new generation of monitors. VESA "
3657 "screen blanking mode is set to I<argp[1]>, which governs what screen "
3662 #: build/C/man4/console_ioctl.4:781
3668 #: build/C/man4/console_ioctl.4:783
3669 msgid "Screen blanking is disabled."
3673 #: build/C/man4/console_ioctl.4:783
3679 #: build/C/man4/console_ioctl.4:790
3681 "The current video adapter register settings are saved, then the controller "
3682 "is programmed to turn off the vertical synchronization pulses. This puts "
3683 "the monitor into \"standby\" mode. If your monitor has an Off_Mode timer, "
3684 "then it will eventually power down by itself."
3688 #: build/C/man4/console_ioctl.4:790
3694 #: build/C/man4/console_ioctl.4:800
3696 "The current settings are saved, then both the vertical and horizontal "
3697 "synchronization pulses are turned off. This puts the monitor into \"off\" "
3698 "mode. If your monitor has no Off_Mode timer, or if you want your monitor to "
3699 "power down immediately when the blank_timer times out, then you choose this "
3700 "option. (I<Caution:> Powering down frequently will damage the monitor.) "
3705 #: build/C/man4/console_ioctl.4:801 build/C/man3/mkfifo.3:120 build/C/man2/mknod.2:149 build/C/man3/setlogmask.3:69 build/C/man4/st.4:827 build/C/man2/syslog.2:321
3707 msgid "RETURN VALUE"
3711 #: build/C/man4/console_ioctl.4:806
3712 msgid "On success, 0 is returned. On error, -1 is returned, and I<errno> is set."
3716 #: build/C/man4/console_ioctl.4:806 build/C/man3/mkfifo.3:128 build/C/man2/mknod.2:156 build/C/man3/setlogmask.3:71 build/C/man2/syslog.2:337
3722 #: build/C/man4/console_ioctl.4:809
3723 msgid "I<errno> may take on these values:"
3727 #: build/C/man4/console_ioctl.4:809 build/C/man3/mkfifo.3:168 build/C/man2/mknod.2:230
3733 #: build/C/man4/console_ioctl.4:812
3734 msgid "The file descriptor is invalid."
3738 #: build/C/man4/console_ioctl.4:812
3744 #: build/C/man4/console_ioctl.4:816
3746 "The file descriptor is not associated with a character special device, or "
3747 "the specified request does not apply to it."
3751 #: build/C/man4/console_ioctl.4:816 build/C/man2/mknod.2:179 build/C/man4/st.4:842 build/C/man2/syslog.2:338
3757 #: build/C/man4/console_ioctl.4:821
3758 msgid "The file descriptor or I<argp> is invalid."
3762 #: build/C/man4/console_ioctl.4:821 build/C/man2/mknod.2:209 build/C/man2/syslog.2:362
3768 #: build/C/man4/console_ioctl.4:824
3769 msgid "Insufficient permission."
3773 #: build/C/man4/console_ioctl.4:835
3775 "B<Warning>: Do not regard this man page as documentation of the Linux "
3776 "console ioctls. This is provided for the curious only, as an alternative to "
3777 "reading the source. Ioctl's are undocumented Linux internals, liable to be "
3778 "changed without warning. (And indeed, this page more or less describes the "
3779 "situation as of kernel version 1.1.94; there are many minor and not-so-minor "
3780 "differences with earlier versions.)"
3784 #: build/C/man4/console_ioctl.4:840
3786 "Very often, ioctls are introduced for communication between the kernel and "
3787 "one particular well-known program (fdisk, hdparm, setserial, tunelp, "
3788 "loadkeys, selection, setfont, etc.), and their behavior will be changed when "
3789 "required by this particular program."
3793 #: build/C/man4/console_ioctl.4:844
3795 "Programs using these ioctls will not be portable to other versions of UNIX, "
3796 "will not work on older versions of Linux, and will not work on future "
3797 "versions of Linux."
3801 #: build/C/man4/console_ioctl.4:846
3802 msgid "Use POSIX functions."
3806 #: build/C/man4/console_ioctl.4:870
3808 "B<dumpkeys>(1), B<kbd_mode>(1), B<loadkeys>(1), B<mknod>(1), B<setleds>(1), "
3809 "B<setmetamode>(1), B<execve>(2), B<fcntl>(2), B<ioperm>(2), B<termios>(3), "
3810 "B<console>(4), B<console_codes>(4), B<mt>(4), B<sd>(4), B<tty>(4), "
3811 "B<tty_ioctl>(4), B<ttyS>(4), B<vcs>(4), B<vcsa>(4), B<charsets>(7), "
3812 "B<mapscrn>(8), B<resizecons>(8), B<setfont>(8)"
3816 #: build/C/man4/console_ioctl.4:873
3817 msgid "I</usr/include/linux/kd.h>, I</usr/include/linux/vt.h>"
3821 #: build/C/man5/core.5:25
3827 #: build/C/man5/core.5:25
3833 #: build/C/man5/core.5:28
3834 msgid "core - core dump file"
3838 #: build/C/man5/core.5:39
3840 "The default action of certain signals is to cause a process to terminate and "
3841 "produce a I<core dump file>, a disk file containing an image of the "
3842 "process's memory at the time of termination. This image can be used in a "
3843 "debugger (e.g., B<gdb>(1)) to inspect the state of the program at the time "
3844 "that it terminated. A list of the signals which cause a process to dump "
3845 "core can be found in B<signal>(7)."
3849 #: build/C/man5/core.5:46
3851 "A process can set its soft B<RLIMIT_CORE> resource limit to place an upper "
3852 "limit on the size of the core dump file that will be produced if it receives "
3853 "a \"core dump\" signal; see B<getrlimit>(2) for details."
3857 #: build/C/man5/core.5:49
3858 msgid "There are various circumstances in which a core dump file is not produced:"
3862 #: build/C/man5/core.5:66
3864 "The process does not have permission to write the core file. (By default, "
3865 "the core file is called I<core> or I<core.pid>, where I<pid> is the ID of "
3866 "the process that dumped core, and is created in the current working "
3867 "directory. See below for details on naming.) Writing the core file will "
3868 "fail if the directory in which it is to be created is nonwritable, or if a "
3869 "file with the same name exists and is not writable or is not a regular file "
3870 "(e.g., it is a directory or a symbolic link)."
3874 #: build/C/man5/core.5:70
3876 "A (writable, regular) file with the same name as would be used for the core "
3877 "dump already exists, but there is more than one hard link to that file."
3881 #: build/C/man5/core.5:74
3883 "The filesystem where the core dump file would be created is full; or has run "
3884 "out of inodes; or is mounted read-only; or the user has reached their quota "
3885 "for the filesystem."
3889 #: build/C/man5/core.5:77
3890 msgid "The directory in which the core dump file is to be created does not exist."
3894 #: build/C/man5/core.5:90
3896 "The B<RLIMIT_CORE> (core file size) or B<RLIMIT_FSIZE> (file size) resource "
3897 "limits for the process are set to zero; see B<getrlimit>(2) and the "
3898 "documentation of the shell's I<ulimit> command (I<limit> in B<csh>(1))."
3902 #: build/C/man5/core.5:93
3904 "The binary being executed by the process does not have read permission "
3908 #. FIXME . Perhaps relocate discussion of /proc/sys/fs/suid_dumpable
3909 #. and PR_SET_DUMPABLE to this page?
3911 #: build/C/man5/core.5:106
3913 "The process is executing a set-user-ID (set-group-ID) program that is owned "
3914 "by a user (group) other than the real user (group) ID of the process. "
3915 "(However, see the description of the B<prctl>(2) B<PR_SET_DUMPABLE> "
3916 "operation, and the description of the I</proc/sys/fs/suid_dumpable> file in "
3920 #. commit 046d662f481830e652ac34cd112249adde16452a
3922 #: build/C/man5/core.5:112
3924 "(Since Linux 3.7) The kernel was configured without the B<CONFIG_COREDUMP> "
3929 #: build/C/man5/core.5:118
3931 "In addition, a core dump may exclude part of the address space of the "
3932 "process if the B<madvise>(2) B<MADV_DONTDUMP> flag was employed."
3936 #: build/C/man5/core.5:118
3938 msgid "Naming of core dump files"
3942 #: build/C/man5/core.5:127
3944 "By default, a core dump file is named I<core>, but the "
3945 "I</proc/sys/kernel/core_pattern> file (since Linux 2.6 and 2.4.21) can be "
3946 "set to define a template that is used to name core dump files. The template "
3947 "can contain % specifiers which are substituted by the following values when "
3948 "a core file is created:"
3952 #: build/C/man5/core.5:130
3958 #: build/C/man5/core.5:133
3959 msgid "a single % character"
3963 #: build/C/man5/core.5:133
3969 #: build/C/man5/core.5:136
3970 msgid "core file size soft resource limit of crashing process (since Linux 2.6.24)"
3974 #: build/C/man5/core.5:136
3979 #. Added in git commit 12a2b4b2241e318b4f6df31228e4272d2c2968a1
3981 #: build/C/man5/core.5:143
3983 "dump mode\\(emsame as value returned by B<prctl>(2) B<PR_GET_DUMPABLE> "
3988 #: build/C/man5/core.5:143
3994 #: build/C/man5/core.5:146
3995 msgid "executable filename (without path prefix)"
3999 #: build/C/man5/core.5:146
4005 #: build/C/man5/core.5:151
4007 "pathname of executable, with slashes (\\(aq/\\(aq) replaced by exclamation "
4008 "marks (\\(aq!\\(aq) (since Linux 3.0)."
4012 #: build/C/man5/core.5:151
4018 #: build/C/man5/core.5:154
4019 msgid "(numeric) real GID of dumped process"
4023 #: build/C/man5/core.5:154
4029 #: build/C/man5/core.5:157
4030 msgid "hostname (same as I<nodename> returned by B<uname>(2))"
4034 #: build/C/man5/core.5:157
4040 #: build/C/man5/core.5:161
4042 "PID of dumped process, as seen in the PID namespace in which the process "
4047 #: build/C/man5/core.5:161
4052 #. Added in git commit 65aafb1e7484b7434a0c1d4c593191ebe5776a2f
4054 #: build/C/man5/core.5:166
4056 "PID of dumped process, as seen in the initial PID namespace (since Linux "
4061 #: build/C/man5/core.5:166
4067 #: build/C/man5/core.5:169
4068 msgid "number of signal causing dump"
4072 #: build/C/man5/core.5:169
4078 #: build/C/man5/core.5:173
4080 "time of dump, expressed as seconds since the Epoch, 1970-01-01 00:00:00 "
4085 #: build/C/man5/core.5:173
4091 #: build/C/man5/core.5:176
4092 msgid "(numeric) real UID of dumped process"
4096 #: build/C/man5/core.5:195
4098 "A single % at the end of the template is dropped from the core filename, as "
4099 "is the combination of a % followed by any character other than those listed "
4100 "above. All other characters in the template become a literal part of the "
4101 "core filename. The template may include \\(aq/\\(aq characters, which are "
4102 "interpreted as delimiters for directory names. The maximum size of the "
4103 "resulting core filename is 128 bytes (64 bytes in kernels before 2.6.19). "
4104 "The default value in this file is \"core\". For backward compatibility, if "
4105 "I</proc/sys/kernel/core_pattern> does not include \"%p\" and "
4106 "I</proc/sys/kernel/core_uses_pid> (see below) is nonzero, then .PID will be "
4107 "appended to the core filename."
4111 #: build/C/man5/core.5:206
4113 "Since version 2.4, Linux has also provided a more primitive method of "
4114 "controlling the name of the core dump file. If the "
4115 "I</proc/sys/kernel/core_uses_pid> file contains the value 0, then a core "
4116 "dump file is simply named I<core>. If this file contains a nonzero value, "
4117 "then the core dump file includes the process ID in a name of the form "
4121 #. 9520628e8ceb69fa9a4aee6b57f22675d9e1b709
4123 #: build/C/man5/core.5:213
4125 "Since Linux 3.6, if I</proc/sys/fs/suid_dumpable> is set to 2 "
4126 "(\"suidsafe\"), the pattern must be either an absolute pathname (starting "
4127 "with a leading \\(aq/\\(aq character) or a pipe, as defined below."
4131 #: build/C/man5/core.5:213
4133 msgid "Piping core dumps to a program"
4137 #: build/C/man5/core.5:223
4139 "Since kernel 2.6.19, Linux supports an alternate syntax for the "
4140 "I</proc/sys/kernel/core_pattern> file. If the first character of this file "
4141 "is a pipe symbol (B<|>), then the remainder of the line is interpreted as a "
4142 "program to be executed. Instead of being written to a disk file, the core "
4143 "dump is given as standard input to the program. Note the following points:"
4147 #: build/C/man5/core.5:227
4149 "The program must be specified using an absolute pathname (or a pathname "
4150 "relative to the root directory, I</>), and must immediately follow the '|' "
4155 #: build/C/man5/core.5:230
4156 msgid "The process created to run the program runs as user and group I<root>."
4160 #: build/C/man5/core.5:234
4162 "Command-line arguments can be supplied to the program (since Linux 2.6.24), "
4163 "delimited by white space (up to a total line length of 128 bytes)."
4167 #: build/C/man5/core.5:240
4169 "The command-line arguments can include any of the % specifiers listed "
4170 "above. For example, to pass the PID of the process that is being dumped, "
4171 "specify I<%p> in an argument."
4175 #: build/C/man5/core.5:240
4177 msgid "Controlling which mappings are written to the core dump"
4181 #: build/C/man5/core.5:246
4183 "Since kernel 2.6.23, the Linux-specific I</proc/PID/coredump_filter> file "
4184 "can be used to control which memory segments are written to the core dump "
4185 "file in the event that a core dump is performed for the process with the "
4186 "corresponding process ID."
4190 #: build/C/man5/core.5:252
4192 "The value in the file is a bit mask of memory mapping types (see "
4193 "B<mmap>(2)). If a bit is set in the mask, then memory mappings of the "
4194 "corresponding type are dumped; otherwise they are not dumped. The bits in "
4195 "this file have the following meanings:"
4199 #: build/C/man5/core.5:255
4205 #: build/C/man5/core.5:258
4206 msgid "Dump anonymous private mappings."
4210 #: build/C/man5/core.5:258
4216 #: build/C/man5/core.5:261
4217 msgid "Dump anonymous shared mappings."
4221 #: build/C/man5/core.5:261
4227 #: build/C/man5/core.5:264
4228 msgid "Dump file-backed private mappings."
4232 #: build/C/man5/core.5:264
4237 #. file-backed shared mappings of course also update the underlying
4240 #: build/C/man5/core.5:269
4241 msgid "Dump file-backed shared mappings."
4245 #: build/C/man5/core.5:269
4247 msgid "bit 4 (since Linux 2.6.24)"
4251 #: build/C/man5/core.5:272
4252 msgid "Dump ELF headers."
4256 #: build/C/man5/core.5:272
4258 msgid "bit 5 (since Linux 2.6.28)"
4262 #: build/C/man5/core.5:275
4263 msgid "Dump private huge pages."
4267 #: build/C/man5/core.5:275
4269 msgid "bit 6 (since Linux 2.6.28)"
4273 #: build/C/man5/core.5:278
4274 msgid "Dump shared huge pages."
4278 #: build/C/man5/core.5:286
4280 "By default, the following bits are set: 0, 1, 4 (if the "
4281 "B<CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS> kernel configuration option is "
4282 "enabled), and 5. The value of this file is displayed in hexadecimal. (The "
4283 "default value is thus displayed as 33.)"
4287 #: build/C/man5/core.5:291
4289 "Memory-mapped I/O pages such as frame buffer are never dumped, and virtual "
4290 "DSO pages are always dumped, regardless of the I<coredump_filter> value."
4294 #: build/C/man5/core.5:301
4296 "A child process created via B<fork>(2) inherits its parent's "
4297 "I<coredump_filter> value; the I<coredump_filter> value is preserved across "
4302 #: build/C/man5/core.5:305
4304 "It can be useful to set I<coredump_filter> in the parent shell before "
4305 "running a program, for example:"
4309 #: build/C/man5/core.5:310
4312 "$B< echo 0x7 E<gt> /proc/self/coredump_filter>\n"
4313 "$B< ./some_program>\n"
4317 #: build/C/man5/core.5:316
4319 "This file is provided only if the kernel was built with the "
4320 "B<CONFIG_ELF_CORE> configuration option."
4324 #: build/C/man5/core.5:321
4326 "The B<gdb>(1) I<gcore> command can be used to obtain a core dump of a "
4330 #. Changed with commit 6409324b385f3f63a03645b4422e3be67348d922
4331 #. Always including the PID in the name of the core file made
4332 #. sense for LinuxThreads, where each thread had a unique PID,
4333 #. but doesn't seem to serve any purpose with NPTL, where all the
4334 #. threads in a process share the same PID (as POSIX.1 requires).
4335 #. Probably the behavior is maintained so that applications using
4336 #. LinuxThreads continue appending the PID (the kernel has no easy
4337 #. way of telling which threading implementation the user-space
4338 #. application is using). -- mtk, April 2006
4340 #: build/C/man5/core.5:344
4342 "In Linux versions up to and including 2.6.27, if a multithreaded process "
4343 "(or, more precisely, a process that shares its memory with another process "
4344 "by being created with the B<CLONE_VM> flag of B<clone>(2)) dumps core, then "
4345 "the process ID is always appended to the core filename, unless the process "
4346 "ID was already included elsewhere in the filename via a %p specification in "
4347 "I</proc/sys/kernel/core_pattern>. (This is primarily useful when employing "
4348 "the obsolete LinuxThreads implementation, where each thread of a process has "
4353 #: build/C/man5/core.5:344 build/C/man3/gnu_get_libc_version.3:51 build/C/man3/stdarg.3:300 build/C/man4/vcs.4:101
4359 #: build/C/man5/core.5:352
4361 "The program below can be used to demonstrate the use of the pipe syntax in "
4362 "the I</proc/sys/kernel/core_pattern> file. The following shell session "
4363 "demonstrates the use of this program (compiled to create an executable named "
4364 "I<core_pattern_pipe_test>):"
4368 #: build/C/man5/core.5:373
4371 "$B< cc -o core_pattern_pipe_test core_pattern_pipe_test.c>\n"
4374 "#B< echo \"|$PWD/core_pattern_pipe_test %p UID=%u GID=%g sig=%s\" E<gt> "
4376 "B</proc/sys/kernel/core_pattern>\n"
4379 "B<^\\e> # type control-backslash\n"
4380 "Quit (core dumped)\n"
4381 "$B< cat core.info>\n"
4383 "argc[0]=E<lt>/home/mtk/core_pattern_pipe_testE<gt>\n"
4384 "argc[1]=E<lt>20575E<gt>\n"
4385 "argc[2]=E<lt>UID=1000E<gt>\n"
4386 "argc[3]=E<lt>GID=100E<gt>\n"
4387 "argc[4]=E<lt>sig=3E<gt>\n"
4388 "Total bytes in core dump: 282624\n"
4392 #: build/C/man5/core.5:375 build/C/man3/gnu_get_libc_version.3:61
4394 msgid "Program source"
4398 #: build/C/man5/core.5:379
4400 msgid "/* core_pattern_pipe_test.c */\n"
4404 #: build/C/man5/core.5:387
4407 "#define _GNU_SOURCE\n"
4408 "#include E<lt>sys/stat.hE<gt>\n"
4409 "#include E<lt>fcntl.hE<gt>\n"
4410 "#include E<lt>limits.hE<gt>\n"
4411 "#include E<lt>stdio.hE<gt>\n"
4412 "#include E<lt>stdlib.hE<gt>\n"
4413 "#include E<lt>unistd.hE<gt>\n"
4417 #: build/C/man5/core.5:389
4419 msgid "#define BUF_SIZE 1024\n"
4423 #: build/C/man5/core.5:398
4427 "main(int argc, char *argv[])\n"
4431 " char buf[BUF_SIZE];\n"
4433 " char cwd[PATH_MAX];\n"
4437 #: build/C/man5/core.5:401
4440 " /* Change our current working directory to that of the\n"
4441 " crashing process */\n"
4445 #: build/C/man5/core.5:404
4448 " snprintf(cwd, PATH_MAX, \"/proc/%s/cwd\", argv[1]);\n"
4453 #: build/C/man5/core.5:406
4455 msgid " /* Write output to file \"core.info\" in that directory */\n"
4459 #: build/C/man5/core.5:410
4462 " fp = fopen(\"core.info\", \"w+\");\n"
4463 " if (fp == NULL)\n"
4464 " exit(EXIT_FAILURE);\n"
4468 #: build/C/man5/core.5:413
4471 " /* Display command-line arguments given to core_pattern\n"
4472 " pipe program */\n"
4476 #: build/C/man5/core.5:417
4479 " fprintf(fp, \"argc=%d\\en\", argc);\n"
4480 " for (j = 0; j E<lt> argc; j++)\n"
4481 " fprintf(fp, \"argc[%d]=E<lt>%sE<gt>\\en\", j, argv[j]);\n"
4485 #: build/C/man5/core.5:419
4487 msgid " /* Count bytes in standard input (the core dump) */\n"
4491 #: build/C/man5/core.5:424
4495 " while ((nread = read(STDIN_FILENO, buf, BUF_SIZE)) E<gt> 0)\n"
4497 " fprintf(fp, \"Total bytes in core dump: %d\\en\", tot);\n"
4501 #: build/C/man5/core.5:428
4505 " exit(EXIT_SUCCESS);\n"
4510 #: build/C/man5/core.5:440
4512 "B<bash>(1), B<gdb>(1), B<getrlimit>(2), B<mmap>(2), B<prctl>(2), "
4513 "B<sigaction>(2), B<elf>(5), B<proc>(5), B<pthreads>(7), B<signal>(7)"
4517 #: build/C/man4/cpuid.4:26
4523 #: build/C/man4/cpuid.4:26 build/C/man4/msr.4:26
4529 #: build/C/man4/cpuid.4:29
4530 msgid "cpuid - x86 CPUID access device"
4534 #: build/C/man4/cpuid.4:31
4535 msgid "CPUID provides an interface for querying information about the x86 CPU."
4539 #: build/C/man4/cpuid.4:38
4541 "This device is accessed by B<lseek>(2) or B<pread>(2) to the appropriate "
4542 "CPUID level and reading in chunks of 16 bytes. A larger read size means "
4543 "multiple reads of consecutive levels."
4547 #: build/C/man4/cpuid.4:47
4549 "The lower 32 bits of the file position is used as the incoming I<%eax>, and "
4550 "the upper 32 bits of the file position as the incoming I<%ecx>, the latter "
4551 "intended for \"counting\" I<eax> levels like I<eax=4>."
4555 #: build/C/man4/cpuid.4:57
4557 "This driver uses I</dev/cpu/CPUNUM/cpuid>, where I<CPUNUM> is the minor "
4558 "number, and on an SMP box will direct the access to CPU I<CPUNUM> as listed "
4559 "in I</proc/cpuinfo>."
4563 #: build/C/man4/cpuid.4:62
4565 "This file is protected so that it can be read only by the user I<root>, or "
4566 "members of the group I<root>."
4570 #: build/C/man4/cpuid.4:67
4572 "The CPUID instruction can be directly executed by a program using inline "
4573 "assembler. However this device allows convenient access to all CPUs without "
4574 "changing process affinity."
4578 #: build/C/man4/cpuid.4:76
4580 "Most of the information in I<cpuid> is reported by the kernel in cooked form "
4581 "either in I</proc/cpuinfo> or through subdirectories in "
4582 "I</sys/devices/system/cpu>. Direct CPUID access through this device should "
4583 "only be used in exceptional cases."
4587 #: build/C/man4/cpuid.4:82
4589 "The I<cpuid> driver is not auto-loaded. On modular kernels you might need "
4590 "to use the following command to load it explicitly before use:"
4594 #: build/C/man4/cpuid.4:84
4596 msgid " $ I<modprobe cpuid>\n"
4600 #: build/C/man4/cpuid.4:87
4602 "There is no support for CPUID functions that require additional input "
4607 #: build/C/man4/cpuid.4:89
4608 msgid "Very old x86 CPUs don't support CPUID."
4612 #: build/C/man4/cpuid.4:93
4614 "Intel Corporation, Intel 64 and IA-32 Architectures Software Developer's "
4615 "Manual Volume 2A: Instruction Set Reference, A-M, 3-180 CPUID reference."
4619 #: build/C/man4/cpuid.4:96
4621 "Intel Corporation, Intel Processor Identification and the CPUID Instruction, "
4622 "Application note 485."
4626 #: build/C/man4/dsp56k.4:27
4632 #: build/C/man4/dsp56k.4:30
4633 msgid "dsp56k - DSP56001 interface device"
4637 #: build/C/man4/dsp56k.4:33
4639 msgid "#include E<lt>asm/dsp56k.hE<gt>\n"
4643 #: build/C/man4/dsp56k.4:36
4646 "B<ssize_t read(int >I<fd>B<, void *>I<data>B<, size_t >I<length>B<);>\n"
4647 "B<ssize_t write(int >I<fd>B<, void *>I<data>B<, size_t >I<length>B<);>\n"
4651 #: build/C/man4/dsp56k.4:42
4654 "B<int ioctl(int >I<fd>B<, DSP56K_UPLOAD, struct dsp56k_upload "
4655 "*>I<program>B<);>\n"
4656 "B<int ioctl(int >I<fd>B<, DSP56K_SET_TX_WSIZE, int >I<wsize>B<);>\n"
4657 "B<int ioctl(int >I<fd>B<, DSP56K_SET_RX_WSIZE, int >I<wsize>B<);>\n"
4658 "B<int ioctl(int >I<fd>B<, DSP56K_HOST_FLAGS, struct dsp56k_host_flags "
4660 "B<int ioctl(int >I<fd>B<, DSP56K_HOST_CMD, int >I<cmd>B<);>\n"
4664 #: build/C/man4/dsp56k.4:43 build/C/man4/fd.4:31 build/C/man4/full.4:29 build/C/man4/initrd.4:38 build/C/man4/lp.4:32 build/C/man4/mouse.4:29 build/C/man4/sd.4:34
4666 msgid "CONFIGURATION"
4670 #: build/C/man4/dsp56k.4:46
4672 "The dsp56k device is a character device with major number 55 and minor "
4677 #: build/C/man4/dsp56k.4:52
4679 "The Motorola DSP56001 is a fully programmable 24-bit digital signal "
4680 "processor found in Atari Falcon030-compatible computers. The I<dsp56k> "
4681 "special file is used to control the DSP56001, and to send and receive data "
4682 "using the bidirectional handshaked host port."
4686 #: build/C/man4/dsp56k.4:62
4688 "To send a data stream to the signal processor, use B<write>(2) to the "
4689 "device, and B<read>(2) to receive processed data. The data can be sent or "
4690 "received in 8, 16, 24, or 32-bit quantities on the host side, but will "
4691 "always be seen as 24-bit quantities in the DSP56001."
4695 #: build/C/man4/dsp56k.4:67
4696 msgid "The following B<ioctl>(2) calls are used to control the I<dsp56k> device:"
4700 #: build/C/man4/dsp56k.4:67
4702 msgid "B<DSP56K_UPLOAD>"
4706 #: build/C/man4/dsp56k.4:74
4708 "resets the DSP56001 and uploads a program. The third B<ioctl>(2) argument "
4709 "must be a pointer to a I<struct dsp56k_binary> with members I<bin> pointing "
4710 "to a DSP56001 binary program, and I<len> set to the length of the program, "
4711 "counted in 24-bit words."
4715 #: build/C/man4/dsp56k.4:74
4717 msgid "B<DSP56K_SET_TX_WSIZE>"
4721 #: build/C/man4/dsp56k.4:82
4723 "sets the transmit word size. Allowed values are in the range 1 to 4, and is "
4724 "the number of bytes that will be sent at a time to the DSP56001. These data "
4725 "quantities will either be padded with zero bytes, or truncated to fit the "
4726 "native 24-bit data format of the DSP56001."
4730 #: build/C/man4/dsp56k.4:82
4732 msgid "B<DSP56K_SET_RX_WSIZE>"
4736 #: build/C/man4/dsp56k.4:89
4738 "sets the receive word size. Allowed values are in the range 1 to 4, and is "
4739 "the number of bytes that will be received at a time from the DSP56001. "
4740 "These data quantities will either truncated, or padded with a null byte "
4741 "(\\(aq\\e0\\(aq) to fit the native 24-bit data format of the DSP56001."
4745 #: build/C/man4/dsp56k.4:89
4747 msgid "B<DSP56K_HOST_FLAGS>"
4751 #: build/C/man4/dsp56k.4:96
4753 "read and write the host flags. The host flags are four general-purpose bits "
4754 "that can be read by both the hosting computer and the DSP56001. Bits 0 and "
4755 "1 can be written by the host, and bits 2 and 3 can be written by the "
4760 #: build/C/man4/dsp56k.4:106
4762 "To access the host flags, the third B<ioctl>(2) argument must be a pointer "
4763 "to a I<struct dsp56k_host_flags>. If bit 0 or 1 is set in the I<dir> "
4764 "member, the corresponding bit in I<out> will be written to the host flags. "
4765 "The state of all host flags will be returned in the lower four bits of the "
4770 #: build/C/man4/dsp56k.4:106
4772 msgid "B<DSP56K_HOST_CMD>"
4776 #: build/C/man4/dsp56k.4:110
4778 "sends a host command. Allowed values are in the range 0 to 31, and is a "
4779 "user-defined command handled by the program running in the DSP56001."
4783 #. Fredrik Noring <noring@nocrew.org>, lars brinkhoff <lars@nocrew.org>,
4784 #. Tomas Berndtsson <tomas@nocrew.org>.
4786 #: build/C/man4/dsp56k.4:115
4791 #: build/C/man4/dsp56k.4:121
4793 "I<linux/include/asm-m68k/dsp56k.h>, I<linux/drivers/char/dsp56k.c>, E<.UR "
4794 "http://dsp56k.nocrew.org/> E<.UE ,> DSP56000/DSP56001 Digital Signal "
4795 "Processor User's Manual"
4799 #: build/C/man4/fd.4:28
4805 #: build/C/man4/fd.4:28
4811 #: build/C/man4/fd.4:31
4812 msgid "fd - floppy disk device"
4816 #: build/C/man4/fd.4:48
4818 "Floppy drives are block devices with major number 2. Typically they are "
4819 "owned by I<root.floppy> (i.e., user root, group floppy) and have either mode "
4820 "0660 (access checking via group membership) or mode 0666 (everybody has "
4821 "access). The minor numbers encode the device type, drive number, and "
4822 "controller number. For each device type (that is, combination of density "
4823 "and track count) there is a base minor number. To this base number, add "
4824 "the drive's number on its controller and 128 if the drive is on the "
4825 "secondary controller. In the following device tables, I<n> represents the "
4830 #: build/C/man4/fd.4:55
4832 "B<Warning: If you use formats with more tracks than supported by your drive, "
4833 "you may cause it mechanical damage.> Trying once if more tracks than the "
4834 "usual 40/80 are supported should not damage it, but no warranty is given for "
4835 "that. If you are not sure, don't create device entries for those formats, "
4836 "so as to prevent their usage."
4840 #: build/C/man4/fd.4:58
4842 "Drive-independent device files which automatically detect the media format "
4847 #: build/C/man4/fd.4:60
4849 msgid "Name\tBase minor #\n"
4853 #: build/C/man4/fd.4:61 build/C/man4/fd.4:69 build/C/man4/fd.4:77 build/C/man4/fd.4:94 build/C/man4/fd.4:106 build/C/man4/fd.4:125
4859 #: build/C/man4/fd.4:62
4861 msgid "B<fd>I<n>\t0\n"
4865 #: build/C/man4/fd.4:66
4866 msgid "5.25 inch double-density device files:"
4870 #: build/C/man4/fd.4:68 build/C/man4/fd.4:76 build/C/man4/fd.4:93 build/C/man4/fd.4:105 build/C/man4/fd.4:124
4872 msgid "Name\tCapac.\tCyl.\tSect.\tHeads\tBase minor #\n"
4876 #: build/C/man4/fd.4:70
4878 msgid "B<fd>I<n>B<d360>\t360K\t40\t9\t2\t4\n"
4882 #: build/C/man4/fd.4:74
4883 msgid "5.25 inch high-density device files:"
4887 #: build/C/man4/fd.4:78
4889 msgid "B<fd>I<n>B<h360>\t360K\t40\t9\t2\t20\n"
4893 #: build/C/man4/fd.4:79
4895 msgid "B<fd>I<n>B<h410>\t410K\t41\t10\t2\t48\n"
4899 #: build/C/man4/fd.4:80
4901 msgid "B<fd>I<n>B<h420>\t420K\t42\t10\t2\t64\n"
4905 #: build/C/man4/fd.4:81
4907 msgid "B<fd>I<n>B<h720>\t720K\t80\t9\t2\t24\n"
4911 #: build/C/man4/fd.4:82
4913 msgid "B<fd>I<n>B<h880>\t880K\t80\t11\t2\t80\n"
4917 #: build/C/man4/fd.4:83
4919 msgid "B<fd>I<n>B<h1200>\t1200K\t80\t15\t2\t8\n"
4923 #: build/C/man4/fd.4:84
4925 msgid "B<fd>I<n>B<h1440>\t1440K\t80\t18\t2\t40\n"
4929 #: build/C/man4/fd.4:85
4931 msgid "B<fd>I<n>B<h1476>\t1476K\t82\t18\t2\t56\n"
4935 #: build/C/man4/fd.4:86
4937 msgid "B<fd>I<n>B<h1494>\t1494K\t83\t18\t2\t72\n"
4941 #: build/C/man4/fd.4:87
4943 msgid "B<fd>I<n>B<h1600>\t1600K\t80\t20\t2\t92\n"
4947 #: build/C/man4/fd.4:91
4948 msgid "3.5 inch double-density device files:"
4952 #: build/C/man4/fd.4:95
4954 msgid "B<fd>I<n>B<u360>\t360K\t80\t9\t1\t12\n"
4958 #: build/C/man4/fd.4:96 build/C/man4/fd.4:108
4960 msgid "B<fd>I<n>B<u720>\t720K\t80\t9\t2\t16\n"
4964 #: build/C/man4/fd.4:97
4966 msgid "B<fd>I<n>B<u800>\t800K\t80\t10\t2\t120\n"
4970 #: build/C/man4/fd.4:98
4972 msgid "B<fd>I<n>B<u1040>\t1040K\t80\t13\t2\t84\n"
4976 #: build/C/man4/fd.4:99
4978 msgid "B<fd>I<n>B<u1120>\t1120K\t80\t14\t2\t88\n"
4982 #: build/C/man4/fd.4:103
4983 msgid "3.5 inch high-density device files:"
4987 #: build/C/man4/fd.4:107
4989 msgid "B<fd>I<n>B<u360>\t360K\t40\t9\t2\t12\n"
4993 #: build/C/man4/fd.4:109
4995 msgid "B<fd>I<n>B<u820>\t820K\t82\t10\t2\t52\n"
4999 #: build/C/man4/fd.4:110
5001 msgid "B<fd>I<n>B<u830>\t830K\t83\t10\t2\t68\n"
5005 #: build/C/man4/fd.4:111
5007 msgid "B<fd>I<n>B<u1440>\t1440K\t80\t18\t2\t28\n"
5011 #: build/C/man4/fd.4:112
5013 msgid "B<fd>I<n>B<u1600>\t1600K\t80\t20\t2\t124\n"
5017 #: build/C/man4/fd.4:113
5019 msgid "B<fd>I<n>B<u1680>\t1680K\t80\t21\t2\t44\n"
5023 #: build/C/man4/fd.4:114
5025 msgid "B<fd>I<n>B<u1722>\t1722K\t82\t21\t2\t60\n"
5029 #: build/C/man4/fd.4:115
5031 msgid "B<fd>I<n>B<u1743>\t1743K\t83\t21\t2\t76\n"
5035 #: build/C/man4/fd.4:116
5037 msgid "B<fd>I<n>B<u1760>\t1760K\t80\t22\t2\t96\n"
5041 #: build/C/man4/fd.4:117
5043 msgid "B<fd>I<n>B<u1840>\t1840K\t80\t23\t2\t116\n"
5047 #: build/C/man4/fd.4:118
5049 msgid "B<fd>I<n>B<u1920>\t1920K\t80\t24\t2\t100\n"
5053 #: build/C/man4/fd.4:122
5054 msgid "3.5 inch extra-density device files:"
5058 #: build/C/man4/fd.4:126
5060 msgid "B<fd>I<n>B<u2880>\t2880K\t80\t36\t2\t32\n"
5064 #: build/C/man4/fd.4:127
5066 msgid "B<fd>I<n>B<CompaQ>\t2880K\t80\t36\t2\t36\n"
5070 #: build/C/man4/fd.4:128
5072 msgid "B<fd>I<n>B<u3200>\t3200K\t80\t40\t2\t104\n"
5076 #: build/C/man4/fd.4:129
5078 msgid "B<fd>I<n>B<u3520>\t3520K\t80\t44\t2\t108\n"
5082 #: build/C/man4/fd.4:130
5084 msgid "B<fd>I<n>B<u3840>\t3840K\t80\t48\t2\t112\n"
5088 #: build/C/man4/fd.4:137
5090 "B<fd> special files access the floppy disk drives in raw mode. The "
5091 "following B<ioctl>(2) calls are supported by B<fd> devices:"
5095 #: build/C/man4/fd.4:137
5101 #: build/C/man4/fd.4:139
5102 msgid "clears the media information of a drive (geometry of disk in drive)."
5106 #: build/C/man4/fd.4:139
5112 #: build/C/man4/fd.4:143
5114 "sets the media information of a drive. The media information will be lost "
5115 "when the media is changed."
5119 #: build/C/man4/fd.4:143
5125 #: build/C/man4/fd.4:149
5127 "sets the media information of a drive (geometry of disk in drive). The "
5128 "media information will not be lost when the media is changed. This will "
5129 "disable autodetection. In order to reenable autodetection, you have to "
5130 "issue an B<FDCLRPRM>."
5134 #: build/C/man4/fd.4:149 build/C/man4/fd.4:161
5136 msgid "B<FDGETDRVTYP>"
5140 #: build/C/man4/fd.4:154
5142 "returns the type of a drive (name parameter). For formats which work in "
5143 "several drive types, B<FDGETDRVTYP> returns a name which is appropriate for "
5144 "the oldest drive type which supports this format."
5148 #: build/C/man4/fd.4:154
5154 #: build/C/man4/fd.4:156
5155 msgid "invalidates the buffer cache for the given drive."
5159 #: build/C/man4/fd.4:156 build/C/man4/fd.4:159
5161 msgid "B<FDSETMAXERRS>"
5165 #: build/C/man4/fd.4:159
5167 "sets the error thresholds for reporting errors, aborting the operation, "
5168 "recalibrating, resetting, and reading sector by sector."
5172 #: build/C/man4/fd.4:161
5173 msgid "gets the current error thresholds."
5177 #: build/C/man4/fd.4:163
5178 msgid "gets the internal name of the drive."
5182 #: build/C/man4/fd.4:163
5184 msgid "B<FDWERRORCLR>"
5188 #: build/C/man4/fd.4:165
5189 msgid "clears the write error statistics."
5193 #: build/C/man4/fd.4:165
5195 msgid "B<FDWERRORGET>"
5199 #: build/C/man4/fd.4:172
5201 "reads the write error statistics. These include the total number of write "
5202 "errors, the location and disk of the first write error, and the location and "
5203 "disk of the last write error. Disks are identified by a generation number "
5204 "which is incremented at (almost) each disk change."
5208 #: build/C/man4/fd.4:172
5210 msgid "B<FDTWADDLE>"
5214 #: build/C/man4/fd.4:176
5216 "Switch the drive motor off for a few microseconds. This might be needed in "
5217 "order to access a disk whose sectors are too close together."
5221 #: build/C/man4/fd.4:176
5223 msgid "B<FDSETDRVPRM>"
5227 #: build/C/man4/fd.4:178
5228 msgid "sets various drive parameters."
5232 #: build/C/man4/fd.4:178
5234 msgid "B<FDGETDRVPRM>"
5238 #: build/C/man4/fd.4:180
5239 msgid "reads these parameters back."
5243 #: build/C/man4/fd.4:180
5245 msgid "B<FDGETDRVSTAT>"
5249 #: build/C/man4/fd.4:182
5250 msgid "gets the cached drive state (disk changed, write protected et al.)"
5254 #: build/C/man4/fd.4:182
5256 msgid "B<FDPOLLDRVSTAT>"
5260 #: build/C/man4/fd.4:184
5261 msgid "polls the drive and return its state."
5265 #: build/C/man4/fd.4:184
5267 msgid "B<FDGETFDCSTAT>"
5271 #: build/C/man4/fd.4:186
5272 msgid "gets the floppy controller state."
5276 #: build/C/man4/fd.4:186
5282 #: build/C/man4/fd.4:188
5283 msgid "resets the floppy controller under certain conditions."
5287 #: build/C/man4/fd.4:188
5293 #: build/C/man4/fd.4:190
5294 msgid "sends a raw command to the floppy controller."
5298 #: build/C/man4/fd.4:195
5300 "For more precise information, consult also the I<E<lt>linux/fd.hE<gt>> and "
5301 "I<E<lt>linux/fdreg.hE<gt>> include files, as well as the B<floppycontrol>(1) "
5306 #: build/C/man4/fd.4:197
5311 #: build/C/man4/fd.4:203
5313 "The various formats permit reading and writing many types of disks. "
5314 "However, if a floppy is formatted with an inter-sector gap that is too "
5315 "small, performance may drop, to the point of needing a few seconds to access "
5316 "an entire track. To prevent this, use interleaved formats."
5320 #: build/C/man4/fd.4:207
5322 "It is not possible to read floppies which are formatted using GCR (group "
5323 "code recording), which is used by Apple II and Macintosh computers (800k "
5328 #. Alain Knaff (Alain.Knaff@imag.fr), David Niemi
5329 #. (niemidc@clark.net), Bill Broadhurst (bbroad@netcom.com).
5331 #: build/C/man4/fd.4:214
5333 "Reading floppies which are hard sectored (one hole per sector, with the "
5334 "index hole being a little skewed) is not supported. This used to be common "
5335 "with older 8-inch floppies."
5339 #: build/C/man4/fd.4:222
5341 "B<chown>(1), B<floppycontrol>(1), B<getfdprm>(1), B<mknod>(1), "
5342 "B<superformat>(1), B<mount>(8), B<setfdprm>(8)"
5346 #: build/C/man7/fifo.7:13
5352 #: build/C/man7/fifo.7:13
5358 #: build/C/man7/fifo.7:16
5359 msgid "fifo - first-in first-out special file, named pipe"
5363 #: build/C/man7/fifo.7:28
5365 "A FIFO special file (a named pipe) is similar to a pipe, except that it is "
5366 "accessed as part of the filesystem. It can be opened by multiple processes "
5367 "for reading or writing. When processes are exchanging data via the FIFO, "
5368 "the kernel passes all data internally without writing it to the filesystem. "
5369 "Thus, the FIFO special file has no contents on the filesystem; the "
5370 "filesystem entry merely serves as a reference point so that processes can "
5371 "access the pipe using a name in the filesystem."
5375 #: build/C/man7/fifo.7:35
5377 "The kernel maintains exactly one pipe object for each FIFO special file that "
5378 "is opened by at least one process. The FIFO must be opened on both ends "
5379 "(reading and writing) before data can be passed. Normally, opening the "
5380 "FIFO blocks until the other end is opened also."
5384 #: build/C/man7/fifo.7:44
5386 "A process can open a FIFO in nonblocking mode. In this case, opening for "
5387 "read-only will succeed even if no-one has opened on the write side yet, "
5388 "opening for write-only will fail with B<ENXIO> (no such device or address) "
5389 "unless the other end has already been opened."
5393 #: build/C/man7/fifo.7:54
5395 "Under Linux, opening a FIFO for read and write will succeed both in blocking "
5396 "and nonblocking mode. POSIX leaves this behavior undefined. This can be "
5397 "used to open a FIFO for writing while there are no readers available. A "
5398 "process that uses both ends of the connection in order to communicate with "
5399 "itself should be very careful to avoid deadlocks."
5403 #: build/C/man7/fifo.7:59
5405 "When a process tries to write to a FIFO that is not opened for read on the "
5406 "other side, the process is sent a B<SIGPIPE> signal."
5410 #: build/C/man7/fifo.7:65
5412 "FIFO special files can be created by B<mkfifo>(3), and are indicated by I<ls "
5413 "-l> with the file type \\(aqp\\(aq."
5417 #: build/C/man7/fifo.7:74
5419 "B<mkfifo>(1), B<open>(2), B<pipe>(2), B<sigaction>(2), B<signal>(2), "
5420 "B<socketpair>(2), B<mkfifo>(3), B<pipe>(7)"
5424 #: build/C/man4/full.4:26
5430 #: build/C/man4/full.4:26
5436 #: build/C/man4/full.4:29
5437 msgid "full - always full device"
5441 #: build/C/man4/full.4:34
5443 "If your system does not have I</dev/full> created already, it can be created "
5444 "with the following commands:"
5448 #: build/C/man4/full.4:38
5451 " mknod -m 666 /dev/full c 1 7\n"
5452 " chown root:root /dev/full\n"
5456 #: build/C/man4/full.4:44
5457 msgid "File I</dev/full> has major device number 1 and minor device number 7."
5461 #: build/C/man4/full.4:51
5463 "Writes to the I</dev/full> device will fail with an B<ENOSPC> error. This "
5464 "can be used to test how a program handles disk-full errors."
5468 #: build/C/man4/full.4:55
5469 msgid "Reads from the I</dev/full> device will return \\e0 characters."
5473 #: build/C/man4/full.4:59
5474 msgid "Seeks on I</dev/full> will always succeed."
5478 #: build/C/man4/full.4:61
5483 #: build/C/man4/full.4:65
5484 msgid "B<mknod>(1), B<null>(4), B<zero>(4)"
5488 #: build/C/man3/gnu_get_libc_version.3:26
5490 msgid "GNU_GET_LIBC_VERSION"
5494 #: build/C/man3/gnu_get_libc_version.3:26
5500 #: build/C/man3/gnu_get_libc_version.3:29
5501 msgid "gnu_get_libc_version, gnu_get_libc_release - get glibc version and release"
5505 #: build/C/man3/gnu_get_libc_version.3:32
5507 msgid "B<#include E<lt>gnu/libc-version.hE<gt>>\n"
5511 #: build/C/man3/gnu_get_libc_version.3:35
5514 "B<const char *gnu_get_libc_version(void);>\n"
5515 "B<const char *gnu_get_libc_release(void);>\n"
5519 #: build/C/man3/gnu_get_libc_version.3:40
5521 "The function B<gnu_get_libc_version>() returns a string that identifies the "
5522 "glibc version available on the system."
5526 #: build/C/man3/gnu_get_libc_version.3:47
5528 "The function B<gnu_get_libc_release>() returns a string indicates the "
5529 "release status of the glibc version available on the system. This will be a "
5530 "string such as I<stable>."
5534 #: build/C/man3/gnu_get_libc_version.3:47 build/C/man3/mkfifo.3:178 build/C/man2/mknod.2:240 build/C/man4/vcs.4:99
5540 #: build/C/man3/gnu_get_libc_version.3:49
5541 msgid "These functions first appeared in glibc in version 2.1."
5545 #: build/C/man3/gnu_get_libc_version.3:49 build/C/man3/makedev.3:62 build/C/man3/mkfifo.3:191 build/C/man2/mknod.2:244 build/C/man3/setlogmask.3:75 build/C/man3/stdarg.3:238 build/C/man2/syslog.2:377 build/C/man3/syslog.3:252 build/C/man7/uri.7:584
5547 msgid "CONFORMING TO"
5551 #: build/C/man3/gnu_get_libc_version.3:51
5552 msgid "These functions are glibc-specific."
5556 #: build/C/man3/gnu_get_libc_version.3:53
5557 msgid "When run, the program below will produce output such as the following:"
5561 #: build/C/man3/gnu_get_libc_version.3:59
5565 "GNU libc version: 2.8\n"
5566 "GNU libc release: stable\n"
5570 #: build/C/man3/gnu_get_libc_version.3:67
5573 "#include E<lt>gnu/libc-version.hE<gt>\n"
5574 "#include E<lt>stdlib.hE<gt>\n"
5575 "#include E<lt>stdio.hE<gt>\n"
5579 #: build/C/man3/gnu_get_libc_version.3:75
5583 "main(int argc, char *argv[])\n"
5585 " printf(\"GNU libc version: %s\\en\", gnu_get_libc_version());\n"
5586 " printf(\"GNU libc release: %s\\en\", gnu_get_libc_release());\n"
5587 " exit(EXIT_SUCCESS);\n"
5592 #: build/C/man3/gnu_get_libc_version.3:78
5593 msgid "B<confstr>(3)"
5597 #: build/C/man4/hd.4:29
5603 #: build/C/man4/hd.4:29
5609 #: build/C/man4/hd.4:32
5610 msgid "hd - MFM/IDE hard disk devices"
5614 #: build/C/man4/hd.4:47
5616 "The B<hd*> devices are block devices to access MFM/IDE hard disk drives in "
5617 "raw mode. The master drive on the primary IDE controller (major device "
5618 "number 3) is B<hda>; the slave drive is B<hdb>. The master drive of the "
5619 "second controller (major device number 22) is B<hdc> and the slave is "
5624 #: build/C/man4/hd.4:71
5626 "General IDE block device names have the form B<hd>I<X>, or B<hd>I<XP>, where "
5627 "I<X> is a letter denoting the physical drive, and I<P> is a number denoting "
5628 "the partition on that physical drive. The first form, B<hd>I<X>, is used to "
5629 "address the whole drive. Partition numbers are assigned in the order the "
5630 "partitions are discovered, and only nonempty, nonextended partitions get a "
5631 "number. However, partition numbers 1-4 are given to the four partitions "
5632 "described in the MBR (the \"primary\" partitions), regardless of whether "
5633 "they are unused or extended. Thus, the first logical partition will be "
5634 "B<hd>I<X>B<5>\\&. Both DOS-type partitioning and BSD-disklabel partitioning "
5635 "are supported. You can have at most 63 partitions on an IDE disk."
5639 #: build/C/man4/hd.4:77
5641 "For example, I</dev/hda> refers to all of the first IDE drive in the system; "
5642 "and I</dev/hdb3> refers to the third DOS \"primary\" partition on the second "
5647 #: build/C/man4/hd.4:79 build/C/man4/ttyS.4:34
5648 msgid "They are typically created by:"
5652 #: build/C/man4/hd.4:82
5653 msgid "mknod -m 660 /dev/hda b 3 0"
5657 #: build/C/man4/hd.4:84
5658 msgid "mknod -m 660 /dev/hda1 b 3 1"
5662 #: build/C/man4/hd.4:86
5663 msgid "mknod -m 660 /dev/hda2 b 3 2"
5667 #: build/C/man4/hd.4:88 build/C/man4/hd.4:98
5672 #: build/C/man4/hd.4:90
5673 msgid "mknod -m 660 /dev/hda8 b 3 8"
5677 #: build/C/man4/hd.4:92
5678 msgid "mknod -m 660 /dev/hdb b 3 64"
5682 #: build/C/man4/hd.4:94
5683 msgid "mknod -m 660 /dev/hdb1 b 3 65"
5687 #: build/C/man4/hd.4:96
5688 msgid "mknod -m 660 /dev/hdb2 b 3 66"
5692 #: build/C/man4/hd.4:100
5693 msgid "mknod -m 660 /dev/hdb8 b 3 72"
5697 #: build/C/man4/hd.4:102
5698 msgid "chown root:disk /dev/hd*"
5702 #: build/C/man4/hd.4:105
5707 #: build/C/man4/hd.4:110
5708 msgid "B<chown>(1), B<mknod>(1), B<sd>(4), B<mount>(8)"
5712 #: build/C/man4/hpsa.4:10
5718 #: build/C/man4/hpsa.4:13
5719 msgid "hpsa - HP Smart Array SCSI driver"
5723 #: build/C/man4/hpsa.4:16
5725 msgid "modprobe hpsa [ hpsa_allow_any=1 ]\n"
5729 #: build/C/man4/hpsa.4:20
5730 msgid "B<hpsa> is a SCSI driver for HP Smart Array RAID controllers."
5734 #: build/C/man4/hpsa.4:39
5736 "I<hpsa_allow_any=1>: This option allows the driver to attempt to operate on "
5737 "any HP Smart Array hardware RAID controller, even if it is not explicitly "
5738 "known to the driver. This allows newer hardware to work with older "
5739 "drivers. Typically this is used to allow installation of operating systems "
5740 "from media that predates the RAID controller, though it may also be used to "
5741 "enable B<hpsa> to drive older controllers that would normally be handled by "
5742 "the B<cciss>(4) driver. These older boards have not been tested and are "
5743 "not supported with B<hpsa>, and B<cciss>(4) should still be used for these."
5747 #: build/C/man4/hpsa.4:43
5748 msgid "The B<hpsa> driver supports the following Smart Array boards:"
5752 #: build/C/man4/hpsa.4:54
5755 " Smart Array P700M\n"
5756 " Smart Array P212\n"
5757 " Smart Array P410\n"
5758 " Smart Array P410i\n"
5759 " Smart Array P411\n"
5760 " Smart Array P812\n"
5761 " Smart Array P712m\n"
5762 " Smart Array P711m\n"
5763 " StorageWorks P1210m\n"
5767 #: build/C/man4/hpsa.4:78
5769 "Logical drives are accessed via the SCSI disk driver (B<sd>(4)), tape drives "
5770 "via the SCSI tape driver (B<st>(4)), and the RAID controller via the SCSI "
5771 "generic driver (B<sg>(4)), with device nodes named I</dev/sd*>, I</dev/st*>, "
5772 "and I</dev/sg*>, respectively."
5776 #: build/C/man4/hpsa.4:78
5778 msgid "HPSA-specific host attribute files in /sys"
5782 #: build/C/man4/hpsa.4:79
5784 msgid "I</sys/class/scsi_host/host*/rescan>"
5788 #: build/C/man4/hpsa.4:93
5790 "This is a write-only attribute. Writing to this attribute will cause the "
5791 "driver to scan for new, changed, or removed devices (e.g,. hot-plugged tape "
5792 "drives, or newly configured or deleted logical drives, etc.) and notify the "
5793 "SCSI midlayer of any changes detected. Normally a rescan is triggered "
5794 "automatically by HP's Array Configuration Utility (either the GUI or the "
5795 "command-line variety); thus, for logical drive changes, the user should not "
5796 "normally have to use this attribute. This attribute may be useful when hot "
5797 "plugging devices like tape drives, or entire storage boxes containing "
5798 "preconfigured logical drives."
5802 #: build/C/man4/hpsa.4:93
5804 msgid "I</sys/class/scsi_host/host*/firmware_revision>"
5808 #: build/C/man4/hpsa.4:96
5809 msgid "This attribute contains the firmware version of the Smart Array."
5813 #: build/C/man4/hpsa.4:98
5814 msgid "For example:"
5818 #: build/C/man4/hpsa.4:103
5821 " # B<cd /sys/class/scsi_host/host4>\n"
5822 " # B<cat firmware_revision>\n"
5827 #: build/C/man4/hpsa.4:104
5829 msgid "HPSA-specific disk attribute files in /sys"
5833 #: build/C/man4/hpsa.4:105
5835 msgid "I</sys/class/scsi_disk/c:b:t:l/device/unique_id>"
5839 #: build/C/man4/hpsa.4:108
5840 msgid "This attribute contains a 32 hex-digit unique ID for each logical drive."
5844 #: build/C/man4/hpsa.4:111 build/C/man4/hpsa.4:122 build/C/man4/hpsa.4:136
5846 msgid "For example:\n"
5850 #: build/C/man4/hpsa.4:115
5853 " # B<cd /sys/class/scsi_disk/4:0:0:0/device>\n"
5854 " # B<cat unique_id>\n"
5855 " 600508B1001044395355323037570F77\n"
5859 #: build/C/man4/hpsa.4:116
5861 msgid "I</sys/class/scsi_disk/c:b:t:l/device/raid_level>"
5865 #: build/C/man4/hpsa.4:119
5866 msgid "This attribute contains the RAID level of each logical drive."
5870 #: build/C/man4/hpsa.4:126
5873 " # B<cd /sys/class/scsi_disk/4:0:0:0/device>\n"
5874 " # B<cat raid_level>\n"
5879 #: build/C/man4/hpsa.4:127
5881 msgid "I</sys/class/scsi_disk/c:b:t:l/device/lunid>"
5885 #: build/C/man4/hpsa.4:133
5887 "This attribute contains the 16 hex-digit (8 byte) LUN ID by which a logical "
5888 "drive or physical device can be addressed. I<c>:I<b>:I<t>:I<l> are the "
5889 "controller, bus, target, and lun of the device."
5893 #: build/C/man4/hpsa.4:140
5896 " # B<cd /sys/class/scsi_disk/4:0:0:0/device>\n"
5898 " 0x0000004000000000\n"
5902 #: build/C/man4/hpsa.4:141
5904 msgid "Supported ioctl() operations"
5908 #: build/C/man4/hpsa.4:153
5910 "For compatibility with applications written for the B<cciss>(4) driver, "
5911 "many, but not all of the ioctls supported by the B<cciss>(4) driver are "
5912 "also supported by the B<hpsa> driver. The data structures used by these "
5913 "ioctls are described in the Linux kernel source file "
5914 "I<include/linux/cciss_ioctl.h>."
5918 #: build/C/man4/hpsa.4:153
5920 msgid "B<CCISS_DEREGDISK>, B<CCISS_REGNEWDISK>, B<CCISS_REGNEWD>"
5924 #: build/C/man4/hpsa.4:159
5926 "These three ioctls all do exactly the same thing, which is to cause the "
5927 "driver to rescan for new devices. This does exactly the same thing as "
5928 "writing to the hpsa-specific host \"rescan\" attribute."
5932 #: build/C/man4/hpsa.4:159
5934 msgid "B<CCISS_GETPCIINFO>"
5938 #: build/C/man4/hpsa.4:162
5940 "Returns PCI domain, bus, device and function and \"board ID\" (PCI subsystem "
5945 #: build/C/man4/hpsa.4:162
5947 msgid "B<CCISS_GETDRIVVER>"
5951 #: build/C/man4/hpsa.4:165
5952 msgid "Returns driver version in three bytes encoded as:"
5956 #: build/C/man4/hpsa.4:168
5959 " (major_version E<lt>E<lt> 16) | (minor_version E<lt>E<lt> 8) |\n"
5960 " (subminor_version)\n"
5964 #: build/C/man4/hpsa.4:168
5966 msgid "B<CCISS_PASSTHRU>, B<CCISS_BIG_PASSTHRU>"
5970 #: build/C/man4/hpsa.4:179
5972 "Allows \"BMIC\" and \"CISS\" commands to be passed through to the Smart "
5973 "Array. These are used extensively by the HP Array Configuration Utility, "
5974 "SNMP storage agents, and so on. See I<cciss_vol_status> at E<.UR "
5975 "http://cciss.sf.net> E<.UE> for some examples."
5979 #: build/C/man4/hpsa.4:186
5981 "B<cciss>(4), B<sd>(4), B<st>(4), B<cciss_vol_status>(8), B<hpacucli>(8), "
5986 #. Don Brace, Steve Cameron, Tom Lawler, Mike Miller, Scott Teel
5987 #. and probably some other people.
5989 #: build/C/man4/hpsa.4:197
5991 "E<.UR http://cciss.sf.net> E<.UE ,> and I<Documentation/scsi/hpsa.txt> and "
5992 "I<Documentation/ABI/testing/sysfs-bus-pci-devices-cciss> in the Linux kernel "
5997 #: build/C/man4/initrd.4:35
6003 #: build/C/man4/initrd.4:35 build/C/man4/st.4:25
6009 #: build/C/man4/initrd.4:38
6010 msgid "initrd - boot loader initialized RAM disk"
6014 #: build/C/man4/initrd.4:51
6016 "The I</dev/initrd> is a read-only block device assigned major number 1 and "
6017 "minor number 250. Typically I</dev/initrd> is owned by I<root.disk> with "
6018 "mode 0400 (read access by root only). If the Linux system does not have "
6019 "I</dev/initrd> already created, it can be created with the following "
6024 #: build/C/man4/initrd.4:56
6028 " mknod -m 400 /dev/initrd b 1 250\n"
6029 " chown root:disk /dev/initrd>\n"
6034 #: build/C/man4/initrd.4:71
6036 "Also, support for both \"RAM disk\" and \"Initial RAM disk\" (e.g., "
6037 "B<CONFIG_BLK_DEV_RAM=y> and B<CONFIG_BLK_DEV_INITRD=y>) must be compiled "
6038 "directly into the Linux kernel to use I</dev/initrd>. When using "
6039 "I</dev/initrd>, the RAM disk driver cannot be loaded as a module."
6043 #: build/C/man4/initrd.4:80
6045 "The special file I</dev/initrd> is a read-only block device. This device is "
6046 "a RAM disk that is initialized (e.g., loaded) by the boot loader before the "
6047 "kernel is started. The kernel then can use I</dev/initrd>'s contents for a "
6048 "two-phase system boot-up."
6052 #: build/C/man4/initrd.4:93
6054 "In the first boot-up phase, the kernel starts up and mounts an initial root "
6055 "filesystem from the contents of I</dev/initrd> (e.g., RAM disk initialized "
6056 "by the boot loader). In the second phase, additional drivers or other "
6057 "modules are loaded from the initial root device's contents. After loading "
6058 "the additional modules, a new root filesystem (i.e., the normal root "
6059 "filesystem) is mounted from a different device."
6063 #: build/C/man4/initrd.4:93
6065 msgid "Boot-up operation"
6069 #: build/C/man4/initrd.4:97
6070 msgid "When booting up with B<initrd>, the system boots as follows:"
6074 #: build/C/man4/initrd.4:101
6076 "The boot loader loads the kernel program and I</dev/initrd>'s contents into "
6081 #: build/C/man4/initrd.4:109
6083 "On kernel startup, the kernel uncompresses and copies the contents of the "
6084 "device I</dev/initrd> onto device I</dev/ram0> and then frees the memory "
6085 "used by I</dev/initrd>."
6089 #: build/C/man4/initrd.4:109 build/C/man4/initrd.4:339 build/C/man4/initrd.4:458 build/C/man4/st.4:919
6095 #: build/C/man4/initrd.4:113
6097 "The kernel then read-write mounts the device I</dev/ram0> as the initial "
6102 #: build/C/man4/initrd.4:113 build/C/man4/initrd.4:343 build/C/man4/st.4:926
6108 #: build/C/man4/initrd.4:118
6110 "If the indicated normal root filesystem is also the initial root filesystem "
6111 "(e.g., I</dev/ram0>) then the kernel skips to the last step for the usual "
6116 #: build/C/man4/initrd.4:118 build/C/man4/initrd.4:349 build/C/man4/st.4:931
6122 #: build/C/man4/initrd.4:130
6124 "If the executable file I</linuxrc> is present in the initial root "
6125 "filesystem, I</linuxrc> is executed with UID 0. (The file I</linuxrc> must "
6126 "have executable permission. The file I</linuxrc> can be any valid "
6127 "executable, including a shell script.)"
6131 #: build/C/man4/initrd.4:130 build/C/man4/initrd.4:358
6137 #: build/C/man4/initrd.4:142
6139 "If I</linuxrc> is not executed or when I</linuxrc> terminates, the normal "
6140 "root filesystem is mounted. (If I</linuxrc> exits with any filesystems "
6141 "mounted on the initial root filesystem, then the behavior of the kernel is "
6142 "B<UNSPECIFIED>. See the NOTES section for the current kernel behavior.)"
6146 #: build/C/man4/initrd.4:142 build/C/man4/initrd.4:360
6152 #: build/C/man4/initrd.4:173
6154 "If the normal root filesystem has a directory I</initrd>, the device "
6155 "I</dev/ram0> is moved from I</> to I</initrd>. Otherwise, if the directory "
6156 "I</initrd> does not exist, the device I</dev/ram0> is unmounted. (When "
6157 "moved from I</> to I</initrd>, I</dev/ram0> is not unmounted and therefore "
6158 "processes can remain running from I</dev/ram0>. If directory I</initrd> "
6159 "does not exist on the normal root filesystem and any processes remain "
6160 "running from I</dev/ram0> when I</linuxrc> exits, the behavior of the kernel "
6161 "is B<UNSPECIFIED>. See the NOTES section for the current kernel behavior.)"
6165 #: build/C/man4/initrd.4:173 build/C/man4/initrd.4:363
6171 #: build/C/man4/initrd.4:180
6173 "The usual boot sequence (e.g., invocation of I</sbin/init>) is performed on "
6174 "the normal root filesystem."
6178 #: build/C/man4/initrd.4:184
6180 "The following boot loader options, when used with B<initrd>, affect the "
6181 "kernel's boot-up operation:"
6185 #: build/C/man4/initrd.4:184
6187 msgid "B<initrd=>I<filename>"
6191 #: build/C/man4/initrd.4:199
6193 "Specifies the file to load as the contents of I</dev/initrd>. For "
6194 "B<LOADLIN> this is a command-line option. For B<LILO> you have to use this "
6195 "command in the B<LILO> configuration file I</etc/lilo.config>. The filename "
6196 "specified with this option will typically be a gzipped filesystem image."
6200 #: build/C/man4/initrd.4:199
6206 #: build/C/man4/initrd.4:214
6208 "This boot option disables the two-phase boot-up operation. The kernel "
6209 "performs the usual boot sequence as if I</dev/initrd> was not initialized. "
6210 "With this option, any contents of I</dev/initrd> loaded into memory by the "
6211 "boot loader contents are preserved. This option permits the contents of "
6212 "I</dev/initrd> to be any data and need not be limited to a filesystem "
6213 "image. However, device I</dev/initrd> is read-only and can be read only one "
6214 "time after system startup."
6218 #: build/C/man4/initrd.4:214
6220 msgid "B<root=>I<device-name>"
6224 #: build/C/man4/initrd.4:232
6226 "Specifies the device to be used as the normal root filesystem. For "
6227 "B<LOADLIN> this is a command-line option. For B<LILO> this is a boot time "
6228 "option or can be used as an option line in the B<LILO> configuration file "
6229 "I</etc/lilo.config>. The device specified by the this option must be a "
6230 "mountable device having a suitable root filesystem."
6234 #: build/C/man4/initrd.4:232
6236 msgid "Changing the normal root filesystem"
6240 #: build/C/man4/initrd.4:252
6242 "By default, the kernel's settings (e.g., set in the kernel file with "
6243 "B<rdev>(8) or compiled into the kernel file), or the boot loader option "
6244 "setting is used for the normal root filesystems. For an NFS-mounted normal "
6245 "root filesystem, one has to use the B<nfs_root_name> and B<nfs_root_addrs> "
6246 "boot options to give the NFS settings. For more information on NFS-mounted "
6247 "root see the kernel documentation file "
6248 "B<Documentation/filesystems/nfsroot.txt>. For more information on setting "
6249 "the root filesystem see also the B<LILO> and B<LOADLIN> documentation."
6253 #: build/C/man4/initrd.4:284
6255 "It is also possible for the I</linuxrc> executable to change the normal root "
6256 "device. For I</linuxrc> to change the normal root device, I</proc> must be "
6257 "mounted. After mounting I</proc>, I</linuxrc> changes the normal root "
6258 "device by writing into the proc files I</proc/sys/kernel/real-root-dev>, "
6259 "I</proc/sys/kernel/nfs-root-name>, and I</proc/sys/kernel/nfs-root-addrs>. "
6260 "For a physical root device, the root device is changed by having I</linuxrc> "
6261 "write the new root filesystem device number into "
6262 "I</proc/sys/kernel/real-root-dev>. For an NFS root filesystem, the root "
6263 "device is changed by having I</linuxrc> write the NFS setting into files "
6264 "I</proc/sys/kernel/nfs-root-name> and I</proc/sys/kernel/nfs-root-addrs> and "
6265 "then writing 0xff (e.g., the pseudo-NFS-device number) into file "
6266 "I</proc/sys/kernel/real-root-dev>. For example, the following shell command "
6267 "line would change the normal root device to I</dev/hdb1>:"
6271 #: build/C/man4/initrd.4:287
6273 msgid " echo 0x365 E<gt>/proc/sys/kernel/real-root-dev\n"
6277 #: build/C/man4/initrd.4:294
6279 "For an NFS example, the following shell command lines would change the "
6280 "normal root device to the NFS directory I</var/nfsroot> on a local networked "
6281 "NFS server with IP number 193.8.232.7 for a system with IP number "
6282 "193.8.232.2 and named \"idefix\":"
6286 #: build/C/man4/initrd.4:300
6289 " echo /var/nfsroot E<gt>/proc/sys/kernel/nfs-root-name\n"
6290 " echo 193.8.232.2:193.8.232.7::255.255.255.0:idefix \\e\n"
6291 " E<gt>/proc/sys/kernel/nfs-root-addrs\n"
6292 " echo 255 E<gt>/proc/sys/kernel/real-root-dev\n"
6295 #. FIXME . Should this manual page describe the pivot_root mechanism?
6297 #: build/C/man4/initrd.4:317
6299 "B<Note>: The use of I</proc/sys/kernel/real-root-dev> to change the root "
6300 "filesystem is obsolete. See the Linux kernel source file "
6301 "I<Documentation/initrd.txt> as well as B<pivot_root>(2) and "
6302 "B<pivot_root>(8) for information on the modern method of changing the root "
6307 #: build/C/man4/initrd.4:317 build/C/man4/random.4:91 build/C/man7/uri.7:109
6313 #: build/C/man4/initrd.4:321
6315 "The main motivation for implementing B<initrd> was to allow for modular "
6316 "kernel configuration at system installation."
6320 #: build/C/man4/initrd.4:323
6321 msgid "A possible system installation scenario is as follows:"
6325 #: build/C/man4/initrd.4:331
6327 "The loader program boots from floppy or other media with a minimal kernel "
6328 "(e.g., support for I</dev/ram>, I</dev/initrd>, and the ext2 filesystem) and "
6329 "loads I</dev/initrd> with a gzipped version of the initial filesystem."
6333 #: build/C/man4/initrd.4:339
6335 "The executable I</linuxrc> determines what is needed to (1) mount the normal "
6336 "root filesystem (i.e., device type, device drivers, filesystem) and (2) the "
6337 "distribution media (e.g., CD-ROM, network, tape, ...). This can be done by "
6338 "asking the user, by auto-probing, or by using a hybrid approach."
6342 #: build/C/man4/initrd.4:343
6344 "The executable I</linuxrc> loads the necessary modules from the initial root "
6349 #: build/C/man4/initrd.4:349
6351 "The executable I</linuxrc> creates and populates the root filesystem. (At "
6352 "this stage the normal root filesystem does not have to be a completed system "
6357 #: build/C/man4/initrd.4:358
6359 "The executable I</linuxrc> sets I</proc/sys/kernel/real-root-dev>, unmount "
6360 "I</proc>, the normal root filesystem and any other filesystems it has "
6361 "mounted, and then terminates."
6365 #: build/C/man4/initrd.4:360
6366 msgid "The kernel then mounts the normal root filesystem."
6370 #: build/C/man4/initrd.4:363
6372 "Now that the filesystem is accessible and intact, the boot loader can be "
6377 #: build/C/man4/initrd.4:372
6379 "The boot loader is configured to load into I</dev/initrd> a filesystem with "
6380 "the set of modules that was used to bring up the system. (e.g., Device "
6381 "I</dev/ram0> can be modified, then unmounted, and finally, the image is "
6382 "written from I</dev/ram0> to a file.)"
6386 #: build/C/man4/initrd.4:372
6392 #: build/C/man4/initrd.4:375
6394 "The system is now bootable and additional installation tasks can be "
6399 #: build/C/man4/initrd.4:381
6401 "The key role of I</dev/initrd> in the above is to reuse the configuration "
6402 "data during normal system operation without requiring initial kernel "
6403 "selection, a large generic kernel or, recompiling the kernel."
6407 #: build/C/man4/initrd.4:394
6409 "A second scenario is for installations where Linux runs on systems with "
6410 "different hardware configurations in a single administrative network. In "
6411 "such cases, it may be desirable to use only a small set of kernels (ideally "
6412 "only one) and to keep the system-specific part of configuration information "
6413 "as small as possible. In this case, create a common file with all needed "
6414 "modules. Then, only the I</linuxrc> file or a file executed by I</linuxrc> "
6415 "would be different."
6419 #: build/C/man4/initrd.4:401
6421 "A third scenario is more convenient recovery disks. Because information "
6422 "like the location of the root filesystem partition is not needed at boot "
6423 "time, the system loaded from I</dev/initrd> can use a dialog and/or "
6424 "auto-detection followed by a possible sanity check."
6428 #: build/C/man4/initrd.4:418
6430 "Last but not least, Linux distributions on CD-ROM may use B<initrd> for easy "
6431 "installation from the CD-ROM. The distribution can use B<LOADLIN> to "
6432 "directly load I</dev/initrd> from CD-ROM without the need of any floppies. "
6433 "The distribution could also use a B<LILO> boot floppy and then bootstrap a "
6434 "bigger RAM disk via I</dev/initrd> from the CD-ROM."
6438 #: build/C/man4/initrd.4:420
6439 msgid "I</dev/initrd>"
6443 #: build/C/man4/initrd.4:422
6444 msgid "I</dev/ram0>"
6448 #: build/C/man4/initrd.4:424
6453 #: build/C/man4/initrd.4:429
6458 #: build/C/man4/initrd.4:441
6460 "With the current kernel, any filesystems that remain mounted when "
6461 "I</dev/ram0> is moved from I</> to I</initrd> continue to be accessible. "
6462 "However, the I</proc/mounts> entries are not updated."
6466 #: build/C/man4/initrd.4:458
6468 "With the current kernel, if directory I</initrd> does not exist, then "
6469 "I</dev/ram0> will B<not> be fully unmounted if I</dev/ram0> is used by any "
6470 "process or has any filesystem mounted on it. If I</dev/ram0> is B<not> "
6471 "fully unmounted, then I</dev/ram0> will remain in memory."
6478 #. The kernel code for device
6480 #. was written by Werner Almesberger <almesber@lrc.epfl.ch> and
6481 #. Hans Lermen <lermen@elserv.ffm.fgan.de>.
6484 #. was added to the baseline Linux kernel in development version 1.3.73.
6486 #: build/C/man4/initrd.4:474
6488 "Users of I</dev/initrd> should not depend on the behavior give in the above "
6489 "notes. The behavior may change in future versions of the Linux kernel."
6493 #: build/C/man4/initrd.4:480
6494 msgid "B<chown>(1), B<mknod>(1), B<ram>(4), B<freeramdisk>(8), B<rdev>(8)"
6498 #: build/C/man4/initrd.4:484
6500 "I<Documentation/initrd.txt> in the Linux kernel source tree, the LILO "
6501 "documentation, the LOADLIN documentation, the SYSLINUX documentation"
6505 #: build/C/man4/lp.4:27
6511 #: build/C/man4/lp.4:27
6517 #: build/C/man4/lp.4:30
6518 msgid "lp - line printer devices"
6522 #: build/C/man4/lp.4:32
6523 msgid "B<#include E<lt>linux/lp.hE<gt>>"
6527 #: build/C/man4/lp.4:43
6529 "B<lp>[0\\(en2] are character devices for the parallel line printers; they "
6530 "have major number 6 and minor number 0\\(en2. The minor numbers correspond "
6531 "to the printer port base addresses 0x03bc, 0x0378 and 0x0278. Usually they "
6532 "have mode 220 and are owned by root and group lp. You can use printer ports "
6533 "either with polling or with interrupts. Interrupts are recommended when "
6534 "high traffic is expected, for example, for laser printers. For usual dot "
6535 "matrix printers polling will usually be enough. The default is polling."
6539 #: build/C/man4/lp.4:47
6540 msgid "The following B<ioctl>(2) calls are supported:"
6544 #: build/C/man4/lp.4:47
6546 msgid "B<int ioctl(int >I<fd>B<, LPTIME, int >I<arg>B<)>"
6550 #: build/C/man4/lp.4:56
6552 "Sets the amount of time that the driver sleeps before rechecking the printer "
6553 "when the printer's buffer appears to be filled to I<arg>. If you have a "
6554 "fast printer, decrease this number; if you have a slow printer, then "
6555 "increase it. This is in hundredths of a second, the default 2 being 0.02 "
6556 "seconds. It only influences the polling driver."
6560 #: build/C/man4/lp.4:56
6562 msgid "B<int ioctl(int >I<fd>B<, LPCHAR, int >I<arg>B<)>"
6566 #: build/C/man4/lp.4:64
6568 "Sets the maximum number of busy-wait iterations which the polling driver "
6569 "does while waiting for the printer to get ready for receiving a character to "
6570 "I<arg>. If printing is too slow, increase this number; if the system gets "
6571 "too slow, decrease this number. The default is 1000. It only influences "
6572 "the polling driver."
6576 #: build/C/man4/lp.4:64
6578 msgid "B<int ioctl(int >I<fd>B<, LPABORT, int >I<arg>B<)>"
6582 #: build/C/man4/lp.4:70
6584 "If I<arg> is 0, the printer driver will retry on errors, otherwise it will "
6585 "abort. The default is 0."
6589 #: build/C/man4/lp.4:70
6591 msgid "B<int ioctl(int >I<fd>B<, LPABORTOPEN, int >I<arg>B<)>"
6595 #: build/C/man4/lp.4:77
6597 "If I<arg> is 0, B<open>(2) will be aborted on error, otherwise error will "
6598 "be ignored. The default is to ignore it."
6602 #: build/C/man4/lp.4:77
6604 msgid "B<int ioctl(int >I<fd>B<, LPCAREFUL, int >I<arg>B<)>"
6608 #: build/C/man4/lp.4:83
6610 "If I<arg> is 0, then the out-of-paper, offline and error signals are "
6611 "required to be false on all writes, otherwise they are ignored. The default "
6612 "is to ignore them."
6616 #: build/C/man4/lp.4:83
6618 msgid "B<int ioctl(int >I<fd>B<, LPWAIT, int >I<arg>B<)>"
6622 #: build/C/man4/lp.4:94
6624 "Sets the number of busy waiting iterations to wait before strobing the "
6625 "printer to accept a just-written character, and the number of iterations to "
6626 "wait before turning the strobe off again, to I<arg>. The specification says "
6627 "this time should be 0.5 microseconds, but experience has shown the delay "
6628 "caused by the code is already enough. For that reason, the default value is "
6629 "0. This is used for both the polling and the interrupt driver."
6633 #: build/C/man4/lp.4:94
6635 msgid "B<int ioctl(int >I<fd>B<, LPSETIRQ, int >I<arg>B<)>"
6639 #: build/C/man4/lp.4:105
6641 "This B<ioctl>(2) requires superuser privileges. It takes an I<int> "
6642 "containing the new IRQ as argument. As a side effect, the printer will be "
6643 "reset. When I<arg> is 0, the polling driver will be used, which is also "
6648 #: build/C/man4/lp.4:105
6650 msgid "B<int ioctl(int >I<fd>B<, LPGETIRQ, int *>I<arg>B<)>"
6654 #: build/C/man4/lp.4:108
6655 msgid "Stores the currently used IRQ in I<arg>."
6659 #: build/C/man4/lp.4:108
6661 msgid "B<int ioctl(int >I<fd>B<, LPGETSTATUS, int *>I<arg>B<)>"
6665 #: build/C/man4/lp.4:112
6667 "Stores the value of the status port in I<arg>. The bits have the following "
6672 #: build/C/man4/lp.4:114
6674 msgid "LP_PBUSY\tinverted busy input, active high\n"
6678 #: build/C/man4/lp.4:115
6680 msgid "LP_PACK\tunchanged acknowledge input, active low\n"
6684 #: build/C/man4/lp.4:116
6686 msgid "LP_POUTPA\tunchanged out-of-paper input, active high\n"
6690 #: build/C/man4/lp.4:117
6692 msgid "LP_PSELECD\tunchanged selected input, active high\n"
6696 #: build/C/man4/lp.4:118
6698 msgid "LP_PERRORP\tunchanged error input, active low\n"
6702 #: build/C/man4/lp.4:123
6704 "Refer to your printer manual for the meaning of the signals. Note that "
6705 "undocumented bits may also be set, depending on your printer."
6709 #: build/C/man4/lp.4:123
6711 msgid "B<int ioctl(int >I<fd>B<, LPRESET)>"
6715 #: build/C/man4/lp.4:126
6716 msgid "Resets the printer. No argument is used."
6720 #. The printer driver was originally written by Jim Weigand and Linus
6722 #. It was further improved by Michael K.\& Johnson.
6723 #. The interrupt code was written by Nigel Gamble.
6724 #. Alan Cox modularized it.
6725 #. LPCAREFUL, LPABORT, LPGETSTATUS were added by Chris Metcalf.
6727 #: build/C/man4/lp.4:135
6732 #: build/C/man4/lp.4:141
6733 msgid "B<chmod>(1), B<chown>(1), B<mknod>(1), B<lpcntl>(8), B<tunelp>(8)"
6737 #: build/C/man3/makedev.3:26
6743 #: build/C/man3/makedev.3:26
6749 #: build/C/man3/makedev.3:29
6750 msgid "makedev, major, minor - manage a device number"
6754 #: build/C/man3/makedev.3:33
6757 "B<#define _BSD_SOURCE> /* See feature_test_macros(7) */\n"
6758 "B<#include E<lt>sys/types.hE<gt>>\n"
6762 #: build/C/man3/makedev.3:35
6764 msgid "B<dev_t makedev(unsigned int >I<maj>B<, unsigned int >I<min>B<);>\n"
6768 #: build/C/man3/makedev.3:38
6771 "B<unsigned int major(dev_t >I<dev>B<);>\n"
6772 "B<unsigned int minor(dev_t >I<dev>B<);>\n"
6776 #: build/C/man3/makedev.3:45
6778 "A device ID consists of two parts: a major ID, identifying the class of the "
6779 "device, and a minor ID, identifying a specific instance of a device in that "
6780 "class. A device ID is represented using the type I<dev_t>."
6784 #: build/C/man3/makedev.3:52
6786 "Given major and minor device IDs, B<makedev>() combines these to produce a "
6787 "device ID, returned as the function result. This device ID can be given to "
6788 "B<mknod>(2), for example."
6792 #: build/C/man3/makedev.3:62
6794 "The B<major>() and B<minor>() functions perform the converse task: given a "
6795 "device ID, they return, respectively, the major and minor components. These "
6796 "macros can be useful to, for example, decompose the device IDs in the "
6797 "structure returned by B<stat>(2)."
6800 #. The BSDs, HP-UX, Solaris, AIX, Irix
6802 #: build/C/man3/makedev.3:71
6804 "The B<makedev>(), B<major>(), and B<minor>() functions are not specified in "
6805 "POSIX.1, but are present on many other systems."
6809 #: build/C/man3/makedev.3:80
6811 "These interfaces are defined as macros. Since glibc 2.3.3, they have been "
6812 "aliases for three GNU-specific functions: B<gnu_dev_makedev>(), "
6813 "B<gnu_dev_major>(), and B<gnu_dev_minor>(). The latter names are exported, "
6814 "but the traditional names are more portable."
6818 #: build/C/man3/makedev.3:83
6819 msgid "B<mknod>(2), B<stat>(2)"
6823 #: build/C/man4/mem.4:26
6829 #: build/C/man4/mem.4:26
6835 #: build/C/man4/mem.4:29
6836 msgid "mem, kmem, port - system memory, kernel memory and system ports"
6840 #: build/C/man4/mem.4:34
6842 "B<mem> is a character device file that is an image of the main memory of the "
6843 "computer. It may be used, for example, to examine (and even patch) the "
6848 #: build/C/man4/mem.4:39
6850 "Byte addresses in B<mem> are interpreted as physical memory addresses. "
6851 "References to nonexistent locations cause errors to be returned."
6855 #: build/C/man4/mem.4:42
6857 "Examining and patching is likely to lead to unexpected results when "
6858 "read-only or write-only bits are present."
6862 #: build/C/man4/mem.4:49
6864 "Since 2.6.26, and depending on the architecture, the B<CONFIG_STRICT_DEVMEM> "
6865 "kernel configuration option limits the areas which can be accessed through "
6866 "this file. For example: on x86, RAM access is not allowed but accessing "
6867 "memory-mapped PCI regions is."
6871 #: build/C/man4/mem.4:51 build/C/man4/mem.4:69 build/C/man4/mem.4:82 build/C/man4/ram.4:35
6872 msgid "It is typically created by:"
6876 #: build/C/man4/mem.4:54
6877 msgid "mknod -m 660 /dev/mem c 1 1"
6881 #: build/C/man4/mem.4:56
6882 msgid "chown root:kmem /dev/mem"
6886 #: build/C/man4/mem.4:67
6888 "The file B<kmem> is the same as B<mem>, except that the kernel virtual "
6889 "memory rather than physical memory is accessed. Since 2.6.26, this file is "
6890 "available only if the B<CONFIG_DEVKMEM> kernel configuration option is "
6895 #: build/C/man4/mem.4:72
6896 msgid "mknod -m 640 /dev/kmem c 1 2"
6900 #: build/C/man4/mem.4:74
6901 msgid "chown root:kmem /dev/kmem"
6905 #: build/C/man4/mem.4:80
6906 msgid "B<port> is similar to B<mem>, but the I/O ports are accessed."
6910 #: build/C/man4/mem.4:85
6911 msgid "mknod -m 660 /dev/port c 1 4"
6915 #: build/C/man4/mem.4:87
6916 msgid "chown root:kmem /dev/port"
6920 #: build/C/man4/mem.4:90
6925 #: build/C/man4/mem.4:92
6926 msgid "I</dev/kmem>"
6930 #: build/C/man4/mem.4:94
6931 msgid "I</dev/port>"
6935 #: build/C/man4/mem.4:98
6936 msgid "B<chown>(1), B<mknod>(1), B<ioperm>(2)"
6940 #: build/C/man3/mkfifo.3:28
6946 #: build/C/man3/mkfifo.3:28
6952 #: build/C/man3/mkfifo.3:28
6958 #: build/C/man3/mkfifo.3:31
6959 msgid "mkfifo, mkfifoat - make a FIFO special file (a named pipe)"
6963 #: build/C/man3/mkfifo.3:35
6966 "B<#include E<lt>sys/types.hE<gt>>\n"
6967 "B<#include E<lt>sys/stat.hE<gt>>\n"
6971 #: build/C/man3/mkfifo.3:37
6973 msgid "B<int mkfifo(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
6977 #: build/C/man3/mkfifo.3:40 build/C/man2/mknod.2:29
6980 "B<#include E<lt>fcntl.hE<gt> >/* Definition of AT_* constants */\n"
6981 "B<#include E<lt>sys/stat.hE<gt>>\n"
6985 #: build/C/man3/mkfifo.3:42
6988 "B<int mkfifoat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t "
6993 #: build/C/man3/mkfifo.3:47 build/C/man2/mknod.2:37 build/C/man3/syslog.3:55
6994 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
6998 #: build/C/man3/mkfifo.3:50
6999 msgid "B<mkfifoat>():"
7003 #: build/C/man3/mkfifo.3:53
7005 msgid "Since glibc 2.10:"
7009 #: build/C/man3/mkfifo.3:56
7010 msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
7014 #: build/C/man3/mkfifo.3:56
7016 msgid "Before glibc 2.10:"
7020 #: build/C/man3/mkfifo.3:59
7021 msgid "_ATFILE_SOURCE"
7025 #: build/C/man3/mkfifo.3:69
7027 "B<mkfifo>() makes a FIFO special file with name I<pathname>. I<mode> "
7028 "specifies the FIFO's permissions. It is modified by the process's B<umask> "
7029 "in the usual way: the permissions of the created file are B<(>I<mode>B< & "
7034 #: build/C/man3/mkfifo.3:76
7036 "A FIFO special file is similar to a pipe, except that it is created in a "
7037 "different way. Instead of being an anonymous communications channel, a FIFO "
7038 "special file is entered into the filesystem by calling B<mkfifo>()."
7042 #: build/C/man3/mkfifo.3:86
7044 "Once you have created a FIFO special file in this way, any process can open "
7045 "it for reading or writing, in the same way as an ordinary file. However, it "
7046 "has to be open at both ends simultaneously before you can proceed to do any "
7047 "input or output operations on it. Opening a FIFO for reading normally "
7048 "blocks until some other process opens the same FIFO for writing, and vice "
7049 "versa. See B<fifo>(7) for nonblocking handling of FIFO special files."
7053 #: build/C/man3/mkfifo.3:86
7059 #: build/C/man3/mkfifo.3:92
7061 "The B<mkfifoat>() function operates in exactly the same way as B<mkfifo>(), "
7062 "except for the differences described here."
7066 #: build/C/man3/mkfifo.3:102
7068 "If the pathname given in I<pathname> is relative, then it is interpreted "
7069 "relative to the directory referred to by the file descriptor I<dirfd> "
7070 "(rather than relative to the current working directory of the calling "
7071 "process, as is done by B<mkfifo>() for a relative pathname)."
7075 #: build/C/man3/mkfifo.3:114
7077 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
7078 "then I<pathname> is interpreted relative to the current working directory of "
7079 "the calling process (like B<mkfifo>())."
7083 #: build/C/man3/mkfifo.3:120 build/C/man2/mknod.2:144
7084 msgid "If I<pathname> is absolute, then I<dirfd> is ignored."
7088 #: build/C/man3/mkfifo.3:128
7090 "On success B<mkfifo>() and B<mkfifoat>() return 0. In the case of an "
7091 "error, -1 is returned (in which case, I<errno> is set appropriately)."
7095 #: build/C/man3/mkfifo.3:129 build/C/man2/mknod.2:157 build/C/man4/st.4:829
7101 #: build/C/man3/mkfifo.3:133
7103 "One of the directories in I<pathname> did not allow search (execute) "
7108 #: build/C/man3/mkfifo.3:133 build/C/man2/mknod.2:165
7114 #: build/C/man3/mkfifo.3:137 build/C/man2/mknod.2:169
7116 "The user's quota of disk blocks or inodes on the filesystem has been "
7121 #: build/C/man3/mkfifo.3:137 build/C/man2/mknod.2:169
7127 #: build/C/man3/mkfifo.3:143 build/C/man2/mknod.2:176
7129 "I<pathname> already exists. This includes the case where I<pathname> is a "
7130 "symbolic link, dangling or not."
7134 #: build/C/man3/mkfifo.3:143 build/C/man2/mknod.2:188
7136 msgid "B<ENAMETOOLONG>"
7140 #: build/C/man3/mkfifo.3:151
7142 "Either the total length of I<pathname> is greater than B<PATH_MAX>, or an "
7143 "individual filename component has a length greater than B<NAME_MAX>. In the "
7144 "GNU system, there is no imposed limit on overall filename length, but some "
7145 "filesystems may place limits on the length of a component."
7149 #: build/C/man3/mkfifo.3:151 build/C/man2/mknod.2:191
7155 #: build/C/man3/mkfifo.3:155 build/C/man2/mknod.2:196
7157 "A directory component in I<pathname> does not exist or is a dangling "
7162 #: build/C/man3/mkfifo.3:155 build/C/man2/mknod.2:199 build/C/man4/st.4:857
7168 #: build/C/man3/mkfifo.3:158
7169 msgid "The directory or filesystem has no room for the new file."
7173 #: build/C/man3/mkfifo.3:158 build/C/man3/mkfifo.3:172 build/C/man2/mknod.2:204 build/C/man2/mknod.2:234
7179 #: build/C/man3/mkfifo.3:162 build/C/man2/mknod.2:209
7180 msgid "A component used as a directory in I<pathname> is not, in fact, a directory."
7184 #: build/C/man3/mkfifo.3:162 build/C/man2/mknod.2:223 build/C/man4/st.4:872
7190 #: build/C/man3/mkfifo.3:165
7191 msgid "I<pathname> refers to a read-only filesystem."
7195 #: build/C/man3/mkfifo.3:168
7196 msgid "The following additional errors can occur for B<mkfifoat>():"
7200 #: build/C/man3/mkfifo.3:172 build/C/man2/mknod.2:234
7201 msgid "I<dirfd> is not a valid file descriptor."
7205 #: build/C/man3/mkfifo.3:178
7207 "I<pathname> is a relative path and I<dirfd> is a file descriptor referring "
7208 "to a file other than a directory."
7212 #: build/C/man3/mkfifo.3:184
7214 "B<mkfifoat>() was added to glibc in version 2.4. It is implemented using "
7215 "B<mknodat>(2), available on Linux since kernel 2.6.16."
7219 #: build/C/man3/mkfifo.3:184 build/C/man3/stdarg.3:229
7225 #: build/C/man3/mkfifo.3:185 build/C/man3/stdarg.3:230
7227 msgid "Multithreading (see pthreads(7))"
7231 #: build/C/man3/mkfifo.3:191
7232 msgid "The B<mkfifo>() and B<mkfifoat>() functions are thread-safe."
7236 #: build/C/man3/mkfifo.3:194
7237 msgid "B<mkfifo>(): POSIX.1-2001, POSIX.1-2008."
7241 #: build/C/man3/mkfifo.3:197
7242 msgid "B<mkfifoat>(): POSIX.1-2008."
7246 #: build/C/man3/mkfifo.3:206
7248 "B<mkfifo>(1), B<close>(2), B<open>(2), B<read>(2), B<stat>(2), B<umask>(2), "
7249 "B<write>(2), B<fifo>(7)"
7253 #: build/C/man2/mknod.2:15
7259 #: build/C/man2/mknod.2:15
7265 #: build/C/man2/mknod.2:18
7266 msgid "mknod, mknodat - create a special or ordinary file"
7270 #: build/C/man2/mknod.2:24
7273 "B<#include E<lt>sys/types.hE<gt>>\n"
7274 "B<#include E<lt>sys/stat.hE<gt>>\n"
7275 "B<#include E<lt>fcntl.hE<gt>>\n"
7276 "B<#include E<lt>unistd.hE<gt>>\n"
7280 #: build/C/man2/mknod.2:26
7283 "B<int mknod(const char *>I<pathname>B<, mode_t >I<mode>B<, dev_t "
7288 #: build/C/man2/mknod.2:32
7291 "B<int mknodat(int >I<dirfd>B<, const char *>I<pathname>B<, mode_t "
7292 ">I<mode>B<, dev_t >I<dev>B<);>\n"
7296 #: build/C/man2/mknod.2:40
7301 #: build/C/man2/mknod.2:44
7303 "_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || "
7304 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7308 #: build/C/man2/mknod.2:56
7310 "The system call B<mknod>() creates a filesystem node (file, device special "
7311 "file, or named pipe) named I<pathname>, with attributes specified by I<mode> "
7316 #: build/C/man2/mknod.2:63
7318 "The I<mode> argument specifies both the permissions to use and the type of "
7319 "node to be created. It should be a combination (using bitwise OR) of one of "
7320 "the file types listed below and the permissions for the new node."
7324 #: build/C/man2/mknod.2:68
7326 "The permissions are modified by the process's I<umask> in the usual way: the "
7327 "permissions of the created node are I<(mode & ~umask)>."
7330 #. (S_IFSOCK since Linux 1.2.4)
7332 #: build/C/man2/mknod.2:82
7334 "The file type must be one of B<S_IFREG>, B<S_IFCHR>, B<S_IFBLK>, B<S_IFIFO>, "
7335 "or B<S_IFSOCK> to specify a regular file (which will be created empty), "
7336 "character special file, block special file, FIFO (named pipe), or UNIX "
7337 "domain socket, respectively. (Zero file type is equivalent to type "
7342 #: build/C/man2/mknod.2:95
7344 "If the file type is B<S_IFCHR> or B<S_IFBLK>, then I<dev> specifies the "
7345 "major and minor numbers of the newly created device special file "
7346 "(B<makedev>(3) may be useful to build the value for I<dev>); otherwise it "
7351 #: build/C/man2/mknod.2:101
7353 "If I<pathname> already exists, or is a symbolic link, this call fails with "
7354 "an B<EEXIST> error."
7358 #: build/C/man2/mknod.2:110
7360 "The newly created node will be owned by the effective user ID of the "
7361 "process. If the directory containing the node has the set-group-ID bit set, "
7362 "or if the filesystem is mounted with BSD group semantics, the new node will "
7363 "inherit the group ownership from its parent directory; otherwise it will be "
7364 "owned by the effective group ID of the process."
7368 #: build/C/man2/mknod.2:110
7374 #: build/C/man2/mknod.2:116
7376 "The B<mknodat>() system call operates in exactly the same way as "
7377 "B<mknod>(2), except for the differences described here."
7381 #: build/C/man2/mknod.2:126
7383 "If the pathname given in I<pathname> is relative, then it is interpreted "
7384 "relative to the directory referred to by the file descriptor I<dirfd> "
7385 "(rather than relative to the current working directory of the calling "
7386 "process, as is done by B<mknod>(2) for a relative pathname)."
7390 #: build/C/man2/mknod.2:138
7392 "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
7393 "then I<pathname> is interpreted relative to the current working directory of "
7394 "the calling process (like B<mknod>(2))."
7398 #: build/C/man2/mknod.2:149
7399 msgid "See B<openat>(2) for an explanation of the need for B<mknodat>()."
7403 #: build/C/man2/mknod.2:156
7405 "B<mknod>() and B<mknodat>() return zero on success, or -1 if an error "
7406 "occurred (in which case, I<errno> is set appropriately)."
7410 #: build/C/man2/mknod.2:165
7412 "The parent directory does not allow write permission to the process, or one "
7413 "of the directories in the path prefix of I<pathname> did not allow search "
7414 "permission. (See also B<path_resolution>(7).)"
7418 #: build/C/man2/mknod.2:176 build/C/man4/st.4:838
7424 #: build/C/man2/mknod.2:179
7425 msgid "I<pathname> points outside your accessible address space."
7429 #: build/C/man2/mknod.2:184
7431 "I<mode> requested creation of something other than a regular file, device "
7432 "special file, FIFO or socket."
7436 #: build/C/man2/mknod.2:184
7442 #: build/C/man2/mknod.2:188
7443 msgid "Too many symbolic links were encountered in resolving I<pathname>."
7447 #: build/C/man2/mknod.2:191
7448 msgid "I<pathname> was too long."
7452 #: build/C/man2/mknod.2:196 build/C/man4/st.4:850
7458 #: build/C/man2/mknod.2:199
7459 msgid "Insufficient kernel memory was available."
7463 #: build/C/man2/mknod.2:204
7464 msgid "The device containing I<pathname> has no room for the new node."
7467 #. For UNIX domain sockets and regular files, EPERM is returned only in
7468 #. Linux 2.2 and earlier; in Linux 2.4 and later, unprivileged can
7469 #. use mknod() to make these files.
7471 #: build/C/man2/mknod.2:223
7473 "I<mode> requested creation of something other than a regular file, FIFO "
7474 "(named pipe), or UNIX domain socket, and the caller is not privileged "
7475 "(Linux: does not have the B<CAP_MKNOD> capability); also returned if the "
7476 "filesystem containing I<pathname> does not support the type of node "
7481 #: build/C/man2/mknod.2:227
7482 msgid "I<pathname> refers to a file on a read-only filesystem."
7486 #: build/C/man2/mknod.2:230
7487 msgid "The following additional errors can occur for B<mknodat>():"
7491 #: build/C/man2/mknod.2:240
7493 "I<pathname> is relative and I<dirfd> is a file descriptor referring to a "
7494 "file other than a directory."
7498 #: build/C/man2/mknod.2:244
7500 "B<mknodat>() was added to Linux in kernel 2.6.16; library support was added "
7501 "to glibc in version 2.4."
7504 #. The Linux version differs from the SVr4 version in that it
7505 #. does not require root permission to create pipes, also in that no
7506 #. EMULTIHOP, ENOLINK, or EINTR error is documented.
7508 #: build/C/man2/mknod.2:250
7509 msgid "B<mknod>(): SVr4, 4.4BSD, POSIX.1-2001 (but see below), POSIX.1-2008."
7513 #: build/C/man2/mknod.2:253
7514 msgid "B<mknodat>(): POSIX.1-2008."
7518 #: build/C/man2/mknod.2:271
7520 "POSIX.1-2001 says: \"The only portable use of B<mknod>() is to create a "
7521 "FIFO-special file. If I<mode> is not B<S_IFIFO> or I<dev> is not 0, the "
7522 "behavior of B<mknod>() is unspecified.\" However, nowadays one should never "
7523 "use B<mknod>() for this purpose; one should use B<mkfifo>(3), a function "
7524 "especially defined for this purpose."
7527 #. and one should make UNIX domain sockets with socket(2) and bind(2).
7529 #: build/C/man2/mknod.2:278
7531 "Under Linux, B<mknod>() cannot be used to create directories. One should "
7532 "make directories with B<mkdir>(2)."
7536 #: build/C/man2/mknod.2:284
7538 "There are many infelicities in the protocol underlying NFS. Some of these "
7539 "affect B<mknod>() and B<mknodat>(2)."
7543 #: build/C/man2/mknod.2:297
7545 "B<chmod>(2), B<chown>(2), B<fcntl>(2), B<mkdir>(2), B<mount>(2), "
7546 "B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<makedev>(3), "
7547 "B<mkfifo>(3), B<path_resolution>(7)"
7551 #: build/C/man4/mouse.4:26
7557 #: build/C/man4/mouse.4:26
7563 #: build/C/man4/mouse.4:29
7564 msgid "mouse - serial mouse interface"
7568 #: build/C/man4/mouse.4:33
7570 "Serial mice are connected to a serial RS232/V24 dialout line, see B<ttyS>(4) "
7571 "for a description."
7575 #: build/C/man4/mouse.4:34
7577 msgid "Introduction"
7581 #: build/C/man4/mouse.4:36
7582 msgid "The pinout of the usual 9 pin plug as used for serial mice is:"
7586 #: build/C/man4/mouse.4:39
7588 msgid "pin\tname\tused for\n"
7592 #: build/C/man4/mouse.4:40
7594 msgid "2\tRX\tData\n"
7598 #: build/C/man4/mouse.4:41
7600 msgid "3\tTX\t-12 V, Imax = 10 mA\n"
7604 #: build/C/man4/mouse.4:42
7606 msgid "4\tDTR\t+12 V, Imax = 10 mA\n"
7610 #: build/C/man4/mouse.4:43
7612 msgid "7\tRTS\t+12 V, Imax = 10 mA\n"
7616 #: build/C/man4/mouse.4:44
7618 msgid "5\tGND\tGround\n"
7622 #: build/C/man4/mouse.4:48
7623 msgid "This is the specification, in fact 9 V suffices with most mice."
7627 #: build/C/man4/mouse.4:54
7629 "The mouse driver can recognize a mouse by dropping RTS to low and raising it "
7630 "again. About 14 ms later the mouse will send 0x4D (\\(aqM\\(aq) on the data "
7631 "line. After a further 63 ms, a Microsoft-compatible 3-button mouse will "
7632 "send 0x33 (\\(aq3\\(aq)."
7636 #: build/C/man4/mouse.4:66
7638 "The relative mouse movement is sent as I<dx> (positive means right) and "
7639 "I<dy> (positive means down). Various mice can operate at different speeds. "
7640 "To select speeds, cycle through the speeds 9600, 4800, 2400, and 1200 bit/s, "
7641 "each time writing the two characters from the table below and waiting 0.1 "
7642 "seconds. The following table shows available speeds and the strings that "
7647 #: build/C/man4/mouse.4:69
7649 msgid "bit/s\tstring\n"
7653 #: build/C/man4/mouse.4:70
7659 #: build/C/man4/mouse.4:71
7665 #: build/C/man4/mouse.4:72
7671 #: build/C/man4/mouse.4:73
7677 #: build/C/man4/mouse.4:77
7678 msgid "The first byte of a data packet can be used to synchronization purposes."
7682 #: build/C/man4/mouse.4:77
7684 msgid "Microsoft protocol"
7688 #: build/C/man4/mouse.4:93
7690 "The B<Microsoft> protocol uses 1 start bit, 7 data bits, no parity and one "
7691 "stop bit at the speed of 1200 bits/sec. Data is sent to RxD in 3-byte "
7692 "packets. The I<dx> and I<dy> movements are sent as two's-complement, I<lb> "
7693 "(I<rb>) are set when the left (right) button is pressed:"
7697 #: build/C/man4/mouse.4:96
7699 msgid "byte\td6\td5\td4\td3\td2\td1\td0\n"
7703 #: build/C/man4/mouse.4:97
7705 msgid "1\t1\tlb\trb\tdy7\tdy6\tdx7\tdx6\n"
7709 #: build/C/man4/mouse.4:98
7711 msgid "2\t0\tdx5\tdx4\tdx3\tdx2\tdx1\tdx0\n"
7715 #: build/C/man4/mouse.4:99
7717 msgid "3\t0\tdy5\tdy4\tdy3\tdy2\tdy1\tdy0\n"
7721 #: build/C/man4/mouse.4:101
7723 msgid "3-button Microsoft protocol"
7727 #: build/C/man4/mouse.4:110
7729 "Original Microsoft mice only have two buttons. However, there are some "
7730 "three button mice which also use the Microsoft protocol. Pressing or "
7731 "releasing the middle button is reported by sending a packet with zero "
7732 "movement and no buttons pressed. (Thus, unlike for the other two buttons, "
7733 "the status of the middle button is not reported in each packet.)"
7737 #: build/C/man4/mouse.4:110
7739 msgid "Logitech protocol"
7743 #: build/C/man4/mouse.4:119
7745 "Logitech serial 3-button mice use a different extension of the Microsoft "
7746 "protocol: when the middle button is up, the above 3-byte packet is sent. "
7747 "When the middle button is down a 4-byte packet is sent, where the 4th byte "
7748 "has value 0x20 (or at least has the 0x20 bit set). In particular, a press "
7749 "of the middle button is reported as 0,0,0,0x20 when no other buttons are "
7754 #: build/C/man4/mouse.4:119
7756 msgid "Mousesystems protocol"
7760 #: build/C/man4/mouse.4:137
7762 "The B<Mousesystems> protocol uses 1 start bit, 8 data bits, no parity and "
7763 "two stop bits at the speed of 1200 bits/sec. Data is sent to RxD in 5-byte "
7764 "packets. I<dx> is sent as the sum of the two two's-complement values, I<dy> "
7765 "is send as negated sum of the two two's-complement values. I<lb> (I<mb>, "
7766 "I<rb>) are cleared when the left (middle, right) button is pressed:"
7770 #: build/C/man4/mouse.4:140 build/C/man4/mouse.4:175
7772 msgid "byte\td7\td6\td5\td4\td3\td2\td1\td0\n"
7776 #: build/C/man4/mouse.4:141
7778 msgid "1\t1\t0\t0\t0\t0\tlb\tmb\trb\n"
7782 #: build/C/man4/mouse.4:142
7784 msgid "2\t0\tdxa6\tdxa5\tdxa4\tdxa3\tdxa2\tdxa1\tdxa0\n"
7788 #: build/C/man4/mouse.4:143
7790 msgid "3\t0\tdya6\tdya5\tdya4\tdya3\tdya2\tdya1\tdya0\n"
7794 #: build/C/man4/mouse.4:144
7796 msgid "4\t0\tdxb6\tdxb5\tdxb4\tdxb3\tdxb2\tdxb1\tdxb0\n"
7800 #: build/C/man4/mouse.4:145
7802 msgid "5\t0\tdyb6\tdyb5\tdyb4\tdyb3\tdyb2\tdyb1\tdyb0\n"
7806 #: build/C/man4/mouse.4:150
7808 "Bytes 4 and 5 describe the change that occurred since bytes 2 and 3 were "
7813 #: build/C/man4/mouse.4:150
7815 msgid "Sun protocol"
7819 #: build/C/man4/mouse.4:155
7821 "The B<Sun> protocol is the 3-byte version of the above 5-byte Mousesystems "
7822 "protocol: the last two bytes are not sent."
7826 #: build/C/man4/mouse.4:155
7832 #: build/C/man4/mouse.4:172
7834 "The B<MM> protocol uses 1 start bit, 8 data bits, odd parity and one stop "
7835 "bit at the speed of 1200 bits/sec. Data is sent to RxD in 3-byte packets. "
7836 "I<dx> and I<dy> are sent as single signed values, the sign bit indicating a "
7837 "negative value. I<lb> (I<mb>, I<rb>) are set when the left (middle, right) "
7838 "button is pressed:"
7842 #: build/C/man4/mouse.4:176
7844 msgid "1\t1\t0\t0\tdxs\tdys\tlb\tmb\trb\n"
7848 #: build/C/man4/mouse.4:177
7850 msgid "2\t0\tdx6\tdx5\tdx4\tdx3\tdx2\tdx1\tdx0\n"
7854 #: build/C/man4/mouse.4:178
7856 msgid "3\t0\tdy6\tdy5\tdy4\tdy3\tdy2\tdy1\tdy0\n"
7860 #: build/C/man4/mouse.4:181
7862 msgid "I</dev/mouse>"
7866 #: build/C/man4/mouse.4:184
7867 msgid "A commonly used symlink pointing to a mouse device."
7871 #: build/C/man4/mouse.4:187
7872 msgid "B<ttyS>(4), B<gpm>(8)"
7876 #: build/C/man4/msr.4:26
7882 #: build/C/man4/msr.4:29
7883 msgid "msr - x86 CPU MSR access device"
7887 #: build/C/man4/msr.4:36
7889 "I</dev/cpu/CPUNUM/msr> provides an interface to read and write the "
7890 "model-specific registers (MSRs) of an x86 CPU. I<CPUNUM> is the number of "
7891 "the CPU to access as listed in I</proc/cpuinfo>."
7895 #: build/C/man4/msr.4:42
7897 "The register access is done by opening the file and seeking to the MSR "
7898 "number as offset in the file, and then reading or writing in chunks of 8 "
7899 "bytes. An I/O transfer of more than 8 bytes means multiple reads or writes "
7900 "of the same register."
7904 #: build/C/man4/msr.4:47
7906 "This file is protected so that it can be read and written only by the user "
7907 "I<root>, or members of the group I<root>."
7911 #: build/C/man4/msr.4:53
7913 "The I<msr> driver is not auto-loaded. On modular kernels you might need to "
7914 "use the following command to load it explicitly before use:"
7918 #: build/C/man4/msr.4:55
7920 msgid " $ I<modprobe msr>\n"
7924 #: build/C/man4/msr.4:59
7926 "Intel Corporation Intel 64 and IA-32 Architectures Software Developer's "
7927 "Manual Volume 3B Appendix B, for an overview of the Intel CPU MSRs."
7931 #: build/C/man4/null.4:26
7937 #: build/C/man4/null.4:26
7943 #: build/C/man4/null.4:29
7944 msgid "null, zero - data sink"
7948 #: build/C/man4/null.4:35
7949 msgid "Data written to a B<null> or B<zero> special file is discarded."
7953 #: build/C/man4/null.4:44
7955 "Reads from the B<null> special file always return end of file (i.e., "
7956 "B<read>(2) returns 0), whereas reads from B<zero> always return bytes "
7957 "containing zero (\\e0 characters)."
7961 #: build/C/man4/null.4:49
7962 msgid "B<null> and B<zero> are typically created by:"
7966 #: build/C/man4/null.4:52
7967 msgid "mknod -m 666 /dev/null c 1 3"
7971 #: build/C/man4/null.4:54
7972 msgid "mknod -m 666 /dev/zero c 1 5"
7976 #: build/C/man4/null.4:56
7977 msgid "chown root:root /dev/null /dev/zero"
7981 #: build/C/man4/null.4:59
7982 msgid "I</dev/null>"
7986 #: build/C/man4/null.4:61
7987 msgid "I</dev/zero>"
7991 #: build/C/man4/null.4:64
7993 "If these devices are not writable and readable for all users, many programs "
7994 "will act strangely."
7998 #: build/C/man4/null.4:68
7999 msgid "B<chown>(1), B<mknod>(1), B<full>(4)"
8003 #: build/C/man7/pipe.7:25
8009 #: build/C/man7/pipe.7:25 build/C/man2/syslog.2:33
8015 #: build/C/man7/pipe.7:28
8016 msgid "pipe - overview of pipes and FIFOs"
8020 #: build/C/man7/pipe.7:37
8022 "Pipes and FIFOs (also known as named pipes) provide a unidirectional "
8023 "interprocess communication channel. A pipe has a I<read end> and a I<write "
8024 "end>. Data written to the write end of a pipe can be read from the read end "
8029 #: build/C/man7/pipe.7:47
8031 "A pipe is created using B<pipe>(2), which creates a new pipe and returns two "
8032 "file descriptors, one referring to the read end of the pipe, the other "
8033 "referring to the write end. Pipes can be used to create a communication "
8034 "channel between related processes; see B<pipe>(2) for an example."
8038 #: build/C/man7/pipe.7:66
8040 "A FIFO (short for First In First Out) has a name within the filesystem "
8041 "(created using B<mkfifo>(3)), and is opened using B<open>(2). Any process "
8042 "may open a FIFO, assuming the file permissions allow it. The read end is "
8043 "opened using the B<O_RDONLY> flag; the write end is opened using the "
8044 "B<O_WRONLY> flag. See B<fifo>(7) for further details. I<Note>: although "
8045 "FIFOs have a pathname in the filesystem, I/O on FIFOs does not involve "
8046 "operations on the underlying device (if there is one)."
8050 #: build/C/man7/pipe.7:66
8052 msgid "I/O on pipes and FIFOs"
8056 #: build/C/man7/pipe.7:71
8058 "The only difference between pipes and FIFOs is the manner in which they are "
8059 "created and opened. Once these tasks have been accomplished, I/O on pipes "
8060 "and FIFOs has exactly the same semantics."
8064 #: build/C/man7/pipe.7:85
8066 "If a process attempts to read from an empty pipe, then B<read>(2) will "
8067 "block until data is available. If a process attempts to write to a full "
8068 "pipe (see below), then B<write>(2) blocks until sufficient data has been "
8069 "read from the pipe to allow the write to complete. Nonblocking I/O is "
8070 "possible by using the B<fcntl>(2) B<F_SETFL> operation to enable the "
8071 "B<O_NONBLOCK> open file status flag."
8075 #: build/C/man7/pipe.7:89
8077 "The communication channel provided by a pipe is a I<byte stream>: there is "
8078 "no concept of message boundaries."
8082 #: build/C/man7/pipe.7:116
8084 "If all file descriptors referring to the write end of a pipe have been "
8085 "closed, then an attempt to B<read>(2) from the pipe will see end-of-file "
8086 "(B<read>(2) will return 0). If all file descriptors referring to the read "
8087 "end of a pipe have been closed, then a B<write>(2) will cause a B<SIGPIPE> "
8088 "signal to be generated for the calling process. If the calling process is "
8089 "ignoring this signal, then B<write>(2) fails with the error B<EPIPE>. An "
8090 "application that uses B<pipe>(2) and B<fork>(2) should use suitable "
8091 "B<close>(2) calls to close unnecessary duplicate file descriptors; this "
8092 "ensures that end-of-file and B<SIGPIPE>/B<EPIPE> are delivered when "
8097 #: build/C/man7/pipe.7:120
8098 msgid "It is not possible to apply B<lseek>(2) to a pipe."
8102 #: build/C/man7/pipe.7:120
8104 msgid "Pipe capacity"
8108 #: build/C/man7/pipe.7:132
8110 "A pipe has a limited capacity. If the pipe is full, then a B<write>(2) "
8111 "will block or fail, depending on whether the B<O_NONBLOCK> flag is set (see "
8112 "below). Different implementations have different limits for the pipe "
8113 "capacity. Applications should not rely on a particular capacity: an "
8114 "application should be designed so that a reading process consumes data as "
8115 "soon as it is available, so that a writing process does not remain blocked."
8119 #: build/C/man7/pipe.7:146
8121 "In Linux versions before 2.6.11, the capacity of a pipe was the same as the "
8122 "system page size (e.g., 4096 bytes on i386). Since Linux 2.6.11, the pipe "
8123 "capacity is 65536 bytes. Since Linux 2.6.35, the default pipe capacity is "
8124 "65536 bytes, but the capacity can be queried and set using the B<fcntl>(2) "
8125 "B<F_GETPIPE_SZ> and B<F_SETPIPE_SZ> operations. See B<fcntl>(2) for more "
8130 #: build/C/man7/pipe.7:147
8136 #: build/C/man7/pipe.7:169
8138 "POSIX.1-2001 says that B<write>(2)s of less than B<PIPE_BUF> bytes must be "
8139 "atomic: the output data is written to the pipe as a contiguous sequence. "
8140 "Writes of more than B<PIPE_BUF> bytes may be nonatomic: the kernel may "
8141 "interleave the data with data written by other processes. POSIX.1-2001 "
8142 "requires B<PIPE_BUF> to be at least 512 bytes. (On Linux, B<PIPE_BUF> is "
8143 "4096 bytes.) The precise semantics depend on whether the file descriptor is "
8144 "nonblocking (B<O_NONBLOCK>), whether there are multiple writers to the pipe, "
8145 "and on I<n>, the number of bytes to be written:"
8149 #: build/C/man7/pipe.7:169
8151 msgid "B<O_NONBLOCK> disabled, I<n> E<lt>= B<PIPE_BUF>"
8155 #: build/C/man7/pipe.7:178
8157 "All I<n> bytes are written atomically; B<write>(2) may block if there is "
8158 "not room for I<n> bytes to be written immediately"
8162 #: build/C/man7/pipe.7:178
8164 msgid "B<O_NONBLOCK> enabled, I<n> E<lt>= B<PIPE_BUF>"
8168 #: build/C/man7/pipe.7:192
8170 "If there is room to write I<n> bytes to the pipe, then B<write>(2) succeeds "
8171 "immediately, writing all I<n> bytes; otherwise B<write>(2) fails, with "
8172 "I<errno> set to B<EAGAIN>."
8176 #: build/C/man7/pipe.7:192
8178 msgid "B<O_NONBLOCK> disabled, I<n> E<gt> B<PIPE_BUF>"
8182 #: build/C/man7/pipe.7:204
8184 "The write is nonatomic: the data given to B<write>(2) may be interleaved "
8185 "with B<write>(2)s by other process; the B<write>(2) blocks until I<n> bytes "
8186 "have been written."
8190 #: build/C/man7/pipe.7:204
8192 msgid "B<O_NONBLOCK> enabled, I<n> E<gt> B<PIPE_BUF>"
8196 #: build/C/man7/pipe.7:219
8198 "If the pipe is full, then B<write>(2) fails, with I<errno> set to "
8199 "B<EAGAIN>. Otherwise, from 1 to I<n> bytes may be written (i.e., a "
8200 "\"partial write\" may occur; the caller should check the return value from "
8201 "B<write>(2) to see how many bytes were actually written), and these bytes "
8202 "may be interleaved with writes by other processes."
8206 #: build/C/man7/pipe.7:219
8208 msgid "Open file status flags"
8212 #: build/C/man7/pipe.7:225
8214 "The only open file status flags that can be meaningfully applied to a pipe "
8215 "or FIFO are B<O_NONBLOCK> and B<O_ASYNC>."
8219 #: build/C/man7/pipe.7:237
8221 "Setting the B<O_ASYNC> flag for the read end of a pipe causes a signal "
8222 "(B<SIGIO> by default) to be generated when new input becomes available on "
8223 "the pipe (see B<fcntl>(2) for details). On Linux, B<O_ASYNC> is supported "
8224 "for pipes and FIFOs only since kernel 2.6."
8228 #: build/C/man7/pipe.7:237
8230 msgid "Portability notes"
8234 #: build/C/man7/pipe.7:243
8236 "On some systems (but not Linux), pipes are bidirectional: data can be "
8237 "transmitted in both directions between the pipe ends. According to "
8238 "POSIX.1-2001, pipes need only need be unidirectional. Portable applications "
8239 "should avoid reliance on bidirectional pipe semantics."
8243 #: build/C/man7/pipe.7:255
8245 "B<dup>(2), B<fcntl>(2), B<open>(2), B<pipe>(2), B<poll>(2), B<select>(2), "
8246 "B<socketpair>(2), B<stat>(2), B<mkfifo>(3), B<epoll>(7), B<fifo>(7)"
8250 #: build/C/man4/ram.4:26
8256 #: build/C/man4/ram.4:26
8262 #: build/C/man4/ram.4:29
8263 msgid "ram - ram disk device"
8267 #: build/C/man4/ram.4:33
8268 msgid "The I<ram> device is a block device to access the ram disk in raw mode."
8272 #: build/C/man4/ram.4:38
8273 msgid "mknod -m 660 /dev/ram b 1 1"
8277 #: build/C/man4/ram.4:40
8278 msgid "chown root:disk /dev/ram"
8282 #: build/C/man4/ram.4:43
8287 #: build/C/man4/ram.4:47
8288 msgid "B<chown>(1), B<mknod>(1), B<mount>(8)"
8292 #: build/C/man4/random.4:19
8298 #: build/C/man4/random.4:19
8304 #: build/C/man4/random.4:22
8305 msgid "random, urandom - kernel random number source devices"
8309 #: build/C/man4/random.4:24
8310 msgid "#include E<lt>linux/random.hE<gt>"
8314 #: build/C/man4/random.4:26
8315 msgid "B<int ioctl(>I<fd>B<, RND>I<request>B<, >I<param>B<);>"
8319 #: build/C/man4/random.4:33
8321 "The character special files I</dev/random> and I</dev/urandom> (present "
8322 "since Linux 1.3.30) provide an interface to the kernel's random number "
8323 "generator. File I</dev/random> has major device number 1 and minor device "
8324 "number 8. File I</dev/urandom> has major device number 1 and minor device "
8329 #: build/C/man4/random.4:39
8331 "The random number generator gathers environmental noise from device drivers "
8332 "and other sources into an entropy pool. The generator also keeps an "
8333 "estimate of the number of bits of noise in the entropy pool. From this "
8334 "entropy pool random numbers are created."
8338 #: build/C/man4/random.4:63
8340 "When read, the I</dev/random> device will only return random bytes within "
8341 "the estimated number of bits of noise in the entropy pool. I</dev/random> "
8342 "should be suitable for uses that need very high quality randomness such as "
8343 "one-time pad or key generation. When the entropy pool is empty, reads from "
8344 "I</dev/random> will block until additional environmental noise is gathered. "
8345 "If B<open>(2) is called for I</dev/random> with flag B<O_NONBLOCK>, a "
8346 "subsequent B<read>(2) will not block if the requested number of bytes is "
8347 "not available. Instead, the available bytes are returned. If no byte is "
8348 "available B<read>(2) will return -1 and I<errno> will be set to B<EAGAIN>."
8352 #: build/C/man4/random.4:84
8354 "A read from the I</dev/urandom> device will not block waiting for more "
8355 "entropy. If there is not sufficient entropy, a pseudorandom number "
8356 "generator is used to create the requested bytes. As a result, in this case "
8357 "the returned values are theoretically vulnerable to a cryptographic attack "
8358 "on the algorithms used by the driver. Knowledge of how to do this is not "
8359 "available in the current unclassified literature, but it is theoretically "
8360 "possible that such an attack may exist. If this is a concern in your "
8361 "application, use I</dev/random> instead. B<O_NONBLOCK> has no effect when "
8362 "opening I</dev/urandom>. When calling B<read>(2) for device "
8363 "I</dev/urandom> signals will not be handled until after the requested random "
8364 "bytes have been generated."
8368 #: build/C/man4/random.4:91
8370 "Writing to I</dev/random> or I</dev/urandom> will update the entropy pool "
8371 "with the data written, but this will not result in a higher entropy count. "
8372 "This means that it will impact the contents read from both files, but it "
8373 "will not make reads from I</dev/random> faster."
8377 #: build/C/man4/random.4:100
8379 "If you are unsure about whether you should use I</dev/random> or "
8380 "I</dev/urandom>, then probably you want to use the latter. As a general "
8381 "rule, I</dev/urandom> should be used for everything except long-lived "
8386 #: build/C/man4/random.4:112
8388 "If a seed file is saved across reboots as recommended below (all major Linux "
8389 "distributions have done this since 2000 at least), the output is "
8390 "cryptographically secure against attackers without local root access as soon "
8391 "as it is reloaded in the boot sequence, and perfectly adequate for network "
8392 "encryption session keys. Since reads from I</dev/random> may block, users "
8393 "will usually want to open it in nonblocking mode (or perform a read with "
8394 "timeout), and provide some sort of user notification if the desired entropy "
8395 "is not immediately available."
8399 #: build/C/man4/random.4:125
8401 "The kernel random-number generator is designed to produce a small amount of "
8402 "high-quality seed material to seed a cryptographic pseudo-random number "
8403 "generator (CPRNG). It is designed for security, not speed, and is poorly "
8404 "suited to generating large amounts of random data. Users should be very "
8405 "economical in the amount of seed material that they read from "
8406 "I</dev/urandom> (and I</dev/random>); unnecessarily reading large quantities "
8407 "of data from this device will have a negative impact on other users of the "
8412 #: build/C/man4/random.4:133
8414 "The amount of seed material required to generate a cryptographic key equals "
8415 "the effective key size of the key. For example, a 3072-bit RSA or "
8416 "Diffie-Hellman private key has an effective key size of 128 bits (it "
8417 "requires about 2^128 operations to break) so a key generator only needs 128 "
8418 "bits (16 bytes) of seed material from I</dev/random>."
8422 #: build/C/man4/random.4:142
8424 "While some safety margin above that minimum is reasonable, as a guard "
8425 "against flaws in the CPRNG algorithm, no cryptographic primitive available "
8426 "today can hope to promise more than 256 bits of security, so if any program "
8427 "reads more than 256 bits (32 bytes) from the kernel random pool per "
8428 "invocation, or per reasonable reseed interval (not less than one minute), "
8429 "that should be taken as a sign that its cryptography is I<not> skillfully "
8434 #: build/C/man4/random.4:142
8436 msgid "Configuration"
8440 #: build/C/man4/random.4:146
8442 "If your system does not have I</dev/random> and I</dev/urandom> created "
8443 "already, they can be created with the following commands:"
8447 #: build/C/man4/random.4:151
8450 " mknod -m 644 /dev/random c 1 8\n"
8451 " mknod -m 644 /dev/urandom c 1 9\n"
8452 " chown root:root /dev/random /dev/urandom\n"
8456 #: build/C/man4/random.4:161
8458 "When a Linux system starts up without much operator interaction, the entropy "
8459 "pool may be in a fairly predictable state. This reduces the actual amount "
8460 "of noise in the entropy pool below the estimate. In order to counteract "
8461 "this effect, it helps to carry entropy pool information across shut-downs "
8462 "and start-ups. To do this, add the following lines to an appropriate script "
8463 "which is run during the Linux system start-up sequence:"
8467 #: build/C/man4/random.4:176
8470 " echo \"Initializing random number generator...\"\n"
8471 " random_seed=/var/run/random-seed\n"
8472 " # Carry a random seed from start-up to start-up\n"
8473 " # Load and then save the whole entropy pool\n"
8474 " if [ -f $random_seed ]; then\n"
8475 " cat $random_seed E<gt>/dev/urandom\n"
8477 " touch $random_seed\n"
8479 " chmod 600 $random_seed\n"
8480 " poolfile=/proc/sys/kernel/random/poolsize\n"
8481 " [ -r $poolfile ] && bytes=\\`cat $poolfile\\` || bytes=512\n"
8482 " dd if=/dev/urandom of=$random_seed count=1 bs=$bytes\n"
8486 #: build/C/man4/random.4:180
8488 "Also, add the following lines in an appropriate script which is run during "
8489 "the Linux system shutdown:"
8493 #: build/C/man4/random.4:191
8496 " # Carry a random seed from shut-down to start-up\n"
8497 " # Save the whole entropy pool\n"
8498 " echo \"Saving random seed...\"\n"
8499 " random_seed=/var/run/random-seed\n"
8500 " touch $random_seed\n"
8501 " chmod 600 $random_seed\n"
8502 " poolfile=/proc/sys/kernel/random/poolsize\n"
8503 " [ -r $poolfile ] && bytes=\\`cat $poolfile\\` || bytes=512\n"
8504 " dd if=/dev/urandom of=$random_seed count=1 bs=$bytes\n"
8508 #: build/C/man4/random.4:192
8510 msgid "/proc Interface"
8514 #: build/C/man4/random.4:198
8516 "The files in the directory I</proc/sys/kernel/random> (present since 2.3.16) "
8517 "provide an additional interface to the I</dev/random> device."
8521 #: build/C/man4/random.4:204
8523 "The read-only file I<entropy_avail> gives the available entropy. Normally, "
8524 "this will be 4096 (bits), a full entropy pool."
8528 #: build/C/man4/random.4:209
8530 "The file I<poolsize> gives the size of the entropy pool. The semantics of "
8531 "this file vary across kernel versions:"
8535 #: build/C/man4/random.4:210
8541 #: build/C/man4/random.4:217
8543 "This file gives the size of the entropy pool in I<bytes>. Normally, this "
8544 "file will have the value 512, but it is writable, and can be changed to any "
8545 "value for which an algorithm is available. The choices are 32, 64, 128, "
8546 "256, 512, 1024, or 2048."
8550 #: build/C/man4/random.4:217
8556 #: build/C/man4/random.4:222
8558 "This file is read-only, and gives the size of the entropy pool in I<bits>. "
8559 "It contains the value 4096."
8563 #: build/C/man4/random.4:240
8565 "The file I<read_wakeup_threshold> contains the number of bits of entropy "
8566 "required for waking up processes that sleep waiting for entropy from "
8567 "I</dev/random>. The default is 64. The file I<write_wakeup_threshold> "
8568 "contains the number of bits of entropy below which we wake up processes that "
8569 "do a B<select>(2) or B<poll>(2) for write access to I</dev/random>. These "
8570 "values can be changed by writing to the files."
8574 #: build/C/man4/random.4:248
8576 "The read-only files I<uuid> and I<boot_id> contain random strings like "
8577 "6fd5a44b-35f4-4ad4-a9b9-6b9be13e1fe9. The former is generated afresh for "
8578 "each read, the latter was generated once."
8582 #: build/C/man4/random.4:248
8584 msgid "ioctl(2) interface"
8588 #: build/C/man4/random.4:259
8590 "The following B<ioctl>(2) requests are defined on file descriptors "
8591 "connected to either I</dev/random> or I</dev/urandom>. All requests "
8592 "performed will interact with the input entropy pool impacting both "
8593 "I</dev/random> and I</dev/urandom>. The B<CAP_SYS_ADMIN> capability is "
8594 "required for all requests except B<RNDGETENTCNT>."
8598 #: build/C/man4/random.4:259
8600 msgid "B<RNDGETENTCNT>"
8604 #: build/C/man4/random.4:266
8606 "Retrieve the entropy count of the input pool, the contents will be the same "
8607 "as the I<entropy_avail> file under proc. The result will be stored in the "
8608 "int pointed to by the argument."
8612 #: build/C/man4/random.4:266
8614 msgid "B<RNDADDTOENTCNT>"
8618 #: build/C/man4/random.4:270
8620 "Increment or decrement the entropy count of the input pool by the value "
8621 "pointed to by the argument."
8625 #: build/C/man4/random.4:270
8627 msgid "B<RNDGETPOOL>"
8631 #: build/C/man4/random.4:273
8632 msgid "Removed in Linux 2.6.9."
8636 #: build/C/man4/random.4:273
8638 msgid "B<RNDADDENTROPY>"
8642 #: build/C/man4/random.4:281
8644 "Add some additional entropy to the input pool, incrementing the entropy "
8645 "count. This differs from writing to I</dev/random> or I</dev/urandom>, "
8646 "which only adds some data but does not increment the entropy count. The "
8647 "following structure is used:"
8651 #: build/C/man4/random.4:288
8654 " struct rand_pool_info {\n"
8655 " int entropy_count;\n"
8662 #: build/C/man4/random.4:297
8664 "Here I<entropy_count> is the value added to (or subtracted from) the entropy "
8665 "count, and I<buf> is the buffer of size I<buf_size> which gets added to the "
8670 #: build/C/man4/random.4:297
8672 msgid "B<RNDZAPENTCNT>, B<RNDCLEARPOOL>"
8676 #: build/C/man4/random.4:301
8678 "Zero the entropy count of all pools and add some system data (such as wall "
8679 "clock) to the pools."
8683 #: build/C/man4/random.4:303
8688 #. The kernel's random number generator was written by
8689 #. Theodore Ts'o (tytso@athena.mit.edu).
8691 #: build/C/man4/random.4:308
8692 msgid "/dev/urandom"
8696 #: build/C/man4/random.4:311
8697 msgid "B<getrandom>(2), B<mknod>(1)"
8701 #: build/C/man4/random.4:313
8702 msgid "RFC\\ 1750, \"Randomness Recommendations for Security\""
8706 #: build/C/man4/sd.4:26
8712 #: build/C/man4/sd.4:26
8718 #: build/C/man4/sd.4:29
8719 msgid "sd - driver for SCSI disk drives"
8723 #: build/C/man4/sd.4:33
8726 "B<#include E<lt>linux/hdreg.hE<gt> >/* for HDIO_GETGEO */\n"
8727 "B<#include E<lt>linux/fs.hE<gt> >/* for BLKGETSIZE and BLKRRPART "
8732 #: build/C/man4/sd.4:45
8734 "The block device name has the following form: B<sd>I<lp,> where I<l> is a "
8735 "letter denoting the physical drive, and I<p> is a number denoting the "
8736 "partition on that physical drive. Often, the partition number, I<p>, will "
8737 "be left off when the device corresponds to the whole drive."
8741 #: build/C/man4/sd.4:54
8743 "SCSI disks have a major device number of 8, and a minor device number of the "
8744 "form (16 * I<drive_number>) + I<partition_number>, where I<drive_number> is "
8745 "the number of the physical drive in order of detection, and "
8746 "I<partition_number> is as follows:"
8750 #: build/C/man4/sd.4:56
8751 msgid "partition 0 is the whole drive"
8755 #: build/C/man4/sd.4:58
8756 msgid "partitions 1-4 are the DOS \"primary\" partitions"
8760 #: build/C/man4/sd.4:60
8761 msgid "partitions 5-8 are the DOS \"extended\" (or \"logical\") partitions"
8765 #: build/C/man4/sd.4:68
8767 "For example, I</dev/sda> will have major 8, minor 0, and will refer to all "
8768 "of the first SCSI drive in the system; and I</dev/sdb3> will have major 8, "
8769 "minor 19, and will refer to the third DOS \"primary\" partition on the "
8770 "second SCSI drive in the system."
8774 #: build/C/man4/sd.4:71
8776 "At this time, only block devices are provided. Raw devices have not yet "
8781 #: build/C/man4/sd.4:75
8782 msgid "The following I<ioctl>s are provided:"
8786 #: build/C/man4/sd.4:75
8788 msgid "B<HDIO_GETGEO>"
8792 #: build/C/man4/sd.4:79
8793 msgid "Returns the BIOS disk parameters in the following structure:"
8797 #: build/C/man4/sd.4:88
8800 "struct hd_geometry {\n"
8801 " unsigned char heads;\n"
8802 " unsigned char sectors;\n"
8803 " unsigned short cylinders;\n"
8804 " unsigned long start;\n"
8809 #: build/C/man4/sd.4:94
8810 msgid "A pointer to this structure is passed as the B<ioctl>(2) parameter."
8814 #: build/C/man4/sd.4:109
8816 "The information returned in the parameter is the disk geometry of the drive "
8817 "I<as understood by DOS!> This geometry is I<not> the physical geometry of "
8818 "the drive. It is used when constructing the drive's partition table, "
8819 "however, and is needed for convenient operation of B<fdisk>(1), "
8820 "B<efdisk>(1), and B<lilo>(1). If the geometry information is not available, "
8821 "zero will be returned for all of the parameters."
8825 #: build/C/man4/sd.4:110
8827 msgid "B<BLKGETSIZE>"
8831 #: build/C/man4/sd.4:117
8833 "Returns the device size in sectors. The B<ioctl>(2) parameter should be a "
8834 "pointer to a I<long>."
8838 #: build/C/man4/sd.4:117
8840 msgid "B<BLKRRPART>"
8844 #: build/C/man4/sd.4:121
8845 msgid "Forces a reread of the SCSI disk partition tables. No parameter is needed."
8849 #: build/C/man4/sd.4:131
8851 "The SCSI B<ioctl>(2) operations are also supported. If the B<ioctl>(2) "
8852 "parameter is required, and it is NULL, then B<ioctl>(2) will fail with the "
8857 #: build/C/man4/sd.4:133
8858 msgid "/dev/sd[a-h]: the whole device"
8864 #: build/C/man4/sd.4:137
8865 msgid "/dev/sd[a-h][0-8]: individual block partitions"
8869 #: build/C/man3/setlogmask.3:25
8875 #: build/C/man3/setlogmask.3:25
8881 #: build/C/man3/setlogmask.3:28
8882 msgid "setlogmask - set log priority mask"
8886 #: build/C/man3/setlogmask.3:31
8888 msgid "B<#include E<lt>syslog.hE<gt>>\n"
8892 #: build/C/man3/setlogmask.3:33
8894 msgid "B<int setlogmask(int >I<mask>B<);>\n"
8898 #: build/C/man3/setlogmask.3:43
8900 "A process has a log priority mask that determines which calls to "
8901 "B<syslog>(3) may be logged. All other calls will be ignored. Logging is "
8902 "enabled for the priorities that have the corresponding bit set in I<mask>. "
8903 "The initial mask is such that logging is enabled for all priorities."
8907 #: build/C/man3/setlogmask.3:49
8909 "The B<setlogmask>() function sets this logmask for the calling process, and "
8910 "returns the previous mask. If the mask argument is 0, the current logmask "
8915 #: build/C/man3/setlogmask.3:69
8917 "The eight priorities are B<LOG_EMERG>, B<LOG_ALERT>, B<LOG_CRIT>, "
8918 "B<LOG_ERR>, B<LOG_WARNING>, B<LOG_NOTICE>, B<LOG_INFO>, and B<LOG_DEBUG>. "
8919 "The bit corresponding to a priority I<p> is I<LOG_MASK(p)>. Some systems "
8920 "also provide a macro I<LOG_UPTO(p)> for the mask of all priorities in the "
8921 "above list up to and including I<p>."
8925 #: build/C/man3/setlogmask.3:71
8926 msgid "This function returns the previous log priority mask."
8930 #. The glibc logmask handling was broken in versions before glibc 2.1.1.
8932 #: build/C/man3/setlogmask.3:75
8937 #: build/C/man3/setlogmask.3:78
8938 msgid "POSIX.1-2001. Note that the description in POSIX.1-2001 is flawed."
8942 #: build/C/man3/setlogmask.3:82
8943 msgid "B<closelog>(3), B<openlog>(3), B<syslog>(3)"
8947 #: build/C/man4/sk98lin.4:27
8953 #: build/C/man4/sk98lin.4:30
8954 msgid "sk98lin - Marvell/SysKonnect Gigabit Ethernet driver v6.21"
8958 #: build/C/man4/sk98lin.4:62
8960 "B<insmod sk98lin.o> [B<Speed_A=>I<i,j,...>] [B<Speed_B=>I<i,j,...>] "
8961 "[B<AutoNeg_A=>I<i,j,...>] [B<AutoNeg_B=>I<i,j,...>] [B<DupCap_A=>I<i,j,...>] "
8962 "[B<DupCap_B=>I<i,j,...>] [B<FlowCtrl_A=>I<i,j,...>] "
8963 "[B<FlowCtrl_B=>I<i,j,...>] [B<Role_A=>I<i,j,...>] [B<Role_B=>I<i,j,...>] "
8964 "[B<ConType=>I<i,j,...>] [B<Moderation=>I<i,j,...>] "
8965 "[B<IntsPerSec=>I<i,j,...>] [B<PrefPort=>I<i,j,...>] [B<RlmtMode=>I<i,j,...>]"
8969 #: build/C/man4/sk98lin.4:67
8970 msgid "B<Note>: This obsolete driver was removed from the kernel in version 2.6.26."
8974 #: build/C/man4/sk98lin.4:74
8976 "B<sk98lin> is the Gigabit Ethernet driver for Marvell and SysKonnect network "
8977 "adapter cards. It supports SysKonnect SK-98xx/SK-95xx compliant Gigabit "
8978 "Ethernet Adapter and any Yukon compliant chipset."
8982 #: build/C/man4/sk98lin.4:81
8984 "When loading the driver using insmod, parameters for the network adapter "
8985 "cards might be stated as a sequence of comma separated commands. If for "
8986 "instance two network adapters are installed and AutoNegotiation on Port A of "
8987 "the first adapter should be ON, but on the Port A of the second adapter "
8988 "switched OFF, one must enter:"
8992 #: build/C/man4/sk98lin.4:83
8994 msgid " insmod sk98lin.o AutoNeg_A=On,Off\n"
8998 #: build/C/man4/sk98lin.4:98
9000 "After B<sk98lin> is bound to one or more adapter cards and the I</proc> "
9001 "filesystem is mounted on your system, a dedicated statistics file will be "
9002 "created in the folder I</proc/net/sk98lin> for all ports of the installed "
9003 "network adapter cards. Those files are named I<eth[x]>, where I<x> is the "
9004 "number of the interface that has been assigned to a dedicated port by the "
9009 #: build/C/man4/sk98lin.4:108
9011 "If loading is finished, any desired IP address can be assigned to the "
9012 "respective I<eth[x]> interface using the B<ifconfig>(8) command. This "
9013 "causes the adapter to connect to the Ethernet and to display a status "
9014 "message on the console saying \"ethx: network connection up using port y\" "
9015 "followed by the configured or detected connection parameters."
9019 #: build/C/man4/sk98lin.4:124
9021 "The B<sk98lin> also supports large frames (also called jumbo frames). Using "
9022 "jumbo frames can improve throughput tremendously when transferring large "
9023 "amounts of data. To enable large frames, the MTU (maximum transfer unit) "
9024 "size for an interface is to be set to a high value. The default MTU size is "
9025 "1500 and can be changed up to 9000 (bytes). Setting the MTU size can be "
9026 "done when assigning the IP address to the interface or later by using the "
9027 "B<ifconfig>(8) command with the mtu parameter. If for instance eth0 needs "
9028 "an IP address and a large frame MTU size, the following two commands might "
9033 #: build/C/man4/sk98lin.4:127
9036 " ifconfig eth0 10.1.1.1\n"
9037 " ifconfig eth0 mtu 9000\n"
9041 #: build/C/man4/sk98lin.4:129
9042 msgid "Those two commands might even be combined into one:"
9046 #: build/C/man4/sk98lin.4:131
9048 msgid " ifconfig eth0 10.1.1.1 mtu 9000\n"
9052 #: build/C/man4/sk98lin.4:144
9054 "Note that large frames can be used only if permitted by your network "
9055 "infrastructure. This means, that any switch being used in your Ethernet "
9056 "must also support large frames. Quite some switches support large frames, "
9057 "but need to be configured to do so. Most of the times, their default "
9058 "setting is to support only standard frames with an MTU size of 1500 "
9059 "(bytes). In addition to the switches inside the network, all network "
9060 "adapters that are to be used must also be enabled regarding jumbo frames. "
9061 "If an adapter is not set to receive large frames, it will simply drop them."
9065 #: build/C/man4/sk98lin.4:148
9067 "Switching back to the standard Ethernet frame size can be done by using the "
9068 "B<ifconfig>(8) command again:"
9072 #: build/C/man4/sk98lin.4:150
9074 msgid " ifconfig eth0 mtu 1500\n"
9078 #: build/C/man4/sk98lin.4:156
9080 "The Marvell/SysKonnect Gigabit Ethernet driver for Linux is able to support "
9081 "VLAN and Link Aggregation according to IEEE standards 802.1, 802.1q, and "
9082 "802.3ad. Those features are available only after installation of open "
9083 "source modules which can be found on the Internet:"
9087 #: build/C/man4/sk98lin.4:161
9088 msgid "I<VLAN>: E<.UR http://www.candelatech.com\\:/~greear\\:/vlan.html> E<.UE>"
9092 #: build/C/man4/sk98lin.4:167
9093 msgid "I<Link> I<Aggregation>: E<.UR http://www.st.rim.or.jp\\:/~yumo> E<.UE>"
9097 #: build/C/man4/sk98lin.4:172
9099 "Note that Marvell/SysKonnect does not offer any support for these open "
9100 "source modules and does not take the responsibility for any kind of failures "
9101 "or problems arising when using these modules."
9105 #: build/C/man4/sk98lin.4:172 build/C/man4/wavelan.4:39
9111 #: build/C/man4/sk98lin.4:173
9113 msgid "B<Speed_A=>I<i,j,...>"
9117 #: build/C/man4/sk98lin.4:190
9119 "This parameter is used to set the speed capabilities of port A of an adapter "
9120 "card. It is valid only for Yukon copper adapters. Possible values are: "
9121 "I<10>, I<100>, I<1000>, or I<Auto>; I<Auto> is the default. Usually, the "
9122 "speed is negotiated between the two ports during link establishment. If "
9123 "this fails, a port can be forced to a specific setting with this parameter."
9127 #: build/C/man4/sk98lin.4:190
9129 msgid "B<Speed_B=>I<i,j,...>"
9133 #: build/C/man4/sk98lin.4:207
9135 "This parameter is used to set the speed capabilities of port B of an adapter "
9136 "card. It is valid only for Yukon copper adapters. Possible values are: "
9137 "I<10>, I<100>, I<1000>, or I<Auto>; I<Auto> is the default. Usually, the "
9138 "speed is negotiated between the two ports during link establishment. If "
9139 "this fails, a port can be forced to a specific setting with this parameter."
9143 #: build/C/man4/sk98lin.4:207
9145 msgid "B<AutoNeg_A=>I<i,j,...>"
9149 #: build/C/man4/sk98lin.4:221
9151 "Enables or disables the use of autonegotiation of port A of an adapter "
9152 "card. Possible values are: I<On>, I<Off>, or I<Sense>; I<On> is the "
9153 "default. The I<Sense> mode automatically detects whether the link partner "
9154 "supports auto-negotiation or not."
9158 #: build/C/man4/sk98lin.4:221
9160 msgid "B<AutoNeg_B=>I<i,j,...>"
9164 #: build/C/man4/sk98lin.4:235
9166 "Enables or disables the use of autonegotiation of port B of an adapter "
9167 "card. Possible values are: I<On>, I<Off>, or I<Sense>; I<On> is the "
9168 "default. The I<Sense> mode automatically detects whether the link partner "
9169 "supports auto-negotiation or not."
9173 #: build/C/man4/sk98lin.4:235
9175 msgid "B<DupCap_A=>I<i,j,...>"
9179 #: build/C/man4/sk98lin.4:265
9181 "This parameter indicates the duplex mode to be used for port A of an adapter "
9182 "card. Possible values are: I<Half>, I<Full>, or I<Both>; I<Both> is the "
9183 "default. This parameter is relevant only if AutoNeg_A of port A is not set "
9184 "to I<Sense>. If AutoNeg_A is set to I<On>, all three values of DupCap_A ( "
9185 "I<Half>, I<Full> or I<Both>) might be stated. If AutoNeg_A is set to "
9186 "I<Off>, only DupCap_A values I<Full> and I<Half> are allowed. This DupCap_A "
9187 "parameter is useful if your link partner does not support all possible "
9188 "duplex combinations."
9192 #: build/C/man4/sk98lin.4:265
9194 msgid "B<DupCap_B=>I<i,j,...>"
9198 #: build/C/man4/sk98lin.4:295
9200 "This parameter indicates the duplex mode to be used for port B of an adapter "
9201 "card. Possible values are: I<Half>, I<Full>, or I<Both>; I<Both> is the "
9202 "default. This parameter is relevant only if AutoNeg_B of port B is not set "
9203 "to I<Sense>. If AutoNeg_B is set to I<On>, all three values of DupCap_B ( "
9204 "I<Half>, I<Full> or I<Both>) might be stated. If AutoNeg_B is set to "
9205 "I<Off>, only DupCap_B values I<Full> and I<Half> are allowed. This DupCap_B "
9206 "parameter is useful if your link partner does not support all possible "
9207 "duplex combinations."
9211 #: build/C/man4/sk98lin.4:295
9213 msgid "B<FlowCtrl_A=>I<i,j,...>"
9217 #: build/C/man4/sk98lin.4:308 build/C/man4/sk98lin.4:341
9219 "This parameter can be used to set the flow control capabilities the port "
9220 "reports during auto-negotiation. Possible values are: I<Sym>, I<SymOrRem>, "
9221 "I<LocSend>, or I<None>; I<SymOrRem> is the default. The different modes "
9222 "have the following meaning:"
9226 #: build/C/man4/sk98lin.4:313 build/C/man4/sk98lin.4:345
9231 " both link partners are allowed to send PAUSE frames\n"
9235 #: build/C/man4/sk98lin.4:317 build/C/man4/sk98lin.4:349
9239 "= SymmetricOrRemote\n"
9240 " both or only remote partner are allowed to send PAUSE frames\n"
9244 #: build/C/man4/sk98lin.4:321 build/C/man4/sk98lin.4:353
9249 " only local link partner is allowed to send PAUSE frames\n"
9253 #: build/C/man4/sk98lin.4:325 build/C/man4/sk98lin.4:357
9258 " no link partner is allowed to send PAUSE frames\n"
9262 #: build/C/man4/sk98lin.4:328
9263 msgid "Note that this parameter is ignored if AutoNeg_A is set to I<Off>."
9267 #: build/C/man4/sk98lin.4:328
9269 msgid "B<FlowCtrl_B=>I<i,j,...>"
9273 #: build/C/man4/sk98lin.4:361
9274 msgid "Note that this parameter is ignored if AutoNeg_B is set to I<Off>."
9278 #: build/C/man4/sk98lin.4:361
9280 msgid "B<Role_A=>I<i,j,...>"
9284 #: build/C/man4/sk98lin.4:377
9286 "This parameter is valid only for 1000Base-T adapter cards. For two "
9287 "1000Base-T ports to communicate, one must take the role of the master "
9288 "(providing timing information), while the other must be the slave. Possible "
9289 "values are: I<Auto>, I<Master>, or I<Slave>; I<Auto> is the default. "
9290 "Usually, the role of a port is negotiated between two ports during link "
9291 "establishment, but if that fails the port A of an adapter card can be forced "
9292 "to a specific setting with this parameter."
9296 #: build/C/man4/sk98lin.4:377
9298 msgid "B<Role_B=>I<i,j,...>"
9302 #: build/C/man4/sk98lin.4:394
9304 "This parameter is valid only for 1000Base-T adapter cards. For two "
9305 "1000Base-T ports to communicate, one must take the role of the master "
9306 "(providing timing information), while the other must be the slave. Possible "
9307 "values are: I<Auto>, I<Master>, or I<Slave>; I<Auto> is the default. "
9308 "Usually, the role of a port is negotiated between two ports during link "
9309 "establishment, but if that fails the port B of an adapter card can be forced "
9310 "to a specific setting with this parameter."
9314 #: build/C/man4/sk98lin.4:394
9316 msgid "B<ConType=>I<i,j,...>"
9320 #: build/C/man4/sk98lin.4:402
9322 "This parameter is a combination of all five per-port parameters within one "
9323 "single parameter. This simplifies the configuration of both ports of an "
9324 "adapter card. The different values of this variable reflect the most "
9325 "meaningful combinations of port parameters. Possible values and their "
9326 "corresponding combination of per-port parameters:"
9330 #: build/C/man4/sk98lin.4:407
9333 "ConType | DupCap AutoNeg FlowCtrl Role Speed\n"
9334 "--------+-------------------------------------------\n"
9335 "I<Auto> | Both On SymOrRem Auto Auto\n"
9339 #: build/C/man4/sk98lin.4:409
9341 msgid "I<100FD> | Full Off None Auto 100\n"
9345 #: build/C/man4/sk98lin.4:411
9347 msgid "I<100HD> | Half Off None Auto 100\n"
9351 #: build/C/man4/sk98lin.4:413
9353 msgid "I<10FD> | Full Off None Auto 10\n"
9357 #: build/C/man4/sk98lin.4:415
9359 msgid "I<10HD> | Half Off None Auto 10\n"
9363 #: build/C/man4/sk98lin.4:425
9365 "Stating any other port parameter together with this I<ConType> parameter "
9366 "will result in a merged configuration of those settings. This is due to the "
9367 "fact, that the per-port parameters (e.g., I<Speed_A>) have a higher "
9368 "priority than the combined variable I<ConType>."
9372 #: build/C/man4/sk98lin.4:425
9374 msgid "B<Moderation=>I<i,j,...>"
9378 #: build/C/man4/sk98lin.4:442
9380 "Interrupt moderation is employed to limit the maximum number of interrupts "
9381 "the driver has to serve. That is, one or more interrupts (which indicate "
9382 "any transmit or receive packet to be processed) are queued until the driver "
9383 "processes them. When queued interrupts are to be served, is determined by "
9384 "the I<IntsPerSec> parameter, which is explained later below. Possible "
9385 "moderation modes are: I<None>, I<Static>, or I<Dynamic>; I<None> is the "
9386 "default. The different modes have the following meaning:"
9390 #: build/C/man4/sk98lin.4:447
9392 "I<None> No interrupt moderation is applied on the adapter card. Therefore, "
9393 "each transmit or receive interrupt is served immediately as soon as it "
9394 "appears on the interrupt line of the adapter card."
9398 #: build/C/man4/sk98lin.4:462
9400 "I<Static> Interrupt moderation is applied on the adapter card. All transmit "
9401 "and receive interrupts are queued until a complete moderation interval "
9402 "ends. If such a moderation interval ends, all queued interrupts are "
9403 "processed in one big bunch without any delay. The term I<Static> reflects "
9404 "the fact, that interrupt moderation is always enabled, regardless how much "
9405 "network load is currently passing via a particular interface. In addition, "
9406 "the duration of the moderation interval has a fixed length that never "
9407 "changes while the driver is operational."
9411 #: build/C/man4/sk98lin.4:473
9413 "I<Dynamic> Interrupt moderation might be applied on the adapter card, "
9414 "depending on the load of the system. If the driver detects that the system "
9415 "load is too high, the driver tries to shield the system against too much "
9416 "network load by enabling interrupt moderation. If\\(emat a later "
9417 "time\\(emthe CPU utilization decreases again (or if the network load is "
9418 "negligible), the interrupt moderation will automatically be disabled."
9422 #: build/C/man4/sk98lin.4:479
9424 "Interrupt moderation should be used when the driver has to handle one or "
9425 "more interfaces with a high network load, which\\(emas a "
9426 "consequence\\(emleads also to a high CPU utilization. When moderation is "
9427 "applied in such high network load situations, CPU load might be reduced by "
9428 "20-30% on slow computers."
9432 #: build/C/man4/sk98lin.4:483
9434 "Note that the drawback of using interrupt moderation is an increase of the "
9435 "round-trip-time (RTT), due to the queuing and serving of interrupts at "
9436 "dedicated moderation times."
9440 #: build/C/man4/sk98lin.4:483
9442 msgid "B<IntsPerSec=>I<i,j,...>"
9446 #: build/C/man4/sk98lin.4:493
9448 "This parameter determines the length of any interrupt moderation interval. "
9449 "Assuming that static interrupt moderation is to be used, an I<IntsPerSec> "
9450 "parameter value of 2000 will lead to an interrupt moderation interval of 500 "
9451 "microseconds. Possible values for this parameter are in the range of "
9452 "30...40000 (interrupts per second). The default value is 2000."
9456 #: build/C/man4/sk98lin.4:497
9458 "This parameter is used only if either static or dynamic interrupt moderation "
9459 "is enabled on a network adapter card. This parameter is ignored if no "
9460 "moderation is applied."
9464 #: build/C/man4/sk98lin.4:504
9466 "Note that the duration of the moderation interval is to be chosen with "
9467 "care. At first glance, selecting a very long duration (e.g., only 100 "
9468 "interrupts per second) seems to be meaningful, but the increase of "
9469 "packet-processing delay is tremendous. On the other hand, selecting a very "
9470 "short moderation time might compensate the use of any moderation being "
9475 #: build/C/man4/sk98lin.4:504
9477 msgid "B<PrefPort=>I<i,j,...>"
9481 #: build/C/man4/sk98lin.4:516
9483 "This parameter is used to force the preferred port to A or B (on dual-port "
9484 "network adapters). The preferred port is the one that is used if both ports "
9485 "A and B are detected as fully functional. Possible values are: I<A> or "
9486 "I<B>; I<A> is the default."
9490 #: build/C/man4/sk98lin.4:516
9492 msgid "B<RlmtMode=>I<i,j,...>"
9496 #: build/C/man4/sk98lin.4:532
9498 "RLMT monitors the status of the port. If the link of the active port fails, "
9499 "RLMT switches immediately to the standby link. The virtual link is "
9500 "maintained as long as at least one \"physical\" link is up. This parameters "
9501 "states how RLMT should monitor both ports. Possible values are: "
9502 "I<CheckLinkState>, I<CheckLocalPort>, I<CheckSeg>, or I<DualNet>; "
9503 "I<CheckLinkState> is the default. The different modes have the following "
9508 #: build/C/man4/sk98lin.4:537
9510 "I<CheckLinkState> Check link state only: RLMT uses the link state reported "
9511 "by the adapter hardware for each individual port to determine whether a port "
9512 "can be used for all network traffic or not."
9516 #: build/C/man4/sk98lin.4:545
9518 "I<CheckLocalPort> In this mode, RLMT monitors the network path between the "
9519 "two ports of an adapter by regularly exchanging packets between them. This "
9520 "mode requires a network configuration in which the two ports are able to "
9521 "\"see\" each other (i.e., there must not be any router between the ports)."
9525 #: build/C/man4/sk98lin.4:554
9527 "I<CheckSeg> Check local port and segmentation: This mode supports the same "
9528 "functions as the CheckLocalPort mode and additionally checks network "
9529 "segmentation between the ports. Therefore, this mode is to be used only if "
9530 "Gigabit Ethernet switches are installed on the network that have been "
9531 "configured to use the Spanning Tree protocol."
9535 #: build/C/man4/sk98lin.4:565
9537 "I<DualNet> In this mode, ports A and B are used as separate devices. If you "
9538 "have a dual port adapter, port A will be configured as I<eth[x]> and port B "
9539 "as I<eth[x+1]>. Both ports can be used independently with distinct IP "
9540 "addresses. The preferred port setting is not used. RLMT is turned off."
9544 #: build/C/man4/sk98lin.4:574
9546 "Note that RLMT modes I<CheckLocalPort> and I<CheckLinkState> are designed to "
9547 "operate in configurations where a network path between the ports on one "
9548 "adapter exists. Moreover, they are not designed to work where adapters are "
9549 "connected back-to-back."
9553 #: build/C/man4/sk98lin.4:575
9555 msgid "I</proc/net/sk98lin/eth[x]>"
9559 #: build/C/man4/sk98lin.4:581
9561 "The statistics file of a particular interface of an adapter card. It "
9562 "contains generic information about the adapter card plus a detailed summary "
9563 "of all transmit and receive counters."
9567 #: build/C/man4/sk98lin.4:581
9569 msgid "I</usr/src/linux/Documentation/networking/sk98lin.txt>"
9573 #: build/C/man4/sk98lin.4:592
9575 "This is the I<README> file of the I<sk98lin> driver. It contains a detailed "
9576 "installation HOWTO and describes all parameters of the driver. It denotes "
9577 "also common problems and provides the solution to them."
9581 #. Ralph Roesler \(em rroesler@syskonnect.de
9583 #. Mirko Lindner \(em mlindner@syskonnect.de
9585 #: build/C/man4/sk98lin.4:598
9586 msgid "Report any bugs to linux@syskonnect.de"
9590 #: build/C/man4/sk98lin.4:602
9591 msgid "B<ifconfig>(8), B<insmod>(8), B<modprobe>(8)"
9595 #: build/C/man4/st.4:25
9601 #: build/C/man4/st.4:28
9602 msgid "st - SCSI tape device"
9606 #: build/C/man4/st.4:31
9608 msgid "B<#include E<lt>sys/mtio.hE<gt>>\n"
9612 #: build/C/man4/st.4:36
9615 "B<int ioctl(int >I<fd>B<, int >I<request>B< [, (void *)>I<arg3>B<]);>\n"
9616 "B<int ioctl(int >I<fd>B<, MTIOCTOP, (struct mtop *)>I<mt_cmd>B<);>\n"
9617 "B<int ioctl(int >I<fd>B<, MTIOCGET, (struct mtget *)>I<mt_status>B<);>\n"
9618 "B<int ioctl(int >I<fd>B<, MTIOCPOS, (struct mtpos *)>I<mt_pos>B<);>\n"
9622 #: build/C/man4/st.4:46
9624 "The B<st> driver provides the interface to a variety of SCSI tape devices. "
9625 "Currently, the driver takes control of all detected devices of type "
9626 "\\(lqsequential-access\\(rq. The B<st> driver uses major device number 9."
9630 #: build/C/man4/st.4:66
9632 "Each device uses eight minor device numbers. The lowermost five bits in the "
9633 "minor numbers are assigned sequentially in the order of detection. In the "
9634 "2.6 kernel, the bits above the eight lowermost bits are concatenated to the "
9635 "five lowermost bits to form the tape number. The minor numbers can be "
9636 "grouped into two sets of four numbers: the principal (auto-rewind) minor "
9637 "device numbers, I<n>, and the \\(lqno-rewind\\(rq device numbers, (I<n> + "
9638 "128). Devices opened using the principal device number will be sent a "
9639 "B<REWIND> command when they are closed. Devices opened using the "
9640 "\\(lqno-rewind\\(rq device number will not. (Note that using an auto-rewind "
9641 "device for positioning the tape with, for instance, mt does not lead to the "
9642 "desired result: the tape is rewound after the mt command and the next "
9643 "command starts from the beginning of the tape)."
9647 #: build/C/man4/st.4:80
9649 "Within each group, four minor numbers are available to define devices with "
9650 "different characteristics (block size, compression, density, etc.) When the "
9651 "system starts up, only the first device is available. The other three are "
9652 "activated when the default characteristics are defined (see below). (By "
9653 "changing compile-time constants, it is possible to change the balance "
9654 "between the maximum number of tape drives and the number of minor numbers "
9655 "for each drive. The default allocation allows control of 32 tape drives. "
9656 "For instance, it is possible to control up to 64 tape drives with two minor "
9657 "numbers for different options.)"
9661 #: build/C/man4/st.4:82
9662 msgid "Devices are typically created by:"
9666 #: build/C/man4/st.4:93
9669 "mknod -m 666 /dev/st0 c 9 0\n"
9670 "mknod -m 666 /dev/st0l c 9 32\n"
9671 "mknod -m 666 /dev/st0m c 9 64\n"
9672 "mknod -m 666 /dev/st0a c 9 96\n"
9673 "mknod -m 666 /dev/nst0 c 9 128\n"
9674 "mknod -m 666 /dev/nst0l c 9 160\n"
9675 "mknod -m 666 /dev/nst0m c 9 192\n"
9676 "mknod -m 666 /dev/nst0a c 9 224\n"
9680 #: build/C/man4/st.4:97
9681 msgid "There is no corresponding block device."
9685 #: build/C/man4/st.4:112
9687 "The driver uses an internal buffer that has to be large enough to hold at "
9688 "least one tape block. In kernels before 2.1.121, the buffer is allocated as "
9689 "one contiguous block. This limits the block size to the largest contiguous "
9690 "block of memory the kernel allocator can provide. The limit is currently "
9691 "128 kB for 32-bit architectures and 256 kB for 64-bit architectures. In "
9692 "newer kernels the driver allocates the buffer in several parts if "
9693 "necessary. By default, the maximum number of parts is 16. This means that "
9694 "the maximum block size is very large (2 MB if allocation of 16 blocks of 128 "
9699 #: build/C/man4/st.4:121
9701 "The driver's internal buffer size is determined by a compile-time constant "
9702 "which can be overridden with a kernel startup option. In addition to this, "
9703 "the driver tries to allocate a larger temporary buffer at run time if "
9704 "necessary. However, run-time allocation of large contiguous blocks of "
9705 "memory may fail and it is advisable not to rely too much on dynamic buffer "
9706 "allocation with kernels older than 2.1.121 (this applies also to "
9707 "demand-loading the driver with kerneld or kmod)."
9711 #: build/C/man4/st.4:134
9713 "The driver does not specifically support any tape drive brand or model. "
9714 "After system start-up the tape device options are defined by the drive "
9715 "firmware. For example, if the drive firmware selects fixed-block mode, the "
9716 "tape device uses fixed-block mode. The options can be changed with explicit "
9717 "B<ioctl>(2) calls and remain in effect when the device is closed and "
9718 "reopened. Setting the options affects both the auto-rewind and the "
9723 #: build/C/man4/st.4:143
9725 "Different options can be specified for the different devices within the "
9726 "subgroup of four. The options take effect when the device is opened. For "
9727 "example, the system administrator can define one device that writes in "
9728 "fixed-block mode with a certain block size, and one which writes in "
9729 "variable-block mode (if the drive supports both modes)."
9733 #: build/C/man4/st.4:166
9735 "The driver supports B<tape partitions> if they are supported by the drive. "
9736 "(Note that the tape partitions have nothing to do with disk partitions. A "
9737 "partitioned tape can be seen as several logical tapes within one medium.) "
9738 "Partition support has to be enabled with an B<ioctl>(2). The tape location "
9739 "is preserved within each partition across partition changes. The partition "
9740 "used for subsequent tape operations is selected with an B<ioctl>(2). The "
9741 "partition switch is executed together with the next tape operation in order "
9742 "to avoid unnecessary tape movement. The maximum number of partitions on a "
9743 "tape is defined by a compile-time constant (originally four). The driver "
9744 "contains an B<ioctl>(2) that can format a tape with either one or two "
9749 #: build/C/man4/st.4:171
9751 "Device I</dev/tape> is usually created as a hard or soft link to the default "
9752 "tape device on the system."
9756 #: build/C/man4/st.4:175
9758 "Starting from kernel 2.6.2, the driver exports in the sysfs directory "
9759 "I</sys/class/scsi_tape> the attached devices and some parameters assigned to "
9764 #: build/C/man4/st.4:175
9766 msgid "Data transfer"
9770 #: build/C/man4/st.4:188
9772 "The driver supports operation in both fixed-block mode and variable-block "
9773 "mode (if supported by the drive). In fixed-block mode the drive writes "
9774 "blocks of the specified size and the block size is not dependent on the byte "
9775 "counts of the write system calls. In variable-block mode one tape block is "
9776 "written for each write call and the byte count determines the size of the "
9777 "corresponding tape block. Note that the blocks on the tape don't contain "
9778 "any information about the writing mode: when reading, the only important "
9779 "thing is to use commands that accept the block sizes on the tape."
9783 #: build/C/man4/st.4:197
9785 "In variable-block mode the read byte count does not have to match the tape "
9786 "block size exactly. If the byte count is larger than the next block on "
9787 "tape, the driver returns the data and the function returns the actual block "
9788 "size. If the block size is larger than the byte count, the requested amount "
9789 "of data from the start of the block is returned and the rest of the block is "
9794 #: build/C/man4/st.4:206
9796 "In fixed-block mode the read byte counts can be arbitrary if buffering is "
9797 "enabled, or a multiple of the tape block size if buffering is disabled. "
9798 "Kernels before 2.1.121 allow writes with arbitrary byte count if buffering "
9799 "is enabled. In all other cases (kernel before 2.1.121 with buffering "
9800 "disabled or newer kernel) the write byte count must be a multiple of the "
9805 #: build/C/man4/st.4:215
9807 "In the 2.6 kernel, the driver tries to use direct transfers between the user "
9808 "buffer and the device. If this is not possible, the driver's internal "
9809 "buffer is used. The reasons for not using direct transfers include improper "
9810 "alignment of the user buffer (default is 512 bytes but this can be changed "
9811 "by the HBA driver), one or more pages of the user buffer not reachable by "
9812 "the SCSI adapter, and so on."
9816 #: build/C/man4/st.4:218
9818 "A filemark is automatically written to tape if the last tape operation "
9819 "before close was a write."
9823 #: build/C/man4/st.4:230
9825 "When a filemark is encountered while reading, the following happens. If "
9826 "there are data remaining in the buffer when the filemark is found, the "
9827 "buffered data is returned. The next read returns zero bytes. The following "
9828 "read returns data from the next file. The end of recorded data is signaled "
9829 "by returning zero bytes for two consecutive read calls. The third read "
9834 #: build/C/man4/st.4:230
9840 #: build/C/man4/st.4:241
9842 "The driver supports three B<ioctl>(2) requests. Requests not recognized by "
9843 "the B<st> driver are passed to the B<SCSI> driver. The definitions below "
9844 "are from I</usr/include/linux/mtio.h>:"
9848 #: build/C/man4/st.4:241
9850 msgid "MTIOCTOP \\(em perform a tape operation"
9854 #: build/C/man4/st.4:249
9856 "This request takes an argument of type I<(struct mtop\\ *)>. Not all drives "
9857 "support all operations. The driver returns an B<EIO> error if the drive "
9858 "rejects an operation."
9862 #: build/C/man4/st.4:257
9865 "/* Structure for MTIOCTOP - mag tape op command: */\n"
9867 " short mt_op; /* operations defined below */\n"
9868 " int mt_count; /* how many of them */\n"
9873 #: build/C/man4/st.4:261
9874 msgid "Magnetic Tape operations for normal tape use:"
9878 #: build/C/man4/st.4:261
9884 #: build/C/man4/st.4:266
9885 msgid "Backward space over I<mt_count> filemarks."
9889 #: build/C/man4/st.4:266
9895 #: build/C/man4/st.4:272
9897 "Backward space over I<mt_count> filemarks. Reposition the tape to the EOT "
9898 "side of the last filemark."
9902 #: build/C/man4/st.4:272
9908 #: build/C/man4/st.4:277
9909 msgid "Backward space over I<mt_count> records (tape blocks)."
9913 #: build/C/man4/st.4:277
9919 #: build/C/man4/st.4:282
9920 msgid "Backward space over I<mt_count> setmarks."
9924 #: build/C/man4/st.4:282
9926 msgid "B<MTCOMPRESSION>"
9930 #: build/C/man4/st.4:290
9932 "Enable compression of tape data within the drive if I<mt_count> is nonzero "
9933 "and disable compression if I<mt_count> is zero. This command uses the MODE "
9934 "page 15 supported by most DATs."
9938 #: build/C/man4/st.4:290
9944 #: build/C/man4/st.4:293
9945 msgid "Go to the end of the recorded media (for appending files)."
9949 #: build/C/man4/st.4:293
9955 #: build/C/man4/st.4:299
9957 "Erase tape. With 2.6 kernel, short erase (mark tape empty) is performed if "
9958 "the argument is zero. Otherwise, long erase (erase all) is done."
9962 #: build/C/man4/st.4:299
9968 #: build/C/man4/st.4:304
9969 msgid "Forward space over I<mt_count> filemarks."
9973 #: build/C/man4/st.4:304
9979 #: build/C/man4/st.4:310
9981 "Forward space over I<mt_count> filemarks. Reposition the tape to the BOT "
9982 "side of the last filemark."
9986 #: build/C/man4/st.4:310
9992 #: build/C/man4/st.4:315
9993 msgid "Forward space over I<mt_count> records (tape blocks)."
9997 #: build/C/man4/st.4:315
10002 #. type: Plain text
10003 #: build/C/man4/st.4:320
10004 msgid "Forward space over I<mt_count> setmarks."
10008 #: build/C/man4/st.4:320
10013 #. type: Plain text
10014 #: build/C/man4/st.4:331
10016 "Execute the SCSI load command. A special case is available for some HP "
10017 "autoloaders. If I<mt_count> is the constant B<MT_ST_HPLOADER_OFFSET> plus a "
10018 "number, the number is sent to the drive to control the autoloader."
10022 #: build/C/man4/st.4:331
10027 #. type: Plain text
10028 #: build/C/man4/st.4:334
10029 msgid "Lock the tape drive door."
10033 #: build/C/man4/st.4:334
10035 msgid "B<MTMKPART>"
10038 #. type: Plain text
10039 #: build/C/man4/st.4:348
10041 "Format the tape into one or two partitions. If I<mt_count> is nonzero, it "
10042 "gives the size of the first partition and the second partition contains the "
10043 "rest of the tape. If I<mt_count> is zero, the tape is formatted into one "
10044 "partition. This command is not allowed for a drive unless the partition "
10045 "support is enabled for the drive (see B<MT_ST_CAN_PARTITIONS> below)."
10049 #: build/C/man4/st.4:348
10054 #. type: Plain text
10055 #: build/C/man4/st.4:353
10057 "No op\\(emflushes the driver's buffer as a side effect. Should be used "
10058 "before reading status with B<MTIOCGET>."
10062 #: build/C/man4/st.4:353
10067 #. type: Plain text
10068 #: build/C/man4/st.4:356
10069 msgid "Rewind and put the drive off line."
10073 #: build/C/man4/st.4:356
10078 #. type: Plain text
10079 #: build/C/man4/st.4:359
10080 msgid "Reset drive."
10084 #: build/C/man4/st.4:359
10089 #. type: Plain text
10090 #: build/C/man4/st.4:362
10091 msgid "Re-tension tape."
10095 #: build/C/man4/st.4:362
10100 #. type: Plain text
10101 #: build/C/man4/st.4:365
10106 #: build/C/man4/st.4:365
10111 #. type: Plain text
10112 #: build/C/man4/st.4:377
10114 "Seek to the tape block number specified in I<mt_count>. This operation "
10115 "requires either a SCSI-2 drive that supports the B<LOCATE> command "
10116 "(device-specific address) or a Tandberg-compatible SCSI-1 drive (Tandberg, "
10117 "Archive Viper, Wangtek, ...). The block number should be one that was "
10118 "previously returned by B<MTIOCPOS> if device-specific addresses are used."
10122 #: build/C/man4/st.4:377
10124 msgid "B<MTSETBLK>"
10127 #. type: Plain text
10128 #: build/C/man4/st.4:382
10130 "Set the drive's block length to the value specified in I<mt_count>. A block "
10131 "length of zero sets the drive to variable block size mode."
10135 #: build/C/man4/st.4:382
10137 msgid "B<MTSETDENSITY>"
10140 #. type: Plain text
10141 #: build/C/man4/st.4:388
10143 "Set the tape density to the code in I<mt_count>. The density codes "
10144 "supported by a drive can be found from the drive documentation."
10148 #: build/C/man4/st.4:388
10150 msgid "B<MTSETPART>"
10153 #. type: Plain text
10154 #: build/C/man4/st.4:397
10156 "The active partition is switched to I<mt_count>. The partitions are "
10157 "numbered from zero. This command is not allowed for a drive unless the "
10158 "partition support is enabled for the drive (see B<MT_ST_CAN_PARTITIONS> "
10163 #: build/C/man4/st.4:397
10165 msgid "B<MTUNLOAD>"
10168 #. type: Plain text
10169 #: build/C/man4/st.4:400
10170 msgid "Execute the SCSI unload command (does not eject the tape)."
10174 #: build/C/man4/st.4:400
10176 msgid "B<MTUNLOCK>"
10179 #. type: Plain text
10180 #: build/C/man4/st.4:403
10181 msgid "Unlock the tape drive door."
10185 #: build/C/man4/st.4:403
10190 #. type: Plain text
10191 #: build/C/man4/st.4:408
10192 msgid "Write I<mt_count> filemarks."
10196 #: build/C/man4/st.4:408
10201 #. type: Plain text
10202 #: build/C/man4/st.4:413
10203 msgid "Write I<mt_count> setmarks."
10206 #. type: Plain text
10207 #: build/C/man4/st.4:415
10208 msgid "Magnetic Tape operations for setting of device options (by the superuser):"
10212 #: build/C/man4/st.4:415
10214 msgid "B<MTSETDRVBUFFER>"
10217 #. type: Plain text
10218 #: build/C/man4/st.4:424
10220 "Set various drive and driver options according to bits encoded in "
10221 "I<mt_count>. These consist of the drive's buffering mode, a set of Boolean "
10222 "driver options, the buffer write threshold, defaults for the block size and "
10223 "density, and timeouts (only in kernels 2.1 and later). A single operation "
10224 "can affect only one item in the list above (the Booleans counted as one "
10228 #. type: Plain text
10229 #: build/C/man4/st.4:428
10231 "A value having zeros in the high-order 4 bits will be used to set the "
10232 "drive's buffering mode. The buffering modes are:"
10236 #: build/C/man4/st.4:429
10241 #. type: Plain text
10242 #: build/C/man4/st.4:434
10244 "The drive will not report B<GOOD> status on write commands until the data "
10245 "blocks are actually written to the medium."
10249 #: build/C/man4/st.4:434
10254 #. type: Plain text
10255 #: build/C/man4/st.4:439
10257 "The drive may report B<GOOD> status on write commands as soon as all the "
10258 "data has been transferred to the drive's internal buffer."
10262 #: build/C/man4/st.4:439
10267 #. type: Plain text
10268 #: build/C/man4/st.4:446
10270 "The drive may report B<GOOD> status on write commands as soon as (a) all the "
10271 "data has been transferred to the drive's internal buffer, and (b) all "
10272 "buffered data from different initiators has been successfully written to the "
10276 #. type: Plain text
10277 #: build/C/man4/st.4:457
10279 "To control the write threshold the value in I<mt_count> must include the "
10280 "constant B<MT_ST_WRITE_THRESHOLD> bitwise ORed with a block count in the low "
10281 "28 bits. The block count refers to 1024-byte blocks, not the physical block "
10282 "size on the tape. The threshold cannot exceed the driver's internal buffer "
10283 "size (see DESCRIPTION, above)."
10286 #. type: Plain text
10287 #: build/C/man4/st.4:478
10289 "To set and clear the Boolean options the value in I<mt_count> must include "
10290 "one of the constants B<MT_ST_BOOLEANS>, B<MT_ST_SETBOOLEANS>, "
10291 "B<MT_ST_CLEARBOOLEANS>, or B<MT_ST_DEFBOOLEANS> bitwise ORed with whatever "
10292 "combination of the following options is desired. Using B<MT_ST_BOOLEANS> "
10293 "the options can be set to the values defined in the corresponding bits. "
10294 "With B<MT_ST_SETBOOLEANS> the options can be selectively set and with "
10295 "B<MT_ST_DEFBOOLEANS> selectively cleared."
10298 #. type: Plain text
10299 #: build/C/man4/st.4:486
10301 "The default options for a tape device are set with B<MT_ST_DEFBOOLEANS>. A "
10302 "nonactive tape device (e.g., device with minor 32 or 160) is activated when "
10303 "the default options for it are defined the first time. An activated device "
10304 "inherits from the device activated at start-up the options not set "
10308 #. type: Plain text
10309 #: build/C/man4/st.4:488
10310 msgid "The Boolean options are:"
10314 #: build/C/man4/st.4:489
10316 msgid "B<MT_ST_BUFFER_WRITES> (Default: true)"
10319 #. type: Plain text
10320 #: build/C/man4/st.4:495
10322 "Buffer all write operations in fixed-block mode. If this option is false "
10323 "and the drive uses a fixed block size, then all write operations must be for "
10324 "a multiple of the block size. This option must be set false to write "
10325 "reliable multivolume archives."
10329 #: build/C/man4/st.4:495
10331 msgid "B<MT_ST_ASYNC_WRITES> (Default: true)"
10334 #. type: Plain text
10335 #: build/C/man4/st.4:505
10337 "When this option is true, write operations return immediately without "
10338 "waiting for the data to be transferred to the drive if the data fits into "
10339 "the driver's buffer. The write threshold determines how full the buffer "
10340 "must be before a new SCSI write command is issued. Any errors reported by "
10341 "the drive will be held until the next operation. This option must be set "
10342 "false to write reliable multivolume archives."
10346 #: build/C/man4/st.4:505
10348 msgid "B<MT_ST_READ_AHEAD> (Default: true)"
10351 #. type: Plain text
10352 #: build/C/man4/st.4:511
10354 "This option causes the driver to provide read buffering and read-ahead in "
10355 "fixed-block mode. If this option is false and the drive uses a fixed block "
10356 "size, then all read operations must be for a multiple of the block size."
10360 #: build/C/man4/st.4:511
10362 msgid "B<MT_ST_TWO_FM> (Default: false)"
10365 #. type: Plain text
10366 #: build/C/man4/st.4:517
10368 "This option modifies the driver behavior when a file is closed. The normal "
10369 "action is to write a single filemark. If the option is true, the driver "
10370 "will write two filemarks and backspace over the second one."
10373 #. type: Plain text
10374 #: build/C/man4/st.4:526
10376 "Note: This option should not be set true for QIC tape drives since they are "
10377 "unable to overwrite a filemark. These drives detect the end of recorded "
10378 "data by testing for blank tape rather than two consecutive filemarks. Most "
10379 "other current drives also detect the end of recorded data and using two "
10380 "filemarks is usually necessary only when interchanging tapes with some other "
10385 #: build/C/man4/st.4:526
10387 msgid "B<MT_ST_DEBUGGING> (Default: false)"
10390 #. type: Plain text
10391 #: build/C/man4/st.4:532
10393 "This option turns on various debugging messages from the driver (effective "
10394 "only if the driver was compiled with B<DEBUG> defined nonzero)."
10398 #: build/C/man4/st.4:532
10400 msgid "B<MT_ST_FAST_EOM> (Default: false)"
10403 #. type: Plain text
10404 #: build/C/man4/st.4:546
10406 "This option causes the B<MTEOM> operation to be sent directly to the drive, "
10407 "potentially speeding up the operation but causing the driver to lose track "
10408 "of the current file number normally returned by the B<MTIOCGET> request. If "
10409 "B<MT_ST_FAST_EOM> is false, the driver will respond to an B<MTEOM> request "
10410 "by forward spacing over files."
10414 #: build/C/man4/st.4:546
10416 msgid "B<MT_ST_AUTO_LOCK> (Default: false)"
10419 #. type: Plain text
10420 #: build/C/man4/st.4:550
10422 "When this option is true, the drive door is locked when the device is opened "
10423 "and unlocked when it is closed."
10427 #: build/C/man4/st.4:550
10429 msgid "B<MT_ST_DEF_WRITES> (Default: false)"
10432 #. type: Plain text
10433 #: build/C/man4/st.4:567
10435 "The tape options (block size, mode, compression, etc.) may change when "
10436 "changing from one device linked to a drive to another device linked to the "
10437 "same drive depending on how the devices are defined. This option defines "
10438 "when the changes are enforced by the driver using SCSI-commands and when the "
10439 "drives auto-detection capabilities are relied upon. If this option is "
10440 "false, the driver sends the SCSI-commands immediately when the device is "
10441 "changed. If the option is true, the SCSI-commands are not sent until a "
10442 "write is requested. In this case, the drive firmware is allowed to detect "
10443 "the tape structure when reading and the SCSI-commands are used only to make "
10444 "sure that a tape is written according to the correct specification."
10448 #: build/C/man4/st.4:567
10450 msgid "B<MT_ST_CAN_BSR> (Default: false)"
10453 #. type: Plain text
10454 #: build/C/man4/st.4:580
10456 "When read-ahead is used, the tape must sometimes be spaced backward to the "
10457 "correct position when the device is closed and the SCSI command to space "
10458 "backward over records is used for this purpose. Some older drives can't "
10459 "process this command reliably and this option can be used to instruct the "
10460 "driver not to use the command. The end result is that, with read-ahead and "
10461 "fixed-block mode, the tape may not be correctly positioned within a file "
10462 "when the device is closed. With 2.6 kernel, the default is true for drives "
10463 "supporting SCSI-3."
10467 #: build/C/man4/st.4:580
10469 msgid "B<MT_ST_NO_BLKLIMS> (Default: false)"
10472 #. type: Plain text
10473 #: build/C/man4/st.4:589
10475 "Some drives don't accept the B<READ BLOCK LIMITS> SCSI command. If this is "
10476 "used, the driver does not use the command. The drawback is that the driver "
10477 "can't check before sending commands if the selected block size is acceptable "
10482 #: build/C/man4/st.4:589
10484 msgid "B<MT_ST_CAN_PARTITIONS> (Default: false)"
10487 #. type: Plain text
10488 #: build/C/man4/st.4:594
10490 "This option enables support for several partitions within a tape. The "
10491 "option applies to all devices linked to a drive."
10495 #: build/C/man4/st.4:594
10497 msgid "B<MT_ST_SCSI2LOGICAL> (Default: false)"
10500 #. type: Plain text
10501 #: build/C/man4/st.4:609
10503 "This option instructs the driver to use the logical block addresses defined "
10504 "in the SCSI-2 standard when performing the seek and tell operations (both "
10505 "with B<MTSEEK> and B<MTIOCPOS> commands and when changing tape partition). "
10506 "Otherwise, the device-specific addresses are used. It is highly advisable "
10507 "to set this option if the drive supports the logical addresses because they "
10508 "count also filemarks. There are some drives that support only the logical "
10513 #: build/C/man4/st.4:609
10515 msgid "B<MT_ST_SYSV> (Default: false)"
10518 #. type: Plain text
10519 #: build/C/man4/st.4:620
10521 "When this option is enabled, the tape devices use the SystemV semantics. "
10522 "Otherwise, the BSD semantics are used. The most important difference "
10523 "between the semantics is what happens when a device used for reading is "
10524 "closed: in System V semantics the tape is spaced forward past the next "
10525 "filemark if this has not happened while using the device. In BSD semantics "
10526 "the tape position is not changed."
10530 #: build/C/man4/st.4:620
10532 msgid "B<MT_NO_WAIT> (Default: false)"
10535 #. type: Plain text
10536 #: build/C/man4/st.4:624
10538 "Enables immediate mode (i.e., don't wait for the command to finish) for some "
10539 "commands (e.g., rewind)."
10542 #. type: Plain text
10543 #: build/C/man4/st.4:626
10544 msgid "An example:"
10547 #. type: Plain text
10548 #: build/C/man4/st.4:634
10551 "struct mtop mt_cmd;\n"
10552 "mt_cmd.mt_op = MTSETDRVBUFFER;\n"
10553 "mt_cmd.mt_count = MT_ST_BOOLEANS |\n"
10554 " MT_ST_BUFFER_WRITES | MT_ST_ASYNC_WRITES;\n"
10555 "ioctl(fd, MTIOCTOP, mt_cmd);\n"
10558 #. type: Plain text
10559 #: build/C/man4/st.4:644
10561 "The default block size for a device can be set with B<MT_ST_DEF_BLKSIZE> and "
10562 "the default density code can be set with B<MT_ST_DEFDENSITY>. The values "
10563 "for the parameters are or'ed with the operation code."
10566 #. type: Plain text
10567 #: build/C/man4/st.4:661
10569 "With kernels 2.1.x and later, the timeout values can be set with the "
10570 "subcommand B<MT_ST_SET_TIMEOUT> ORed with the timeout in seconds. The long "
10571 "timeout (used for rewinds and other commands that may take a long time) can "
10572 "be set with B<MT_ST_SET_LONG_TIMEOUT>. The kernel defaults are very long to "
10573 "make sure that a successful command is not timed out with any drive. "
10574 "Because of this, the driver may seem stuck even if it is only waiting for "
10575 "the timeout. These commands can be used to set more practical values for a "
10576 "specific drive. The timeouts set for one device apply for all devices "
10577 "linked to the same drive."
10580 #. type: Plain text
10581 #: build/C/man4/st.4:682
10583 "Starting from kernels 2.4.19 and 2.5.43, the driver supports a status bit "
10584 "which indicates whether the drive requests cleaning. The method used by the "
10585 "drive to return cleaning information is set using the B<MT_ST_SEL_CLN> "
10586 "subcommand. If the value is zero, the cleaning bit is always zero. If the "
10587 "value is one, the TapeAlert data defined in the SCSI-3 standard is used (not "
10588 "yet implemented). Values 2-17 are reserved. If the lowest eight bits are "
10589 "E<gt>= 18, bits from the extended sense data are used. The bits 9-16 "
10590 "specify a mask to select the bits to look at and the bits 17-23 specify the "
10591 "bit pattern to look for. If the bit pattern is zero, one or more bits under "
10592 "the mask indicate the cleaning request. If the pattern is nonzero, the "
10593 "pattern must match the masked sense data byte."
10597 #: build/C/man4/st.4:682
10599 msgid "MTIOCGET \\(em get status"
10602 #. type: Plain text
10603 #: build/C/man4/st.4:686
10604 msgid "This request takes an argument of type I<(struct mtget\\ *)>."
10607 #. type: Plain text
10608 #: build/C/man4/st.4:701
10611 "/* structure for MTIOCGET - mag tape get status command */\n"
10614 " long mt_resid;\n"
10615 " /* the following registers are device dependent */\n"
10616 " long mt_dsreg;\n"
10617 " long mt_gstat;\n"
10618 " long mt_erreg;\n"
10619 " /* The next two fields are not always used */\n"
10620 " daddr_t mt_fileno;\n"
10621 " daddr_t mt_blkno;\n"
10626 #: build/C/man4/st.4:703
10631 #. type: Plain text
10632 #: build/C/man4/st.4:712
10634 "The header file defines many values for I<mt_type>, but the current driver "
10635 "reports only the generic types B<MT_ISSCSI1> (Generic SCSI-1 tape) and "
10636 "B<MT_ISSCSI2> (Generic SCSI-2 tape)."
10640 #: build/C/man4/st.4:712
10642 msgid "I<mt_resid>"
10645 #. type: Plain text
10646 #: build/C/man4/st.4:714
10647 msgid "contains the current tape partition number."
10651 #: build/C/man4/st.4:714
10653 msgid "I<mt_dsreg>"
10656 #. type: Plain text
10657 #: build/C/man4/st.4:723
10659 "reports the drive's current settings for block size (in the low 24 bits) and "
10660 "density (in the high 8 bits). These fields are defined by "
10661 "B<MT_ST_BLKSIZE_SHIFT>, B<MT_ST_BLKSIZE_MASK>, B<MT_ST_DENSITY_SHIFT>, and "
10662 "B<MT_ST_DENSITY_MASK>."
10666 #: build/C/man4/st.4:723
10668 msgid "I<mt_gstat>"
10671 #. type: Plain text
10672 #: build/C/man4/st.4:726
10674 "reports generic (device independent) status information. The header file "
10675 "defines macros for testing these status bits:"
10678 #. type: Plain text
10679 #: build/C/man4/st.4:733
10681 "B<GMT_EOF>(I<x>): The tape is positioned just after a filemark (always false "
10682 "after an B<MTSEEK> operation)."
10685 #. type: Plain text
10686 #: build/C/man4/st.4:739
10688 "B<GMT_BOT>(I<x>): The tape is positioned at the beginning of the first file "
10689 "(always false after an B<MTSEEK> operation)."
10692 #. type: Plain text
10693 #: build/C/man4/st.4:742
10694 msgid "B<GMT_EOT>(I<x>): A tape operation has reached the physical End Of Tape."
10697 #. type: Plain text
10698 #: build/C/man4/st.4:748
10700 "B<GMT_SM>(I<x>): The tape is currently positioned at a setmark (always false "
10701 "after an B<MTSEEK> operation)."
10704 #. type: Plain text
10705 #: build/C/man4/st.4:751
10706 msgid "B<GMT_EOD>(I<x>): The tape is positioned at the end of recorded data."
10709 #. type: Plain text
10710 #: build/C/man4/st.4:756
10712 "B<GMT_WR_PROT>(I<x>): The drive is write-protected. For some drives this "
10713 "can also mean that the drive does not support writing on the current medium "
10717 #. type: Plain text
10718 #: build/C/man4/st.4:761
10720 "B<GMT_ONLINE>(I<x>): The last B<open>(2) found the drive with a tape in "
10721 "place and ready for operation."
10724 #. type: Plain text
10725 #: build/C/man4/st.4:765
10727 "B<GMT_D_6250>(I<x>), B<GMT_D_1600>(I<x>), B<GMT_D_800>(I<x>): This "
10728 "\\(lqgeneric\\(rq status information reports the current density setting for "
10729 "9-track \\(12\" tape drives only."
10732 #. type: Plain text
10733 #: build/C/man4/st.4:768
10734 msgid "B<GMT_DR_OPEN>(I<x>): The drive does not have a tape in place."
10737 #. type: Plain text
10738 #: build/C/man4/st.4:776
10740 "B<GMT_IM_REP_EN>(I<x>): Immediate report mode. This bit is set if there are "
10741 "no guarantees that the data has been physically written to the tape when the "
10742 "write call returns. It is set zero only when the driver does not buffer "
10743 "data and the drive is set not to buffer data."
10746 #. type: Plain text
10747 #: build/C/man4/st.4:780
10749 "B<GMT_CLN>(I<x>): The drive has requested cleaning. Implemented in kernels "
10750 "since 2.4.19 and 2.5.43."
10754 #: build/C/man4/st.4:781
10756 msgid "I<mt_erreg>"
10759 #. type: Plain text
10760 #: build/C/man4/st.4:791
10762 "The only field defined in I<mt_erreg> is the recovered error count in the "
10763 "low 16 bits (as defined by B<MT_ST_SOFTERR_SHIFT> and "
10764 "B<MT_ST_SOFTERR_MASK>. Due to inconsistencies in the way drives report "
10765 "recovered errors, this count is often not maintained (most drives do not by "
10766 "default report soft errors but this can be changed with a SCSI MODE SELECT "
10771 #: build/C/man4/st.4:791
10773 msgid "I<mt_fileno>"
10776 #. type: Plain text
10777 #: build/C/man4/st.4:797
10779 "reports the current file number (zero-based). This value is set to -1 when "
10780 "the file number is unknown (e.g., after B<MTBSS> or B<MTSEEK>)."
10784 #: build/C/man4/st.4:797
10786 msgid "I<mt_blkno>"
10789 #. type: Plain text
10790 #: build/C/man4/st.4:804
10792 "reports the block number (zero-based) within the current file. This value "
10793 "is set to -1 when the block number is unknown (e.g., after B<MTBSF>, "
10794 "B<MTBSS>, or B<MTSEEK>)."
10798 #: build/C/man4/st.4:804
10800 msgid "MTIOCPOS \\(em get tape position"
10803 #. type: Plain text
10804 #: build/C/man4/st.4:818
10806 "This request takes an argument of type I<(struct mtpos\\ *)> and reports the "
10807 "drive's notion of the current tape block number, which is not the same as "
10808 "I<mt_blkno> returned by B<MTIOCGET>. This drive must be a SCSI-2 drive that "
10809 "supports the B<READ POSITION> command (device-specific address) or a "
10810 "Tandberg-compatible SCSI-1 drive (Tandberg, Archive Viper, Wangtek, ... )."
10813 #. type: Plain text
10814 #: build/C/man4/st.4:825
10817 "/* structure for MTIOCPOS - mag tape get position command */\n"
10819 " long mt_blkno; /* current block number */\n"
10823 #. type: Plain text
10824 #: build/C/man4/st.4:834
10826 "An attempt was made to write or erase a write-protected tape. (This error "
10827 "is not detected during B<open>(2).)"
10831 #: build/C/man4/st.4:834
10836 #. type: Plain text
10837 #: build/C/man4/st.4:838
10838 msgid "The device is already in use or the driver was unable to allocate a buffer."
10841 #. type: Plain text
10842 #: build/C/man4/st.4:842
10843 msgid "The command parameters point to memory not belonging to the calling process."
10846 #. type: Plain text
10847 #: build/C/man4/st.4:847
10849 "An B<ioctl>(2) had an invalid argument, or a requested block size was "
10854 #: build/C/man4/st.4:847
10859 #. type: Plain text
10860 #: build/C/man4/st.4:850
10861 msgid "The requested operation could not be completed."
10864 #. type: Plain text
10865 #: build/C/man4/st.4:857
10867 "The byte count in B<read>(2) is smaller than the next physical block on the "
10868 "tape. (Before 2.2.18 and 2.4.0-test6 the extra bytes have been silently "
10872 #. type: Plain text
10873 #: build/C/man4/st.4:861
10875 "A write operation could not be completed because the tape reached "
10880 #: build/C/man4/st.4:861 build/C/man2/syslog.2:355
10885 #. type: Plain text
10886 #: build/C/man4/st.4:865
10887 msgid "Unknown B<ioctl>(2)."
10891 #: build/C/man4/st.4:865
10896 #. type: Plain text
10897 #: build/C/man4/st.4:868
10898 msgid "During opening, the tape device does not exist."
10902 #: build/C/man4/st.4:868
10904 msgid "B<EOVERFLOW>"
10907 #. type: Plain text
10908 #: build/C/man4/st.4:872
10910 "An attempt was made to read or write a variable-length block that is larger "
10911 "than the driver's internal buffer."
10914 #. type: Plain text
10915 #: build/C/man4/st.4:879
10917 "Open is attempted with B<O_WRONLY> or B<O_RDWR> when the tape in the drive "
10918 "is write-protected."
10922 #: build/C/man4/st.4:880
10924 msgid "I</dev/st*>"
10927 #. type: Plain text
10928 #: build/C/man4/st.4:883
10929 msgid "the auto-rewind SCSI tape devices"
10933 #: build/C/man4/st.4:883
10935 msgid "I</dev/nst*>"
10939 #. The driver has been written by Kai M\(:akisara (Kai.Makisara@metla.fi)
10940 #. starting from a driver written by Dwayne Forsyth.
10942 #. people have also contributed to the driver.
10943 #. type: Plain text
10944 #: build/C/man4/st.4:891
10945 msgid "the nonrewind SCSI tape devices"
10948 #. type: Plain text
10949 #: build/C/man4/st.4:912
10951 "When exchanging data between systems, both systems have to agree on the "
10952 "physical tape block size. The parameters of a drive after startup are often "
10953 "not the ones most operating systems use with these devices. Most systems "
10954 "use drives in variable-block mode if the drive supports that mode. This "
10955 "applies to most modern drives, including DATs, 8mm helical scan drives, "
10956 "DLTs, etc. It may be advisable to use these drives in variable-block mode "
10957 "also in Linux (i.e., use B<MTSETBLK> or B<MTSETDEFBLK> at system startup to "
10958 "set the mode), at least when exchanging data with a foreign system. The "
10959 "drawback of this is that a fairly large tape block size has to be used to "
10960 "get acceptable data transfer rates on the SCSI bus."
10963 #. type: Plain text
10964 #: build/C/man4/st.4:919
10966 "Many programs (e.g., B<tar>(1)) allow the user to specify the blocking "
10967 "factor on the command line. Note that this determines the physical block "
10968 "size on tape only in variable-block mode."
10971 #. type: Plain text
10972 #: build/C/man4/st.4:926
10974 "In order to use SCSI tape drives, the basic SCSI driver, a SCSI-adapter "
10975 "driver and the SCSI tape driver must be either configured into the kernel or "
10976 "loaded as modules. If the SCSI-tape driver is not present, the drive is "
10977 "recognized but the tape support described in this page is not available."
10980 #. type: Plain text
10981 #: build/C/man4/st.4:931
10983 "The driver writes error messages to the console/log. The SENSE codes "
10984 "written into some messages are automatically translated to text if verbose "
10985 "SCSI messages are enabled in kernel configuration."
10989 #. Copyright \(co 1995 Robert K. Nichols.
10991 #. Copyright \(co 1999-2005 Kai M\(:akisara.
10993 #. %%%LICENSE_START(VERBATIM)
10994 #. Permission is granted to make and distribute verbatim copies of this
10995 #. manual provided the copyright notice and this permission notice are
10996 #. preserved on all copies.
10997 #. Additional permissions are contained in the header of the source file.
10998 #. type: Plain text
10999 #: build/C/man4/st.4:954
11001 "The driver's internal buffering allows good throughput in fixed-block mode "
11002 "also with small B<read>(2) and B<write>(2) byte counts. With direct "
11003 "transfers this is not possible and may cause a surprise when moving to the "
11004 "2.6 kernel. The solution is to tell the software to use larger transfers "
11005 "(often telling it to use larger blocks). If this is not possible, direct "
11006 "transfers can be disabled."
11009 #. type: Plain text
11010 #: build/C/man4/st.4:956
11014 #. type: Plain text
11015 #: build/C/man4/st.4:964
11017 "The file I<drivers/scsi/README.st> or I<Documentation/scsi/st.txt> (kernel "
11018 "E<gt>= 2.6) in the Linux kernel source tree contains the most recent "
11019 "information about the driver and its configuration possibilities"
11023 #: build/C/man3/stdarg.3:43
11029 #: build/C/man3/stdarg.3:43
11034 #. type: Plain text
11035 #: build/C/man3/stdarg.3:46
11036 msgid "stdarg, va_start, va_arg, va_end, va_copy - variable argument lists"
11039 #. type: Plain text
11040 #: build/C/man3/stdarg.3:48 build/C/man3/syslog.3:49
11041 msgid "B<#include E<lt>stdarg.hE<gt>>"
11044 #. type: Plain text
11045 #: build/C/man3/stdarg.3:50
11046 msgid "B<void va_start(va_list >I<ap>B<, >I<last>B<);>"
11049 #. type: Plain text
11050 #: build/C/man3/stdarg.3:52
11051 msgid "I<type>B< va_arg(va_list >I<ap>B<, >I<type>B<);>"
11054 #. type: Plain text
11055 #: build/C/man3/stdarg.3:54
11056 msgid "B<void va_end(va_list >I<ap>B<);>"
11059 #. type: Plain text
11060 #: build/C/man3/stdarg.3:56
11061 msgid "B<void va_copy(va_list >I<dest>B<, va_list >I<src>B<);>"
11064 #. type: Plain text
11065 #: build/C/man3/stdarg.3:65
11067 "A function may be called with a varying number of arguments of varying "
11068 "types. The include file I<E<lt>stdarg.hE<gt>> declares a type I<va_list> "
11069 "and defines three macros for stepping through a list of arguments whose "
11070 "number and types are not known to the called function."
11073 #. type: Plain text
11074 #: build/C/man3/stdarg.3:73
11076 "The called function must declare an object of type I<va_list> which is used "
11077 "by the macros B<va_start>(), B<va_arg>(), and B<va_end>()."
11081 #: build/C/man3/stdarg.3:73
11086 #. type: Plain text
11087 #: build/C/man3/stdarg.3:83
11089 "The B<va_start>() macro initializes I<ap> for subsequent use by B<va_arg>() "
11090 "and B<va_end>(), and must be called first."
11093 #. type: Plain text
11094 #: build/C/man3/stdarg.3:88
11096 "The argument I<last> is the name of the last argument before the variable "
11097 "argument list, that is, the last argument of which the calling function "
11101 #. type: Plain text
11102 #: build/C/man3/stdarg.3:93
11104 "Because the address of this argument may be used in the B<va_start>() "
11105 "macro, it should not be declared as a register variable, or as a function or "
11110 #: build/C/man3/stdarg.3:93
11115 #. type: Plain text
11116 #: build/C/man3/stdarg.3:115
11118 "The B<va_arg>() macro expands to an expression that has the type and value "
11119 "of the next argument in the call. The argument I<ap> is the I<va_list> "
11120 "I<ap> initialized by B<va_start>(). Each call to B<va_arg>() modifies "
11121 "I<ap> so that the next call returns the next argument. The argument I<type> "
11122 "is a type name specified so that the type of a pointer to an object that has "
11123 "the specified type can be obtained simply by adding a * to I<type>."
11126 #. type: Plain text
11127 #: build/C/man3/stdarg.3:123
11129 "The first use of the B<va_arg>() macro after that of the B<va_start>() "
11130 "macro returns the argument after I<last>. Successive invocations return the "
11131 "values of the remaining arguments."
11134 #. type: Plain text
11135 #: build/C/man3/stdarg.3:128
11137 "If there is no next argument, or if I<type> is not compatible with the type "
11138 "of the actual next argument (as promoted according to the default argument "
11139 "promotions), random errors will occur."
11142 #. type: Plain text
11143 #: build/C/man3/stdarg.3:136
11145 "If I<ap> is passed to a function that uses B<va_arg(>I<ap>B<,>I<type>B<),> "
11146 "then the value of I<ap> is undefined after the return of that function."
11150 #: build/C/man3/stdarg.3:136
11155 #. type: Plain text
11156 #: build/C/man3/stdarg.3:155
11158 "Each invocation of B<va_start>() must be matched by a corresponding "
11159 "invocation of B<va_end>() in the same function. After the call "
11160 "B<va_end(>I<ap>B<)> the variable I<ap> is undefined. Multiple traversals of "
11161 "the list, each bracketed by B<va_start>() and B<va_end>() are possible. "
11162 "B<va_end>() may be a macro or a function."
11166 #: build/C/man3/stdarg.3:155
11171 #. type: Plain text
11172 #: build/C/man3/stdarg.3:172
11174 "The B<va_copy>() macro copies the (previously initialized) variable "
11175 "argument list I<src> to I<dest>. The behavior is as if B<va_start>() were "
11176 "applied to I<dest> with the same I<last> argument, followed by the same "
11177 "number of B<va_arg>() invocations that was used to reach the current state "
11181 #. Proposal from clive@demon.net, 1997-02-28
11182 #. type: Plain text
11183 #: build/C/man3/stdarg.3:179
11185 "An obvious implementation would have a I<va_list> be a pointer to the stack "
11186 "frame of the variadic function. In such a setup (by far the most common) "
11187 "there seems nothing against an assignment"
11190 #. type: Plain text
11191 #: build/C/man3/stdarg.3:183
11193 msgid "va_list aq = ap;\n"
11196 #. type: Plain text
11197 #: build/C/man3/stdarg.3:188
11199 "Unfortunately, there are also systems that make it an array of pointers (of "
11200 "length 1), and there one needs"
11203 #. type: Plain text
11204 #: build/C/man3/stdarg.3:193
11211 #. type: Plain text
11212 #: build/C/man3/stdarg.3:209
11214 "Finally, on systems where arguments are passed in registers, it may be "
11215 "necessary for B<va_start>() to allocate memory, store the arguments there, "
11216 "and also an indication of which argument is next, so that B<va_arg>() can "
11217 "step through the list. Now B<va_end>() can free the allocated memory "
11218 "again. To accommodate this situation, C99 adds a macro B<va_copy>(), so "
11219 "that the above assignment can be replaced by"
11222 #. type: Plain text
11223 #: build/C/man3/stdarg.3:216
11227 "va_copy(aq, ap);\n"
11232 #. type: Plain text
11233 #: build/C/man3/stdarg.3:229
11235 "Each invocation of B<va_copy>() must be matched by a corresponding "
11236 "invocation of B<va_end>() in the same function. Some systems that do not "
11237 "supply B<va_copy>() have B<__va_copy> instead, since that was the name used "
11238 "in the draft proposal."
11241 #. type: Plain text
11242 #: build/C/man3/stdarg.3:238
11244 "The B<va_start>(), B<va_arg>(), B<va_end>(), and B<va_copy>() macros are "
11248 #. type: Plain text
11249 #: build/C/man3/stdarg.3:248
11251 "The B<va_start>(), B<va_arg>(), and B<va_end>() macros conform to C89. C99 "
11252 "defines the B<va_copy>() macro."
11255 #. type: Plain text
11256 #: build/C/man3/stdarg.3:254
11258 "These macros are I<not> compatible with the historic macros they replace. A "
11259 "backward-compatible version can be found in the include file "
11260 "I<E<lt>varargs.hE<gt>>."
11263 #. type: Plain text
11264 #: build/C/man3/stdarg.3:256
11265 msgid "The historic setup is:"
11268 #. type: Plain text
11269 #: build/C/man3/stdarg.3:260
11271 msgid "#include E<lt>varargs.hE<gt>\n"
11274 #. type: Plain text
11275 #: build/C/man3/stdarg.3:266
11285 #. type: Plain text
11286 #: build/C/man3/stdarg.3:275
11292 " x = va_arg(ap, type);\n"
11299 #. type: Plain text
11300 #: build/C/man3/stdarg.3:284
11302 "On some systems, I<va_end> contains a closing \\(aq}\\(aq matching a "
11303 "\\(aq{\\(aq in I<va_start>, so that both macros must occur in the same "
11304 "function, and in a way that allows this."
11307 #. type: Plain text
11308 #: build/C/man3/stdarg.3:300
11310 "Unlike the B<varargs> macros, the B<stdarg> macros do not permit programmers "
11311 "to code a function with no fixed arguments. This problem generates work "
11312 "mainly when converting B<varargs> code to B<stdarg> code, but it also "
11313 "creates difficulties for variadic functions that wish to pass all of their "
11314 "arguments on to a function that takes a I<va_list> argument, such as "
11318 #. type: Plain text
11319 #: build/C/man3/stdarg.3:305
11321 "The function I<foo> takes a string of format characters and prints out the "
11322 "argument associated with each format character based on the type."
11325 #. type: Plain text
11326 #: build/C/man3/stdarg.3:309
11329 "#include E<lt>stdio.hE<gt>\n"
11330 "#include E<lt>stdarg.hE<gt>\n"
11333 #. type: Plain text
11334 #: build/C/man3/stdarg.3:316
11338 "foo(char *fmt, ...)\n"
11345 #. type: Plain text
11346 #: build/C/man3/stdarg.3:337
11349 " va_start(ap, fmt);\n"
11351 " switch (*fmt++) {\n"
11352 " case \\(aqs\\(aq: /* string */\n"
11353 " s = va_arg(ap, char *);\n"
11354 " printf(\"string %s\\en\", s);\n"
11356 " case \\(aqd\\(aq: /* int */\n"
11357 " d = va_arg(ap, int);\n"
11358 " printf(\"int %d\\en\", d);\n"
11360 " case \\(aqc\\(aq: /* char */\n"
11361 " /* need a cast here since va_arg only\n"
11362 " takes fully promoted types */\n"
11363 " c = (char) va_arg(ap, int);\n"
11364 " printf(\"char %c\\en\", c);\n"
11372 #: build/C/man2/syslog.2:33 build/C/man3/syslog.3:36
11377 #. type: Plain text
11378 #: build/C/man2/syslog.2:37
11380 "syslog, klogctl - read and/or clear kernel message ring buffer; set "
11384 #. type: Plain text
11385 #: build/C/man2/syslog.2:41
11388 "B<int syslog(int >I<type>B<, char *>I<bufp>B<, int >I<len>B<);>\n"
11389 "B</* No wrapper provided in glibc */>\n"
11392 #. type: Plain text
11393 #: build/C/man2/syslog.2:43
11395 msgid "/* The glibc interface */\n"
11398 #. type: Plain text
11399 #: build/C/man2/syslog.2:45
11401 msgid "B<#include E<lt>sys/klog.hE<gt>>\n"
11404 #. type: Plain text
11405 #: build/C/man2/syslog.2:47
11407 msgid "B<int klogctl(int >I<type>B<, char *>I<bufp>B<, int >I<len>B<);>\n"
11410 #. type: Plain text
11411 #: build/C/man2/syslog.2:57
11413 "I<Note>: Probably, you are looking for the C library function B<syslog>(), "
11414 "which talks to B<syslogd>(8); see B<syslog>(3) for details."
11417 #. type: Plain text
11418 #: build/C/man2/syslog.2:64
11420 "This page describes the kernel B<syslog>() system call, which is used to "
11421 "control the kernel I<printk>() buffer; the glibc wrapper function for the "
11422 "system call is called B<klogctl>()."
11426 #: build/C/man2/syslog.2:64
11428 msgid "The kernel log buffer"
11431 #. Under "General setup" ==> "Kernel log buffer size"
11432 #. For 2.6, precisely the option seems to have appeared in 2.5.55.
11433 #. type: Plain text
11434 #: build/C/man2/syslog.2:81
11436 "The kernel has a cyclic buffer of length B<LOG_BUF_LEN> in which messages "
11437 "given as arguments to the kernel function B<printk>() are stored "
11438 "(regardless of their log level). In early kernels, B<LOG_BUF_LEN> had the "
11439 "value 4096; from kernel 1.3.54, it was 8192; from kernel 2.1.113, it was "
11440 "16384; since kernel 2.4.23/2.6, the value is a kernel configuration option "
11441 "(B<CONFIG_LOG_BUF_SHIFT>, default value dependent on the architecture). "
11442 "Since Linux 2.6.6, the size can be queried with command type 10 (see below)."
11446 #: build/C/man2/syslog.2:81
11451 #. type: Plain text
11452 #: build/C/man2/syslog.2:88
11454 "The I<type> argument determines the action taken by this function. The list "
11455 "below specifies the values for I<type>. The symbolic names are defined in "
11456 "the kernel source, but are not exported to user space; you will either need "
11457 "to use the numbers, or define the names yourself."
11461 #: build/C/man2/syslog.2:88
11463 msgid "B<SYSLOG_ACTION_CLOSE> (0)"
11466 #. type: Plain text
11467 #: build/C/man2/syslog.2:92
11468 msgid "Close the log. Currently a NOP."
11472 #: build/C/man2/syslog.2:92
11474 msgid "B<SYSLOG_ACTION_OPEN> (1)"
11477 #. type: Plain text
11478 #: build/C/man2/syslog.2:96
11479 msgid "Open the log. Currently a NOP."
11483 #: build/C/man2/syslog.2:96
11485 msgid "B<SYSLOG_ACTION_READ> (2)"
11488 #. type: Plain text
11489 #: build/C/man2/syslog.2:108
11491 "Read from the log. The call waits until the kernel log buffer is nonempty, "
11492 "and then reads at most I<len> bytes into the buffer pointed to by I<bufp>. "
11493 "The call returns the number of bytes read. Bytes read from the log "
11494 "disappear from the log buffer: the information can be read only once. This "
11495 "is the function executed by the kernel when a user program reads "
11500 #: build/C/man2/syslog.2:108
11502 msgid "B<SYSLOG_ACTION_READ_ALL> (3)"
11505 #. type: Plain text
11506 #: build/C/man2/syslog.2:118
11508 "Read all messages remaining in the ring buffer, placing them in the buffer "
11509 "pointed to by I<bufp>. The call reads the last I<len> bytes from the log "
11510 "buffer (nondestructively), but will not read more than was written into the "
11511 "buffer since the last \"clear ring buffer\" command (see command 5 below)). "
11512 "The call returns the number of bytes read."
11516 #: build/C/man2/syslog.2:118
11518 msgid "B<SYSLOG_ACTION_READ_CLEAR> (4)"
11521 #. type: Plain text
11522 #: build/C/man2/syslog.2:124
11524 "Read and clear all messages remaining in the ring buffer. The call does "
11525 "precisely the same as for a I<type> of 3, but also executes the \"clear ring "
11526 "buffer\" command."
11530 #: build/C/man2/syslog.2:124
11532 msgid "B<SYSLOG_ACTION_CLEAR> (5)"
11535 #. type: Plain text
11536 #: build/C/man2/syslog.2:132
11538 "The call executes just the \"clear ring buffer\" command. The I<bufp> and "
11539 "I<len> arguments are ignored."
11542 #. type: Plain text
11543 #: build/C/man2/syslog.2:143
11545 "This command does not really clear the ring buffer. Rather, it sets a "
11546 "kernel bookkeeping variable that determines the results returned by commands "
11547 "3 (B<SYSLOG_ACTION_READ_ALL>) and 4 (B<SYSLOG_ACTION_READ_CLEAR>). This "
11548 "command has no effect on commands 2 (B<SYSLOG_ACTION_READ>) and 9 "
11549 "(B<SYSLOG_ACTION_SIZE_UNREAD>)."
11553 #: build/C/man2/syslog.2:143
11555 msgid "B<SYSLOG_ACTION_CONSOLE_OFF> (6)"
11558 #. commit 1aaad49e856ce41adc07d8ae0c8ef35fc4483245
11559 #. type: Plain text
11560 #: build/C/man2/syslog.2:161
11562 "The command saves the current value of I<console_loglevel> and then sets "
11563 "I<console_loglevel> to I<minimum_console_loglevel>, so that no messages are "
11564 "printed to the console. Before Linux 2.6.32, the command simply sets "
11565 "I<console_loglevel> to I<minimum_console_loglevel>. See the discussion of "
11566 "I</proc/sys/kernel/printk>, below."
11569 #. type: Plain text
11570 #: build/C/man2/syslog.2:167 build/C/man2/syslog.2:190
11571 msgid "The I<bufp> and I<len> arguments are ignored."
11575 #: build/C/man2/syslog.2:167
11577 msgid "B<SYSLOG_ACTION_CONSOLE_ON> (7)"
11580 #. commit 1aaad49e856ce41adc07d8ae0c8ef35fc4483245
11581 #. type: Plain text
11582 #: build/C/man2/syslog.2:184
11584 "If a previous B<SYSLOG_ACTION_CONSOLE_OFF> command has been performed, this "
11585 "command restores I<console_loglevel> to the value that was saved by that "
11586 "command. Before Linux 2.6.32, this command simply sets I<console_loglevel> "
11587 "to I<default_console_loglevel>. See the discussion of "
11588 "I</proc/sys/kernel/printk>, below."
11592 #: build/C/man2/syslog.2:190
11594 msgid "B<SYSLOG_ACTION_CONSOLE_LEVEL> (8)"
11597 #. type: Plain text
11598 #: build/C/man2/syslog.2:207
11600 "The call sets I<console_loglevel> to the value given in I<len>, which must "
11601 "be an integer between 1 and 8 (inclusive). The kernel silently enforces a "
11602 "minimum value of I<minimum_console_loglevel> for I<len>. See the I<log "
11603 "level> section for details. The I<bufp> argument is ignored."
11607 #: build/C/man2/syslog.2:207
11609 msgid "B<SYSLOG_ACTION_SIZE_UNREAD> (9) (since Linux 2.4.10)"
11612 #. type: Plain text
11613 #: build/C/man2/syslog.2:218
11615 "The call returns the number of bytes currently available to be read from the "
11616 "kernel log buffer via command 2 (B<SYSLOG_ACTION_READ>). The I<bufp> and "
11617 "I<len> arguments are ignored."
11621 #: build/C/man2/syslog.2:218
11623 msgid "B<SYSLOG_ACTION_SIZE_BUFFER> (10) (since Linux 2.6.6)"
11626 #. type: Plain text
11627 #: build/C/man2/syslog.2:226
11629 "This command returns the total size of the kernel log buffer. The I<bufp> "
11630 "and I<len> arguments are ignored."
11633 #. type: Plain text
11634 #: build/C/man2/syslog.2:245
11636 "All commands except 3 and 10 require privilege. In Linux kernels before "
11637 "2.6.37, command types 3 and 10 are allowed to unprivileged processes; since "
11638 "Linux 2.6.37, these commands are allowed to unprivileged processes only if "
11639 "I</proc/sys/kernel/dmesg_restrict> has the value 0. Before Linux 2.6.37, "
11640 "\"privileged\" means that the caller has the B<CAP_SYS_ADMIN> capability. "
11641 "Since Linux 2.6.37, \"privileged\" means that the caller has either the "
11642 "B<CAP_SYS_ADMIN> capability (now deprecated for this purpose) or the (new) "
11643 "B<CAP_SYSLOG> capability."
11647 #: build/C/man2/syslog.2:245
11649 msgid "/proc/sys/kernel/printk"
11652 #. type: Plain text
11653 #: build/C/man2/syslog.2:251
11655 "I</proc/sys/kernel/printk> is a writable file containing four integer values "
11656 "that influence kernel I<printk()> behavior when printing or logging error "
11657 "messages. The four values are:"
11661 #: build/C/man2/syslog.2:251
11663 msgid "I<console_loglevel>"
11667 #. type: Plain text
11668 #: build/C/man2/syslog.2:269
11670 "Only messages with a log level lower than this value will be printed to the "
11671 "console. The default value for this field is B<DEFAULT_CONSOLE_LOGLEVEL> "
11672 "(7), but it is set to 4 if the kernel command line contains the word "
11673 "\"quiet\", 10 if the kernel command line contains the word \"debug\", and to "
11674 "15 in case of a kernel fault (the 10 and 15 are just silly, and equivalent "
11675 "to 8). The value of I<console_loglevel> can be set (to a value in the range "
11676 "1-8) by a B<syslog>() call with a I<type> of 8."
11680 #: build/C/man2/syslog.2:269
11682 msgid "I<default_message_loglevel>"
11685 #. commit 5af5bcb8d37f99ba415a1adc6da71051b84f93a5
11686 #. type: Plain text
11687 #: build/C/man2/syslog.2:282
11689 "This value will be used as the log level for I<printk()> messages that do "
11690 "not have an explicit level. Up to and including Linux 2.6.38, the "
11691 "hard-coded default value for this field was 4 (B<KERN_WARNING>); since Linux "
11692 "2.6.39, the default value is a defined by the kernel configuration option "
11693 "B<CONFIG_DEFAULT_MESSAGE_LOGLEVEL>, which defaults to 4."
11697 #: build/C/man2/syslog.2:282
11699 msgid "I<minimum_console_loglevel>"
11702 #. type: Plain text
11703 #: build/C/man2/syslog.2:287
11705 "The value in this field is the minimum value to which I<console_loglevel> "
11710 #: build/C/man2/syslog.2:287
11712 msgid "I<default_console_loglevel>"
11715 #. type: Plain text
11716 #: build/C/man2/syslog.2:293
11717 msgid "This is the default value for I<console_loglevel>."
11721 #: build/C/man2/syslog.2:293
11723 msgid "The log level"
11726 #. type: Plain text
11727 #: build/C/man2/syslog.2:301
11729 "Every I<printk>() message has its own log level. If the log level is not "
11730 "explicitly specified as part of the message, it defaults to "
11731 "I<default_message_loglevel>. The conventional meaning of the log level is "
11736 #: build/C/man2/syslog.2:305
11738 msgid "Kernel constant\tLevel value\tMeaning\n"
11742 #: build/C/man2/syslog.2:306
11744 msgid "KERN_EMERG\t0\tSystem is unusable\n"
11748 #: build/C/man2/syslog.2:307
11750 msgid "KERN_ALERT\t1\tAction must be taken immediately\n"
11754 #: build/C/man2/syslog.2:308
11756 msgid "KERN_CRIT\t2\tCritical conditions\n"
11760 #: build/C/man2/syslog.2:309
11762 msgid "KERN_ERR\t3\tError conditions\n"
11766 #: build/C/man2/syslog.2:310
11768 msgid "KERN_WARNING\t4\tWarning conditions\n"
11772 #: build/C/man2/syslog.2:311
11774 msgid "KERN_NOTICE\t5\tNormal but significant condition\n"
11778 #: build/C/man2/syslog.2:312
11780 msgid "KERN_INFO\t6\tInformational\n"
11784 #: build/C/man2/syslog.2:313
11786 msgid "KERN_DEBUG\t7\tDebug-level messages\n"
11789 #. type: Plain text
11790 #: build/C/man2/syslog.2:321
11792 "The kernel I<printk()> routine will print a message on the console only if "
11793 "it has a log level less than the value of I<console_loglevel>."
11796 #. type: Plain text
11797 #: build/C/man2/syslog.2:334
11799 "For I<type> equal to 2, 3, or 4, a successful call to B<syslog>() returns "
11800 "the number of bytes read. For I<type> 9, B<syslog>() returns the number of "
11801 "bytes currently available to be read on the kernel log buffer. For I<type> "
11802 "10, B<syslog>() returns the total size of the kernel log buffer. For other "
11803 "values of I<type>, 0 is returned on success."
11806 #. type: Plain text
11807 #: build/C/man2/syslog.2:337
11808 msgid "In case of error, -1 is returned, and I<errno> is set to indicate the error."
11811 #. type: Plain text
11812 #: build/C/man2/syslog.2:355
11814 "Bad arguments (e.g., bad I<type>; or for I<type> 2, 3, or 4, I<buf> is NULL, "
11815 "or I<len> is less than zero; or for I<type> 8, the I<level> is outside the "
11819 #. type: Plain text
11820 #: build/C/man2/syslog.2:362
11822 "This B<syslog>() system call is not available, because the kernel was "
11823 "compiled with the B<CONFIG_PRINTK> kernel-configuration option disabled."
11826 #. type: Plain text
11827 #: build/C/man2/syslog.2:373
11829 "An attempt was made to change I<console_loglevel> or clear the kernel "
11830 "message ring buffer by a process without sufficient privilege (more "
11831 "precisely: without the B<CAP_SYS_ADMIN> or B<CAP_SYSLOG> capability)."
11835 #: build/C/man2/syslog.2:373
11837 msgid "B<ERESTARTSYS>"
11840 #. type: Plain text
11841 #: build/C/man2/syslog.2:377
11843 "System call was interrupted by a signal; nothing was read. (This can be "
11844 "seen only during a trace.)"
11847 #. type: Plain text
11848 #: build/C/man2/syslog.2:380
11850 "This system call is Linux-specific and should not be used in programs "
11851 "intended to be portable."
11854 #. In libc4 and libc5 the number of this call was defined by
11856 #. In glibc 2.0 the syscall is baptized
11858 #. type: Plain text
11859 #: build/C/man2/syslog.2:388
11861 "From the very start, people noted that it is unfortunate that a system call "
11862 "and a library routine of the same name are entirely different animals."
11865 #. type: Plain text
11866 #: build/C/man2/syslog.2:391
11867 msgid "B<syslog>(3), B<capabilities>(7)"
11871 #: build/C/man3/syslog.3:36
11876 #. type: Plain text
11877 #: build/C/man3/syslog.3:39
11878 msgid "closelog, openlog, syslog, vsyslog - send messages to the system logger"
11881 #. type: Plain text
11882 #: build/C/man3/syslog.3:41
11883 msgid "B<#include E<lt>syslog.hE<gt>>"
11886 #. type: Plain text
11887 #: build/C/man3/syslog.3:43
11889 "B<void openlog(const char *>I<ident>B<, int >I<option>B<, int "
11890 ">I<facility>B<);>"
11893 #. type: Plain text
11894 #: build/C/man3/syslog.3:45
11895 msgid "B<void syslog(int >I<priority>B<, const char *>I<format>B<, ...);>"
11898 #. type: Plain text
11899 #: build/C/man3/syslog.3:47
11900 msgid "B<void closelog(void);>"
11903 #. type: Plain text
11904 #: build/C/man3/syslog.3:51
11906 "B<void vsyslog(int >I<priority>B<, const char *>I<format>B<, va_list "
11910 #. type: Plain text
11911 #: build/C/man3/syslog.3:59
11912 msgid "B<vsyslog>(): _BSD_SOURCE"
11915 #. type: Plain text
11916 #: build/C/man3/syslog.3:65
11918 "B<closelog>() closes the descriptor being used to write to the system "
11919 "logger. The use of B<closelog>() is optional."
11922 #. type: Plain text
11923 #: build/C/man3/syslog.3:77
11925 "B<openlog>() opens a connection to the system logger for a program. The "
11926 "string pointed to by I<ident> is prepended to every message, and is "
11927 "typically set to the program name. If I<ident> is NULL, the program name is "
11928 "used. (POSIX.1-2008 does not specify the behavior when I<ident> is NULL.)"
11931 #. type: Plain text
11932 #: build/C/man3/syslog.3:101
11934 "The I<option> argument specifies flags which control the operation of "
11935 "B<openlog>() and subsequent calls to B<syslog>(). The I<facility> argument "
11936 "establishes a default to be used if none is specified in subsequent calls to "
11937 "B<syslog>(). Values for I<option> and I<facility> are given below. The use "
11938 "of B<openlog>() is optional; it will automatically be called by B<syslog>() "
11939 "if necessary, in which case I<ident> will default to NULL."
11942 #. type: Plain text
11943 #: build/C/man3/syslog.3:125
11945 "B<syslog>() generates a log message, which will be distributed by "
11946 "B<syslogd>(8). The I<priority> argument is formed by ORing the I<facility> "
11947 "and the I<level> values (explained below). The remaining arguments are a "
11948 "I<format>, as in B<printf>(3) and any arguments required by the I<format>, "
11949 "except that the two character sequence B<%m> will be replaced by the error "
11950 "message string I<strerror>(I<errno>). A trailing newline may be added if "
11954 #. type: Plain text
11955 #: build/C/man3/syslog.3:134
11957 "The function B<vsyslog>() performs the same task as B<syslog>() with the "
11958 "difference that it takes a set of arguments which have been obtained using "
11959 "the B<stdarg>(3) variable argument list macros."
11962 #. type: Plain text
11963 #: build/C/man3/syslog.3:137
11965 "The subsections below list the parameters used to set the values of "
11966 "I<option>,I< facility>, and I<priority>."
11970 #: build/C/man3/syslog.3:137
11975 #. type: Plain text
11976 #: build/C/man3/syslog.3:143
11977 msgid "The I<option> argument to B<openlog>() is an OR of any of these:"
11981 #: build/C/man3/syslog.3:143
11983 msgid "B<LOG_CONS>"
11986 #. type: Plain text
11987 #: build/C/man3/syslog.3:147
11989 "Write directly to system console if there is an error while sending to "
11994 #: build/C/man3/syslog.3:147
11996 msgid "B<LOG_NDELAY>"
11999 #. type: Plain text
12000 #: build/C/man3/syslog.3:151
12002 "Open the connection immediately (normally, the connection is opened when the "
12003 "first message is logged)."
12007 #: build/C/man3/syslog.3:151
12009 msgid "B<LOG_NOWAIT>"
12012 #. type: Plain text
12013 #: build/C/man3/syslog.3:157
12015 "Don't wait for child processes that may have been created while logging the "
12016 "message. (The GNU C library does not create a child process, so this option "
12017 "has no effect on Linux.)"
12021 #: build/C/man3/syslog.3:157
12023 msgid "B<LOG_ODELAY>"
12026 #. type: Plain text
12027 #: build/C/man3/syslog.3:165
12029 "The converse of B<LOG_NDELAY>; opening of the connection is delayed until "
12030 "B<syslog>() is called. (This is the default, and need not be specified.)"
12034 #: build/C/man3/syslog.3:165
12036 msgid "B<LOG_PERROR>"
12039 #. type: Plain text
12040 #: build/C/man3/syslog.3:169
12041 msgid "(Not in POSIX.1-2001 or POSIX.1-2008.) Print to I<stderr> as well."
12045 #: build/C/man3/syslog.3:169
12050 #. type: Plain text
12051 #: build/C/man3/syslog.3:172
12052 msgid "Include PID with each message."
12056 #: build/C/man3/syslog.3:172
12061 #. type: Plain text
12062 #: build/C/man3/syslog.3:178
12064 "The I<facility> argument is used to specify what type of program is logging "
12065 "the message. This lets the configuration file specify that messages from "
12066 "different facilities will be handled differently."
12070 #: build/C/man3/syslog.3:178
12072 msgid "B<LOG_AUTH>"
12075 #. type: Plain text
12076 #: build/C/man3/syslog.3:181
12077 msgid "security/authorization messages"
12081 #: build/C/man3/syslog.3:181
12083 msgid "B<LOG_AUTHPRIV>"
12086 #. type: Plain text
12087 #: build/C/man3/syslog.3:184
12088 msgid "security/authorization messages (private)"
12092 #: build/C/man3/syslog.3:184
12094 msgid "B<LOG_CRON>"
12097 #. type: Plain text
12098 #: build/C/man3/syslog.3:188
12099 msgid "clock daemon (B<cron> and B<at>)"
12103 #: build/C/man3/syslog.3:188
12105 msgid "B<LOG_DAEMON>"
12108 #. type: Plain text
12109 #: build/C/man3/syslog.3:191
12110 msgid "system daemons without separate facility value"
12114 #: build/C/man3/syslog.3:191
12119 #. type: Plain text
12120 #: build/C/man3/syslog.3:194
12125 #: build/C/man3/syslog.3:194
12127 msgid "B<LOG_KERN>"
12130 #. LOG_KERN has the value 0; if used as a facility, zero translates to:
12131 #. "use the default facility".
12132 #. type: Plain text
12133 #: build/C/man3/syslog.3:199
12134 msgid "kernel messages (these can't be generated from user processes)"
12138 #: build/C/man3/syslog.3:199
12140 msgid "B<LOG_LOCAL0> through B<LOG_LOCAL7>"
12143 #. type: Plain text
12144 #: build/C/man3/syslog.3:202
12145 msgid "reserved for local use"
12149 #: build/C/man3/syslog.3:202
12154 #. type: Plain text
12155 #: build/C/man3/syslog.3:205
12156 msgid "line printer subsystem"
12160 #: build/C/man3/syslog.3:205
12162 msgid "B<LOG_MAIL>"
12165 #. type: Plain text
12166 #: build/C/man3/syslog.3:208
12167 msgid "mail subsystem"
12171 #: build/C/man3/syslog.3:208
12173 msgid "B<LOG_NEWS>"
12176 #. type: Plain text
12177 #: build/C/man3/syslog.3:211
12178 msgid "USENET news subsystem"
12182 #: build/C/man3/syslog.3:211
12184 msgid "B<LOG_SYSLOG>"
12187 #. type: Plain text
12188 #: build/C/man3/syslog.3:215
12189 msgid "messages generated internally by B<syslogd>(8)"
12193 #: build/C/man3/syslog.3:215
12195 msgid "B<LOG_USER> (default)"
12198 #. type: Plain text
12199 #: build/C/man3/syslog.3:218
12200 msgid "generic user-level messages"
12204 #: build/C/man3/syslog.3:218
12206 msgid "B<LOG_UUCP>"
12209 #. type: Plain text
12210 #: build/C/man3/syslog.3:221
12211 msgid "UUCP subsystem"
12215 #: build/C/man3/syslog.3:221
12220 #. type: Plain text
12221 #: build/C/man3/syslog.3:224
12223 "This determines the importance of the message. The levels are, in order of "
12224 "decreasing importance:"
12228 #: build/C/man3/syslog.3:224
12230 msgid "B<LOG_EMERG>"
12233 #. type: Plain text
12234 #: build/C/man3/syslog.3:227
12235 msgid "system is unusable"
12239 #: build/C/man3/syslog.3:227
12241 msgid "B<LOG_ALERT>"
12244 #. type: Plain text
12245 #: build/C/man3/syslog.3:230
12246 msgid "action must be taken immediately"
12250 #: build/C/man3/syslog.3:230
12252 msgid "B<LOG_CRIT>"
12255 #. type: Plain text
12256 #: build/C/man3/syslog.3:233
12257 msgid "critical conditions"
12261 #: build/C/man3/syslog.3:233
12266 #. type: Plain text
12267 #: build/C/man3/syslog.3:236
12268 msgid "error conditions"
12272 #: build/C/man3/syslog.3:236
12274 msgid "B<LOG_WARNING>"
12277 #. type: Plain text
12278 #: build/C/man3/syslog.3:239
12279 msgid "warning conditions"
12283 #: build/C/man3/syslog.3:239
12285 msgid "B<LOG_NOTICE>"
12288 #. type: Plain text
12289 #: build/C/man3/syslog.3:242
12290 msgid "normal, but significant, condition"
12294 #: build/C/man3/syslog.3:242
12296 msgid "B<LOG_INFO>"
12299 #. type: Plain text
12300 #: build/C/man3/syslog.3:245
12301 msgid "informational message"
12305 #: build/C/man3/syslog.3:245
12307 msgid "B<LOG_DEBUG>"
12310 #. type: Plain text
12311 #: build/C/man3/syslog.3:248
12312 msgid "debug-level message"
12315 #. type: Plain text
12316 #: build/C/man3/syslog.3:252
12318 "The function B<setlogmask>(3) can be used to restrict logging to specified "
12325 #. function call appeared in 4.2BSD.
12326 #. 4.3BSD documents
12329 #. .BR closelog (),
12331 #. .BR setlogmask ().
12332 #. 4.3BSD-Reno also documents
12334 #. Of course early v* functions used the
12336 #. mechanism, which is not compatible with
12337 #. .IR <stdarg.h> .
12338 #. type: Plain text
12339 #: build/C/man3/syslog.3:296
12341 "The functions B<openlog>(), B<closelog>(), and B<syslog>() (but not "
12342 "B<vsyslog>()) are specified in SUSv2, POSIX.1-2001, and POSIX.1-2008. "
12343 "POSIX.1-2001 specifies only the B<LOG_USER> and B<LOG_LOCAL*> values for "
12344 "I<facility>. However, with the exception of B<LOG_AUTHPRIV> and B<LOG_FTP>, "
12345 "the other I<facility> values appear on most UNIX systems. The B<LOG_PERROR> "
12346 "value for I<option> is not specified by POSIX.1-2001 or POSIX.1-2008, but is "
12347 "available in most versions of UNIX."
12350 #. type: Plain text
12351 #: build/C/man3/syslog.3:308
12353 "The argument I<ident> in the call of B<openlog>() is probably stored "
12354 "as-is. Thus, if the string it points to is changed, B<syslog>() may start "
12355 "prepending the changed string, and if the string it points to ceases to "
12356 "exist, the results are undefined. Most portable is to use a string "
12360 #. type: Plain text
12361 #: build/C/man3/syslog.3:311
12363 "Never pass a string with user-supplied data as a format, use the following "
12367 #. type: Plain text
12368 #: build/C/man3/syslog.3:314
12370 msgid " syslog(priority, \"%s\", string);\n"
12373 #. type: Plain text
12374 #: build/C/man3/syslog.3:320
12375 msgid "B<logger>(1), B<setlogmask>(3), B<syslog.conf>(5), B<syslogd>(8)"
12379 #: build/C/man4/ttyS.4:26
12385 #: build/C/man4/ttyS.4:26
12390 #. type: Plain text
12391 #: build/C/man4/ttyS.4:29
12392 msgid "ttyS - serial terminal lines"
12395 #. type: Plain text
12396 #: build/C/man4/ttyS.4:32
12397 msgid "B<ttyS[0-3]> are character devices for the serial terminal lines."
12400 #. type: Plain text
12401 #: build/C/man4/ttyS.4:37
12402 msgid "mknod -m 660 /dev/ttyS0 c 4 64 # base address 0x3f8"
12405 #. type: Plain text
12406 #: build/C/man4/ttyS.4:39
12407 msgid "mknod -m 660 /dev/ttyS1 c 4 65 # base address 0x2f8"
12410 #. type: Plain text
12411 #: build/C/man4/ttyS.4:41
12412 msgid "mknod -m 660 /dev/ttyS2 c 4 66 # base address 0x3e8"
12415 #. type: Plain text
12416 #: build/C/man4/ttyS.4:43
12417 msgid "mknod -m 660 /dev/ttyS3 c 4 67 # base address 0x2e8"
12420 #. type: Plain text
12421 #: build/C/man4/ttyS.4:45
12422 msgid "chown root:tty /dev/ttyS[0-3]"
12425 #. type: Plain text
12426 #: build/C/man4/ttyS.4:48
12427 msgid "/dev/ttyS[0-3]"
12430 #. type: Plain text
12431 #: build/C/man4/ttyS.4:55
12433 "B<chown>(1), B<mknod>(1), B<tty>(4), B<agetty>(8), B<mingetty>(8), "
12438 #: build/C/man7/uri.7:48
12444 #: build/C/man7/uri.7:48
12449 #. type: Plain text
12450 #: build/C/man7/uri.7:51
12451 msgid "uri, url, urn - uniform resource identifier (URI), including a URL or URN"
12454 #. type: Plain text
12455 #: build/C/man7/uri.7:55
12457 msgid "URI = [ absoluteURI | relativeURI ] [ \"#\" fragment ]\n"
12460 #. type: Plain text
12461 #: build/C/man7/uri.7:57
12463 msgid "absoluteURI = scheme \":\" ( hierarchical_part | opaque_part )\n"
12466 #. type: Plain text
12467 #: build/C/man7/uri.7:59
12469 msgid "relativeURI = ( net_path | absolute_path | relative_path ) [ \"?\" query ]\n"
12472 #. type: Plain text
12473 #: build/C/man7/uri.7:62
12476 "scheme = \"http\" | \"ftp\" | \"gopher\" | \"mailto\" | \"news\" | "
12478 " \"file\" | \"man\" | \"info\" | \"whatis\" | \"ldap\" | \"wais\" | "
12482 #. type: Plain text
12483 #: build/C/man7/uri.7:64
12485 msgid "hierarchical_part = ( net_path | absolute_path ) [ \"?\" query ]\n"
12488 #. type: Plain text
12489 #: build/C/man7/uri.7:66
12491 msgid "net_path = \"//\" authority [ absolute_path ]\n"
12494 #. type: Plain text
12495 #: build/C/man7/uri.7:68
12497 msgid "absolute_path = \"/\" path_segments\n"
12500 #. type: Plain text
12501 #: build/C/man7/uri.7:70
12503 msgid "relative_path = relative_segment [ absolute_path ]\n"
12506 #. type: Plain text
12507 #: build/C/man7/uri.7:82
12509 "A Uniform Resource Identifier (URI) is a short string of characters "
12510 "identifying an abstract or physical resource (for example, a web page). A "
12511 "Uniform Resource Locator (URL) is a URI that identifies a resource through "
12512 "its primary access mechanism (e.g., its network \"location\"), rather than "
12513 "by name or some other attribute of that resource. A Uniform Resource Name "
12514 "(URN) is a URI that must remain globally unique and persistent even when the "
12515 "resource ceases to exist or becomes unavailable."
12518 #. type: Plain text
12519 #: build/C/man7/uri.7:89
12521 "URIs are the standard way to name hypertext link destinations for tools such "
12522 "as web browsers. The string \"http://www.kernelnotes.org\" is a URL (and "
12523 "thus it is also a URI). Many people use the term URL loosely as a synonym "
12524 "for URI (though technically URLs are a subset of URIs)."
12527 #. type: Plain text
12528 #: build/C/man7/uri.7:105
12530 "URIs can be absolute or relative. An absolute identifier refers to a "
12531 "resource independent of context, while a relative identifier refers to a "
12532 "resource by describing the difference from the current context. Within a "
12533 "relative path reference, the complete path segments \".\" and \"..\" have "
12534 "special meanings: \"the current hierarchy level\" and \"the level above this "
12535 "hierarchy level\", respectively, just like they do in UNIX-like systems. A "
12536 "path segment which contains a colon character can't be used as the first "
12537 "segment of a relative URI path (e.g., \"this:that\"), because it would be "
12538 "mistaken for a scheme name; precede such segments with ./ (e.g., "
12539 "\"./this:that\"). Note that descendants of MS-DOS (e.g., Microsoft Windows) "
12540 "replace devicename colons with the vertical bar (\"|\") in URIs, so \"C:\" "
12544 #. type: Plain text
12545 #: build/C/man7/uri.7:109
12547 "A fragment identifier, if included, refers to a particular named portion "
12548 "(fragment) of a resource; text after a \\(aq#\\(aq identifies the fragment. "
12549 "A URI beginning with \\(aq#\\(aq refers to that fragment in the current "
12553 #. type: Plain text
12554 #: build/C/man7/uri.7:117
12556 "There are many different URI schemes, each with specific additional rules "
12557 "and meanings, but they are intentionally made to be as similar as possible. "
12558 "For example, many URL schemes permit the authority to be the following "
12559 "format, called here an I<ip_server> (square brackets show what's optional):"
12562 #. type: Plain text
12563 #: build/C/man7/uri.7:119
12564 msgid "I<ip_server = >[I<user> [ : I<password> ] @ ] I<host> [ : I<port>]"
12567 #. type: Plain text
12568 #: build/C/man7/uri.7:135
12570 "This format allows you to optionally insert a username, a user plus "
12571 "password, and/or a port number. The I<host> is the name of the host "
12572 "computer, either its name as determined by DNS or an IP address (numbers "
12573 "separated by periods). Thus the URI "
12574 "E<lt>http://fred:fredpassword@xyz.com:8080/E<gt> logs into a web server on "
12575 "host xyz.com as fred (using fredpassword) using port 8080. Avoid including "
12576 "a password in a URI if possible because of the many security risks of having "
12577 "a password written down. If the URL supplies a username but no password, "
12578 "and the remote server requests a password, the program interpreting the URL "
12579 "should request one from the user."
12582 #. type: Plain text
12583 #: build/C/man7/uri.7:140
12585 "Here are some of the most common schemes in use on UNIX-like systems that "
12586 "are understood by many tools. Note that many tools using URIs also have "
12587 "internal schemes or specialized schemes; see those tools' documentation for "
12588 "information on those schemes."
12591 #. type: Plain text
12592 #: build/C/man7/uri.7:142
12593 msgid "B<http - Web (HTTP) server>"
12596 #. type: Plain text
12597 #: build/C/man7/uri.7:144
12598 msgid "http://I<ip_server>/I<path>"
12601 #. type: Plain text
12602 #: build/C/man7/uri.7:146
12603 msgid "http://I<ip_server>/I<path>?I<query>"
12606 #. type: Plain text
12607 #: build/C/man7/uri.7:154
12609 "This is a URL accessing a web (HTTP) server. The default port is 80. If "
12610 "the path refers to a directory, the web server will choose what to return; "
12611 "usually if there is a file named \"index.html\" or \"index.htm\" its content "
12612 "is returned, otherwise, a list of the files in the current directory (with "
12613 "appropriate links) is generated and returned. An example is "
12614 "E<lt>http://lwn.netE<gt>."
12617 #. type: Plain text
12618 #: build/C/man7/uri.7:177
12620 "A query can be given in the archaic \"isindex\" format, consisting of a word "
12621 "or phrase and not including an equal sign (=). A query can also be in the "
12622 "longer \"GET\" format, which has one or more query entries of the form "
12623 "I<key>=I<value> separated by the ampersand character (&). Note that I<key> "
12624 "can be repeated more than once, though it's up to the web server and its "
12625 "application programs to determine if there's any meaning to that. There is "
12626 "an unfortunate interaction with HTML/XML/SGML and the GET query format; when "
12627 "such URIs with more than one key are embedded in SGML/XML documents "
12628 "(including HTML), the ampersand (&) has to be rewritten as &. Note that "
12629 "not all queries use this format; larger forms may be too long to store as a "
12630 "URI, so they use a different interaction mechanism (called POST) which does "
12631 "not include the data in the URI. See the Common Gateway Interface "
12632 "specification at E<.UR http://www.w3.org\\:/CGI> E<.UE> for more "
12636 #. type: Plain text
12637 #: build/C/man7/uri.7:179
12638 msgid "B<ftp - File Transfer Protocol (FTP)>"
12641 #. type: Plain text
12642 #: build/C/man7/uri.7:181
12643 msgid "ftp://I<ip_server>/I<path>"
12646 #. type: Plain text
12647 #: build/C/man7/uri.7:189
12649 "This is a URL accessing a file through the file transfer protocol (FTP). "
12650 "The default port (for control) is 21. If no username is included, the "
12651 "username \"anonymous\" is supplied, and in that case many clients provide as "
12652 "the password the requestor's Internet email address. An example is "
12653 "E<lt>ftp://ftp.is.co.za/rfc/rfc1808.txtE<gt>."
12656 #. type: Plain text
12657 #: build/C/man7/uri.7:191
12658 msgid "B<gopher - Gopher server>"
12661 #. type: Plain text
12662 #: build/C/man7/uri.7:193
12663 msgid "gopher://I<ip_server>/I<gophertype selector>"
12666 #. type: Plain text
12667 #: build/C/man7/uri.7:195
12668 msgid "gopher://I<ip_server>/I<gophertype selector>%09I<search>"
12671 #. type: Plain text
12672 #: build/C/man7/uri.7:197
12673 msgid "gopher://I<ip_server>/I<gophertype selector>%09I<search>%09I<gopher+_string>"
12676 #. type: Plain text
12677 #: build/C/man7/uri.7:207
12679 "The default gopher port is 70. I<gophertype> is a single-character field to "
12680 "denote the Gopher type of the resource to which the URL refers. The entire "
12681 "path may also be empty, in which case the delimiting \"/\" is also optional "
12682 "and the gophertype defaults to \"1\"."
12685 #. type: Plain text
12686 #: build/C/man7/uri.7:214
12688 "I<selector> is the Gopher selector string. In the Gopher protocol, Gopher "
12689 "selector strings are a sequence of octets which may contain any octets "
12690 "except 09 hexadecimal (US-ASCII HT or tab), 0A hexadecimal (US-ASCII "
12691 "character LF), and 0D (US-ASCII character CR)."
12694 #. type: Plain text
12695 #: build/C/man7/uri.7:216
12696 msgid "B<mailto - Email address>"
12699 #. type: Plain text
12700 #: build/C/man7/uri.7:218
12701 msgid "mailto:I<email-address>"
12704 #. type: Plain text
12705 #: build/C/man7/uri.7:226
12707 "This is an email address, usually of the form I<name>@I<hostname>. See "
12708 "B<mailaddr>(7) for more information on the correct format of an email "
12709 "address. Note that any % character must be rewritten as %25. An example is "
12710 "E<lt>mailto:dwheeler@dwheeler.comE<gt>."
12713 #. type: Plain text
12714 #: build/C/man7/uri.7:228
12715 msgid "B<news - Newsgroup or News message>"
12718 #. type: Plain text
12719 #: build/C/man7/uri.7:230
12720 msgid "news:I<newsgroup-name>"
12723 #. type: Plain text
12724 #: build/C/man7/uri.7:232
12725 msgid "news:I<message-id>"
12728 #. type: Plain text
12729 #: build/C/man7/uri.7:240
12731 "A I<newsgroup-name> is a period-delimited hierarchical name, such as "
12732 "\"comp.infosystems.www.misc\". If E<lt>newsgroup-nameE<gt> is \"*\" (as in "
12733 "E<lt>news:*E<gt>), it is used to refer to \"all available news groups\". An "
12734 "example is E<lt>news:comp.lang.adaE<gt>."
12737 #. type: Plain text
12738 #: build/C/man7/uri.7:252
12740 "A I<message-id> corresponds to the Message-ID of E<.UR "
12741 "http://www.ietf.org\\:/rfc\\:/rfc1036.txt> IETF RFC\\ 1036, E<.UE> without "
12742 "the enclosing \"E<lt>\" and \"E<gt>\"; it takes the form "
12743 "I<unique>@I<full_domain_name>. A message identifier may be distinguished "
12744 "from a news group name by the presence of the \"@\" character."
12747 #. type: Plain text
12748 #: build/C/man7/uri.7:254
12749 msgid "B<telnet - Telnet login>"
12752 #. type: Plain text
12753 #: build/C/man7/uri.7:256
12754 msgid "telnet://I<ip_server>/"
12757 #. type: Plain text
12758 #: build/C/man7/uri.7:262
12760 "The Telnet URL scheme is used to designate interactive text services that "
12761 "may be accessed by the Telnet protocol. The final \"/\" character may be "
12762 "omitted. The default port is 23. An example is "
12763 "E<lt>telnet://melvyl.ucop.edu/E<gt>."
12766 #. type: Plain text
12767 #: build/C/man7/uri.7:264
12768 msgid "B<file - Normal file>"
12771 #. type: Plain text
12772 #: build/C/man7/uri.7:266
12773 msgid "file://I<ip_server>/I<path_segments>"
12776 #. type: Plain text
12777 #: build/C/man7/uri.7:268
12778 msgid "file:I<path_segments>"
12781 #. type: Plain text
12782 #: build/C/man7/uri.7:285
12784 "This represents a file or directory accessible locally. As a special case, "
12785 "I<ip_server> can be the string \"localhost\" or the empty string; this is "
12786 "interpreted as \"the machine from which the URL is being interpreted\". If "
12787 "the path is to a directory, the viewer should display the directory's "
12788 "contents with links to each containee; not all viewers currently do this. "
12789 "KDE supports generated files through the URL E<lt>file:/cgi-binE<gt>. If "
12790 "the given file isn't found, browser writers may want to try to expand the "
12791 "filename via filename globbing (see B<glob>(7) and B<glob>(3))."
12794 #. type: Plain text
12795 #: build/C/man7/uri.7:299
12797 "The second format (e.g., E<lt>file:/etc/passwdE<gt>) is a correct format "
12798 "for referring to a local file. However, older standards did not permit this "
12799 "format, and some programs don't recognize this as a URI. A more portable "
12800 "syntax is to use an empty string as the server name, for example, "
12801 "E<lt>file:///etc/passwdE<gt>; this form does the same thing and is easily "
12802 "recognized by pattern matchers and older programs as a URI. Note that if "
12803 "you really mean to say \"start from the current location,\" don't specify "
12804 "the scheme at all; use a relative address like E<lt>../test.txtE<gt>, which "
12805 "has the side-effect of being scheme-independent. An example of this scheme "
12806 "is E<lt>file:///etc/passwdE<gt>."
12809 #. type: Plain text
12810 #: build/C/man7/uri.7:301
12811 msgid "B<man - Man page documentation>"
12814 #. type: Plain text
12815 #: build/C/man7/uri.7:303
12816 msgid "man:I<command-name>"
12819 #. type: Plain text
12820 #: build/C/man7/uri.7:305
12821 msgid "man:I<command-name>(I<section>)"
12824 #. type: Plain text
12825 #: build/C/man7/uri.7:314
12827 "This refers to local online manual (man) reference pages. The command name "
12828 "can optionally be followed by a parenthesis and section number; see "
12829 "B<man>(7) for more information on the meaning of the section numbers. This "
12830 "URI scheme is unique to UNIX-like systems (such as Linux) and is not "
12831 "currently registered by the IETF. An example is E<lt>man:ls(1)E<gt>."
12834 #. type: Plain text
12835 #: build/C/man7/uri.7:316
12836 msgid "B<info - Info page documentation>"
12839 #. type: Plain text
12840 #: build/C/man7/uri.7:318
12841 msgid "info:I<virtual-filename>"
12844 #. type: Plain text
12845 #: build/C/man7/uri.7:320
12846 msgid "info:I<virtual-filename>#I<nodename>"
12849 #. type: Plain text
12850 #: build/C/man7/uri.7:322
12851 msgid "info:(I<virtual-filename>)"
12854 #. type: Plain text
12855 #: build/C/man7/uri.7:324
12856 msgid "info:(I<virtual-filename>)I<nodename>"
12859 #. type: Plain text
12860 #: build/C/man7/uri.7:343
12862 "This scheme refers to online info reference pages (generated from texinfo "
12863 "files), a documentation format used by programs such as the GNU tools. This "
12864 "URI scheme is unique to UNIX-like systems (such as Linux) and is not "
12865 "currently registered by the IETF. As of this writing, GNOME and KDE differ "
12866 "in their URI syntax and do not accept the other's syntax. The first two "
12867 "formats are the GNOME format; in nodenames all spaces are written as "
12868 "underscores. The second two formats are the KDE format; spaces in nodenames "
12869 "must be written as spaces, even though this is forbidden by the URI "
12870 "standards. It's hoped that in the future most tools will understand all of "
12871 "these formats and will always accept underscores for spaces in nodenames. "
12872 "In both GNOME and KDE, if the form without the nodename is used the nodename "
12873 "is assumed to be \"Top\". Examples of the GNOME format are "
12874 "E<lt>info:gccE<gt> and E<lt>info:gcc#G++_and_GCCE<gt>. Examples of the KDE "
12875 "format are E<lt>info:(gcc)E<gt> and E<lt>info:(gcc)G++ and GCCE<gt>."
12878 #. type: Plain text
12879 #: build/C/man7/uri.7:345
12880 msgid "B<whatis - Documentation search>"
12883 #. type: Plain text
12884 #: build/C/man7/uri.7:347
12885 msgid "whatis:I<string>"
12888 #. type: Plain text
12889 #: build/C/man7/uri.7:355
12891 "This scheme searches the database of short (one-line) descriptions of "
12892 "commands and returns a list of descriptions containing that string. Only "
12893 "complete word matches are returned. See B<whatis>(1). This URI scheme is "
12894 "unique to UNIX-like systems (such as Linux) and is not currently registered "
12898 #. type: Plain text
12899 #: build/C/man7/uri.7:357
12900 msgid "B<ghelp - GNOME help documentation>"
12903 #. type: Plain text
12904 #: build/C/man7/uri.7:359
12905 msgid "ghelp:I<name-of-application>"
12908 #. type: Plain text
12909 #: build/C/man7/uri.7:362
12911 "This loads GNOME help for the given application. Note that not much "
12912 "documentation currently exists in this format."
12915 #. type: Plain text
12916 #: build/C/man7/uri.7:364
12917 msgid "B<ldap - Lightweight Directory Access Protocol>"
12920 #. type: Plain text
12921 #: build/C/man7/uri.7:366
12922 msgid "ldap://I<hostport>"
12925 #. type: Plain text
12926 #: build/C/man7/uri.7:368
12927 msgid "ldap://I<hostport>/"
12930 #. type: Plain text
12931 #: build/C/man7/uri.7:370
12932 msgid "ldap://I<hostport>/I<dn>"
12935 #. type: Plain text
12936 #: build/C/man7/uri.7:372
12937 msgid "ldap://I<hostport>/I<dn>?I<attributes>"
12940 #. type: Plain text
12941 #: build/C/man7/uri.7:374
12942 msgid "ldap://I<hostport>/I<dn>?I<attributes>?I<scope>"
12945 #. type: Plain text
12946 #: build/C/man7/uri.7:376
12947 msgid "ldap://I<hostport>/I<dn>?I<attributes>?I<scope>?I<filter>"
12950 #. type: Plain text
12951 #: build/C/man7/uri.7:378
12952 msgid "ldap://I<hostport>/I<dn>?I<attributes>?I<scope>?I<filter>?I<extensions>"
12955 #. type: Plain text
12956 #: build/C/man7/uri.7:389
12958 "This scheme supports queries to the Lightweight Directory Access Protocol "
12959 "(LDAP), a protocol for querying a set of servers for hierarchically "
12960 "organized information (such as people and computing resources). See E<.UR "
12961 "http://www.ietf.org\\:/rfc\\:/rfc2255.txt> RFC\\ 2255 E<.UE> for more "
12962 "information on the LDAP URL scheme. The components of this URL are:"
12966 #: build/C/man7/uri.7:389
12971 #. type: Plain text
12972 #: build/C/man7/uri.7:394
12974 "the LDAP server to query, written as a hostname optionally followed by a "
12975 "colon and the port number. The default LDAP port is TCP port 389. If "
12976 "empty, the client determines which the LDAP server to use."
12980 #: build/C/man7/uri.7:394
12985 #. type: Plain text
12986 #: build/C/man7/uri.7:401
12988 "the LDAP Distinguished Name, which identifies the base object of the LDAP "
12989 "search (see E<.UR http://www.ietf.org\\:/rfc\\:/rfc2253.txt> RFC\\ 2253 "
12990 "E<.UE> section 3)."
12994 #: build/C/man7/uri.7:401
12999 #. type: Plain text
13000 #: build/C/man7/uri.7:405
13002 "a comma-separated list of attributes to be returned; see RFC\\ 2251 section "
13003 "4.1.5. If omitted, all attributes should be returned."
13007 #: build/C/man7/uri.7:405
13012 #. type: Plain text
13013 #: build/C/man7/uri.7:410
13015 "specifies the scope of the search, which can be one of \"base\" (for a base "
13016 "object search), \"one\" (for a one-level search), or \"sub\" (for a subtree "
13017 "search). If scope is omitted, \"base\" is assumed."
13021 #: build/C/man7/uri.7:410
13026 #. type: Plain text
13027 #: build/C/man7/uri.7:419
13029 "specifies the search filter (subset of entries to return). If omitted, all "
13030 "entries should be returned. See E<.UR "
13031 "http://www.ietf.org\\:/rfc\\:/rfc2254.txt> RFC\\ 2254 E<.UE> section 4."
13035 #: build/C/man7/uri.7:419
13040 #. type: Plain text
13041 #: build/C/man7/uri.7:425
13043 "a comma-separated list of type=value pairs, where the =value portion may be "
13044 "omitted for options not requiring it. An extension prefixed with a "
13045 "\\(aq!\\(aq is critical (must be supported to be valid), otherwise it is "
13046 "noncritical (optional)."
13049 #. type: Plain text
13050 #: build/C/man7/uri.7:429
13052 "LDAP queries are easiest to explain by example. Here's a query that asks "
13053 "ldap.itd.umich.edu for information about the University of Michigan in the "
13057 #. type: Plain text
13058 #: build/C/man7/uri.7:432
13060 msgid "ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US\n"
13063 #. type: Plain text
13064 #: build/C/man7/uri.7:435
13065 msgid "To just get its postal address attribute, request:"
13068 #. type: Plain text
13069 #: build/C/man7/uri.7:438
13071 msgid "ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress\n"
13074 #. type: Plain text
13075 #: build/C/man7/uri.7:442
13077 "To ask a host.com at port 6666 for information about the person with common "
13078 "name (cn) \"Babs Jensen\" at University of Michigan, request:"
13081 #. type: Plain text
13082 #: build/C/man7/uri.7:445
13084 msgid "ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)\n"
13087 #. type: Plain text
13088 #: build/C/man7/uri.7:448
13089 msgid "B<wais - Wide Area Information Servers>"
13092 #. type: Plain text
13093 #: build/C/man7/uri.7:450
13094 msgid "wais://I<hostport>/I<database>"
13097 #. type: Plain text
13098 #: build/C/man7/uri.7:452
13099 msgid "wais://I<hostport>/I<database>?I<search>"
13102 #. type: Plain text
13103 #: build/C/man7/uri.7:454
13104 msgid "wais://I<hostport>/I<database>/I<wtype>/I<wpath>"
13107 #. type: Plain text
13108 #: build/C/man7/uri.7:463
13110 "This scheme designates a WAIS database, search, or document (see E<.UR "
13111 "http://www.ietf.org\\:/rfc\\:/rfc1625.txt> IETF RFC\\ 1625 E<.UE> for more "
13112 "information on WAIS). Hostport is the hostname, optionally followed by a "
13113 "colon and port number (the default port number is 210)."
13116 #. type: Plain text
13117 #: build/C/man7/uri.7:473
13119 "The first form designates a WAIS database for searching. The second form "
13120 "designates a particular search of the WAIS database I<database>. The third "
13121 "form designates a particular document within a WAIS database to be "
13122 "retrieved. I<wtype> is the WAIS designation of the type of the object and "
13123 "I<wpath> is the WAIS document-id."
13126 #. type: Plain text
13127 #: build/C/man7/uri.7:475
13128 msgid "B<other schemes>"
13131 #. type: Plain text
13132 #: build/C/man7/uri.7:489
13134 "There are many other URI schemes. Most tools that accept URIs support a set "
13135 "of internal URIs (e.g., Mozilla has the about: scheme for internal "
13136 "information, and the GNOME help browser has the toc: scheme for various "
13137 "starting locations). There are many schemes that have been defined but are "
13138 "not as widely used at the current time (e.g., prospero). The nntp: scheme "
13139 "is deprecated in favor of the news: scheme. URNs are to be supported by the "
13140 "urn: scheme, with a hierarchical name space (e.g., urn:ietf:... would "
13141 "identify IETF documents); at this time URNs are not widely implemented. Not "
13142 "all tools support all schemes."
13146 #: build/C/man7/uri.7:489
13148 msgid "Character encoding"
13151 #. type: Plain text
13152 #: build/C/man7/uri.7:493
13154 "URIs use a limited number of characters so that they can be typed in and "
13155 "used in a variety of situations."
13158 #. type: Plain text
13159 #: build/C/man7/uri.7:497
13161 "The following characters are reserved, that is, they may appear in a URI but "
13162 "their use is limited to their reserved purpose (conflicting data must be "
13163 "escaped before forming the URI):"
13166 #. type: Plain text
13167 #: build/C/man7/uri.7:499
13169 msgid " ; / ? : @ & = + $ ,\n"
13172 #. type: Plain text
13173 #: build/C/man7/uri.7:505
13175 "Unreserved characters may be included in a URI. Unreserved characters "
13176 "include uppercase and lowercase English letters, decimal digits, and the "
13177 "following limited set of punctuation marks and symbols:"
13180 #. type: Plain text
13181 #: build/C/man7/uri.7:507
13183 msgid " - _ . ! ~ * ' ( )\n"
13186 #. type: Plain text
13187 #: build/C/man7/uri.7:522
13189 "All other characters must be escaped. An escaped octet is encoded as a "
13190 "character triplet, consisting of the percent character \"%\" followed by the "
13191 "two hexadecimal digits representing the octet code (you can use uppercase or "
13192 "lowercase letters for the hexadecimal digits). For example, a blank space "
13193 "must be escaped as \"%20\", a tab character as \"%09\", and the \"&\" as "
13194 "\"%26\". Because the percent \"%\" character always has the reserved "
13195 "purpose of being the escape indicator, it must be escaped as \"%25\". It is "
13196 "common practice to escape space characters as the plus symbol (+) in query "
13197 "text; this practice isn't uniformly defined in the relevant RFCs (which "
13198 "recommend %20 instead) but any tool accepting URIs with query text should be "
13199 "prepared for them. A URI is always shown in its \"escaped\" form."
13202 #. type: Plain text
13203 #: build/C/man7/uri.7:528
13205 "Unreserved characters can be escaped without changing the semantics of the "
13206 "URI, but this should not be done unless the URI is being used in a context "
13207 "that does not allow the unescaped character to appear. For example, \"%7e\" "
13208 "is sometimes used instead of \"~\" in an HTTP URL path, but the two are "
13209 "equivalent for an HTTP URL."
13212 #. type: Plain text
13213 #: build/C/man7/uri.7:532
13215 "For URIs which must handle characters outside the US ASCII character set, "
13216 "the HTML 4.01 specification (section B.2) and IETF RFC\\ 2718 (section "
13217 "2.2.5) recommend the following approach:"
13220 #. type: Plain text
13221 #: build/C/man7/uri.7:536
13223 "translate the character sequences into UTF-8 (IETF RFC\\ 2279)\\(emsee "
13224 "B<utf-8>(7)\\(emand then"
13227 #. type: Plain text
13228 #: build/C/man7/uri.7:539
13230 "use the URI escaping mechanism, that is, use the %HH encoding for unsafe "
13235 #: build/C/man7/uri.7:539
13237 msgid "Writing a URI"
13240 #. type: Plain text
13241 #: build/C/man7/uri.7:562
13243 "When written, URIs should be placed inside double quotes (e.g., "
13244 "\"http://www.kernelnotes.org\"), enclosed in angle brackets (e.g., "
13245 "E<lt>http://lwn.netE<gt>), or placed on a line by themselves. A warning for "
13246 "those who use double-quotes: B<never> move extraneous punctuation (such as "
13247 "the period ending a sentence or the comma in a list) inside a URI, since "
13248 "this will change the value of the URI. Instead, use angle brackets instead, "
13249 "or switch to a quoting system that never includes extraneous characters "
13250 "inside quotation marks. This latter system, called the 'new' or 'logical' "
13251 "quoting system by \"Hart's Rules\" and the \"Oxford Dictionary for Writers "
13252 "and Editors\", is preferred practice in Great Britain and hackers worldwide "
13253 "(see the Jargon File's section on Hacker Writing Style, E<.UR "
13254 "http://www.fwi.uva.nl\\:/~mes\\:/jargon\\:/h\\:/HackerWritingStyle.html> "
13255 "E<.UE ,> for more information). Older documents suggested inserting the "
13256 "prefix \"URL:\" just before the URI, but this form has never caught on."
13259 #. type: Plain text
13260 #: build/C/man7/uri.7:584
13262 "The URI syntax was designed to be unambiguous. However, as URIs have become "
13263 "commonplace, traditional media (television, radio, newspapers, billboards, "
13264 "etc.) have increasingly used abbreviated URI references consisting of only "
13265 "the authority and path portions of the identified resource (e.g., "
13266 "E<lt>www.w3.org/AddressingE<gt>). Such references are primarily intended "
13267 "for human interpretation rather than machine, with the assumption that "
13268 "context-based heuristics are sufficient to complete the URI (e.g., hostnames "
13269 "beginning with \"www\" are likely to have a URI prefix of \"http://\" and "
13270 "hostnames beginning with \"ftp\" likely to have a prefix of \"ftp://\"). "
13271 "Many client implementations heuristically resolve these references. Such "
13272 "heuristics may change over time, particularly when new schemes are "
13273 "introduced. Since an abbreviated URI has the same syntax as a relative URL "
13274 "path, abbreviated URI references cannot be used where relative URIs are "
13275 "permitted, and can be used only when there is no defined base (such as in "
13276 "dialog boxes). Don't use abbreviated URIs as hypertext links inside a "
13277 "document; use the standard format as described here."
13280 #. type: Plain text
13281 #: build/C/man7/uri.7:592
13283 "E<.UR http://www.ietf.org\\:/rfc\\:/rfc2396.txt> (IETF RFC\\ 2396) E<.UE ,> "
13284 "E<.UR http://www.w3.org\\:/TR\\:/REC-html40> (HTML 4.0) E<.UE .>"
13287 #. type: Plain text
13288 #: build/C/man7/uri.7:598
13290 "Any tool accepting URIs (e.g., a web browser) on a Linux system should be "
13291 "able to handle (directly or indirectly) all of the schemes described here, "
13292 "including the man: and info: schemes. Handling them by invoking some other "
13293 "program is fine and in fact encouraged."
13296 #. type: Plain text
13297 #: build/C/man7/uri.7:600
13298 msgid "Technically the fragment isn't part of the URI."
13301 #. type: Plain text
13302 #: build/C/man7/uri.7:609
13304 "For information on how to embed URIs (including URLs) in a data format, see "
13305 "documentation on that format. HTML uses the format E<lt>A "
13306 "HREF=\"I<uri>\"E<gt> I<text> E<lt>/AE<gt>. Texinfo files use the format "
13307 "@uref{I<uri>}. Man and mdoc have the recently added UR macro, or just "
13308 "include the URI in the text (viewers should be able to detect :// as part of "
13312 #. type: Plain text
13313 #: build/C/man7/uri.7:630
13315 "The GNOME and KDE desktop environments currently vary in the URIs they "
13316 "accept, in particular in their respective help browsers. To list man pages, "
13317 "GNOME uses E<lt>toc:manE<gt> while KDE uses E<lt>man:(index)E<gt>, and to "
13318 "list info pages, GNOME uses E<lt>toc:infoE<gt> while KDE uses "
13319 "E<lt>info:(dir)E<gt> (the author of this man page prefers the KDE approach "
13320 "here, though a more regular format would be even better). In general, KDE "
13321 "uses E<lt>file:/cgi-bin/E<gt> as a prefix to a set of generated files. KDE "
13322 "prefers documentation in HTML, accessed via the "
13323 "E<lt>file:/cgi-bin/helpindexE<gt>. GNOME prefers the ghelp scheme to store "
13324 "and find documentation. Neither browser handles file: references to "
13325 "directories at the time of this writing, making it difficult to refer to an "
13326 "entire directory with a browsable URI. As noted above, these environments "
13327 "differ in how they handle the info: scheme, probably the most important "
13328 "variation. It is expected that GNOME and KDE will converge to common URI "
13329 "formats, and a future version of this man page will describe the converged "
13330 "result. Efforts to aid this convergence are encouraged."
13334 #: build/C/man7/uri.7:630
13339 #. type: Plain text
13340 #: build/C/man7/uri.7:640
13342 "A URI does not in itself pose a security threat. There is no general "
13343 "guarantee that a URL, which at one time located a given resource, will "
13344 "continue to do so. Nor is there any guarantee that a URL will not locate a "
13345 "different resource at some later point in time; such a guarantee can be "
13346 "obtained only from the person(s) controlling that namespace and the resource "
13350 #. type: Plain text
13351 #: build/C/man7/uri.7:655
13353 "It is sometimes possible to construct a URL such that an attempt to perform "
13354 "a seemingly harmless operation, such as the retrieval of an entity "
13355 "associated with the resource, will in fact cause a possibly damaging remote "
13356 "operation to occur. The unsafe URL is typically constructed by specifying a "
13357 "port number other than that reserved for the network protocol in question. "
13358 "The client unwittingly contacts a site that is in fact running a different "
13359 "protocol. The content of the URL contains instructions that, when "
13360 "interpreted according to this other protocol, cause an unexpected "
13361 "operation. An example has been the use of a gopher URL to cause an "
13362 "unintended or impersonating message to be sent via a SMTP server."
13365 #. type: Plain text
13366 #: build/C/man7/uri.7:659
13368 "Caution should be used when using any URL that specifies a port number other "
13369 "than the default for the protocol, especially when it is a number within the "
13373 #. type: Plain text
13374 #: build/C/man7/uri.7:667
13376 "Care should be taken when a URI contains escaped delimiters for a given "
13377 "protocol (for example, CR and LF characters for telnet protocols) that these "
13378 "are not unescaped before transmission. This might violate the protocol, but "
13379 "avoids the potential for such characters to be used to simulate an extra "
13380 "operation or parameter in that protocol, which might lead to an unexpected "
13381 "and possibly harmful remote operation to be performed."
13384 #. type: Plain text
13385 #: build/C/man7/uri.7:673
13387 "It is clearly unwise to use a URI that contains a password which is intended "
13388 "to be secret. In particular, the use of a password within the \"userinfo\" "
13389 "component of a URI is strongly recommended against except in those rare "
13390 "cases where the \"password\" parameter is intended to be public."
13393 #. type: Plain text
13394 #: build/C/man7/uri.7:695
13396 "Documentation may be placed in a variety of locations, so there currently "
13397 "isn't a good URI scheme for general online documentation in arbitrary "
13398 "formats. References of the form E<lt>file:///usr/doc/ZZZE<gt> don't work "
13399 "because different distributions and local installation requirements may "
13400 "place the files in different directories (it may be in /usr/doc, or "
13401 "/usr/local/doc, or /usr/share, or somewhere else). Also, the directory ZZZ "
13402 "usually changes when a version changes (though filename globbing could "
13403 "partially overcome this). Finally, using the file: scheme doesn't easily "
13404 "support people who dynamically load documentation from the Internet (instead "
13405 "of loading the files onto a local filesystem). A future URI scheme may be "
13406 "added (e.g., \"userdoc:\") to permit programs to include cross-references to "
13407 "more detailed documentation without having to know the exact location of "
13408 "that documentation. Alternatively, a future version of the filesystem "
13409 "specification may specify file locations sufficiently so that the file: "
13410 "scheme will be able to locate documentation."
13413 #. type: Plain text
13414 #: build/C/man7/uri.7:698
13416 "Many programs and file formats don't include a way to incorporate or "
13417 "implement links using URIs."
13421 #. David A. Wheeler (dwheeler@dwheeler.com) wrote this man page.
13422 #. type: Plain text
13423 #: build/C/man7/uri.7:706
13425 "Many programs can't handle all of these different URI formats; there should "
13426 "be a standard mechanism to load an arbitrary URI that automatically detects "
13427 "the users' environment (e.g., text or graphics, desktop environment, local "
13428 "user preferences, and currently executing tools) and invokes the right tool "
13432 #. type: Plain text
13433 #: build/C/man7/uri.7:711
13434 msgid "B<lynx>(1), B<man2html>(1), B<mailaddr>(7), B<utf-8>(7)"
13437 #. type: Plain text
13438 #: build/C/man7/uri.7:715
13439 msgid "E<.UR http://www.ietf.org\\:/rfc\\:/rfc2255.txt> IETF RFC\\ 2255 E<.UE>"
13443 #: build/C/man4/vcs.4:29
13449 #: build/C/man4/vcs.4:29
13454 #. type: Plain text
13455 #: build/C/man4/vcs.4:32
13456 msgid "vcs, vcsa - virtual console memory"
13459 #. type: Plain text
13460 #: build/C/man4/vcs.4:38
13462 "I</dev/vcs0> is a character device with major number 7 and minor number 0, "
13463 "usually of mode 0644 and owner root.tty. It refers to the memory of the "
13464 "currently displayed virtual console terminal."
13467 #. type: Plain text
13468 #: build/C/man4/vcs.4:58
13470 "I</dev/vcs[1-63]> are character devices for virtual console terminals, they "
13471 "have major number 7 and minor number 1 to 63, usually mode 0644 and owner "
13472 "root.tty. I</dev/vcsa[0-63]> are the same, but using I<unsigned short>s (in "
13473 "host byte order) that include attributes, and prefixed with four bytes "
13474 "giving the screen dimensions and cursor position: I<lines>, I<columns>, "
13475 "I<x>, I<y>. (I<x> = I<y> = 0 at the top left corner of the screen.)"
13478 #. type: Plain text
13479 #: build/C/man4/vcs.4:72
13481 "When a 512-character font is loaded, the 9th bit position can be fetched by "
13482 "applying the B<ioctl>(2) B<VT_GETHIFONTMASK> operation (available in Linux "
13483 "kernels 2.6.18 and above) on I</dev/tty[1-63]>; the value is returned in "
13484 "the I<unsigned short> pointed to by the third B<ioctl>(2) argument."
13487 #. type: Plain text
13488 #: build/C/man4/vcs.4:79
13490 "These devices replace the screendump B<ioctl>(2) operations of "
13491 "B<console>(4), so the system administrator can control access using "
13492 "filesystem permissions."
13495 #. type: Plain text
13496 #: build/C/man4/vcs.4:81
13497 msgid "The devices for the first eight virtual consoles may be created by:"
13500 #. type: Plain text
13501 #: build/C/man4/vcs.4:88
13504 " for x in 0 1 2 3 4 5 6 7 8; do\n"
13505 " mknod -m 644 /dev/vcs$x c 7 $x;\n"
13506 " mknod -m 644 /dev/vcsa$x c 7 $[$x+128];\n"
13508 " chown root:tty /dev/vcs*\n"
13511 #. type: Plain text
13512 #: build/C/man4/vcs.4:93
13513 msgid "No B<ioctl>(2) requests are supported."
13516 #. type: Plain text
13517 #: build/C/man4/vcs.4:95
13518 msgid "/dev/vcs[0-63]"
13522 #. Andries Brouwer <aeb@cwi.nl>
13523 #. type: Plain text
13524 #: build/C/man4/vcs.4:99
13525 msgid "/dev/vcsa[0-63]"
13528 #. type: Plain text
13529 #: build/C/man4/vcs.4:101
13530 msgid "Introduced with version 1.1.92 of the Linux kernel."
13533 #. type: Plain text
13534 #: build/C/man4/vcs.4:103
13535 msgid "You may do a screendump on vt3 by switching to vt1 and typing"
13538 #. type: Plain text
13539 #: build/C/man4/vcs.4:105
13541 msgid " cat /dev/vcs3 E<gt>foo\n"
13544 #. type: Plain text
13545 #: build/C/man4/vcs.4:109
13547 "Note that the output does not contain newline characters, so some processing "
13548 "may be required, like in"
13551 #. type: Plain text
13552 #: build/C/man4/vcs.4:111
13554 msgid " old -w 81 /dev/vcs3 | lpr\n"
13557 #. type: Plain text
13558 #: build/C/man4/vcs.4:113
13559 msgid "or (horrors)"
13562 #. type: Plain text
13563 #: build/C/man4/vcs.4:115
13565 msgid " xetterm -dump 3 -file /proc/self/fd/1\n"
13568 #. type: Plain text
13569 #: build/C/man4/vcs.4:120
13570 msgid "The I</dev/vcsa0> device is used for Braille support."
13573 #. type: Plain text
13574 #: build/C/man4/vcs.4:124
13576 "This program displays the character and screen attributes under the cursor "
13577 "of the second virtual console, then changes the background color there:"
13580 #. type: Plain text
13581 #: build/C/man4/vcs.4:132
13584 "#include E<lt>unistd.hE<gt>\n"
13585 "#include E<lt>stdlib.hE<gt>\n"
13586 "#include E<lt>stdio.hE<gt>\n"
13587 "#include E<lt>fcntl.hE<gt>\n"
13588 "#include E<lt>sys/ioctl.hE<gt>\n"
13589 "#include E<lt>linux/vt.hE<gt>\n"
13592 #. type: Plain text
13593 #: build/C/man4/vcs.4:143
13600 " char *device = \"/dev/vcsa2\";\n"
13601 " char *console = \"/dev/tty2\";\n"
13602 " struct {unsigned char lines, cols, x, y;} scrn;\n"
13603 " unsigned short s;\n"
13604 " unsigned short mask;\n"
13605 " unsigned char ch, attrib;\n"
13608 #. type: Plain text
13609 #: build/C/man4/vcs.4:172
13612 " fd = open(console, O_RDWR);\n"
13613 " if (fd E<lt> 0) {\n"
13614 " perror(console);\n"
13615 " exit(EXIT_FAILURE);\n"
13617 " if (ioctl(fd, VT_GETHIFONTMASK, &mask) E<lt> 0) {\n"
13618 " perror(\"VT_GETHIFONTMASK\");\n"
13619 " exit(EXIT_FAILURE);\n"
13621 " (void) close(fd);\n"
13622 " fd = open(device, O_RDWR);\n"
13623 " if (fd E<lt> 0) {\n"
13624 " perror(device);\n"
13625 " exit(EXIT_FAILURE);\n"
13627 " (void) read(fd, &scrn, 4);\n"
13628 " (void) lseek(fd, 4 + 2*(scrn.y*scrn.cols + scrn.x), 0);\n"
13629 " (void) read(fd, &s, 2);\n"
13630 " ch = s & 0xff;\n"
13631 " if (attrib & mask)\n"
13633 " attrib = ((s & ~mask) E<gt>E<gt> 8);\n"
13634 " printf(\"ch=\\(aq%c\\(aq attrib=0x%02x\\en\", ch, attrib);\n"
13635 " attrib ^= 0x10;\n"
13636 " (void) lseek(fd, -1, 1);\n"
13637 " (void) write(fd, &attrib, 1);\n"
13638 " exit(EXIT_SUCCESS);\n"
13642 #. type: Plain text
13643 #: build/C/man4/vcs.4:178
13644 msgid "B<console>(4), B<tty>(4), B<ttyS>(4), B<gpm>(8)"
13648 #: build/C/man4/wavelan.4:15
13654 #: build/C/man4/wavelan.4:15
13659 #. type: Plain text
13660 #: build/C/man4/wavelan.4:18
13661 msgid "wavelan - AT&T GIS WaveLAN ISA device driver"
13664 #. type: Plain text
13665 #: build/C/man4/wavelan.4:20
13667 "B<insmod wavelan_cs.o [io=>I<B,B..>B<] [ irq=>I<I,I..>B<] "
13668 "[name=>I<N,N..>B<]>"
13671 #. type: Plain text
13672 #: build/C/man4/wavelan.4:23
13674 "I<This driver is obsolete:> it was removed from the kernel in version "
13678 #. type: Plain text
13679 #: build/C/man4/wavelan.4:39
13681 "I<wavelan> is the low-level device driver for the NCR / AT&T / Lucent "
13682 "B<WaveLAN ISA> and Digital (DEC) B<RoamAbout DS> wireless ethernet "
13683 "adapter. This driver is available as a module or might be compiled in the "
13684 "kernel. This driver supports multiple cards in both forms (up to 4) and "
13685 "allocates the next available ethernet device (eth0..eth#) for each card "
13686 "found, unless a device name is explicitly specified (see below). This "
13687 "device name will be reported in the kernel log file with the MAC address, "
13688 "NWID and frequency used by the card."
13691 #. type: Plain text
13692 #: build/C/man4/wavelan.4:46
13694 "This section apply to the module form (parameters passed on the B<insmod>(8) "
13695 "command line). If the driver is included in the kernel, use the "
13696 "I<ether=IRQ,IO,NAME> syntax on the kernel command line."
13700 #: build/C/man4/wavelan.4:46
13705 #. type: Plain text
13706 #: build/C/man4/wavelan.4:53
13708 "Specify the list of base address where to search for wavelan cards (setting "
13709 "by dip switch on the card). If you don't specify any io address, the driver "
13710 "will scan 0x390 and 0x3E0 addresses, which might conflict with other "
13715 #: build/C/man4/wavelan.4:53
13720 #. type: Plain text
13721 #: build/C/man4/wavelan.4:57
13723 "Set the list of irq that each wavelan card should use (the value is saved in "
13724 "permanent storage for future use)."
13728 #: build/C/man4/wavelan.4:57
13733 #. type: Plain text
13734 #: build/C/man4/wavelan.4:62
13736 "Set the list of name to be used for each wavelan cards device (name used by "
13741 #: build/C/man4/wavelan.4:62
13743 msgid "Wireless extensions"
13746 #. type: Plain text
13747 #: build/C/man4/wavelan.4:66
13748 msgid "Use B<iwconfig>(8) to manipulate wireless extensions."
13752 #: build/C/man4/wavelan.4:66
13754 msgid "NWID (or domain)"
13757 #. type: Plain text
13758 #: build/C/man4/wavelan.4:75
13760 "Set the network ID [I<0> to I<FFFF>] or disable it [I<off>]. As the NWID is "
13761 "stored in the card Permanent Storage Area, it will be reuse at any further "
13762 "invocation of the driver."
13766 #: build/C/man4/wavelan.4:75
13768 msgid "Frequency & channels"
13771 #. type: Plain text
13772 #: build/C/man4/wavelan.4:86
13774 "For the 2.4GHz 2.00 Hardware, you are able to set the frequency by "
13775 "specifying one of the 10 defined channels (I<2.412,> I<2.422, 2.425, 2.4305, "
13776 "2.432, 2.442, 2.452, 2.460, 2.462> or I<2.484>) or directly by its value. "
13777 "The frequency is changed immediately and permanently. Frequency "
13778 "availability depends on the regulations..."
13782 #: build/C/man4/wavelan.4:86
13784 msgid "Statistics spy"
13787 #. type: Plain text
13788 #: build/C/man4/wavelan.4:90
13790 "Set a list of MAC addresses in the driver (up to 8) and get the last quality "
13791 "of link for each of those (see B<iwspy>(8))."
13795 #: build/C/man4/wavelan.4:90
13797 msgid "/proc/net/wireless"
13800 #. type: Plain text
13801 #: build/C/man4/wavelan.4:105
13803 "I<status> is the status reported by the modem. I<Link quality> reports the "
13804 "quality of the modulation on the air (direct sequence spread spectrum) [max "
13805 "= 16]. I<Level> and I<Noise> refer to the signal level and noise level [max "
13806 "= 64]. The I<crypt discarded packet> and I<misc discarded packet> counters "
13807 "are not implemented."
13811 #: build/C/man4/wavelan.4:105
13813 msgid "Private ioctl"
13816 #. type: Plain text
13817 #: build/C/man4/wavelan.4:109
13818 msgid "You may use B<iwpriv>(8) to manipulate private ioctls."
13822 #: build/C/man4/wavelan.4:109
13824 msgid "Quality and level threshold"
13827 #. type: Plain text
13828 #: build/C/man4/wavelan.4:112
13830 "Enable you the define the quality and level threshold used by the modem "
13831 "(packet below that level are discarded)."
13835 #: build/C/man4/wavelan.4:112
13840 #. type: Plain text
13841 #: build/C/man4/wavelan.4:119
13843 "This functionality makes it possible to set a number of signal level "
13844 "intervals and to count the number of packets received in each of those "
13845 "defined intervals. This distribution might be used to calculate the mean "
13846 "value and standard deviation of the signal level."
13850 #: build/C/man4/wavelan.4:119
13852 msgid "Specific notes"
13855 #. type: Plain text
13856 #: build/C/man4/wavelan.4:125
13858 "This driver will fail to detect some B<non-NCR/ATT&T/Lucent> Wavelan cards. "
13859 "If this happens for you, you must look in the source code on how to add your "
13860 "card to the detection routine."
13864 #. Bruce Janson \(em bruce@cs.usyd.edu.au
13866 #. Jean Tourrilhes \(em jt@hplb.hpl.hp.com
13868 #. (and others; see source code for details)
13871 #. type: Plain text
13872 #: build/C/man4/wavelan.4:138
13874 "Some of the mentioned features are optional. You may enable to disable them "
13875 "by changing flags in the driver header and recompile."
13878 #. type: Plain text
13879 #: build/C/man4/wavelan.4:145
13881 "B<wavelan_cs>(4), B<ifconfig>(8), B<insmod>(8), B<iwconfig>(8), "
13882 "B<iwpriv>(8), B<iwspy>(8)"