Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/sys/socket.h,v retrieving revision 1.67.2.6 retrieving revision 1.67.2.7 diff -u -p -r1.67.2.6 -r1.67.2.7 --- src/sys/sys/socket.h 2005/03/08 13:53:12 1.67.2.6 +++ src/sys/sys/socket.h 2005/04/01 14:32:11 1.67.2.7 @@ -1,4 +1,4 @@ -/* $NetBSD: socket.h,v 1.67.2.6 2005/03/08 13:53:12 skrll Exp $ */ +/* $NetBSD: socket.h,v 1.67.2.7 2005/04/01 14:32:11 skrll Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -359,6 +359,47 @@ struct sockcred { { "arp", CTLTYPE_NODE }, \ { "key", CTLTYPE_NODE }, \ } + +struct kinfo_pcb { + __uint64_t ki_pcbaddr; /* PTR: pcb addr */ + __uint64_t ki_ppcbaddr; /* PTR: ppcb addr */ + __uint64_t ki_sockaddr; /* PTR: socket addr */ + + __uint32_t ki_family; /* INT: protocol family */ + __uint32_t ki_type; /* INT: socket type */ + __uint32_t ki_protocol; /* INT: protocol */ + __uint32_t ki_pflags; /* INT: generic protocol flags */ + + __uint32_t ki_sostate; /* INT: socket state */ + __uint32_t ki_prstate; /* INT: protocol state */ + __int32_t ki_tstate; /* INT: tcp state */ + __uint32_t ki_tflags; /* INT: tcp flags */ + + __uint64_t ki_rcvq; /* U_LONG: receive queue len */ + __uint64_t ki_sndq; /* U_LONG: send queue len */ + + union { + struct sockaddr _kis_src; /* STRUCT: local address */ + char _kis_pad[256 + 8]; /* pad to max addr length */ + } ki_s; + union { + struct sockaddr _kid_dst; /* STRUCT: remote address */ + char _kid_pad[256 + 8]; /* pad to max addr length */ + } ki_d; + + __uint64_t ki_inode; /* INO_T: fake inode number */ + __uint64_t ki_vnode; /* PTR: if associated with file */ + __uint64_t ki_conn; /* PTR: control block of peer */ + __uint64_t ki_refs; /* PTR: referencing socket */ + __uint64_t ki_nextref; /* PTR: link in refs list */ +}; + +#define ki_src ki_s._kis_src +#define ki_dst ki_d._kid_dst + +#define PCB_SLOP 20 +#define PCB_ALL 0 + #endif /* _NETBSD_SOURCE */ #if defined(_NETBSD_SOURCE)