Print this page
XXXX adding PID information to netstat output


 146 
 147 extern int so_tpi_fallback(struct sonode *, struct cred *);
 148 
 149 /* Common upcalls */
 150 extern sock_upper_handle_t so_newconn(sock_upper_handle_t,
 151     sock_lower_handle_t, sock_downcalls_t *, struct cred *, pid_t,
 152     sock_upcalls_t **);
 153 extern void     so_set_prop(sock_upper_handle_t,
 154         struct sock_proto_props *);
 155 extern ssize_t  so_queue_msg(sock_upper_handle_t, mblk_t *, size_t, int,
 156     int *, boolean_t *);
 157 extern ssize_t  so_queue_msg_impl(struct sonode *, mblk_t *, size_t, int,
 158     int *, boolean_t *, struct sof_instance *);
 159 extern void     so_signal_oob(sock_upper_handle_t, ssize_t);
 160 
 161 extern void     so_connected(sock_upper_handle_t, sock_connid_t, struct cred *,
 162     pid_t);
 163 extern int      so_disconnected(sock_upper_handle_t, sock_connid_t, int);
 164 extern void     so_txq_full(sock_upper_handle_t, boolean_t);
 165 extern void     so_opctl(sock_upper_handle_t, sock_opctl_action_t, uintptr_t);

 166 /* Common misc. functions */
 167 
 168         /* accept queue */
 169 extern int      so_acceptq_enqueue(struct sonode *, struct sonode *);
 170 extern int      so_acceptq_enqueue_locked(struct sonode *, struct sonode *);
 171 extern int      so_acceptq_dequeue(struct sonode *, boolean_t,
 172     struct sonode **);
 173 extern void     so_acceptq_flush(struct sonode *, boolean_t);
 174 
 175         /* connect */
 176 extern int      so_wait_connected(struct sonode *, boolean_t, sock_connid_t);
 177 
 178         /* send */
 179 extern int      so_snd_wait_qnotfull(struct sonode *, boolean_t);
 180 extern void     so_snd_qfull(struct sonode *so);
 181 extern void     so_snd_qnotfull(struct sonode *so);
 182 
 183 extern int      socket_chgpgrp(struct sonode *, pid_t);
 184 extern void     socket_sendsig(struct sonode *, int);
 185 extern int      so_dequeue_msg(struct sonode *, mblk_t **, struct uio *,


 216 
 217 /* Notification functions */
 218 extern void     so_notify_connected(struct sonode *);
 219 extern void     so_notify_disconnecting(struct sonode *);
 220 extern void     so_notify_disconnected(struct sonode *, boolean_t, int);
 221 extern void     so_notify_writable(struct sonode *);
 222 extern void     so_notify_data(struct sonode *, size_t);
 223 extern void     so_notify_oobsig(struct sonode *);
 224 extern void     so_notify_oobdata(struct sonode *, boolean_t);
 225 extern void     so_notify_eof(struct sonode *);
 226 extern void     so_notify_newconn(struct sonode *);
 227 extern void     so_notify_shutdown(struct sonode *);
 228 extern void     so_notify_error(struct sonode *);
 229 
 230 /* Common sonode functions */
 231 extern int      sonode_constructor(void *, void *, int);
 232 extern void     sonode_destructor(void *, void *);
 233 extern void     sonode_init(struct sonode *, struct sockparams *,
 234     int, int, int, sonodeops_t *);
 235 extern void     sonode_fini(struct sonode *);


 236 
 237 /*
 238  * Event flags to socket_sendsig().
 239  */
 240 #define SOCKETSIG_WRITE 0x1
 241 #define SOCKETSIG_READ  0x2
 242 #define SOCKETSIG_URG   0x4
 243 
 244 extern sonodeops_t so_sonodeops;
 245 extern sock_upcalls_t so_upcalls;
 246 
 247 #ifdef  __cplusplus
 248 }
 249 #endif
 250 #endif /* _SOCKCOMMON_H_ */


 146 
 147 extern int so_tpi_fallback(struct sonode *, struct cred *);
 148 
 149 /* Common upcalls */
 150 extern sock_upper_handle_t so_newconn(sock_upper_handle_t,
 151     sock_lower_handle_t, sock_downcalls_t *, struct cred *, pid_t,
 152     sock_upcalls_t **);
 153 extern void     so_set_prop(sock_upper_handle_t,
 154         struct sock_proto_props *);
 155 extern ssize_t  so_queue_msg(sock_upper_handle_t, mblk_t *, size_t, int,
 156     int *, boolean_t *);
 157 extern ssize_t  so_queue_msg_impl(struct sonode *, mblk_t *, size_t, int,
 158     int *, boolean_t *, struct sof_instance *);
 159 extern void     so_signal_oob(sock_upper_handle_t, ssize_t);
 160 
 161 extern void     so_connected(sock_upper_handle_t, sock_connid_t, struct cred *,
 162     pid_t);
 163 extern int      so_disconnected(sock_upper_handle_t, sock_connid_t, int);
 164 extern void     so_txq_full(sock_upper_handle_t, boolean_t);
 165 extern void     so_opctl(sock_upper_handle_t, sock_opctl_action_t, uintptr_t);
 166 extern mblk_t   *so_get_sock_pid_mblk(sock_upper_handle_t);
 167 /* Common misc. functions */
 168 
 169         /* accept queue */
 170 extern int      so_acceptq_enqueue(struct sonode *, struct sonode *);
 171 extern int      so_acceptq_enqueue_locked(struct sonode *, struct sonode *);
 172 extern int      so_acceptq_dequeue(struct sonode *, boolean_t,
 173     struct sonode **);
 174 extern void     so_acceptq_flush(struct sonode *, boolean_t);
 175 
 176         /* connect */
 177 extern int      so_wait_connected(struct sonode *, boolean_t, sock_connid_t);
 178 
 179         /* send */
 180 extern int      so_snd_wait_qnotfull(struct sonode *, boolean_t);
 181 extern void     so_snd_qfull(struct sonode *so);
 182 extern void     so_snd_qnotfull(struct sonode *so);
 183 
 184 extern int      socket_chgpgrp(struct sonode *, pid_t);
 185 extern void     socket_sendsig(struct sonode *, int);
 186 extern int      so_dequeue_msg(struct sonode *, mblk_t **, struct uio *,


 217 
 218 /* Notification functions */
 219 extern void     so_notify_connected(struct sonode *);
 220 extern void     so_notify_disconnecting(struct sonode *);
 221 extern void     so_notify_disconnected(struct sonode *, boolean_t, int);
 222 extern void     so_notify_writable(struct sonode *);
 223 extern void     so_notify_data(struct sonode *, size_t);
 224 extern void     so_notify_oobsig(struct sonode *);
 225 extern void     so_notify_oobdata(struct sonode *, boolean_t);
 226 extern void     so_notify_eof(struct sonode *);
 227 extern void     so_notify_newconn(struct sonode *);
 228 extern void     so_notify_shutdown(struct sonode *);
 229 extern void     so_notify_error(struct sonode *);
 230 
 231 /* Common sonode functions */
 232 extern int      sonode_constructor(void *, void *, int);
 233 extern void     sonode_destructor(void *, void *);
 234 extern void     sonode_init(struct sonode *, struct sockparams *,
 235     int, int, int, sonodeops_t *);
 236 extern void     sonode_fini(struct sonode *);
 237 extern void     sonode_insert_pid(struct sonode *, pid_t);
 238 extern void     sonode_remove_pid(struct sonode *, pid_t);
 239 
 240 /*
 241  * Event flags to socket_sendsig().
 242  */
 243 #define SOCKETSIG_WRITE 0x1
 244 #define SOCKETSIG_READ  0x2
 245 #define SOCKETSIG_URG   0x4
 246 
 247 extern sonodeops_t so_sonodeops;
 248 extern sock_upcalls_t so_upcalls;
 249 
 250 #ifdef  __cplusplus
 251 }
 252 #endif
 253 #endif /* _SOCKCOMMON_H_ */