Print this page
XXXX adding PID information to netstat output
*** 42,51 ****
--- 42,52 ----
#include <sys/kstat.h>
#include <sys/uio.h>
#include <sys/proc.h>
#include <sys/netstack.h>
#include <sys/modhash.h>
+ #include <sys/pidnode.h>
#ifdef __cplusplus
extern "C" {
#endif
*** 239,248 ****
--- 240,254 ----
kcondvar_t sd_qcv; /* Waiters for qhead to become empty */
kcondvar_t sd_zcopy_wait;
uint_t sd_copyflag; /* copy-related flags */
zoneid_t sd_anchorzone; /* Allow removal from same zone only */
struct msgb *sd_cmdblk; /* reply from _I_CMD */
+ /*
+ * pids associated with this stream head.
+ */
+ avl_tree_t sd_pid_tree;
+ kmutex_t sd_pid_tree_lock;
} stdata_t;
/*
* stdata servicing flags.
*/
*** 1138,1147 ****
--- 1144,1156 ----
strwakeup_t *, strsigset_t *, strsigset_t *, strpollset_t *);
extern int getiocseqno(void);
extern int strwaitbuf(size_t, int);
extern int strwaitq(stdata_t *, int, ssize_t, int, clock_t, int *);
extern struct stdata *shalloc(queue_t *);
+ extern void sh_insert_pid(struct stdata *, pid_t);
+ extern void sh_remove_pid(struct stdata *, pid_t);
+ extern mblk_t *sh_get_pid_mblk(struct stdata *);
extern void shfree(struct stdata *s);
extern queue_t *allocq(void);
extern void freeq(queue_t *);
extern qband_t *allocband(void);
extern void freeband(qband_t *);