IBM Tape Device Drivers: Programming Reference Contents

Total Page:16

File Type:pdf, Size:1020Kb

IBM Tape Device Drivers: Programming Reference Contents IBM Tape Device Drivers IBM Programming Reference GA32-0566-09 IBM Tape Device Drivers IBM Programming Reference GA32-0566-09 ii IBM Tape Device Drivers: Programming Reference Contents Note! ................ v Close error codes ........... 94 IOCTL error codes ........... 95 Preface .............. vii Chapter 3. HP-UX tape and medium Chapter 1. Common extended features . 1 changer device driver ........ 97 Tape drive functions and device driver ioctls ... 1 HP-UX programming interface ........ 97 Media partitioning ............ 1 IOCTL operations ............ 100 Data safe (append-only) mode ........ 3 General SCSI IOCTL operations ...... 100 Read Position long/extended form and Locate(16) SCSI medium changer IOCTL operations ... 108 commands ............... 3 SCSI tape drive IOCTL operations ..... 118 Logical Block Protection .......... 4 Base operating system tape drive IOCTL Programmable Early Warning (PEW) ...... 4 operations ............. 149 Log Sense page and subpage ......... 5 Service aid IOCTL operations ....... 151 Mode Sense page and subpage ........ 5 Verify Tape ............... 5 Chapter 4. Linux tape and medium RAO - Recommended Access Order ...... 5 changer device driver ........ 159 Software interface ............ 159 Chapter 2. AIX tape and medium Entry points ............. 159 changer device driver ......... 7 Medium changer devices ........ 161 Software interface for tape devices ....... 7 General IOCTL operations ......... 161 Software interface for medium changer devices ... 7 Overview.............. 162 Special files ............... 8 Tape drive IOCTL operations ........ 173 Special files for tape devices ........ 8 Overview.............. 173 Special files for medium changer devices .... 9 Tape drive compatibility IOCTL operations ... 208 Opening the special file for I/O ...... 10 MTIOCTOP ............. 208 The extended open operation ....... 10 MTIOCGET ............. 208 Writing to the special file ......... 12 MTIOCPOS ............. 208 Reading from the special file ....... 12 Medium changer IOCTL operations ...... 209 Reading with the TAPE_SHORT_READ extended SCSI IOCTL commands ......... 209 parameter .............. 12 Return codes ............. 217 Reading with the TAPE_READ_REVERSE General error codes .......... 217 extended parameter .......... 13 Open error codes ........... 217 Closing the special file.......... 13 Close error codes ........... 218 Device and volume information logging ..... 14 Read error codes ........... 218 Log file ............... 14 Write error codes ........... 218 Persistent reservation support and IOCTL IOCTL error codes........... 219 operations ............... 15 ODM attributes and configuring persistent Chapter 5. Solaris tape and medium reserve support ............ 15 changer device driver ........ 221 Default device driver host reservation key ... 16 IOCTL operations ............ 221 Preempting and clearing another host reservation 16 General SCSI IOCTL operations ...... 221 Openx() extended parameters ....... 16 SCSI medium changer IOCTL operations ... 232 AIX tape persistent reserve IOCTLs ..... 17 SCSI tape drive IOCTL operations ..... 242 Atape persistent reserve IOCTLs ...... 20 Base operating system tape drive IOCTL General IOCTL operations ......... 24 operations ............. 278 Overview .............. 24 Downward compatibility tape drive IOCTL Tape IOCTL operations .......... 41 operations ............. 281 Overview .............. 41 Service aid IOCTL operations ....... 287 Medium changer IOCTL operations ...... 81 Return codes ............. 292 Overview .............. 81 General error codes .......... 293 Return codes .............. 92 Open error codes ........... 293 Codes for all operations ......... 92 Close error codes ........... 294 Open error codes ........... 93 Read error codes ........... 294 Write error codes ........... 94 Write error codes ........... 294 Read error codes ........... 94 © Copyright IBM Corp. 1999, 2016 iii IOCTL error codes........... 295 SGI IRIX 3494 Enterprise tape library ..... 343 Opening a special file ......... 295 Solaris 3494 Enterprise tape library driver .... 344 Writing to a special file ......... 296 Opening the library device ........ 344 Reading from a special file ........ 297 Closing the library device ........ 344 Closing a special file .......... 298 Issuing the library commands ....... 344 Issuing IOCTL operations to a special file ... 299 Building and linking applications with the library subroutines .......... 345 Chapter 6. Windows tape device Windows 3494 Enterprise tape library service .. 345 drivers .............. 301 Opening the library device ........ 345 Closing the library device ........ 346 Windows programming interface ....... 301 Issuing the library commands ....... 346 User-callable entry points ........ 301 Building and linking applications with the Tape Media Changer driver entry points ... 302 library subroutines .......... 346 Medium Changer IOCTLs ........ 310 3494 Enterprise tape library system calls .... 348 | Preempt reservation .......... 311 Library device number ......... 349 Vendor-specific (IBM) device IOCTLs for MTIOCLM (Library Mount) ....... 349 DeviceIoControl ........... 313 MTIOCLDM (Library Demount) ...... 351 Variable and fixed block read/write processing 331 MTIOCLQ (Library Query) ........ 353 Event log............... 332 MTIOCLSVC (Library Set Volume Category) 358 MTIOCLQMID (Library Query Message ID) .. 360 Chapter 7. 3494 Enterprise tape library MTIOCLA (Library Audit) ........ 361 driver ............... 339 MTIOCLC (Library Cancel)........ 362 AIX 3494 Enterprise tape library driver..... 339 MTIOCLSDC (Library Set Device Category) .. 363 Opening the Special File for I/O ...... 339 MTIOCLRC (Library Release Category).... 365 Header definitions and structure ...... 339 MTIOCLRSC (Library Reserve Category) ... 366 Parameters ............. 339 MTIOCLSCA (Library Set Category Attribute) 368 Reading and writing the Special File .... 339 MTIOCLDEVINFO (Device List) ...... 369 Closing the Special File ......... 339 MTIOCLDEVLIST (Expanded Device List)... 369 HP-UX 3494 Enterprise tape library driver.... 340 MTIOCLADDR (Library Address Information) 371 Opening the library device ........ 340 MTIOCLEW (Library Event Wait) ..... 373 Closing the library device ........ 340 Error description for the library I/O control Issuing the library commands ....... 340 requests .............. 376 Building and linking applications with the library subroutines .......... 341 Notices .............. 379 Linux 3494 Enterprise tape library driver .... 341 Opening the library device ........ 342 Index ............... 381 Closing the library device ........ 342 Issuing the library commands ....... 342 Building and linking applications with the library subroutines .......... 343 iv IBM Tape Device Drivers: Programming Reference Note! Before using this information and the product that it supports, be sure to read the general information under “Notices” on page 379. Ninth Edition (March 2016) This edition replaces and makes obsolete GC35-0483-06, GC35-0346-10, GA32-0566-00, GA32-0566-01, GA32-0566-02, GA32-0566-03, GA32-0566-04, GA32-0566-05, GA32-0566-06, GA32-0566-07, and GA32-0566-08. Changes or additions are indicated by a vertical line in the left margin. © Copyright IBM Corp. 1999, 2016 v vi IBM Tape Device Drivers: Programming Reference Preface These publications and URLs provide user information and installation assistance for IBM® tape drive, medium changer, and library device drivers. Special printing instructions This Device Driver manual contains different sections for each type of operating platform, for example, AIX, HP-UX, Linux, Oracle Solaris, and Windows. The manual also contains a separate section on these operating systems for the 3494 Enterprise tape library. Note: When the page range is selected for the section you want to print, the print page range is based on the page controls for Adobe Acrobat, not the page that is printed on the actual document. Enter the Adobe page numbers to print. If you want to print one or more separate sections of the manual, follow these steps. 1. Go to the beginning of the section and note the page number. 2. Go to the last page in the section and note that page number. 3. Select File > Print, then choose Pages and enter the page range for the section. Only the page range that is entered prints. 4. Repeat these steps to print extra sections. Importantprinternote Thisareaindicatesthe Ignore thepagenumber pagesthatwillactually appearingonthepageitself printinyourspecified whenenteringpageranges rangeofpages. foryourprinter. Figure 1. How to print Adobe pdf files Attention: Only one Table of Contents and one Index is available for this entire book. If you want to print those items, you must repeat the process, by entering the page range of the Table of Contents and the Index page range. © Copyright IBM Corp. 1999, 2016 vii Related information Reference material, including the Adobe pdf version of this publication, is available at http://www-01.ibm.com/support/docview.wss?uid=ssg1S7003032. A companion publication that covers installation and user aspects for the device drivers is IBM Tape Device Drivers: Installation and Users Guide, GC27-2130-00, at http://www-01.ibm.com/support/docview.wss?uid=ssg1S7002972. AIX The following URL points to information about IBM System p (also known as pSeries) servers: http://www-1.ibm.com/servers/eserver/pseries. HP-UX The following URL relates to HP HP-UX systems: http://www.hp.com. Linux The following URLs
Recommended publications
  • The Linux Kernel Module Programming Guide
    The Linux Kernel Module Programming Guide Peter Jay Salzman Michael Burian Ori Pomerantz Copyright © 2001 Peter Jay Salzman 2007−05−18 ver 2.6.4 The Linux Kernel Module Programming Guide is a free book; you may reproduce and/or modify it under the terms of the Open Software License, version 1.1. You can obtain a copy of this license at http://opensource.org/licenses/osl.php. This book is distributed in the hope it will be useful, but without any warranty, without even the implied warranty of merchantability or fitness for a particular purpose. The author encourages wide distribution of this book for personal or commercial use, provided the above copyright notice remains intact and the method adheres to the provisions of the Open Software License. In summary, you may copy and distribute this book free of charge or for a profit. No explicit permission is required from the author for reproduction of this book in any medium, physical or electronic. Derivative works and translations of this document must be placed under the Open Software License, and the original copyright notice must remain intact. If you have contributed new material to this book, you must make the material and source code available for your revisions. Please make revisions and updates available directly to the document maintainer, Peter Jay Salzman <[email protected]>. This will allow for the merging of updates and provide consistent revisions to the Linux community. If you publish or distribute this book commercially, donations, royalties, and/or printed copies are greatly appreciated by the author and the Linux Documentation Project (LDP).
    [Show full text]
  • Procedures to Build Crypto Libraries in Minix
    Created by Jinkai Gao (Syracuse University) Seed Document How to talk to inet server Note: this docment is fully tested only on Minix3.1.2a. In this document, we introduce a method to let user level program to talk to inet server. I. Problem with system call Recall the process of system call, refering to http://www.cis.syr.edu/~wedu/seed/Labs/Documentation/Minix3/System_call_sequence.pd f We can see the real system call happens in this function call: _syscall(FS, CHMOD, &m) This function executes ‘INT 80’ to trap into kernel. Look at the parameter it passs to kernel. ‘CHMOD’ is a macro which is merely the system call number. ‘FS’ is a macro which indicates the server which handles the chmod system call, in this case ‘FS’ is 1, which is the pid of file system server process. Now your might ask ‘why can we hard code the pid of the process? Won’t it change?’ Yes, normally the pid of process is unpredictable each time the system boots up. But for fs, pm, rs, init and other processes which is loaded from system image at the very beginning of booting time, it is not true. In minix, you can dump the content of system image by pressing ‘F3’, then dump the current running process table by pressing ‘F1’. What do you find? The first 12 entries in current process table is exactly the ones in system image with the same order. So the pids of these 12 processes will not change. Inet is different. It is not in the system image, so it is not loaded into memory in the very first time.
    [Show full text]
  • System Calls System Calls
    System calls We will investigate several issues related to system calls. Read chapter 12 of the book Linux system call categories file management process management error handling note that these categories are loosely defined and much is behind included, e.g. communication. Why? 1 System calls File management system call hierarchy you may not see some topics as part of “file management”, e.g., sockets 2 System calls Process management system call hierarchy 3 System calls Error handling hierarchy 4 Error Handling Anything can fail! System calls are no exception Try to read a file that does not exist! Error number: errno every process contains a global variable errno errno is set to 0 when process is created when error occurs errno is set to a specific code associated with the error cause trying to open file that does not exist sets errno to 2 5 Error Handling error constants are defined in errno.h here are the first few of errno.h on OS X 10.6.4 #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* Input/output error */ #define ENXIO 6 /* Device not configured */ #define E2BIG 7 /* Argument list too long */ #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file descriptor */ #define ECHILD 10 /* No child processes */ #define EDEADLK 11 /* Resource deadlock avoided */ 6 Error Handling common mistake for displaying errno from Linux errno man page: 7 Error Handling Description of the perror () system call.
    [Show full text]
  • UNIX Systems Programming II Systems Unixprogramming II Short Course Notes
    Systems UNIXProgramming II Systems UNIXProgramming II Systems UNIXProgramming II UNIX Systems Programming II Systems UNIXProgramming II Short Course Notes Alan Dix © 1996 Systems Programming II http://www.hcibook.com/alan/ UNIX Systems Course UNIXProgramming II Outline Alan Dix http://www.hcibook.com/alan/ Session 1 files and devices inodes, stat, /dev files, ioctl, reading directories, file descriptor sharing and dup2, locking and network caching Session 2 process handling UNIX processes, fork, exec, process death: SIGCHLD and wait, kill and I/O issues for fork Session 3 inter-process pipes: at the shell , in C code and communication use with exec, pseudo-terminals, sockets and deadlock avoidance Session 4 non-blocking I/O and UNIX events: signals, times and select I/O; setting timers, polling, select, interaction with signals and an example Internet server Systems UNIXProgrammingII Short Course Notes Alan Dix © 1996 II/i Systems Reading UNIXProgramming II ¥ The Unix V Environment, Stephen R. Bourne, Wiley, 1987, ISBN 0 201 18484 2 The author of the Borne Shell! A 'classic' which deals with system calls, the shell and other aspects of UNIX. ¥ Unix For Programmers and Users, Graham Glass, Prentice-Hall, 1993, ISBN 0 13 061771 7 Slightly more recent book also covering shell and C programming. Ì BEWARE Ð UNIX systems differ in details, check on-line documentation ¥ UNIX manual pages: man creat etc. Most of the system calls and functions are in section 2 and 3 of the manual. The pages are useful once you get used to reading them! ¥ The include files themselves /usr/include/time.h etc.
    [Show full text]
  • Toward MP-Safe Networking in Netbsd
    Toward MP-safe Networking in NetBSD Ryota Ozaki <[email protected]> Kengo Nakahara <[email protected]> EuroBSDcon 2016 2016-09-25 Contents ● Background and goals ● Approach ● Current status ● MP-safe Layer 3 forwarding ● Performance evaluations ● Future work Background ● The Multi-core Era ● The network stack of NetBSD couldn’t utilize multi-cores ○ As of 2 years ago CPU 0 NIC A NIC B CPU 1 Our Background and Our Goals ● Internet Initiative Japan Inc. (IIJ) ○ Using NetBSD in our products since 1999 ○ Products: Internet access routers, etc. ● Our goal ○ Better performance of our products, especially Layer 2/3 forwarding, tunneling, IPsec VPN, etc. → MP-safe networking Our Targets ● Targets ○ 10+ cores systems ○ 1 Gbps Intel NICs and virtualized NICs ■ wm(4), vmx(4), vioif(4) ○ Layer 2 and 3 ■ IPv4/IPv6, bridge(4), gif(4), vlan(4), ipsec(4), pppoe(4), bpf(4) ● Out of targets ○ 100 cores systems and above ○ Layer 4 and above ■ and any other network components except for the above Approach ● MP-safe and then MP-scalable ● Architecture ○ Utilize hardware assists ○ Utilize lightweight synchronization mechanisms ● Development ○ Restructure the code first ○ Benchmark often Approach : Architecture ● Utilize hardware assists ○ Distribute packets to CPUs by hardware ■ NIC multi-queue and RSS ● Utilize software techniques ○ Lightweight synchronization mechanisms ■ Especially pserialize(9) and psref(9) ○ Existing facilities ■ Fast forwarding and ipflow Forwarding Utilizing Hardware Assists Least locks Rx H/W queues CPU 0 Tx H/W queues queue 0 queue 0 CPU 1 queue 1 queue 1 NIC A NIC B queue 2 queue 2 CPU 2 queue 3 queue 3 CPU 3 Packets are distributed Packets are processed by hardware based on on a received CPU to flow (5-tuples) the last Approach : Development ● Restructure the code first ○ Hard to simply apply locks to the existing code ■ E.g., hardware interrupt context for Layer 2, cloning/cloned routes, etc.
    [Show full text]
  • LTO Tape Technology Care & Handling
    LTO Tape Technology Care & Handling 1 LTO Tape Technology Overview 2 LTO Technology LTO (Linear Tape-Open) LTO Ultrium high-capacity Tape Drive Format developed by LTO Drive Technology Provider Companies (TPC) – IBM, HP and Quantum. ¾ LTO Ultrium Data Cartridge – Single-reel; High-capacity Tape ¾ Ten-generation Roadmap – 200 GB up to 120 TB with compression *Quantum acquired Certance (Seagate’s former Removable Storage Solutions Division) 12/2004. • Linear Tape-Open, LTO, the LTO logo, Ultrium, and the Ultrium logo are trademarks of HP, IBM and Quantum in the US and other countries. 3 LTO roadmap 4 LTO roadmap – Generations 3-10 5 LTO Ultrium Generations/Specifications LTO 1: introduced in 2000, 100/200 GB native/compressed capacity, 20/40 MB/s native compressed transfer rate LTO 2: introduced in 2002, 200/400 GB native/compressed capacity, 40/80 MB/s native/compressed transfer rate LTO 3: introduced in 2004, 400/800 GB native/compressed capacity, 80/160 MB/s native/compressed transfer rate LTO 4: introduced in 2007, 800/1600 GB native/compressed capacity, 120/240 MB/s native/compressed transfer rate LTO 5: introduced in 2010, 1.5/3.0 TB native/compressed capacity, 140/280 MB/s native/compressed transfer rate LTO 6: introduced in 2012, 2.5/6.25 TB native/compressed capacity, 160/400 MB/s native/compressed transfer rate LTO UCC (Universal Cleaning Cartridge): compatible with all 6 generations of LTO drives‐up to 50 cleanings per cartridge 6 Fujifilm LTO Ultrium Cartridge Color Unique shell color for each generation of Fujifilm LTO Ultrium
    [Show full text]
  • Dell Update Packages for Linux Operating Systems User's Guide
    Dell™ Update Packages for Linux Operating Systems User’s Guide Notes and Cautions NOTE: A NOTE indicates important information that helps you make better use of your computer. CAUTION: A CAUTION indicates potential damage to hardware or loss of data if instructions are not followed. ____________________ Information in this document is subject to change without notice. © 2009 Dell Inc. All rights reserved. Reproduction of these materials in any manner whatsoever without the written permission of Dell Inc. is strictly forbidden. Trademarks used in this text: Dell, the DELL logo, and OpenManage are trademarks of Dell Inc.; Microsoft and Windows are either trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries; Intel is a registered trademark of Intel Corporation in the United States and other countries; Red Hat and Red Hat Enterprise Linux are registered trademarks of Red Hat, Inc. in the United States and other countries; SUSE is a registered trademark of Novell, Inc. in the United States and other countries; VMware and ESX Server are registered trademarks or trademarks of VMware, Inc. in the United States and/or other jurisdictions; Citrix and XenServer are either trademarks or registered trademarks of Citrix Systems, Inc. in the United States and/or other countries. Other trademarks and trade names may be used in this document to refer to either the entities claiming the marks and names or their products. Dell Inc. disclaims any proprietary interest in trademarks and trade names other than its own. April 2009 Contents 1 Getting Started With Dell Update Packages . 7 Overview .
    [Show full text]
  • Advancing Mac OS X Rootkit Detecron
    Advancing Mac OS X Rootkit Detec4on Andrew Case (@attrc) Volatility Foundation Golden G. Richard III (@nolaforensix) University of New Orleans 2 hot research areas State of Affairs more established Live Forensics and Tradional Storage Memory Analysis Forensics Digital Forensics Reverse Engineering Incident Response Increasingly encompasses all the others Copyright 2015 by Andrew Case and Golden G. Richard III 3 Where’s the Evidence? Files and Filesystem Applica4on Windows Deleted Files metadata metadata registry Print spool Hibernaon Temp files Log files files files Browser Network Slack space Swap files caches traces RAM: OS and app data Volale Evidence structures Copyright 2015 by Andrew Case and Golden G. Richard III 4 Volale Evidence 1 011 01 1 0 1 111 0 11 0 1 0 1 0 10 0 1 0 1 1 1 0 0 1 0 1 1 0 0 1 Copyright 2015 by Andrew Case and Golden G. Richard III 5 Awesomeness Progression: File Carving Can carve Chaos: files, but More can't Faster Almost not very accurate Hurray! carve files well Tools Manual File type Fragmentaon, appear, MulDthreading, hex editor aware damned but have beer design stuff carving, et al spinning disks! issues Images: hLps://easiersaidblogdotcom.files.wordpress.com/2013/02/hot_dogger.jpg hLp://cdn.bigbangfish.com/555/Cow/Cow-6.jpg, hLp://f.tqn.com/y/bbq/1/W/U/i/Big_green_egg_large.jpg hLp://i5.walmarDmages.com/dfw/dce07b8c-bb22/k2-_95ea6c25-e9aa-418e-a3a2-8e48e62a9d2e.v1.jpg Copyright 2015 by Andrew Case and Golden G. Richard III 6 Awesomeness Progression: Memory Forensics Pioneering Chaos: More, efforts Beyond run more, show great Windows ?? strings? more promise pt_finder et al More aenDon Manual, Mac, … awesome but to malware, run strings, Linux, BSD liLle context limited filling in the gaps funcDonality Images: hLps://s-media-cache-ak0.pinimg.com/736x/75/5a/37/755a37727586c57a19d42caa650d242e.jpg,, hLp://img.photobucket.com/albums/v136/Hell2Pay77/SS-trucks.jpg hLp://skateandannoy.com/wp-content/uploads/2007/12/sportsbars.jpg, hLp://gainesvillescene.com/wp-content/uploads/2013/03/dog-longboard.jpg Copyright 2015 by Andrew Case and Golden G.
    [Show full text]
  • Is Tape Backup Dead? We Expose the Common Myths and Rumors
    Backup for the Rest of Us Is Tape Backup Dead? We Expose the Common Myths and Rumors. Trust NovaStor DataCenter for Fast, Reliable Data Security Introduction People have been proclaiming the death of magnetic tape for decades. There is a recurring tendency in some IT circles to declare backup to tape as obsolete or near death as ‘the cloud’ increasingly makes its way into the data centers of the world, as a backup destination. But even in these times of private cloud services, SAN snapshots, SSD’s, and cheap public cloud storage we shouldn't be too quick to lower the coffin. The rumors circulated by cloud service providers and disk vendors mighty have you believe that tape is slow, unreliable, or simply outdated. Perhaps you even have a personal experience, where a poorly implemented system was inherited or you got stuck using archaic backup software. Whatever the reasons, if you have preformed opinions, we ask that you temporarily suspend them as we tackle the most common misconceptions surrounding tape as a backup medium. Tape does not fit all situations and may not be the ultimate storage solution, but it may still have a few tricks up its sleeve when it comes to the long term retention and archival storage of your critical data. Today we tackle some of the most popular, and highly circulated myths about tape. Supported in the USA www.novastor.com 02 #1 Tape Is Dead Whoops, who said that? A global survey conducted by Kroll Ontrack in 2017 showed that while cloud storage use had doubled over the previous year, magnetic tape has also experienced an impressive boost in popularity.
    [Show full text]
  • Linux Device Drivers – IOCTL
    Linux Device Drivers { IOCTL Jernej Viˇciˇc March 15, 2018 Jernej Viˇciˇc Linux Device Drivers { IOCTL Overview Jernej Viˇciˇc Linux Device Drivers { IOCTL Introduction ioctl system call. Jernej Viˇciˇc Linux Device Drivers { IOCTL ioctl short for: Input Output ConTroL, shared interface for devices, Jernej Viˇciˇc Linux Device Drivers { IOCTL Description of ioctl devices are presented with files, input and output devices, we use read/write, this is not always enough, example: (old) modem, Jernej Viˇciˇc Linux Device Drivers { IOCTL Description of ioctl - modem connected through serial port, How to control theserial port: set the speed of transmission (baudrate). use ioctl :). Jernej Viˇciˇc Linux Device Drivers { IOCTL Description of ioctl - examples control over devices other than the type of read/write, close the door, eject, error display, setting of the baud rate, self destruct :). Jernej Viˇciˇc Linux Device Drivers { IOCTL Description of ioctl each device has its own set, these are commands, read commands (read ioctls), write commands (write ioctls), three parameters: file descriptor, ioctl command number a parameter of any type used for programmers purposes. Jernej Viˇciˇc Linux Device Drivers { IOCTL Description of ioctl, ioctl parameters the usage of the third parameter depends on ioctl command, the actual command is the second parameter, possibilities: no parameter, integer, pointer to data. Jernej Viˇciˇc Linux Device Drivers { IOCTL ioctl cons each device has its own set of commands, the control of these commands is left to the programmers, there is a tendency to use other means of communicating with devices: to include commands in a data stream, use of virtual file systems (sysfs, proprietary), ..
    [Show full text]
  • Linux Kernel and Driver Development Training Slides
    Linux Kernel and Driver Development Training Linux Kernel and Driver Development Training © Copyright 2004-2021, Bootlin. Creative Commons BY-SA 3.0 license. Latest update: October 9, 2021. Document updates and sources: https://bootlin.com/doc/training/linux-kernel Corrections, suggestions, contributions and translations are welcome! embedded Linux and kernel engineering Send them to [email protected] - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/470 Rights to copy © Copyright 2004-2021, Bootlin License: Creative Commons Attribution - Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0/legalcode You are free: I to copy, distribute, display, and perform the work I to make derivative works I to make commercial use of the work Under the following conditions: I Attribution. You must give the original author credit. I Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. I For any reuse or distribution, you must make clear to others the license terms of this work. I Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. Document sources: https://github.com/bootlin/training-materials/ - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/470 Hyperlinks in the document There are many hyperlinks in the document I Regular hyperlinks: https://kernel.org/ I Kernel documentation links: dev-tools/kasan I Links to kernel source files and directories: drivers/input/ include/linux/fb.h I Links to the declarations, definitions and instances of kernel symbols (functions, types, data, structures): platform_get_irq() GFP_KERNEL struct file_operations - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/470 Company at a glance I Engineering company created in 2004, named ”Free Electrons” until Feb.
    [Show full text]
  • Magnetic Tape Controller Dec Pdp-11 Compatible
    Illll MODEL DU120 MAGNETIC TAPE CONTROLLER DEC PDP-11 COMPATIBLE FEATURES DESCRIPTION • Interfaces DEC PDP-11 based computers with up The Distributed Logic Corporation (DILOG) Model to 4 industry standard reel to reel magnetic tape DU120 Magnetic Tape Controller couples up to 4 drives. industry standard reel to reel magnetic tape drives to the UNIBUS of all Digital Equipment Corporation • Entire controller on one quad printed circuit module that plugs into any DEC PDP-11 small (DEC) PDP-11 based computers. The controller is peripheral controller (SPC) slot. completely contained on one quad printed circuit module that plugs into a single small peripheral • No external chassis, special wiring, or power controller (SPC) slot in any PDP-11 system back­ supplies required. plane. The basic controller emUlates the DEC TM11 • Emulates DEC TM11 controller. unit and operates with DEC PDP-11 based software including the RT-11 , RSX-11 , RSTS, lAS and • DEC RT-11, RSX-11, RSTS, lAS and MUMPS soft­ MUMPS operating systems. Several additional con­ ware compabitility. troller features, including an automatic self-test • Switch selectable DEC or IBM byte order for­ mode, are standard. matting. A complete tape storage subsystem is comprised of • Handles 7 and 9 track NRZI Industry standard a single Model DU120 quad printed circuit module, drives to 112.5 ips in mixed track configurations. a tape drive and interconnecting ribbon cable. No • Built-In high speed microprocessor. specially wired connectors, additional chassis or power supplies are required. The single quad • FIFO buffer for DMA latency. printed circuit module contains all necessary tape • Automatic self-test feature.
    [Show full text]