Table Of Content(cid:1)(cid:2)(cid:3)
AIX 5.L Version 5.2
Technical Reference: Kernel and
Subsystems, Volume 2
SC23-4164-05
(cid:1)(cid:2)(cid:3)
AIX 5.L Version 5.2
Technical Reference: Kernel and
Subsystems, Volume 2
SC23-4164-05
Note
Beforeusingthisinformationandtheproductitsupports,readtheinformationin“Notices,”onpage423.
SixthEdition(May2004)
ThiseditionappliestoAIX5LVersion5.2andtoallsubsequentreleasesofthisproductuntilotherwiseindicatedin
neweditions.
Areader’scommentformisprovidedatthebackofthispublication.Iftheformhasbeenremoved,address
commentstoInformationDevelopment,DepartmentH6DS-905-6C006,11501BurnetRoad,Austin,Texas
78758-3493.Tosendcommentselectronically,usethiscommercialInternetaddress:[email protected]
informationthatyousupplymaybeusedwithoutincurringanyobligationtoyou.
©CopyrightInternationalBusinessMachinesCorporation1997,2004.Allrightsreserved.
USGovernmentUsersRestrictedRights–Use,duplicationordisclosurerestrictedbyGSAADPScheduleContract
withIBMCorp.
Contents
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Who Should Use This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Highlighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Case-Sensitivity inAIX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
ISO 9000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
32-Bit and 64-Bit Support for the UNIX98 Specification . . . . . . . . . . . . . . . . . . . x
Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Chapter1. Configuration Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . 1
attrval Device Configuration Subroutine. . . . . . . . . . . . . . . . . . . . . . . . . 1
busresolve Device Configuration Subroutine . . . . . . . . . . . . . . . . . . . . . . . 2
genmajor Device Configuration Subroutine. . . . . . . . . . . . . . . . . . . . . . . . 4
genminor Device Configuration Subroutine. . . . . . . . . . . . . . . . . . . . . . . . 5
genseq Device Configuration Subroutine . . . . . . . . . . . . . . . . . . . . . . . . 6
getattr Device Configuration Subroutine. . . . . . . . . . . . . . . . . . . . . . . . . 7
getminor Device Configuration Subroutine. . . . . . . . . . . . . . . . . . . . . . . . 9
loadext Device Configuration Subroutine . . . . . . . . . . . . . . . . . . . . . . . . 10
putattr Device Configuration Subroutine . . . . . . . . . . . . . . . . . . . . . . . . 11
reldevno Device Configuration Subroutine . . . . . . . . . . . . . . . . . . . . . . . 12
relmajor Device Configuration Subroutine. . . . . . . . . . . . . . . . . . . . . . . . 13
Writing Optional Start and Stop Methods . . . . . . . . . . . . . . . . . . . . . . . . 14
Writing a Change Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Writing a Configure Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Writing a Define Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Writing an Unconfigure Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Writing an Undefine Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Device Methods forAdapter Cards: Guidelines. . . . . . . . . . . . . . . . . . . . . . 28
Machine Device Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Loading a Device Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
How Device Methods Return Errors. . . . . . . . . . . . . . . . . . . . . . . . . . 36
ODM Device Configuration Object Classes . . . . . . . . . . . . . . . . . . . . . . . 37
Configuration Rules (Config_Rules) Object Class. . . . . . . . . . . . . . . . . . . . . 37
CustomizedAttribute (CuAt) Object Class . . . . . . . . . . . . . . . . . . . . . . . 39
Customized Dependency (CuDep) Object Class . . . . . . . . . . . . . . . . . . . . . 41
Customized Device Driver (CuDvDr) Object Class . . . . . . . . . . . . . . . . . . . . 41
Customized Devices (CuDv) Object Class . . . . . . . . . . . . . . . . . . . . . . . 42
Customized VPD (CuVPD) Object Class . . . . . . . . . . . . . . . . . . . . . . . . 46
PredefinedAttribute (PdAt) Object Class . . . . . . . . . . . . . . . . . . . . . . . . 46
PredefinedAttribute Extended (PdAtXtd) Object Class . . . . . . . . . . . . . . . . . . . 51
Adapter-Specific Considerations for the PredefinedAttribute (PdAt) Object Class . . . . . . . . . 54
Predefined Connection (PdCn) Object Class . . . . . . . . . . . . . . . . . . . . . . 57
Predefined Devices (PdDv) Object Class. . . . . . . . . . . . . . . . . . . . . . . . 58
Adapter-Specific Considerations for the Predefined Devices (PdDv) Object Class . . . . . . . . . 63
Chapter2. Communications Subsystem . . . . . . . . . . . . . . . . . . . . . . . 65
ddclose Communications PDH Entry Point . . . . . . . . . . . . . . . . . . . . . . . 65
dd_fastwrt Communications PDH Entry Point . . . . . . . . . . . . . . . . . . . . . . 65
CIO_GET_FASTWRT ddioctl Communications PDH Operation. . . . . . . . . . . . . . . . 66
CIO_GET_STAT ddioctl Communications PDH Operation. . . . . . . . . . . . . . . . . . 67
CIO_HALT ddioctl Communications PDH Operation. . . . . . . . . . . . . . . . . . . . 68
CIO_QUERY ddioctl Communications PDH Operation . . . . . . . . . . . . . . . . . . . 70
CIO_START ddioctl Communications PDH Operation . . . . . . . . . . . . . . . . . . . 71
ddopen (Kernel Mode) Communications PDH Entry Point. . . . . . . . . . . . . . . . . . 73
© Copyright IBM Corp. 1997, 2004 iii
ddopen (User Mode) Communications PDH Entry Point . . . . . . . . . . . . . . . . . . 76
ddread Communications PDH Entry Point . . . . . . . . . . . . . . . . . . . . . . . 77
ddselect Communications PDH Entry Point . . . . . . . . . . . . . . . . . . . . . . . 78
ddwrite Communications PDH Entry Point . . . . . . . . . . . . . . . . . . . . . . . 80
ent_fastwrt Ethernet Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . . 81
entclose Ethernet Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . . . 83
entconfig Ethernet Device Handler Entry Point. . . . . . . . . . . . . . . . . . . . . . 84
entioctl Ethernet Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . . . 85
CCC_GET_VPD (Query Vital Product Data) entioctl Ethernet Device Handler Operation . . . . . . 87
CIO_GET_FASTWRT (Get Fast Write) entioctl Ethernet Device Handler Operation . . . . . . . . 88
CIO_GET_STAT (Get Status) entioctl Ethernet Device Handler Operation. . . . . . . . . . . . 89
CIO_HALT (Halt Device) entioctl Ethernet Device Handler Operation . . . . . . . . . . . . . 90
CIO_QUERY (Query Statistics) entioctl Ethernet Device Handler Operation . . . . . . . . . . . 91
CIO_START (Start Device) entioctl Ethernet Device Handler Operation. . . . . . . . . . . . . 92
ENT_SET_MULTI (Set MulticastAddress) entioctl Ethernet Device Handler Operation . . . . . . . 94
IOCINFO (Describe Device) entioctl Ethernet Device Handler Operation . . . . . . . . . . . . 95
entmpx Ethernet Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . . . 96
entopen Ethernet Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . . . 97
entread Ethernet Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . . . 98
entselect Ethernet Device Handler Entry Point. . . . . . . . . . . . . . . . . . . . . . 99
entwrite Ethernet Device Handler Entry Point. . . . . . . . . . . . . . . . . . . . . . 101
mpclose Multiprotocol (MPQP) Device Handler Entry Point. . . . . . . . . . . . . . . . . 102
mpconfig Multiprotocol (MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . . 104
mpioctl Multiprotocol (MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . . . 105
CIO_GET_STAT (Get Status) mpioctl MPQP Device Handler Operation . . . . . . . . . . . . 106
CIO_HALT (Halt Device) mpioctl MPQP Device Handler Operation . . . . . . . . . . . . . . 110
CIO_QUERY (Query Statistics) mpioctl MPQP Device Handler Operation . . . . . . . . . . . 111
CIO_START (Start Device) mpioctl MPQP Device Handler Operation . . . . . . . . . . . . . 113
MP_CHG_PARMS (Change Parameters) mpioctl MPQP Device Handler Operation. . . . . . . . 120
MP_START_AR (StartAutoresponse) and MP_STOP_AR (StopAutoresponse) mpioctl MPQP Device
Handler Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
mpmpx Multiprotocol (MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . . . 122
mpopen Multiprotocol (MPQP) Device Handler Entry Point. . . . . . . . . . . . . . . . . 123
mpread Multiprotocol (MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . . . 125
mpselect Multiprotocol (MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . . 127
mpwrite Multiprotocol (MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . . . 128
tsclose Multiprotocol (PCI MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . 130
tsconfig Multiprotocol (PCI MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . 132
tsioctl Multiprotocol (PCI MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . . 133
CIO_GET_STAT (Get Status) tsioctl PCI MPQP Device Handler Operation. . . . . . . . . . . 134
CIO_HALT (Halt Device) tsioctl PCI MPQP Device Handler Operation. . . . . . . . . . . . . 137
CIO_QUERY (Query Statistics) tsioctl PCI MPQP Device Handler Operation . . . . . . . . . . 138
CIO_START (Start Device) tsioctl PCI MPQP Device Handler Operation. . . . . . . . . . . . 140
MP_CHG_PARMS (Change Parameters) tsioctl PCI MPQP Device Handler Operation . . . . . . 144
tsmpx Multiprotocol (PCI MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . . 144
tsopen Multiprotocol (PCI MPQP) Device Handler Entry Point. . . . . . . . . . . . . . . . 145
tsread Multiprotocol (PCI MPQP) Device Handler Entry Point. . . . . . . . . . . . . . . . 147
tsselect Multiprotocol (PCI MPQP) Device Handler Entry Point . . . . . . . . . . . . . . . 149
tswrite Multiprotocol (PCI MPQP) Device Handler Entry Point. . . . . . . . . . . . . . . . 150
Sense Data for the Serial Optical Link Device Driver . . . . . . . . . . . . . . . . . . . 152
sol_close Serial Optical Link Device Handler Entry Point . . . . . . . . . . . . . . . . . 154
sol_config Serial Optical Link Device Handler Entry Point . . . . . . . . . . . . . . . . . 155
sol_fastwrt Serial Optical Link Device Handler Entry Point . . . . . . . . . . . . . . . . . 156
sol_ioctl Serial Optical Link Device Handler Entry Point . . . . . . . . . . . . . . . . . . 158
CIO_GET_FASTWRT (Get Fast Write) sol_ioctl Serial Optical Link Device Handler Operation. . . . 159
CIO_GET_STAT (Get Status) sol_ioctl Serial Optical Link Device Handler Operation . . . . . . . 160
iv TechnicalReference:KernelandSubsystems,Volume2
CIO_HALT (Halt Device) sol_ioctl Serial Optical Link Device Handler Operation . . . . . . . . . 164
CIO_QUERY (Query Statistics) sol_ioctl Serial Optical Link Device Handler Operation. . . . . . . 165
CIO_START (Start Device) sol_ioctl Serial Optical Link Device Handler Operation . . . . . . . . 166
IOCINFO (Describe Device) sol_ioctl Serial Optical Link Device Handler Operation. . . . . . . . 167
SOL_CHECK_PRID (Check Processor ID) sol_ioctl Serial Optical Link Device Handler Operation 168
SOL_GET_PRIDS (Get Processor IDs) sol_ioctl Serial Optical Link Device Handler Operation. . . . 169
sol_mpx Serial Optical Link Device Handler Entry Point . . . . . . . . . . . . . . . . . . 169
sol_open Serial Optical Link Device Handler Entry Point. . . . . . . . . . . . . . . . . . 171
sol_read Serial Optical Link Device Handler Entry Point. . . . . . . . . . . . . . . . . . 172
sol_select Serial Optical Link Device Handler Entry Point . . . . . . . . . . . . . . . . . 174
sol_write Serial Optical Link Device Handler Entry Point. . . . . . . . . . . . . . . . . . 175
tokclose Token-Ring Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . 177
tokconfig Token-Ring Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . 178
tokdump Token-Ring Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . 179
tokdumpwrt Token-Ring Device Handler Entry Point . . . . . . . . . . . . . . . . . . . 180
tokfastwrt Token-Ring Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . 181
tokioctl Token-Ring Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . . 182
CIO_GET_FASTWRT (Get Fast Write) tokioctl Token-Ring Device Handler Operation . . . . . . . 183
CIO_GET_STAT (Get Status) tokioctl Token-Ring Device Handler Operation . . . . . . . . . . 184
CIO_HALT (Halt Device) tokioctl Token-Ring Device Handler Operation . . . . . . . . . . . . 189
CIO_QUERY (Query Statistics) tokioctl Token-Ring Device Handler Operation. . . . . . . . . . 190
CIO_START (Start Device) tokioctl Token-Ring Device Handler Operation . . . . . . . . . . . 191
IOCINFO (Describe Device) tokioctl Token-Ring Device Handler Operation. . . . . . . . . . . 192
TOK_FUNC_ADDR (Set FunctionalAddress) tokioctl Token-Ring Device Handler Operation . . . . 193
TOK_GRP_ADDR (Set GroupAddress) tokioctl Token-Ring Device Handler Operation . . . . . . 194
TOK_QVPD (Query Vital Product Data) tokioctl Token-Ring Device Handler Operation . . . . . . 195
TOK_RING_INFO (Query Token-Ring) tokioctl Token-Ring Device Handler Operation . . . . . . . 196
tokmpx Token-Ring Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . . 197
tokopen Token-Ring Device Handler Entry Point. . . . . . . . . . . . . . . . . . . . . 198
tokread Token-Ring Device Handler Entry Point. . . . . . . . . . . . . . . . . . . . . 199
tokselect Token-Ring Device Handler Entry Point . . . . . . . . . . . . . . . . . . . . 200
tokwrite Token-Ring Device Handler Entry Point. . . . . . . . . . . . . . . . . . . . . 202
Chapter3. LFT Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
lft_t Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
lft_dds_t Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
phys_displays Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
vtmstruct Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Virtual Display Driver (VDD) Interface (lftvi) . . . . . . . . . . . . . . . . . . . . . . 212
Input Device Driver ioctl Operations . . . . . . . . . . . . . . . . . . . . . . . . . 214
IOCINFO (Return devinfo Structure) ioctl Input Device Driver . . . . . . . . . . . . . . . . 215
KSQUERYID (Query Keyboard Device Identifier) . . . . . . . . . . . . . . . . . . . . 216
KSQUERYSV (Query Keyboard Service Vector). . . . . . . . . . . . . . . . . . . . . 216
KSREGRING (Register Input Ring) . . . . . . . . . . . . . . . . . . . . . . . . . 217
KSRFLUSH (Flush Input Ring) . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
KSLED (Illuminate/Darken Keyboard LEDs) . . . . . . . . . . . . . . . . . . . . . . 219
KSCFGCLICK (Enable/Disable Keyboard Clicker) . . . . . . . . . . . . . . . . . . . . 219
KSVOLUME (SetAlarm Volume) ioctl . . . . . . . . . . . . . . . . . . . . . . . . 220
KSALARM (SoundAlarm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
KSTRATE (Set Typematic Rate) . . . . . . . . . . . . . . . . . . . . . . . . . . 221
KSTDELAY (Set Typematic Delay). . . . . . . . . . . . . . . . . . . . . . . . . . 222
KSKAP (Enable/Disable KeepAlive Poll) . . . . . . . . . . . . . . . . . . . . . . . 222
KSKAPACK (Acknowledge KeepAlive Poll) . . . . . . . . . . . . . . . . . . . . . . 223
KSDIAGMODE (Enable/Disable Diagnostics Mode) . . . . . . . . . . . . . . . . . . . 223
MQUERYID (Query Mouse Device Identifier) . . . . . . . . . . . . . . . . . . . . . . 224
MREGRING (Register Input Ring) . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Contents v
MRFLUSH (Flush Input Ring) . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
MTHRESHOLD (Set Mouse Reporting Threshold) . . . . . . . . . . . . . . . . . . . . 226
MRESOLUTION (Set Mouse Resolution) . . . . . . . . . . . . . . . . . . . . . . . 226
MSCALE (Set Mouse Scale Factor) . . . . . . . . . . . . . . . . . . . . . . . . . 227
MSAMPLERATE (Set Mouse Sample Rate) . . . . . . . . . . . . . . . . . . . . . . 227
TABQUERYID (Query Tablet Device Identifier) ioctl Tablet Device Driver Operation. . . . . . . . 228
TABREGRING (Register Input Ring) . . . . . . . . . . . . . . . . . . . . . . . . . 229
TABRFLUSH (Flush Input Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
TABCONVERSION (Set Tablet Conversion Mode) . . . . . . . . . . . . . . . . . . . . 229
TABRESOLUTION (Set Tablet Resolution). . . . . . . . . . . . . . . . . . . . . . . 230
TABORIGIN (Set Tablet Origin) . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
TABSAMPLERATE (Set Tablet Sample Rate) ioctl Tablet Device Driver Operation . . . . . . . . 231
TABDEADZONE (Set Tablet Dead Zone) . . . . . . . . . . . . . . . . . . . . . . . 231
GIOQUERYID (QueryAttached Devices) . . . . . . . . . . . . . . . . . . . . . . . 232
DIALREGRING (Register Input Ring). . . . . . . . . . . . . . . . . . . . . . . . . 232
DIALRFLUSH (Flush Input Ring) . . . . . . . . . . . . . . . . . . . . . . . . . . 233
DIALSETGRAND (Set Dial Granularity) . . . . . . . . . . . . . . . . . . . . . . . . 233
LPFKREGRING (Register Input Ring) . . . . . . . . . . . . . . . . . . . . . . . . 234
LPFKRFLUSH (Flush Input Ring) . . . . . . . . . . . . . . . . . . . . . . . . . . 234
LPFKLIGHT (Set/Reset Key Lights) . . . . . . . . . . . . . . . . . . . . . . . . . 235
dd_open LFT Device Driver Interface. . . . . . . . . . . . . . . . . . . . . . . . . 235
dd_close LFT Device Driver Interface . . . . . . . . . . . . . . . . . . . . . . . . 236
dd_ioctl LFT Device Driver Interface . . . . . . . . . . . . . . . . . . . . . . . . . 236
Chapter4. Printer Subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Subroutines for Print Formatters . . . . . . . . . . . . . . . . . . . . . . . . . . 239
piocmdout Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
pioexit Subroutine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
piogetattrs Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
piogetopt Subroutine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
piogetstatus Subroutine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
piogetstr Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
piogetvals Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
piomsgout Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
pioputattrs Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
pioputstatus Subroutine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Subroutines for Writing a Print Formatter . . . . . . . . . . . . . . . . . . . . . . . 250
passthru Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
restore Subroutine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
setup Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Chapter5. SCSI Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
scdisk SCSI Device Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
scsidisk SCSI Device Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
rmt SCSI Device Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
scsesdd SCSI Device Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
SCSIAdapter Device Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
SCIOCMD SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . . . . . . . . 303
SCIODIAG (Diagnostic) SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . . . 304
SCIODNLD (Download) SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . . . 306
SCIOEVENT (Event) SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . . . . 307
SCIOGTHW (Gathered Write) SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . 308
SCIOHALT (Halt) SCSIAdapter Device Driver ioctl Operation. . . . . . . . . . . . . . . . 309
SCIOINQU (Inquiry) SCSIAdapter Device Driver ioctl Operation. . . . . . . . . . . . . . . 310
SCIOREAD (Read) SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . . . . . 311
SCIORESET (Reset) SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . . . . 312
vi TechnicalReference:KernelandSubsystems,Volume2
SCIOSTART (Start SCSI)Adapter Device Driver ioctl Operation . . . . . . . . . . . . . . . 314
SCIOSTARTTGT (Start Target) SCSIAdapter Device Driver ioctl Operation. . . . . . . . . . . 315
SCIOSTOP (Stop) Device SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . . 316
SCIOSTOPTGT (Stop Target) SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . 317
SCIOSTUNIT (Start Unit) SCSIAdapter Device Driver ioctl Operation. . . . . . . . . . . . . 318
SCIOTRAM (Diagnostic) SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . . . 319
SCIOTUR (Test Unit Ready) SCSIAdapter Device Driver ioctl Operation . . . . . . . . . . . 320
tmscsi SCSI Device Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
IOCINFO (Device Information) tmscsi Device Driver ioctl Operation . . . . . . . . . . . . . 328
TMCHGIMPARM (Change Parameters) tmscsi Device Driver ioctl Operation . . . . . . . . . . 329
TMGETSENS (Request Sense) tmscsi Device Driver ioctl Operation . . . . . . . . . . . . . 330
TMIOASYNC (Async) tmscsi Device Driver ioctl Operation. . . . . . . . . . . . . . . . . 331
TMIOCMD (Direct) tmscsi Device Driver ioctl Operation . . . . . . . . . . . . . . . . . . 331
TMIOEVNT (Event) tmscsi Device Driver ioctl Operation. . . . . . . . . . . . . . . . . . 332
TMIORESET (Reset Device) tmscsi Device Driver ioctl Operation . . . . . . . . . . . . . . 334
TMIOSTAT (Status) tmscsi Device Driver ioctl Operation . . . . . . . . . . . . . . . . . 334
Chapter6. Integrated Device Electronics (IDE) . . . . . . . . . . . . . . . . . . . . 337
IDEAdapter Device Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
idecdrom IDE Device Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
idedisk IDE Device Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
IDEIOIDENT (Identify Device) IDEAdapter Device Driver ioctl Operation . . . . . . . . . . . 355
IDEIOINQU (Inquiry) IDEAdapter Device Driver ioctl Operation . . . . . . . . . . . . . . . 356
IDEIOREAD (Read) IDEAdapter Device Driver ioctl Operation . . . . . . . . . . . . . . . 357
IDEIOSTART (Start IDE) IDEAdapter Device Driver ioctl Operation . . . . . . . . . . . . . 358
IDEIOSTOP (Stop) IDEAdapter Device Driver ioctl Operation. . . . . . . . . . . . . . . . 359
IDEIOSTUNIT (Start Unit) IDEAdapter Device Driver ioctl Operation . . . . . . . . . . . . . 360
IDEIOTUR (Test Unit Ready) IDEAdapter Device Driver ioctl Operation . . . . . . . . . . . . 361
Chapter7. SSASubsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
SSASubsystem Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
SSAAdapter Device Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
SSAAdapter Device Driver Direct Call Entry Point . . . . . . . . . . . . . . . . . . . . 367
IOCINFO (Device Information) SSAAdapter Device Driver ioctl Operation . . . . . . . . . . . 367
SSA_GET_ENTRY_POINT SSAAdapter Device Driver ioctl Operation . . . . . . . . . . . . 368
SSA_TRANSACTION SSAAdapter Device Driver ioctl Operation . . . . . . . . . . . . . . 368
ssadisk SSADisk Device Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . 370
IOCINFO (Device Information) SSADisk Device Driver ioctl Operation . . . . . . . . . . . . 378
SSADISK_ISALMgr_CMD (ISALManager Command) SSADisk Device Driver ioctl Operation. . . . 379
SSADISK_ISAL_CMD (ISALCommand) SSADisk Device Driver ioctl Operation. . . . . . . . . 380
SSADISK_SCSI_CMD (SCSI Command) SSADisk Device Driver ioctl Operation . . . . . . . . 382
SSADISK_LIST_PDISKS SSADisk Device Driver ioctl Operation . . . . . . . . . . . . . . 383
SSADisk Concurrent Mode of Operation Interface. . . . . . . . . . . . . . . . . . . . 384
SSADisk Fencing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
SSATarget Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
SSAtmssa Device Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
tmssa Special File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
IOCINFO (Device Information) tmssa Device Driver ioctl Operation. . . . . . . . . . . . . . 397
TMIOSTAT (Status) tmssa Device Driver ioctl Operation. . . . . . . . . . . . . . . . . . 397
TMCHGIMPARM (Change Parameters) tmssa Device Driver ioctl Operation . . . . . . . . . . 398
Chapter8. Serial DASD Subsystem . . . . . . . . . . . . . . . . . . . . . . . . 401
Serial DASD Subsystem Device Driver . . . . . . . . . . . . . . . . . . . . . . . . 401
Device-Dependent Subroutines for the Serial DASD Subsystem. . . . . . . . . . . . . . . 402
Device-Dependent Subroutines for Serial DASD Operations . . . . . . . . . . . . . . . . 402
Device-Dependent Subroutines for Serial DASD Controller Operations . . . . . . . . . . . . 408
Contents vii
Device-Dependent Subroutines for Serial DASDAdapter Operations . . . . . . . . . . . . . 411
Error Conditions for Serial DASD Subroutines . . . . . . . . . . . . . . . . . . . . . 415
Reliability,Availability, and Serviceability (RAS) Daemon for the Serial DASD Subsystem . . . . . 416
Serial DASD Fence Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Serial DASD Concurrent Mode of Operation Interface. . . . . . . . . . . . . . . . . . . 419
Appendix. Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
viii TechnicalReference:KernelandSubsystems,Volume2