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;
th1824net/inet/ip.cstruct tcphdr *th;
th1829net/inet/ip.cth = (struct tcphdr *)(((char *)iph) + (iph->ihl << 2));
th1830net/inet/ip.csize = skb->len - (((unsigned char *) th) - skb->data);
th1835net/inet/ip.cth->ack_seq = ntohl(sk->acked_seq);
th1836net/inet/ip.cth->window = ntohs(tcp_select_window(sk));
th1837net/inet/ip.ctcp_send_check(th, sk->saddr, sk->daddr, size, sk);
th263net/inet/tcp.cstruct tcphdr *th;
th270net/inet/tcp.cth =(struct tcphdr *)header;
th271net/inet/tcp.csk = get_sock(&tcp_prot, th->source/*dest*/, daddr, th->dest/*source*/, saddr);
th348net/inet/tcp.cif (before(counted, skb->h.th->seq))   /* Found a hole so stops here */
th350net/inet/tcp.csum = skb->len -(counted - skb->h.th->seq);  /* Length - header but start from where we are up to (avoid overlaps) */
th351net/inet/tcp.cif (skb->h.th->syn)
th356net/inet/tcp.cif (skb->h.th->syn) 
th360net/inet/tcp.cif (amount && skb->h.th->psh) break;
th524net/inet/tcp.cunsigned short tcp_check(struct tcphdr *th, int len,
th596net/inet/tcp.c: "0"(sum), "c"(len), "S"(th)
th606net/inet/tcp.cvoid tcp_send_check(struct tcphdr *th, unsigned long saddr, 
th609net/inet/tcp.cth->check = 0;
th610net/inet/tcp.cth->check = tcp_check(th, len, saddr, daddr);
th617net/inet/tcp.cstruct tcphdr * th = skb->h.th;
th620net/inet/tcp.csize = skb->len - ((unsigned char *) th - skb->data);
th626net/inet/tcp.cskb, skb->data, th, skb->len);
th635net/inet/tcp.cif(!th->syn && !th->fin) 
th645net/inet/tcp.cskb->h.seq = ntohl(th->seq) + size - 4*th->doff;
th652net/inet/tcp.cth->check = 0;
th666net/inet/tcp.cth->ack_seq = ntohl(sk->acked_seq);
th667net/inet/tcp.cth->window = ntohs(tcp_select_window(sk));
th669net/inet/tcp.ctcp_send_check(th, sk->saddr, sk->daddr, size, sk);
th730net/inet/tcp.cstruct tcphdr *th, unsigned long daddr)
th774net/inet/tcp.cmemcpy(t1, th, sizeof(*t1)); /* this should probably be removed */
th780net/inet/tcp.ct1->dest = th->source;
th781net/inet/tcp.ct1->source = th->dest;
th821net/inet/tcp.cstatic int tcp_build_header(struct tcphdr *th, struct sock *sk, int push)
th825net/inet/tcp.cmemcpy(th,(void *) &(sk->dummy_th), sizeof(*th));
th826net/inet/tcp.cth->seq = htonl(sk->write_seq);
th827net/inet/tcp.cth->psh =(push == 0) ? 1 : 0;
th828net/inet/tcp.cth->doff = sizeof(*th)/4;
th829net/inet/tcp.cth->ack = 1;
th830net/inet/tcp.cth->fin = 0;
th834net/inet/tcp.cth->ack_seq = htonl(sk->acked_seq);
th836net/inet/tcp.cth->window = htons(sk->window);
th838net/inet/tcp.creturn(sizeof(*th));
th971net/inet/tcp.chdrlen = ((unsigned long)skb->h.th - (unsigned long)skb->data)
th1114net/inet/tcp.cskb->h.th =(struct tcphdr *) buff;
th1457net/inet/tcp.cif (before(1+*seq, skb->h.th->seq))
th1459net/inet/tcp.coffset = 1 + *seq - skb->h.th->seq;
th1460net/inet/tcp.cif (skb->h.th->syn)
th1540net/inet/tcp.cmemcpy_tofs(to,((unsigned char *)skb->h.th) +
th1541net/inet/tcp.cskb->h.th->doff*4 + offset, used);
th1568net/inet/tcp.cstruct tcphdr *t1, *th;
th1614net/inet/tcp.cth =(struct tcphdr *)&sk->dummy_th;
th1662net/inet/tcp.cmemcpy(t1, th, sizeof(*t1));
th1740net/inet/tcp.cstatic void tcp_reset(unsigned long saddr, unsigned long daddr, struct tcphdr *th,
th1779net/inet/tcp.cmemcpy(t1, th, sizeof(*t1));
th1785net/inet/tcp.ct1->dest = th->source;
th1786net/inet/tcp.ct1->source = th->dest;
th1790net/inet/tcp.cif(th->ack)
th1793net/inet/tcp.ct1->seq = th->ack_seq;
th1799net/inet/tcp.cif(!th->syn)
th1800net/inet/tcp.ct1->ack_seq=htonl(th->seq);
th1802net/inet/tcp.ct1->ack_seq=htonl(th->seq+1);
th1825net/inet/tcp.cstatic void tcp_options(struct sock *sk, struct tcphdr *th)
th1828net/inet/tcp.cint length=(th->doff*4)-sizeof(struct tcphdr);
th1831net/inet/tcp.cptr = (unsigned char *)(th + 1);
th1851net/inet/tcp.cif(opsize==4 && th->syn)
th1863net/inet/tcp.cif (th->syn) 
th1901net/inet/tcp.cstruct tcphdr *th;
th1906net/inet/tcp.cth = skb->h.th;
th1915net/inet/tcp.ctcp_reset(daddr, saddr, th, sk->prot, opt, dev, sk->ip_tos,sk->ip_ttl);
th1979net/inet/tcp.cnewsk->acked_seq = skb->h.th->seq+1;
th1980net/inet/tcp.cnewsk->fin_seq = skb->h.th->seq;
th1981net/inet/tcp.cnewsk->copied_seq = skb->h.th->seq;
th1992net/inet/tcp.cnewsk->dummy_th.source = skb->h.th->dest;
th1993net/inet/tcp.cnewsk->dummy_th.dest = skb->h.th->source;
th2012net/inet/tcp.cnewsk->acked_seq = skb->h.th->seq + 1;
th2013net/inet/tcp.cnewsk->copied_seq = skb->h.th->seq;
th2063net/inet/tcp.ctcp_options(newsk,skb->h.th);
th2109net/inet/tcp.cmemcpy(t1, skb->h.th, sizeof(*t1));
th2114net/inet/tcp.ct1->dest = skb->h.th->source;
th2127net/inet/tcp.ct1->ack_seq = ntohl(skb->h.th->seq+1);
th2159net/inet/tcp.cstruct tcphdr *t1, *th;
th2188net/inet/tcp.cif(skb->len > 0 && after(skb->h.th->seq + skb->len/* + 1 */ , sk->copied_seq))
th2256net/inet/tcp.cth =(struct tcphdr *)&sk->dummy_th;
th2306net/inet/tcp.cmemcpy(t1, th, sizeof(*t1));
th2396net/inet/tcp.cstruct tcphdr *th;
th2408net/inet/tcp.cth = (struct tcphdr *)(((char *)iph) +(iph->ihl << 2));
th2409net/inet/tcp.csize = skb->len - (((unsigned char *) th) - skb->data);
th2411net/inet/tcp.cth->ack_seq = ntohl(sk->acked_seq);
th2412net/inet/tcp.cth->window = ntohs(tcp_select_window(sk));
th2414net/inet/tcp.ctcp_send_check(th, sk->saddr, sk->daddr, size, sk);
th2466net/inet/tcp.cstatic int tcp_ack(struct sock *sk, struct tcphdr *th, unsigned long saddr, int len)
th2481net/inet/tcp.cack = ntohl(th->ack_seq);
th2482net/inet/tcp.cif (ntohs(th->window) > sk->max_window) 
th2484net/inet/tcp.csk->max_window = ntohs(th->window);
th2519net/inet/tcp.cif (len != th->doff*4) 
th2524net/inet/tcp.cif (after(sk->window_seq, ack+ntohs(th->window))) 
th2543net/inet/tcp.csk->window_seq = ack + ntohs(th->window);
th2591net/inet/tcp.csk->window_seq = ack + ntohs(th->window);
th2948net/inet/tcp.cstruct tcphdr *th;
th2952net/inet/tcp.cth = skb->h.th;
th2953net/inet/tcp.cskb->len = len -(th->doff*4);
th2960net/inet/tcp.cif (skb->len == 0 && !th->fin && !th->urg && !th->psh) 
th2966net/inet/tcp.cif (!th->ack)
th2967net/inet/tcp.ctcp_send_ack(sk->sent_seq, sk->acked_seq,sk, th, saddr);
th2978net/inet/tcp.cnew_seq= th->seq + skb->len + th->syn;  /* Right edge of _data_ part of frame */
th2984net/inet/tcp.csk->acked_seq = new_seq + th->fin;
th2985net/inet/tcp.ctcp_reset(sk->saddr, sk->daddr, skb->h.th,
th3027net/inet/tcp.cprintk("skb1->h.th->seq = %ld: ", skb1->h.th->seq);
th3028net/inet/tcp.cprintk("skb->h.th->seq = %ld\n",skb->h.th->seq);
th3041net/inet/tcp.cif (th->seq==skb1->h.th->seq && skb->len>= skb1->len)
th3055net/inet/tcp.cif (after(th->seq+1, skb1->h.th->seq))
th3076net/inet/tcp.cth->ack_seq = th->seq + skb->len;
th3077net/inet/tcp.cif (th->syn) 
th3078net/inet/tcp.cth->ack_seq++;
th3079net/inet/tcp.cif (th->fin)
th3080net/inet/tcp.cth->ack_seq++;
th3092net/inet/tcp.cif ((!dup_dumped && (skb1 == NULL || skb1->acked)) || before(th->seq, sk->acked_seq+1)) 
th3094net/inet/tcp.cif (before(th->seq, sk->acked_seq+1)) 
th3098net/inet/tcp.cif (after(th->ack_seq, sk->acked_seq)) 
th3100net/inet/tcp.cnewwindow = sk->window-(th->ack_seq - sk->acked_seq);
th3104net/inet/tcp.csk->acked_seq = th->ack_seq;
th3112net/inet/tcp.cif (skb->h.th->fin) 
th3123net/inet/tcp.cif (before(skb2->h.th->seq, sk->acked_seq+1)) 
th3125net/inet/tcp.cif (after(skb2->h.th->ack_seq, sk->acked_seq))
th3128net/inet/tcp.c(skb2->h.th->ack_seq - sk->acked_seq);
th3132net/inet/tcp.csk->acked_seq = skb2->h.th->ack_seq;
th3139net/inet/tcp.cif (skb2->h.th->fin) 
th3164net/inet/tcp.csk->bytes_rcv > sk->max_unacked || th->fin) {
th3213net/inet/tcp.ctcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th, saddr);
th3220net/inet/tcp.ctcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th, saddr);
th3237net/inet/tcp.cstatic void tcp_check_urg(struct sock * sk, struct tcphdr * th)
th3239net/inet/tcp.cunsigned long ptr = ntohs(th->urg_ptr);
th3243net/inet/tcp.cptr += th->seq;
th3265net/inet/tcp.cstatic inline int tcp_urg(struct sock *sk, struct tcphdr *th,
th3271net/inet/tcp.cif (th->urg)
th3272net/inet/tcp.ctcp_check_urg(sk,th);
th3279net/inet/tcp.cptr = sk->urg_seq - th->seq + th->doff*4;
th3284net/inet/tcp.csk->urg_data = URG_VALID | *(ptr + (unsigned char *) th);
th3305net/inet/tcp.cstatic int tcp_fin(struct sk_buff *skb, struct sock *sk, struct tcphdr *th, 
th3308net/inet/tcp.csk->fin_seq = th->seq + skb->len + th->syn + th->fin;
th3328net/inet/tcp.cif (th->rst)
th3610net/inet/tcp.ctcp_sequence(struct sock *sk, struct tcphdr *th, short len,
th3615net/inet/tcp.cnext_seq = len - 4*th->doff;
th3616net/inet/tcp.cif (th->fin)
th3621net/inet/tcp.cnext_seq += th->seq;
th3634net/inet/tcp.cif (!before(th->seq, sk->acked_seq + sk->window + 1))
th3641net/inet/tcp.cif (th->rst)
th3652net/inet/tcp.ctcp_reset(sk->saddr,sk->daddr,th,sk->prot,NULL,dev, sk->ip_tos,sk->ip_ttl);
th3657net/inet/tcp.ctcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th, saddr);
th3684net/inet/tcp.cstruct tcphdr *th;
th3705net/inet/tcp.cth = skb->h.th;
th3711net/inet/tcp.csk = get_sock(&tcp_prot, th->dest, saddr, th->source, daddr);
th3723net/inet/tcp.cif (tcp_check(th, len, saddr, daddr )) 
th3733net/inet/tcp.cth->seq = ntohl(th->seq);
th3738net/inet/tcp.cif (!th->rst)
th3739net/inet/tcp.ctcp_reset(daddr, saddr, th, &tcp_prot, opt,dev,skb->ip_hdr->tos,255);
th3808net/inet/tcp.cif(!(sk->shutdown & RCV_SHUTDOWN) && sk->state==TCP_ESTABLISHED && !th->urg && !th->syn && !th->fin && !th->rst)
th3811net/inet/tcp.cif(th->seq == sk->acked_seq+1 && sk->window && tcp_clean_end(sk))
th3814net/inet/tcp.cif(th->ack && !tcp_ack(sk, th, saddr, len))
th3823net/inet/tcp.cskb->len -= (th->doff *4);
th3833net/inet/tcp.csk->acked_seq = th->seq+skb->len;  /* Easy */
th3838net/inet/tcp.ctcp_send_ack(sk->sent_seq, sk->acked_seq, sk, th , saddr);
th3854net/inet/tcp.cif(!tcp_sequence(sk, th, len, opt, saddr, dev))
th3860net/inet/tcp.cif(th->ack && !tcp_ack(sk, th, saddr, len))
th3886net/inet/tcp.cif (th->rst) 
th3907net/inet/tcp.cif (!tcp_sequence(sk, th, len, opt, saddr,dev)) 
th3914net/inet/tcp.cif (th->rst) 
th3940net/inet/tcp.cif (th->syn) 
th3947net/inet/tcp.ctcp_reset(daddr, saddr,  th, sk->prot, opt,dev, sk->ip_tos,sk->ip_ttl);
th3956net/inet/tcp.cif (th->ack && !tcp_ack(sk, th, saddr, len)) {
th3962net/inet/tcp.cif (tcp_urg(sk, th, saddr, len)) {
th3975net/inet/tcp.cif (th->fin && tcp_fin(skb, sk, th, saddr, dev)) {
th3991net/inet/tcp.cif (!th->rst) {
th3992net/inet/tcp.cif (!th->ack)
th3993net/inet/tcp.cth->ack_seq = 0;
th3994net/inet/tcp.ctcp_reset(daddr, saddr, th, sk->prot, opt,dev,sk->ip_tos,sk->ip_ttl);
th4001net/inet/tcp.cif (th->rst) {
th4006net/inet/tcp.cif (th->ack) {
th4007net/inet/tcp.ctcp_reset(daddr, saddr, th, sk->prot, opt,dev,sk->ip_tos,sk->ip_ttl);
th4013net/inet/tcp.cif (th->syn) 
th4031net/inet/tcp.cif (th->syn) {
th4040net/inet/tcp.cif (!tcp_sequence(sk, th, len, opt, saddr,dev)) 
th4048net/inet/tcp.cif (th->rst) 
th4063net/inet/tcp.cif (!th->ack) 
th4065net/inet/tcp.cif (th->syn) 
th4077net/inet/tcp.cif (!tcp_ack(sk, th, saddr, len)) 
th4080net/inet/tcp.ctcp_reset(daddr, saddr, th,
th4091net/inet/tcp.cif (!th->syn) 
th4099net/inet/tcp.csk->acked_seq = th->seq+1;
th4100net/inet/tcp.csk->fin_seq = th->seq;
th4101net/inet/tcp.ctcp_send_ack(sk->sent_seq, th->seq+1,
th4102net/inet/tcp.csk, th, sk->daddr);
th4105net/inet/tcp.cif (!tcp_ack(sk, th, saddr, len)) 
th4108net/inet/tcp.ctcp_reset(daddr, saddr, th,
th4124net/inet/tcp.ctcp_options(sk, th);
th4125net/inet/tcp.csk->dummy_th.dest = th->source;
th4151net/inet/tcp.cif (th->urg) 
th4153net/inet/tcp.cif (tcp_urg(sk, th, saddr, len)) 
th4163net/inet/tcp.cif (th->fin)
th4164net/inet/tcp.ctcp_fin(skb, sk, th, saddr, dev);
th4169net/inet/tcp.cif (th->urg) 
th4171net/inet/tcp.cif (tcp_urg(sk, th, saddr, len)) 
th4185net/inet/tcp.cif (!th->fin) 
th4190net/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);