1 '\" te
2 .\" Copyright 2014 Garrett D'Amore <garrett@damore.org>
3 .\" Copyright (c) 2001, Sun Microsystems, Inc., All Rights Reserved.
4 .\" Copyright 1989 AT&T
5 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
6 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
7 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
8 .TH INTRO 9S "May 24, 2014"
9 .SH NAME
10 Intro, intro \- introduction to kernel data structures and properties
11 .SH DESCRIPTION
12 .sp
13 .LP
14 Section 9P describes kernel properties used by device drivers. Section 9S
15 describes the data structures used by drivers to share information between the
16 driver and the kernel. See \fBIntro\fR(9E) for an overview of device driver
17 interfaces.
18 .sp
19 .LP
20 In Section 9S, reference pages contain the following headings:
21 .RS +4
22 .TP
23 .ie t \(bu
24 .el o
25 \fBNAME\fR summarizes the purpose of the structure or property.
26 .RE
27 .RS +4
28 .TP
29 .ie t \(bu
30 .el o
31 \fBSYNOPSIS\fR lists the include file that defines the structure or property.
32 .RE
33 .RS +4
34 .TP
35 .ie t \(bu
36 .el o
37 \fBINTERFACE\fR \fBLEVEL\fR describes any architecture dependencies.
38 .RE
39 .RS +4
40 .TP
41 .ie t \(bu
42 .el o
43 \fBDESCRIPTION\fR provides general information about the structure or property.
44 .RE
45 .RS +4
46 .TP
47 .ie t \(bu
48 .el o
49 \fBSTRUCTURE\fR \fBMEMBERS\fR lists all accessible structure members (for
50 Section 9S).
51 .RE
52 .RS +4
53 .TP
54 .ie t \(bu
55 .el o
56 \fBSEE\fR \fBALSO\fR gives sources for further information.
57 .RE
58 .sp
59 .LP
60 Of the preceding headings, Section 9P reference pages contain the \fBNAME\fR,
61 \fBDESCRIPTION\fR, and \fBSEE\fR \fBALSO\fR fields.
62 .sp
63 .LP
64 Every driver MUST include <\fBsys/ddi.h\fR> and <\fBsys/sunddi.h\fR>, in that
65 order, and as final entries.
66 .sp
67 .LP
68 The following table summarizes the STREAMS structures described in Section 9S.
69 .sp
70
71 .sp
72 .TS
73 box;
74 c | c
75 l | l .
76 Structure Type
77 _
78 \fBcopyreq\fR DDI/DKI
79 _
80 \fBcopyresp\fR DDI/DKI
81 _
82 \fBdatab\fR DDI/DKI
83 _
84 \fBfmodsw\fR Solaris DDI
85 _
86 \fBfree_rtn\fR DDI/DKI
87 _
88 \fBiocblk\fR DDI/DKI
89 _
90 \fBlinkblk\fR DDI/DKI
91 _
92 \fBmodule_info\fR DDI/DKI
93 _
94 \fBmsgb\fR DDI/DKI
95 _
96 \fBqband\fR DDI/DKI
97 _
98 \fBqinit\fR DDI/DKI
99 _
100 \fBqueclass\fR Solaris DDI
101 _
102 \fBqueue\fR DDI/DKI
103 _
104 \fBstreamtab\fR DDI/DKI
105 _
106 \fBstroptions\fR DDI/DKI
107 .TE
108
109 .sp
110 .LP
111 The following table summarizes structures that are not specific to STREAMS I/O.
112 .sp
113
114 .sp
115 .TS
116 box;
117 c | c
118 l | l .
119 Structure Type
120 _
121 \fBaio_req\fR Solaris DDI
122 _
123 \fBbuf\fR DDI/DKI
124 _
125 \fBcb_ops\fR Solaris DDI
126 _
127 \fBddi_device_acc_attr\fR Solaris DDI
128 _
129 \fBddi_dma_attr\fR Solaris DDI
130 _
131 \fBddi_dma_cookie\fR Solaris DDI
132 _
133 \fBddi_dmae_req\fR Solaris x86 DDI
134 _
135 \fBddi_idevice_cookie\fR Solaris DDI
136 _
137 \fBddi_mapdev_ctl\fR Solaris DDI
138 _
139 \fBdevmap_callback_ctl\fR Solaris DDI
140 _
141 \fBdev_ops\fR Solaris DDI
142 _
143 \fBiovec\fR DDI/DKI
144 _
145 \fBkstat\fR Solaris DDI
146 _
147 \fBkstat_intr\fR Solaris DDI
148 _
149 \fBkstat_io\fR Solaris DDI
150 _
151 \fBkstat_named\fR Solaris DDI
152 _
153 \fBmap\fR DDI/DKI
154 _
155 \fBmodldrv\fR Solaris DDI
156 _
157 \fBmodlinkage\fR Solaris DDI
158 _
159 \fBmodlstrmod\fR Solaris DDI
160 _
161 \fBscsi_address\fR Solaris DDI
162 _
163 \fBscsi_arq_status\fR Solaris DDI
164 _
165 \fBscsi_device\fR Solaris DDI
166 _
167 \fBscsi_extended_sense\fR Solaris DDI
168 _
169 \fBscsi_hba_tran\fR Solaris DDI
170 _
171 \fBscsi_inquiry\fR Solaris DDI
172 _
173 \fBscsi_pkt\fR Solaris DDI
174 _
175 \fBscsi_status\fR Solaris DDI
176 _
177 \fBuio\fR DDI/DKI
178 .TE
179
180 .SH SEE ALSO
181 .sp
182 .LP
183 \fBIntro\fR(9E)
184 .SH NOTES
185 .sp
186 .LP
187 Do not declare arrays of structures as the size of the structures can change
188 between releases. Rely only on the structure members listed in this chapter and
189 not on unlisted members or the position of a member in a structure.
|
1 .\" Copyright 2018, Joyent Inc.
2 .\" Copyright 2014 Garrett D'Amore <garrett@damore.org>
3 .\" Copyright (c) 2001, Sun Microsystems, Inc., All Rights Reserved.
4 .\" Copyright 1989 AT&T
5 .\" The contents of this file are subject to the terms of the
6 .\" Common Development and Distribution License (the "License").
7 .\" You may not use this file except in compliance with the License.
8 .\"
9 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 .\" or http://www.opensolaris.org/os/licensing.
11 .\" See the License for the specific language governing permissions
12 .\" and limitations under the License.
13 .\"
14 .\" When distributing Covered Code, include this CDDL HEADER in each
15 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 .\" If applicable, add the following below this CDDL HEADER, with the
17 .\" fields enclosed by brackets "[]" replaced with your own identifying
18 .\" information: Portions Copyright [yyyy] [name of copyright owner]
19 .Dd July 9, 2018
20 .Dt INTRO 9S
21 .Os
22 .Sh NAME
23 .Nm Intro ,
24 .Nm intro
25 .Nd introduction to kernel data structures and properties
26 .Sh DESCRIPTION
27 Section 9P describes kernel properties used by device drivers.
28 Section 9S
29 describes the data structures used by drivers to share information between the
30 driver and the kernel.
31 See
32 .Xr Intro 9E
33 for an overview of device driver
34 interfaces.
35 .Pp
36 In Section 9S, reference pages contain the following headings:
37 .Bl -bullet -offset indent
38 .It
39 .Sy NAME
40 summarizes the purpose of the structure or property.
41 .It
42 .Sy SYNOPSIS
43 lists the include file that defines the structure or property.
44 .It
45 .Sy "INTERFACE LEVEL"
46 describes any architecture dependencies.
47 .It
48 .Sy DESCRIPTION
49 provides general information about the structure or property.
50 .It
51 .Sy "STRUCTURE MEMBERS"
52 lists all accessible structure members (for Section 9S).
53 .It
54 .Sy "SEE ALSO"
55 gives sources for further information.
56 .El
57 .Pp
58 Of the preceding headings, Section 9P reference pages contain the
59 .Sy NAME ,
60 .Sy DESCRIPTION ,
61 and
62 .Sy "SEE ALSO"
63 fields.
64 .Pp
65 Every driver MUST include
66 .In sys/ddi.h
67 and
68 .In sys/sunddi.h ,
69 in that order, and as final entries.
70 .Pp
71 The following table summarizes the STREAMS structures described in Section 9S.
72 .Bl -column "module_info" "Solaris DDI" -offset indent
73 .It Structure Ta Type
74 .It Vt copyreq Ta DDI/DKI
75 .It Vt copyresp Ta DDI/DKI
76 .It Vt datab Ta DDI/DKI
77 .It Vt fmodsw Ta Solaris DDI
78 .It Vt free_rtn Ta DDI/DKI
79 .It Vt iocblk Ta DDI/DKI
80 .It Vt linkblk Ta DDI/DKI
81 .It Vt module_info Ta DDI/DKI
82 .It Vt msgb Ta DDI/DKI
83 .It Vt qband Ta DDI/DKI
84 .It Vt qinit Ta DDI/DKI
85 .It Vt queclass Ta Solaris DDI
86 .It Vt queue Ta DDI/DKI
87 .It Vt streamtab Ta DDI/DKI
88 .It Vt stroptions Ta DDI/DKI
89 .El
90 .Pp
91 The following table summarizes structures that are not specific to STREAMS I/O.
92 .Bl -column "ddi_device_acc_attr" "Solaris x86 DDI" -offset indent
93 .It Structure Type
94 .It Vt aio_req Ta Solaris DDI
95 .It Vt buf Ta DDI/DKI
96 .It Vt cb_ops Ta Solaris DDI
97 .It Vt ddi_device_acc_attr Ta Solaris DDI
98 .It Vt ddi_dma_attr Ta Solaris DDI
99 .It Vt ddi_dma_cookie Ta Solaris DDI
100 .It Vt ddi_dmae_req Ta Solaris x86 DDI
101 .It Vt ddi_idevice_cookie Ta Solaris DDI
102 .It Vt ddi_mapdev_ctl Ta Solaris DDI
103 .It Vt devmap_callback_ctl Ta Solaris DDI
104 .It Vt dev_ops Ta Solaris DDI
105 .It Vt iovec Ta DDI/DKI
106 .It Vt kstat Ta Solaris DDI
107 .It Vt kstat_intr Ta Solaris DDI
108 .It Vt kstat_io Ta Solaris DDI
109 .It Vt kstat_named Ta Solaris DDI
110 .It Vt map Ta DDI/DKI
111 .It Vt modldrv Ta Solaris DDI
112 .It Vt modlinkage Ta Solaris DDI
113 .It Vt modlstrmod Ta Solaris DDI
114 .It Vt scsi_address Ta Solaris DDI
115 .It Vt scsi_arq_status Ta Solaris DDI
116 .It Vt scsi_device Ta Solaris DDI
117 .It Vt scsi_extended_sense Ta Solaris DDI
118 .It Vt scsi_hba_tran Ta Solaris DDI
119 .It Vt scsi_inquiry Ta Solaris DDI
120 .It Vt scsi_pkt Ta Solaris DDI
121 .It Vt scsi_status Ta Solaris DDI
122 .It Vt uio Ta DDI/DKI
123 .El
124 .Sh SEE ALSO
125 .Xr Intro 9E
126 .Sh NOTES
127 Do not declare arrays of structures as the size of the structures can change
128 between releases.
129 Rely only on the structure members listed in this chapter and
130 not on unlisted members or the position of a member in a structure.
|