68 {
69 _NOTE(ARGUNUSED(cookie, flags, lenp));
70
71 if (mp != NULL && MBLKL(mp) > 0)
72 sof_newconn_ready(handle);
73
74 return (mp);
75 }
76
77 sof_ops_t dataf_ops = {
78 .sofop_attach_passive = dataf_attach_passive_cb,
79 .sofop_detach = dataf_detach_cb,
80 .sofop_data_in = dataf_data_in_cb
81 };
82
83 int
84 _init(void)
85 {
86 int error;
87
88 if ((error = sof_register(SOF_VERSION, DATAFILT_MODULE, &dataf_ops, 0))
89 != 0)
90 return (error);
91 if ((error = mod_install(&dataf_modlinkage)) != 0)
92 (void) sof_unregister(DATAFILT_MODULE);
93
94 return (error);
95 }
96
97 int
98 _fini(void)
99 {
100 int error;
101
102 if ((error = sof_unregister(DATAFILT_MODULE)) != 0)
103 return (error);
104
105 return (mod_remove(&dataf_modlinkage));
106 }
107
108 int
109 _info(struct modinfo *modinfop)
|
68 {
69 _NOTE(ARGUNUSED(cookie, flags, lenp));
70
71 if (mp != NULL && MBLKL(mp) > 0)
72 sof_newconn_ready(handle);
73
74 return (mp);
75 }
76
77 sof_ops_t dataf_ops = {
78 .sofop_attach_passive = dataf_attach_passive_cb,
79 .sofop_detach = dataf_detach_cb,
80 .sofop_data_in = dataf_data_in_cb
81 };
82
83 int
84 _init(void)
85 {
86 int error;
87
88 /*
89 * This module is safe to attach even after some preliminary socket
90 * setup calls have taken place. See the comment for SOF_ATT_SAFE.
91 */
92 error = sof_register(SOF_VERSION, DATAFILT_MODULE, &dataf_ops,
93 SOF_ATT_SAFE);
94 if (error != 0)
95 return (error);
96 if ((error = mod_install(&dataf_modlinkage)) != 0)
97 (void) sof_unregister(DATAFILT_MODULE);
98
99 return (error);
100 }
101
102 int
103 _fini(void)
104 {
105 int error;
106
107 if ((error = sof_unregister(DATAFILT_MODULE)) != 0)
108 return (error);
109
110 return (mod_remove(&dataf_modlinkage));
111 }
112
113 int
114 _info(struct modinfo *modinfop)
|