A clone of btpd with my configuration changes.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

66 lignes
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