A clone of btpd with my configuration changes.
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

66 строки
2.3 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 MAXPIECEMSGS 128
  14. #define MAXPIPEDREQUESTS 10
  15. void peer_set_in_state(struct peer *p, enum input_state state, size_t size);
  16. void peer_send(struct peer *p, struct net_buf *nb);
  17. int peer_unsend(struct peer *p, struct nb_link *nl);
  18. void peer_sent(struct peer *p, struct net_buf *nb);
  19. void peer_unchoke(struct peer *p);
  20. void peer_choke(struct peer *p);
  21. void peer_unwant(struct peer *p, uint32_t index);
  22. void peer_want(struct peer *p, uint32_t index);
  23. void peer_request(struct peer *p, struct block_request *req);
  24. void peer_cancel(struct peer *p, struct block_request *req,
  25. struct net_buf *nb);
  26. int peer_requested(struct peer *p, struct block *blk);
  27. void peer_create_in(int sd);
  28. void peer_create_out(struct net *n, const uint8_t *id,
  29. const char *ip, int port);
  30. void peer_create_out_compact(struct net *n, const char *compact);
  31. void peer_kill(struct peer *p);
  32. void peer_on_no_reqs(struct peer *p);
  33. void peer_on_keepalive(struct peer *p);
  34. void peer_on_shake(struct peer *p);
  35. void peer_on_interest(struct peer *p);
  36. void peer_on_uninterest(struct peer *p);
  37. void peer_on_choke(struct peer *p);
  38. void peer_on_unchoke(struct peer *p);
  39. void peer_on_have(struct peer *p, uint32_t index);
  40. void peer_on_bitfield(struct peer *p, const uint8_t *field);
  41. void peer_on_piece(struct peer *p, uint32_t index, uint32_t begin,
  42. uint32_t length, const char *data);
  43. void peer_on_request(struct peer *p, uint32_t index, uint32_t begin,
  44. uint32_t length);
  45. void peer_on_cancel(struct peer *p, uint32_t index, uint32_t begin,
  46. uint32_t length);
  47. int peer_active_down(struct peer *p);
  48. int peer_active_up(struct peer *p);
  49. int peer_chokes(struct peer *p);
  50. int peer_wanted(struct peer *p);
  51. int peer_laden(struct peer *p);
  52. int peer_has(struct peer *p, uint32_t index);
  53. int peer_leech_ok(struct peer *p);
  54. int peer_full(struct peer *p);
  55. #endif