1 INTRO(9S) Data Structures for Drivers INTRO(9S)
2
3
4
5 NAME
6 Intro, intro - introduction to kernel data structures and properties
7
8 DESCRIPTION
9 Section 9P describes kernel properties used by device drivers. Section
10 9S describes the data structures used by drivers to share information
11 between the driver and the kernel. See Intro(9E) for an overview of
12 device driver interfaces.
13
14
15 In Section 9S, reference pages contain the following headings:
16
17 o NAME summarizes the purpose of the structure or property.
18
19 o SYNOPSIS lists the include file that defines the structure
20 or property.
21
22 o INTERFACE LEVEL describes any architecture dependencies.
23
24 o DESCRIPTION provides general information about the structure
25 or property.
26
27 o STRUCTURE MEMBERS lists all accessible structure members
28 (for Section 9S).
29
30 o SEE ALSO gives sources for further information.
31
32
33 Of the preceding headings, Section 9P reference pages contain the NAME,
34 DESCRIPTION, and SEE ALSO fields.
35
36
37 Every driver MUST include <sys/ddi.h> and <sys/sunddi.h>, in that
38 order, and as final entries.
39
40
41 The following table summarizes the STREAMS structures described in
42 Section 9S.
43
44
45
46
47 +------------+-------------+
48 | Structure | Type |
49 +------------+-------------+
50 |copyreq | DDI/DKI |
51 +------------+-------------+
52 |copyresp | DDI/DKI |
53 +------------+-------------+
54 |datab | DDI/DKI |
55 +------------+-------------+
56 |fmodsw | Solaris DDI |
57 +------------+-------------+
58 |free_rtn | DDI/DKI |
59 +------------+-------------+
60 |iocblk | DDI/DKI |
61 +------------+-------------+
62 |linkblk | DDI/DKI |
63 +------------+-------------+
64 |module_info | DDI/DKI |
65 +------------+-------------+
66 |msgb | DDI/DKI |
67 +------------+-------------+
68 |qband | DDI/DKI |
69 +------------+-------------+
70 |qinit | DDI/DKI |
71 +------------+-------------+
72 |queclass | Solaris DDI |
73 +------------+-------------+
74 |queue | DDI/DKI |
75 +------------+-------------+
76 |streamtab | DDI/DKI |
77 +------------+-------------+
78 |stroptions | DDI/DKI |
79 +------------+-------------+
80
81
82 The following table summarizes structures that are not specific to
83 STREAMS I/O.
84
85
86
87
88 +--------------------+-----------------+
89 | Structure | Type |
90 +--------------------+-----------------+
91 |aio_req | Solaris DDI |
92 +--------------------+-----------------+
93 |buf | DDI/DKI |
94 +--------------------+-----------------+
95 |cb_ops | Solaris DDI |
96 +--------------------+-----------------+
97 |ddi_device_acc_attr | Solaris DDI |
98 +--------------------+-----------------+
99 |ddi_dma_attr | Solaris DDI |
100 +--------------------+-----------------+
101 |ddi_dma_cookie | Solaris DDI |
102 +--------------------+-----------------+
103 |ddi_dmae_req | Solaris x86 DDI |
104 +--------------------+-----------------+
105 |ddi_idevice_cookie | Solaris DDI |
106 +--------------------+-----------------+
107 |ddi_mapdev_ctl | Solaris DDI |
108 +--------------------+-----------------+
109 |devmap_callback_ctl | Solaris DDI |
110 +--------------------+-----------------+
111 |dev_ops | Solaris DDI |
112 +--------------------+-----------------+
113 |iovec | DDI/DKI |
114 +--------------------+-----------------+
115 |kstat | Solaris DDI |
116 +--------------------+-----------------+
117 |kstat_intr | Solaris DDI |
118 +--------------------+-----------------+
119 |kstat_io | Solaris DDI |
120 +--------------------+-----------------+
121 |kstat_named | Solaris DDI |
122 +--------------------+-----------------+
123 |map | DDI/DKI |
124 +--------------------+-----------------+
125 |modldrv | Solaris DDI |
126 +--------------------+-----------------+
127 |modlinkage | Solaris DDI |
128 +--------------------+-----------------+
129 |modlstrmod | Solaris DDI |
130 +--------------------+-----------------+
131 |scsi_address | Solaris DDI |
132 +--------------------+-----------------+
133 |scsi_arq_status | Solaris DDI |
134 +--------------------+-----------------+
135 |scsi_device | Solaris DDI |
136 +--------------------+-----------------+
137 |scsi_extended_sense | Solaris DDI |
138 +--------------------+-----------------+
139 |scsi_hba_tran | Solaris DDI |
140 +--------------------+-----------------+
141 |scsi_inquiry | Solaris DDI |
142 +--------------------+-----------------+
143 |scsi_pkt | Solaris DDI |
144 +--------------------+-----------------+
145 |scsi_status | Solaris DDI |
146 +--------------------+-----------------+
147 |uio | DDI/DKI |
148 +--------------------+-----------------+
149
150 SEE ALSO
151 Intro(9E)
152
153 NOTES
154 Do not declare arrays of structures as the size of the structures can
155 change between releases. Rely only on the structure members listed in
156 this chapter and not on unlisted members or the position of a member in
157 a structure.
158
159
160
161 May 24, 2014 INTRO(9S)
|
1 INTRO(9S) Data Structures for Drivers INTRO(9S)
2
3 NAME
4 Intro, intro - introduction to kernel data structures and properties
5
6 DESCRIPTION
7 Section 9P describes kernel properties used by device drivers. Section
8 9S describes the data structures used by drivers to share information
9 between the driver and the kernel. See Intro(9E) for an overview of
10 device driver interfaces.
11
12 In Section 9S, reference pages contain the following headings:
13
14 o NAME summarizes the purpose of the structure or property.
15
16 o SYNOPSIS lists the include file that defines the structure or
17 property.
18
19 o INTERFACE LEVEL describes any architecture dependencies.
20
21 o DESCRIPTION provides general information about the structure or
22 property.
23
24 o STRUCTURE MEMBERS lists all accessible structure members (for
25 Section 9S).
26
27 o SEE ALSO gives sources for further information.
28
29 Of the preceding headings, Section 9P reference pages contain the NAME,
30 DESCRIPTION, and SEE ALSO fields.
31
32 Every driver MUST include <sys/ddi.h> and <sys/sunddi.h>, in that order,
33 and as final entries.
34
35 The following table summarizes the STREAMS structures described in
36 Section 9S.
37
38 Structure Type
39 copyreq DDI/DKI
40 copyresp DDI/DKI
41 datab DDI/DKI
42 fmodsw Solaris DDI
43 free_rtn DDI/DKI
44 iocblk DDI/DKI
45 linkblk DDI/DKI
46 module_info DDI/DKI
47 msgb DDI/DKI
48 qband DDI/DKI
49 qinit DDI/DKI
50 queclass Solaris DDI
51 queue DDI/DKI
52 streamtab DDI/DKI
53 stroptions DDI/DKI
54
55 The following table summarizes structures that are not specific to
56 STREAMS I/O.
57
58 Structure Type
59 aio_req Solaris DDI
60 buf DDI/DKI
61 cb_ops Solaris DDI
62 ddi_device_acc_attr Solaris DDI
63 ddi_dma_attr Solaris DDI
64 ddi_dma_cookie Solaris DDI
65 ddi_dmae_req Solaris x86 DDI
66 ddi_idevice_cookie Solaris DDI
67 ddi_mapdev_ctl Solaris DDI
68 devmap_callback_ctl Solaris DDI
69 dev_ops Solaris DDI
70 iovec DDI/DKI
71 kstat Solaris DDI
72 kstat_intr Solaris DDI
73 kstat_io Solaris DDI
74 kstat_named Solaris DDI
75 map DDI/DKI
76 modldrv Solaris DDI
77 modlinkage Solaris DDI
78 modlstrmod Solaris DDI
79 scsi_address Solaris DDI
80 scsi_arq_status Solaris DDI
81 scsi_device Solaris DDI
82 scsi_extended_sense Solaris DDI
83 scsi_hba_tran Solaris DDI
84 scsi_inquiry Solaris DDI
85 scsi_pkt Solaris DDI
86 scsi_status Solaris DDI
87 uio DDI/DKI
88
89 SEE ALSO
90 Intro(9E)
91
92 NOTES
93 Do not declare arrays of structures as the size of the structures can
94 change between releases. Rely only on the structure members listed in
95 this chapter and not on unlisted members or the position of a member in a
96 structure.
97
98 illumos July 9, 2018 illumos
|