## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_have bittorrent_peer_interested bittorrent_peer_keep_alive
##    bittorrent_peer_not_interested bittorrent_peer_piece bittorrent_peer_port
##    bittorrent_peer_request bittorrent_peer_unchoke bittorrent_peer_unknown
##    bittorrent_peer_weird
event bittorrent_peer_handshake%(c: connection, is_orig: bool,
			reserved: string, info_hash: string, peer_id: string%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_not_interested bittorrent_peer_piece bittorrent_peer_port
##    bittorrent_peer_request bittorrent_peer_unchoke bittorrent_peer_unknown
##    bittorrent_peer_weird
event bittorrent_peer_keep_alive%(c: connection, is_orig: bool%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_port bittorrent_peer_request bittorrent_peer_unchoke
##    bittorrent_peer_unknown bittorrent_peer_weird
event bittorrent_peer_choke%(c: connection, is_orig: bool%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_port bittorrent_peer_request
##    bittorrent_peer_unknown bittorrent_peer_weird
event bittorrent_peer_unchoke%(c: connection, is_orig: bool%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_keep_alive
##    bittorrent_peer_not_interested bittorrent_peer_piece bittorrent_peer_port
##    bittorrent_peer_request bittorrent_peer_unchoke bittorrent_peer_unknown
##    bittorrent_peer_weird
event bittorrent_peer_interested%(c: connection, is_orig: bool%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive  bittorrent_peer_piece bittorrent_peer_port
##    bittorrent_peer_request bittorrent_peer_unchoke bittorrent_peer_unknown
##    bittorrent_peer_weird
event bittorrent_peer_not_interested%(c: connection, is_orig: bool%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake  bittorrent_peer_interested bittorrent_peer_keep_alive
##    bittorrent_peer_not_interested bittorrent_peer_piece bittorrent_peer_port
##    bittorrent_peer_request bittorrent_peer_unchoke bittorrent_peer_unknown
##    bittorrent_peer_weird
event bittorrent_peer_have%(c: connection, is_orig: bool, piece_index: count%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see::  bittorrent_peer_cancel bittorrent_peer_choke bittorrent_peer_handshake
##    bittorrent_peer_have bittorrent_peer_interested bittorrent_peer_keep_alive
##    bittorrent_peer_not_interested bittorrent_peer_piece bittorrent_peer_port
##    bittorrent_peer_request bittorrent_peer_unchoke bittorrent_peer_unknown
##    bittorrent_peer_weird
event bittorrent_peer_bitfield%(c: connection, is_orig: bool, bitfield: string%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_port  bittorrent_peer_unchoke bittorrent_peer_unknown
##    bittorrent_peer_weird
event bittorrent_peer_request%(c: connection, is_orig: bool, index: count,
				begin: count, length: count%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_port
##    bittorrent_peer_request bittorrent_peer_unchoke bittorrent_peer_unknown
##    bittorrent_peer_weird
event bittorrent_peer_piece%(c: connection, is_orig: bool, index: count,
				begin: count, piece_length: count%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield  bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_port bittorrent_peer_request bittorrent_peer_unchoke
##    bittorrent_peer_unknown bittorrent_peer_weird
event bittorrent_peer_cancel%(c: connection, is_orig: bool, index: count,
				begin: count, length: count%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_request bittorrent_peer_unchoke bittorrent_peer_unknown
##    bittorrent_peer_weird
event bittorrent_peer_port%(c: connection, is_orig: bool, listen_port: port%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_port bittorrent_peer_request bittorrent_peer_unchoke
##    bittorrent_peer_weird
event bittorrent_peer_unknown%(c: connection, is_orig: bool, message_id: count,
				data: string%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_port bittorrent_peer_request bittorrent_peer_unchoke
##    bittorrent_peer_unknown
event bittorrent_peer_weird%(c: connection, is_orig: bool, msg: string%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_port bittorrent_peer_request bittorrent_peer_unchoke
##    bittorrent_peer_unknown bittorrent_peer_weird
event bt_tracker_request%(c: connection, uri: string,
				headers: bt_tracker_headers%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_port bittorrent_peer_request bittorrent_peer_unchoke
##    bittorrent_peer_unknown bittorrent_peer_weird
event bt_tracker_response%(c: connection, status: count,
					headers: bt_tracker_headers,
					peers: bittorrent_peer_set,
					benc: bittorrent_benc_dir%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_port bittorrent_peer_request bittorrent_peer_unchoke
##    bittorrent_peer_unknown bittorrent_peer_weird
event bt_tracker_response_not_ok%(c: connection, status: count,
					headers: bt_tracker_headers%);

## TODO.
##
## See `Wikipedia <http://en.wikipedia.org/wiki/BitTorrent_(protocol)>`__ for
## more information about the BitTorrent protocol.
##
## .. zeek:see:: bittorrent_peer_bitfield bittorrent_peer_cancel bittorrent_peer_choke
##    bittorrent_peer_handshake bittorrent_peer_have bittorrent_peer_interested
##    bittorrent_peer_keep_alive bittorrent_peer_not_interested bittorrent_peer_piece
##    bittorrent_peer_port bittorrent_peer_request bittorrent_peer_unchoke
##    bittorrent_peer_unknown bittorrent_peer_weird
event bt_tracker_weird%(c: connection, is_orig: bool, msg: string%);

