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.

51 wiersze
1.4 KiB

  1. #ifndef BTPD_SUBR_H
  2. #define BTPD_SUBR_H
  3. #include <stdio.h>
  4. #include <stdarg.h>
  5. #define max(x, y) ((x) >= (y) ? (x) : (y))
  6. #define min(x, y) ((x) <= (y) ? (x) : (y))
  7. #define SHAHEXSIZE 41
  8. void *memfind(const void *sub, size_t sublen, const void *mem, size_t memlen);
  9. uint32_t dec_be32(const void *buf);
  10. uint64_t dec_be64(const void *buf);
  11. void enc_be32(void *buf, uint32_t num);
  12. void enc_be64(void *buf, uint64_t num);
  13. int set_nonblocking(int fd);
  14. int set_blocking(int fd);
  15. int mkdirs(char *path, int mode);
  16. __attribute__((format (printf, 3, 0)))
  17. int vaopen(int *resfd, int flags, const char *fmt, va_list ap);
  18. __attribute__((format (printf, 3, 4)))
  19. int vopen(int *resfd, int flags, const char *fmt, ...);
  20. __attribute__((format (printf, 3, 4)))
  21. int vfopen(FILE **ret, const char *mode, const char *fmt, ...);
  22. int vfsync(const char *fmt, ...);
  23. void set_bit(uint8_t *bits, unsigned long index);
  24. int has_bit(const uint8_t *bits, unsigned long index);
  25. void clear_bit(uint8_t *bits, unsigned long index);
  26. char *bin2hex(const uint8_t *bin, char *hex, size_t bsize);
  27. uint8_t *hex2bin(const char *hex, uint8_t *bin, size_t bsize);
  28. uint8_t hex2i(char c);
  29. int ishex(char *str);
  30. long rand_between(long min, long max);
  31. int read_fully(int fd, void *buf, size_t len);
  32. int write_fully(int fd, const void *buf, size_t len);
  33. void *read_file(const char *path, void *buf, size_t *size);
  34. char *find_btpd_dir(void);
  35. int make_abs_path(const char *in, char *out);
  36. #endif