Fix for new inpcb style.

Submitted by: tri@pooh.tky.hut.fi
This commit is contained in:
Andrey A. Chernov 1995-04-11 14:27:41 +00:00
parent e793aa679e
commit f87eb57fb1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=1334

View file

@ -0,0 +1,80 @@
*** src/kernel/freebsd.c.orig Fri Oct 21 03:07:37 1994
--- src/kernel/freebsd.c Tue Apr 11 18:17:25 1995
***************
*** 1,5 ****
/*
! ** kernel/other.c Low level kernel access functions for FreeBSD 2.x
**
** This program is in the public domain and may be used freely by anyone
** who wants to.
--- 1,5 ----
/*
! ** kernel/other.c Low level kernel access functions for FreeBSD 2.1
**
** This program is in the public domain and may be used freely by anyone
** who wants to.
***************
*** 77,82 ****
--- 77,83 ----
static int nfile;
static struct inpcb tcb;
+ static struct inpcb *dummy_tcb;
int k_open()
{
***************
*** 140,146 ****
return NULL;
! head = pcbp->inp_prev;
do
{
if ( pcbp->inp_faddr.s_addr == faddr->s_addr &&
--- 141,147 ----
return NULL;
! head = *(pcbp->inp_list.le_prev);
do
{
if ( pcbp->inp_faddr.s_addr == faddr->s_addr &&
***************
*** 148,155 ****
pcbp->inp_fport == fport &&
pcbp->inp_lport == lport )
return pcbp->inp_socket;
! } while (pcbp->inp_next != head &&
! getbuf((long) pcbp->inp_next,
pcbp,
sizeof(struct inpcb),
"tcblist"));
--- 149,156 ----
pcbp->inp_fport == fport &&
pcbp->inp_lport == lport )
return pcbp->inp_socket;
! } while (pcbp->inp_list.le_next != head &&
! getbuf((long) pcbp->inp_list.le_next,
pcbp,
sizeof(struct inpcb),
"tcblist"));
***************
*** 185,192 ****
/* -------------------- TCP PCB LIST -------------------- */
if (!getbuf(nl[N_TCB].n_value, &tcb, sizeof(tcb), "tcb"))
return -1;
!
! tcb.inp_prev = (struct inpcb *) nl[N_TCB].n_value;
sockp = getlist(&tcb, faddr, fport, laddr, lport);
if (!sockp)
--- 186,193 ----
/* -------------------- TCP PCB LIST -------------------- */
if (!getbuf(nl[N_TCB].n_value, &tcb, sizeof(tcb), "tcb"))
return -1;
! dummy_tcb = ((struct inpcb *) nl[N_TCB].n_value);
! tcb.inp_list.le_prev = &dummy_tcb;
sockp = getlist(&tcb, faddr, fport, laddr, lport);
if (!sockp)