taglinefilesource code
th239drivers/net/slhc.cstruct tcphdr *th, *oth;
th255drivers/net/slhc.cth = (struct tcphdr *)(((unsigned char *)ip) + ip->ihl*4);
th256drivers/net/slhc.chlen = ip->ihl*4 + th->doff*4;
th261drivers/net/slhc.cif(th->syn || th->fin || th->rst ||
th262drivers/net/slhc.c! (th->ack)){
th284drivers/net/slhc.c&& th->source == cs->cs_tcp.source
th285drivers/net/slhc.c&& th->dest == cs->cs_tcp.dest)
th343drivers/net/slhc.c|| th->doff != cs->cs_tcp.doff
th345drivers/net/slhc.c|| (th->doff > 5 && memcmp(th+1,cs->cs_tcpopt,((th->doff)-5)*4 != 0))){
th355drivers/net/slhc.cif(th->urg){
th356drivers/net/slhc.cdeltaS = ntohs(th->urg_ptr);
th359drivers/net/slhc.c} else if(th->urg_ptr != oth->urg_ptr){
th366drivers/net/slhc.cif((deltaS = ntohs(th->window) - ntohs(oth->window)) != 0){
th370drivers/net/slhc.cif((deltaA = ntohl(th->ack_seq) - ntohl(oth->ack_seq)) != 0L){
th376drivers/net/slhc.cif((deltaS = ntohl(th->seq) - ntohl(oth->seq)) != 0L){
th423drivers/net/slhc.cif(th->psh)
th428drivers/net/slhc.cdeltaA = ntohs(th->check);
th430drivers/net/slhc.cmemcpy(&cs->cs_tcp,th,20);
th463drivers/net/slhc.cmemcpy(&cs->cs_tcp,th,20);
th466drivers/net/slhc.cif (th->doff > 5)
th467drivers/net/slhc.cmemcpy(cs->cs_tcpopt, th+1, ((th->doff) - 5) * 4);
th51include/linux/skbuff.hstruct tcphdr  *th;
th1826net/inet/ip.cstruct tcphdr *th;
th1831net/inet/ip.cth = (struct tcphdr *)(((char *)iph) + (iph->ihl << 2));
th1832net/inet/ip.csize = skb->len - (((unsigned char *) th) - skb->data);
th1837net/inet/ip.cth->ack_seq = ntohl(sk->acked_seq);
th1838net/inet/ip.cth->window = ntohs(tcp_select_window(sk));
th1839net/inet/ip.ctcp_send_check(th, sk->saddr, sk->daddr, size, sk);
th320net/inet/tcp.cstruct tcphdr *th;
th327net/inet/tcp.cth =(struct tcphdr *)header;
th328net/inet/tcp.csk = get_sock(&tcp_prot, th->source, daddr, th->dest, saddr);
th405net/inet/tcp.cif (before(counted, skb->h.th->seq))   /* Found a hole so stops here */
th407net/inet/tcp.csum = skb->len -(counted - skb->h.th->seq);  /* Length - header but start from where we are up to (avoid overlaps) */
th408net/inet/tcp.cif (skb->h.th->syn)
th413net/inet/tcp.cif (skb->h.th->syn) 
th433net/inet/tcp.cif (skb->h.th->urg)
th435net/inet/tcp.cif (amount && skb->h.th->psh) break;
th580net/inet/tcp.cunsigned short tcp_check(struct tcphdr *th, int len,
th652net/inet/tcp.c: "0"(sum), "c"(len), "S"(th)
th662net/inet/tcp.cvoid tcp_send_check(struct tcphdr *th, unsigned long saddr, 
th665net/inet/tcp.cth->check = 0;
th666net/inet/tcp.cth->check = tcp_check(th, len, saddr, daddr);
th673net/inet/tcp.cstruct tcphdr * th = skb->h.th;
th676net/inet/tcp.csize = skb->len - ((unsigned char *) th - skb->data);
th682net/inet/tcp.cskb, skb->data, th, skb->len);
th691net/inet/tcp.cif(!th->syn && !th->fin) 
th701net/inet/tcp.cskb->h.seq = ntohl(th->seq) + size - 4*th->doff;
th708net/inet/tcp.cth->check = 0;
th722net/inet/tcp.cth->ack_seq = ntohl(sk->acked_seq);
th723net/inet/tcp.cth->window = ntohs(tcp_select_window(sk));
th725net/inet/tcp.ctcp_send_check(th, sk->saddr, sk->daddr, size, sk);
th786net/inet/tcp.cstruct tcphdr *th, unsigned long daddr)
th830net/inet/tcp.cmemcpy(t1, th, sizeof(*t1)); /* this should probably be removed */
th836net/inet/tcp.ct1->dest = th->source;
th837net/inet/tcp.ct1->source = th->dest;
th878net/inet/tcp.cstatic int tcp_build_header(struct tcphdr *th, struct sock *sk, int push)
th882net/inet/tcp.cmemcpy(th,(void *) &(sk->dummy_th), sizeof(*th));
th883net/inet/tcp.cth->seq = htonl(sk->write_seq);
th884net/inet/tcp.cth->psh =(push == 0) ? 1 : 0;
th885net/inet/tcp.cth->doff = sizeof(*th)/4;
th886net/inet/tcp.cth->ack = 1;
th887net/inet/tcp.cth->fin = 0;
th891net/inet/tcp.cth->ack_seq = htonl(sk->acked_seq);
th893net/inet/tcp.cth->window = htons(sk->window);
th895net/inet/tcp.creturn(sizeof(*th));
th1028net/inet/tcp.chdrlen = ((unsigned long)skb->h.th - (unsigned long)skb->data)
th1171net/inet/tcp.cskb->h.th =(struct tcphdr *) buff;
th1533net/inet/tcp.cif (before(1+*seq, skb->h.th->seq))
th1535net/inet/tcp.coffset = 1 + *seq - skb->h.th->seq;
th1536net/inet/tcp.cif (skb->h.th->syn)
th1616net/inet/tcp.cmemcpy_tofs(to,((unsigned char *)skb->h.th) +
th1617net/inet/tcp.cskb->h.th->doff*4 + offset, used);
th1644net/inet/tcp.cstruct tcphdr *t1, *th;
th1690net/inet/tcp.cth =(struct tcphdr *)&sk->dummy_th;
th1738net/inet/tcp.cmemcpy(t1, th, sizeof(*t1));
th1816net/inet/tcp.cstatic void tcp_reset(unsigned long saddr, unsigned long daddr, struct tcphdr *th,
th1855net/inet/tcp.cmemcpy(t1, th, sizeof(*t1));
th1861net/inet/tcp.ct1->dest = th->source;
th1862net/inet/tcp.ct1->source = th->dest;
th1866net/inet/tcp.cif(th->ack)
th1869net/inet/tcp.ct1->seq = th->ack_seq;
th1875net/inet/tcp.cif(!th->syn)
th1876net/inet/tcp.ct1->ack_seq=htonl(th->seq);
th1878net/inet/tcp.ct1->ack_seq=htonl(th->seq+1);
th1901net/inet/tcp.cstatic void tcp_options(struct sock *sk, struct tcphdr *th)
th1904net/inet/tcp.cint length=(th->doff*4)-sizeof(struct tcphdr);
th1907net/inet/tcp.cptr = (unsigned char *)(th + 1);
th1927net/inet/tcp.cif(opsize==4 && th->syn)
th1939net/inet/tcp.cif (th->syn) 
th1977net/inet/tcp.cstruct tcphdr *th;
th1982net/inet/tcp.cth = skb->h.th;
th1991net/inet/tcp.ctcp_reset(daddr, saddr, th, sk->prot, opt, dev, sk->ip_tos,sk->ip_ttl);
th2055net/inet/tcp.cnewsk->acked_seq = skb->h.th->seq+1;
th2056net/inet/tcp.cnewsk->fin_seq = skb->h.th->seq;
th2057net/inet/tcp.cnewsk->copied_seq = skb->h.th->seq;
th2069net/inet/tcp.cnewsk->dummy_th.source = skb->h.th->dest;
th2070net/inet/tcp.cnewsk->dummy_th.dest = skb->h.th->source;
th2089net/inet/tcp.cnewsk->acked_seq = skb->h.th->seq + 1;
th2090net/inet/tcp.cnewsk->copied_seq = skb->h.th->seq;
th2141net/inet/tcp.ctcp_options(newsk,skb->h.th);
th2187net/inet/tcp.cmemcpy(t1, skb->h.th, sizeof(*t1));
th2192net/inet/tcp.ct1->dest = skb->h.th->source;
th2205net/inet/tcp.ct1->ack_seq = ntohl(skb->h.th->seq+1);
th2236net/inet/tcp.cstruct tcphdr *t1, *th;
th2332net/inet/tcp.cth =(struct tcphdr *)&sk->dummy_th;
th2382net/inet/tcp.cmemcpy(t1, th, sizeof(*t1));
th2472net/inet/tcp.cstruct tcphdr *th;
th2484net/inet/tcp.cth = (struct tcphdr *)(((char *)iph) +(iph->ihl << 2));
th2485net/inet/tcp.csize = skb->len - (((unsigned char *) th) - skb->data);
th2487net/inet/tcp.cth->ack_seq = ntohl(sk->acked_seq);
th2488net/inet/tcp.cth->window = ntohs(tcp_select_window(sk));
th2490net/inet/tcp.ctcp_send_check(th, sk->saddr, sk->daddr, size, sk);
th2503net/inet/tcp.cstatic int tcp_ack(struct sock *sk, struct tcphdr *th, unsigned long saddr, int len)
th2518net/inet/tcp.cack = ntohl(th->ack_seq);
th2519net/inet/tcp.cif (ntohs(th->window) > sk->max_window) 
th2521net/inet/tcp.csk->max_window = ntohs(th->window);
th2553net/inet/tcp.cif (len != th->doff*4) 
th2558net/inet/tcp.cif (after(sk->window_seq, ack+ntohs(th->window))) 
th2577net/inet/tcp.csk->window_seq = ack + ntohs(th->window);
th2625net/inet/tcp.csk->window_seq = ack + ntohs(th->window);
th3024net/inet/tcp.cstruct tcphdr *th;
th3028net/inet/tcp.cth = skb->h.th;
th3029net/inet/tcp.cskb->len = len -(th->doff*4);
th3036net/inet/tcp.cif (skb->len == 0 && !th->fin && !th->urg && !th->psh) 
th3042net/inet/tcp.cif (!th->ack)
th3043net/inet/tcp.ctcp_send_ack(sk->sent_seq, sk->acked_seq,sk, th, saddr);
th3054net/inet/tcp.cnew_seq= th->seq + skb->len + th->syn;  /* Right edge of _data_ part of frame */
th3060net/inet/tcp.csk->acked_seq = new_seq + th->fin;
th3061net/inet/tcp.ctcp_reset(sk->saddr, sk->daddr, skb->h.th,
th3097net/inet/tcp.cprintk("skb1->h.th->seq = %ld: ", skb1->h.th->seq);
th3098net/inet/tcp.cprintk("skb->h.th->seq = %ld\n",skb->h.th->seq);
th3111net/inet/tcp.cif (th->seq==skb1->h.th->seq && skb->len>= skb1->len)
th3125net/inet/tcp.cif (after(th->seq+1, skb1->h.th->seq))
th3146net/inet/tcp.cth->ack_seq = th->seq + skb->len;
th3147net/inet/tcp.cif (th->syn) 
th3148net/inet/tcp.cth->ack_seq++;
th3149net/inet/tcp.cif (th->fin)
th3150net/inet/tcp.cth->ack_seq++;
th3162net/inet/tcp.cif ((!dup_dumped && (skb1 == NULL || skb1->acked)) || before(th->seq, sk->acked_seq+1)) 
th3164net/inet/tcp.cif (before(th->seq, sk->acked_seq+1)) 
th3168net/inet/tcp.cif (after(th->ack_seq, sk->acked_seq)) 
th3170net/inet/tcp.cnewwindow = sk->window-(th->ack_seq - sk->acked_seq);
th3174net/inet/tcp.csk->acked_seq = th->ack_seq;
th3182net/inet/tcp.cif (skb->h.th->fin) 
th3193net/inet/tcp.cif (before(skb2->h.th->seq, sk->acked_seq+1)) 
th3195net/inet/tcp.cif (after(skb2->h.th->ack_seq, sk->acked_seq))
th3198net/inet/tcp.c(skb2->h.th->ack_seq - sk->acked_seq);
th3202net/inet/tcp.csk->acked_seq = skb2->h.th->ack_seq;
th3209net/inet/tcp.cif (skb2->h.th->fin) 
th3234net/inet/tcp.csk->bytes_rcv > sk->max_unacked || th->fin) {
th3283net/inet/tcp.ctcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th, saddr);
th3290net/inet/tcp.ctcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th, saddr);
th3307net/inet/tcp.cstatic void tcp_check_urg(struct sock * sk, struct tcphdr * th)
th3309net/inet/tcp.cunsigned long ptr = ntohs(th->urg_ptr);
th3313net/inet/tcp.cptr += th->seq;
th3335net/inet/tcp.cstatic inline int tcp_urg(struct sock *sk, struct tcphdr *th,
th3341net/inet/tcp.cif (th->urg)
th3342net/inet/tcp.ctcp_check_urg(sk,th);
th3349net/inet/tcp.cptr = sk->urg_seq - th->seq + th->doff*4;
th3354net/inet/tcp.csk->urg_data = URG_VALID | *(ptr + (unsigned char *) th);
th3374net/inet/tcp.cstatic int tcp_fin(struct sk_buff *skb, struct sock *sk, struct tcphdr *th, 
th3377net/inet/tcp.csk->fin_seq = th->seq + skb->len + th->syn + th->fin;
th3395net/inet/tcp.cif (th->rst)
th3675net/inet/tcp.ctcp_sequence(struct sock *sk, struct tcphdr *th, short len,
th3680net/inet/tcp.cnext_seq = len - 4*th->doff;
th3681net/inet/tcp.cif (th->fin)
th3686net/inet/tcp.cnext_seq += th->seq;
th3699net/inet/tcp.cif (!before(th->seq, sk->acked_seq + sk->window + 1))
th3706net/inet/tcp.cif (th->rst)
th3717net/inet/tcp.ctcp_reset(sk->saddr,sk->daddr,th,sk->prot,NULL,dev, sk->ip_tos,sk->ip_ttl);
th3722net/inet/tcp.ctcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th, saddr);
th3749net/inet/tcp.cstruct tcphdr *th;
th3770net/inet/tcp.cth = skb->h.th;
th3776net/inet/tcp.csk = get_sock(&tcp_prot, th->dest, saddr, th->source, daddr);
th3788net/inet/tcp.cif (tcp_check(th, len, saddr, daddr )) 
th3798net/inet/tcp.cth->seq = ntohl(th->seq);
th3803net/inet/tcp.cif (!th->rst)
th3804net/inet/tcp.ctcp_reset(daddr, saddr, th, &tcp_prot, opt,dev,skb->ip_hdr->tos,255);
th3873net/inet/tcp.cif(!(sk->shutdown & RCV_SHUTDOWN) && sk->state==TCP_ESTABLISHED && !th->urg && !th->syn && !th->fin && !th->rst)
th3876net/inet/tcp.cif(th->seq == sk->acked_seq+1 && sk->window && tcp_clean_end(sk))
th3879net/inet/tcp.cif(th->ack && !tcp_ack(sk, th, saddr, len))
th3888net/inet/tcp.cskb->len -= (th->doff *4);
th3898net/inet/tcp.csk->acked_seq = th->seq+skb->len;  /* Easy */
th3903net/inet/tcp.ctcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th , saddr);
th3920net/inet/tcp.cif(!tcp_sequence(sk, th, len, opt, saddr, dev))
th3926net/inet/tcp.cif(th->ack && !tcp_ack(sk, th, saddr, len))
th3952net/inet/tcp.cif (th->rst) 
th3973net/inet/tcp.cif (!tcp_sequence(sk, th, len, opt, saddr,dev)) 
th3980net/inet/tcp.cif (th->rst) 
th4005net/inet/tcp.cif (th->syn) 
th4011net/inet/tcp.ctcp_reset(daddr, saddr,  th, sk->prot, opt,dev, sk->ip_tos,sk->ip_ttl);
th4020net/inet/tcp.cif (th->ack && !tcp_ack(sk, th, saddr, len)) {
th4026net/inet/tcp.cif (tcp_urg(sk, th, saddr, len)) {
th4039net/inet/tcp.cif (th->fin && tcp_fin(skb, sk, th, saddr, dev)) {
th4055net/inet/tcp.cif (!th->rst) {
th4056net/inet/tcp.cif (!th->ack)
th4057net/inet/tcp.cth->ack_seq = 0;
th4058net/inet/tcp.ctcp_reset(daddr, saddr, th, sk->prot, opt,dev,sk->ip_tos,sk->ip_ttl);
th4065net/inet/tcp.cif (th->rst) {
th4070net/inet/tcp.cif (th->ack) {
th4071net/inet/tcp.ctcp_reset(daddr, saddr, th, sk->prot, opt,dev,sk->ip_tos,sk->ip_ttl);
th4077net/inet/tcp.cif (th->syn) 
th4095net/inet/tcp.cif (th->syn) {
th4104net/inet/tcp.cif (!tcp_sequence(sk, th, len, opt, saddr,dev)) 
th4112net/inet/tcp.cif (th->rst) 
th4127net/inet/tcp.cif (!th->ack) 
th4129net/inet/tcp.cif (th->syn) 
th4141net/inet/tcp.cif (!tcp_ack(sk, th, saddr, len)) 
th4144net/inet/tcp.ctcp_reset(daddr, saddr, th,
th4155net/inet/tcp.cif (!th->syn) 
th4163net/inet/tcp.csk->acked_seq = th->seq+1;
th4164net/inet/tcp.csk->fin_seq = th->seq;
th4165net/inet/tcp.ctcp_send_ack(sk->sent_seq, th->seq+1,
th4166net/inet/tcp.csk, th, sk->daddr);
th4169net/inet/tcp.cif (!tcp_ack(sk, th, saddr, len)) 
th4172net/inet/tcp.ctcp_reset(daddr, saddr, th,
th4187net/inet/tcp.ctcp_options(sk, th);
th4188net/inet/tcp.csk->dummy_th.dest = th->source;
th4214net/inet/tcp.cif (th->urg) 
th4216net/inet/tcp.cif (tcp_urg(sk, th, saddr, len)) 
th4226net/inet/tcp.cif (th->fin)
th4227net/inet/tcp.ctcp_fin(skb, sk, th, saddr, dev);
th4232net/inet/tcp.cif (th->urg) 
th4234net/inet/tcp.cif (tcp_urg(sk, th, saddr, len)) 
th4248net/inet/tcp.cif (!th->fin) 
th4253net/inet/tcp.ctcp_fin(skb, sk, th, saddr, dev);
th127net/inet/tcp.hextern void tcp_send_check(struct tcphdr *th, unsigned long saddr, 
th100net/inet/udp.cstruct udphdr *th;
th110net/inet/udp.cth = (struct udphdr *)header;  
th112net/inet/udp.csk = get_sock(&udp_prot, th->source, daddr, th->dest, saddr);