Lines Matching defs:sonode
138 struct sonode { struct
139 struct vnode *so_vnode; /* vnode associated with this sonode */ argument
141 sonodeops_t *so_ops; /* operations vector for this sonode */ argument
142 void *so_priv; /* sonode private data */ argument
145 kmutex_t so_lock; /* protects sonode fields */ argument
147 kcondvar_t so_state_cv; /* synchronize state changes */
148 kcondvar_t so_single_cv; /* wait due to SOLOCKED */
149 kcondvar_t so_read_cv; /* wait due to SOREADLOCKED */
153 uint_t so_state; /* internal state flags SS_*, below */
177 struct sonode *so_listener; /* parent socket */ argument
180 short so_options; /* From socket call, see socket.h */
181 struct linger so_linger; /* SO_LINGER value */
190 int so_xpg_rcvbuf; /* SO_RCVBUF value for XPG4 socket */
191 clock_t so_sndtimeo; /* send timeout */
192 clock_t so_rcvtimeo; /* recv timeout */
194 mblk_t *so_oobmsg; /* outofline oob data */
195 ssize_t so_oobmark; /* offset of the oob data */
197 pid_t so_pgrp; /* pgrp for signals */
199 cred_t *so_peercred; /* connected socket peer cred */
200 pid_t so_cpid; /* connected socket peer cached pid */
201 zoneid_t so_zoneid; /* opener's zoneid */
203 struct pollhead so_poll_list; /* common pollhead */
204 short so_pollev; /* events that should be generated */
207 unsigned int so_rcv_queued; /* # bytes on both rcv lists */
208 mblk_t *so_rcv_q_head; /* processing/copyout rcv queue */
209 mblk_t *so_rcv_q_last_head;
210 mblk_t *so_rcv_head; /* protocol prequeue */
211 mblk_t *so_rcv_last_head; /* last mblk in b_next chain */
212 kcondvar_t so_rcv_cv; /* wait for data */
213 uint_t so_rcv_wanted; /* # of bytes wanted by app */
214 timeout_id_t so_rcv_timer_tid;
219 kcondvar_t so_snd_cv; /* wait for snd buffers */
221 so_snd_qfull: 1, /* Transmit full */
222 so_rcv_wakeup: 1,
223 so_snd_wakeup: 1,
224 so_not_str: 1, /* B_TRUE if not streams based socket */
225 so_pad_to_bit_31: 28;
228 sock_lower_handle_t so_proto_handle;
229 sock_downcalls_t *so_downcalls;
231 struct sock_proto_props so_proto_props; /* protocol settings */
232 boolean_t so_flowctrld; /* Flow controlled */
233 uint_t so_copyflag; /* Copy related flag */
234 kcondvar_t so_copy_cv; /* Copy cond variable */
237 ksocket_callbacks_t so_ksock_callbacks;
238 void *so_ksock_cb_arg; /* callback argument */
239 kcondvar_t so_closing_cv;
242 struct sodirect_s *so_direct;
245 uint_t so_filter_active; /* # of active fil */
246 uint_t so_filter_tx; /* pending tx ops */
247 struct sof_instance *so_filter_top; /* top of stack */
248 struct sof_instance *so_filter_bottom; /* bottom of stack */
249 clock_t so_filter_defertime; /* time when deferred */
252 so_krecv_f so_krecv_cb; /* recv callback */
253 void *so_krecv_arg; /* recv cb arg */