;ò t¸ÞDc@sdZdkZdZdZdZdZdZdZdZd Z d Z d Z d ei fd „ƒYZ d ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%d Z&d!Z'd"Z(d#„Z)dS($sTransmission Control Protocol.Niiiiii i@i€iÿÿsTCPc BsÄtZdddfdddfdddfd ddfd d d d >dBfdd efddefdddfdddff ZdZd„Zd„ZeeeƒZ d„Z d„Z d„Z RS(NssportsHi­ÞsdportisseqsIlï>[=sacksoff_x2sBiisflagsswinssumsurpscCs|id?SdS(Ni(sselfsoff_x2(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/tcp.pys_get_off"scCs|d>|id@B|_dS(Nii(soffsselfsoff_x2(sselfsoff((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/tcp.pys_set_off#scCs%|it|iƒt|iƒSdS(N(sselfs __hdr_len__slensoptssdata(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/tcp.pys__len__&scCs"|iƒ|it|iƒSdS(N(sselfspack_hdrsoptssstrsdata(sself((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/tcp.pys__str__)scCs]tii||ƒ|id?d>|i}||i|i|!|_||i||_ dS(Nii( sdpktsPacketsunpacksselfsbufsoff_x2s __hdr_len__solsoptssdata(sselfsbufsol((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/tcp.pysunpack,s( s__name__s __module__sTH_SYNs TCP_WIN_MAXs__hdr__soptss_get_offs_set_offspropertysoffs__len__s__str__sunpack(((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/tcp.pysTCPsz     iiiiii i i i i iiiiiiiiiiiicCs¼g}x«|o£t|dƒ}|tjoYy1t|dƒ}|d|!||f\}}Wqœtj o|it ƒPqœXnd|df\}}|i||fƒq W|SdS(s=Parse TCP option buffer into a list of (option, data) tuples.iiisN( soptssbufsordsos TCP_OPT_NOPslsds ValueErrorsappendsNone(sbufsdslsosopts((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/tcp.pys parse_optsOs !  (*s__doc__sdpktsTH_FINsTH_SYNsTH_RSTsTH_PUSHsTH_ACKsTH_URGsTH_ECEsTH_CWRs TCP_PORT_MAXs TCP_WIN_MAXsPacketsTCPs TCP_OPT_EOLs TCP_OPT_NOPs TCP_OPT_MSSsTCP_OPT_WSCALEsTCP_OPT_SACKOKs TCP_OPT_SACKs TCP_OPT_ECHOsTCP_OPT_ECHOREPLYsTCP_OPT_TIMESTAMPsTCP_OPT_POCONNs TCP_OPT_POSVCs TCP_OPT_CCs TCP_OPT_CCNEWsTCP_OPT_CCECHOsTCP_OPT_ALTSUMsTCP_OPT_ALTSUMDATAsTCP_OPT_SKEETERs TCP_OPT_BUBBAsTCP_OPT_TRAILSUMs TCP_OPT_MD5s TCP_OPT_SCPSs TCP_OPT_SNACKs TCP_OPT_RECsTCP_OPT_CORRUPTs TCP_OPT_SNAPsTCP_OPT_TCPCOMPs TCP_OPT_MAXs parse_opts((sTCP_OPT_TRAILSUMs TCP_OPT_SNAPsTCP_OPT_POCONNs TCP_PORT_MAXsTH_SYNsTH_CWRs parse_optssTH_URGsTH_PUSHsTCP_OPT_ALTSUMDATAs TCP_OPT_POSVCs TCP_OPT_SNACKs TCP_OPT_SCPSs TCP_OPT_BUBBAsTCP_OPT_TCPCOMPs TCP_OPT_CCsTCPs TCP_OPT_SACKs TCP_OPT_MAXs TCP_OPT_CCNEWs TCP_OPT_EOLs TCP_OPT_MD5sdpktsTCP_OPT_CCECHOsTH_RSTs TCP_WIN_MAXs TCP_OPT_RECsTH_ACKsTCP_OPT_ECHOREPLYsTCP_OPT_ALTSUMsTH_FINs TCP_OPT_ECHOs TCP_OPT_MSSsTCP_OPT_SKEETERsTCP_OPT_CORRUPTs TCP_OPT_NOPsTCP_OPT_WSCALEsTCP_OPT_SACKOKsTH_ECEsTCP_OPT_TIMESTAMP((s8/mnt/gmirror/ports/net/py-dpkt/work/dpkt-1.6/dpkt/tcp.pys?sP