The following example shows the structures you need if you are working with a module instead of a driver. modlstrmod is used in modlinkage, and fmodsw points to streamtab instead of using dev_ops.
Example 57 Module Structuresextern 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 };
For more information, see the modlstrmod(9S), modlinkage(9S), fmodsw(9S), streamtab(9S), and dev_ops(9S) man pages.