A clone of btpd with my configuration changes.
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

78 wiersze
2.7 KiB

  1. #ifndef BTPD_PEER_H
  2. #define BTPD_PEER_H
  3. #define PF_I_WANT 0x1 /* We want to download from the peer */
  4. #define PF_I_CHOKE 0x2 /* We choke the peer */
  5. #define PF_P_WANT 0x4 /* The peer wants to download from us */
  6. #define PF_P_CHOKE 0x8 /* The peer is choking us */
  7. #define PF_ON_READQ 0x10
  8. #define PF_ON_WRITEQ 0x20
  9. #define PF_ATTACHED 0x40
  10. #define PF_NO_REQUESTS 0x80
  11. #define PF_INCOMING 0x100
  12. #define PF_DO_UNWANT 0x200
  13. #define PF_SUSPECT 0x400
  14. #define PF_BANNED 0x800
  15. #define MAXPIECEMSGS 128
  16. #define MAXPIPEDREQUESTS 10
  17. void peer_set_in_state(struct peer *p, enum input_state state, size_t size);
  18. void peer_send(struct peer *p, struct net_buf *nb);
  19. int peer_unsend(struct peer *p, struct nb_link *nl);
  20. void peer_sent(struct peer *p, struct net_buf *nb);
  21. void peer_keepalive(struct peer *p);
  22. void peer_unchoke(struct peer *p);
  23. void peer_choke(struct peer *p);
  24. void peer_unwant(struct peer *p, uint32_t index);
  25. void peer_want(struct peer *p, uint32_t index);
  26. void peer_request(struct peer *p, struct block_request *req);
  27. void peer_cancel(struct peer *p, struct block_request *req,
  28. struct net_buf *nb);
  29. int peer_requested(struct peer *p, uint32_t piece, uint32_t block);
  30. void peer_create_in(int sd);
  31. void peer_create_out(struct net *n, const uint8_t *id,
  32. const char *ip, int port);
  33. void peer_create_out_compact(struct net *n, int family, const char *compact);
  34. void peer_kill(struct peer *p);
  35. void peer_on_no_reqs(struct peer *p);
  36. void peer_on_keepalive(struct peer *p);
  37. void peer_on_shake(struct peer *p);
  38. void peer_on_interest(struct peer *p);
  39. void peer_on_uninterest(struct peer *p);
  40. void peer_on_choke(struct peer *p);
  41. void peer_on_unchoke(struct peer *p);
  42. void peer_on_have(struct peer *p, uint32_t index);
  43. void peer_on_bitfield(struct peer *p, const uint8_t *field);
  44. void peer_on_piece(struct peer *p, uint32_t index, uint32_t begin,
  45. uint32_t length, const char *data);
  46. void peer_on_request(struct peer *p, uint32_t index, uint32_t begin,
  47. uint32_t length);
  48. void peer_on_cancel(struct peer *p, uint32_t index, uint32_t begin,
  49. uint32_t length);
  50. void peer_on_tick(struct peer *p);
  51. int peer_active_down(struct peer *p);
  52. int peer_active_up(struct peer *p);
  53. int peer_chokes(struct peer *p);
  54. int peer_wanted(struct peer *p);
  55. int peer_laden(struct peer *p);
  56. int peer_has(struct peer *p, uint32_t index);
  57. int peer_has_bad(struct peer *p, uint32_t index);
  58. int peer_leech_ok(struct peer *p);
  59. int peer_full(struct peer *p);
  60. void peer_bad_piece(struct peer *p, uint32_t index);
  61. void peer_good_piece(struct peer *p, uint32_t index);
  62. int peer_requestable(struct peer *p, uint32_t index);
  63. void mp_hold(struct meta_peer *mp);
  64. void mp_drop(struct meta_peer *mp, struct net *n);
  65. void mp_kill(struct meta_peer *mp);
  66. #endif