Skip Navigation Links | |
Exit Print View | |
STREAMS Programming Guide Oracle Solaris 11.1 Information Library |
Part I Application Programming Interface
2. STREAMS Application-Level Components
3. STREAMS Application-Level Mechanisms
4. Application Access to the STREAMS Driver and Module Interfaces
7. STREAMS Framework - Kernel Level
8. STREAMS Kernel-Level Mechanisms
11. Configuring STREAMS Drivers and Modules
14. Debugging STREAMS-based Applications
B. Kernel Utility Interface Summary
The following example shows the structures you need if you are working with a module instead of a driver. Notice that a modlstrmod(9S) is used in modlinkage(9S), and fmodsw(9S) points to streamtab(9S) instead of going through dev_ops(9S).
Example 11-2 Module Structures
extern struct streamtab pteminfo; static struct fmodsw fsw = { "ptem", &pteminfo, D_NEW | D_MP }; /* * Module linkage information for the kernel. */ extern struct mod_ops mod_strmodops; static struct modlstrmod modlstrmod = { &mod_strmodops, "pty hardware emulator", &fsw }; static struct modlinkage modlinkage = { MODREV_1, (void *)&modlstrmod, NULL };