package tcpip
OCaml TCP/IP networking stack, used in MirageOS
Install
Dune Dependency
Authors
Maintainers
Sources
tcpip-9.0.1.tbz
sha256=fac07ce986811cf5e3d71373d92b631cc30fbef548d6da21b0917212dcf90b03
sha512=01de13f560d58b1524c39619e4e4cb6ebbf069155eb43d0f264aa12b00e0cc8c39792719e3ca46585dd596b692b8e1e3f8c132f005ed9e2d77747c0c158bf4d9
doc/src/tcpip.tcp/tcp_wire.ml.html
Source file tcp_wire.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
let sizeof_tcp = 20 let src_port_off = 0 let dst_port_off = 2 let sequence_off = 4 let ack_off = 8 let dataoff_off = 12 let flags_off = 13 let window_off = 14 let checksum_off = 16 let urg_ptr_off = 18 let get_src_port buf = Cstruct.BE.get_uint16 buf src_port_off let set_src_port buf v = Cstruct.BE.set_uint16 buf src_port_off v let get_dst_port buf = Cstruct.BE.get_uint16 buf dst_port_off let set_dst_port buf v = Cstruct.BE.set_uint16 buf dst_port_off v let get_sequence buf = Cstruct.BE.get_uint32 buf sequence_off let set_sequence buf v = Cstruct.BE.set_uint32 buf sequence_off v let get_ack_number buf = Cstruct.BE.get_uint32 buf ack_off let set_ack_number buf v = Cstruct.BE.set_uint32 buf ack_off v let get_flags buf = Cstruct.get_uint8 buf flags_off let set_flags buf v = Cstruct.set_uint8 buf flags_off v let get_window buf = Cstruct.BE.get_uint16 buf window_off let set_window buf v = Cstruct.BE.set_uint16 buf window_off v let get_checksum buf = Cstruct.BE.get_uint16 buf checksum_off let set_checksum buf value = Cstruct.BE.set_uint16 buf checksum_off value let get_urg_ptr buf = Cstruct.BE.get_uint16 buf urg_ptr_off let set_urg_ptr buf value = Cstruct.BE.set_uint16 buf urg_ptr_off value (* XXX note that we overwrite the lower half of dataoff * with 0, so be careful when implemented CWE flag which * sits there *) let get_data_offset buf = ((Cstruct.get_uint8 buf dataoff_off) lsr 4) * 4 let set_data_offset buf v = Cstruct.set_uint8 buf dataoff_off (v lsl 4) let get_fin buf = ((Cstruct.get_uint8 buf flags_off) land (1 lsl 0)) > 0 let get_syn buf = ((Cstruct.get_uint8 buf flags_off) land (1 lsl 1)) > 0 let get_rst buf = ((Cstruct.get_uint8 buf flags_off) land (1 lsl 2)) > 0 let get_psh buf = ((Cstruct.get_uint8 buf flags_off) land (1 lsl 3)) > 0 let get_ack buf = ((Cstruct.get_uint8 buf flags_off) land (1 lsl 4)) > 0 let get_urg buf = ((Cstruct.get_uint8 buf flags_off) land (1 lsl 5)) > 0 let _get_ece buf = ((Cstruct.get_uint8 buf flags_off) land (1 lsl 6)) > 0 let _get_cwr buf = ((Cstruct.get_uint8 buf flags_off) land (1 lsl 7)) > 0 let set_fin buf = Cstruct.set_uint8 buf flags_off ((Cstruct.get_uint8 buf flags_off) lor (1 lsl 0)) let set_syn buf = Cstruct.set_uint8 buf flags_off ((Cstruct.get_uint8 buf flags_off) lor (1 lsl 1)) let set_rst buf = Cstruct.set_uint8 buf flags_off ((Cstruct.get_uint8 buf flags_off) lor (1 lsl 2)) let set_psh buf = Cstruct.set_uint8 buf flags_off ((Cstruct.get_uint8 buf flags_off) lor (1 lsl 3)) let set_ack buf = Cstruct.set_uint8 buf flags_off ((Cstruct.get_uint8 buf flags_off) lor (1 lsl 4)) let set_urg buf = Cstruct.set_uint8 buf flags_off ((Cstruct.get_uint8 buf flags_off) lor (1 lsl 5)) let _set_ece buf = Cstruct.set_uint8 buf flags_off ((Cstruct.get_uint8 buf flags_off) lor (1 lsl 6)) let _set_cwr buf = Cstruct.set_uint8 buf flags_off ((Cstruct.get_uint8 buf flags_off) lor (1 lsl 7))
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>