btfiles.h
来自「一个用c语言写的bittorrent客户端,运行在linux下面.」· C头文件 代码 · 共 62 行
H
62 行
#ifndef BTFILES_H#define BTFILES_H#include <sys/types.h>#include <stdio.h>#include "./def.h"typedef struct _btfile{ char *bf_filename; // full path of file. size_t bf_length; //single file length limits to 4 GB FILE *bf_fp; time_t bf_last_timestamp; // last io timestamp. size_t bf_completed; // already downloaded length unsigned char bf_flag_opened:1; unsigned char bf_flag_need:1; unsigned char bf_reserved:6; struct _btfile *bf_next;}BTFILE;class btFiles{ private: BTFILE *m_btfhead; char *m_directory; u_int64_t m_total_files_length; size_t m_total_opened; // already opened u_int8_t m_flag_automanage:1; u_int8_t m_flag_reserved:7; // current version not implement BTFILE* _new_bfnode(); int _btf_open(BTFILE *sbf_p); int _btf_ftruncate(int fd,size_t length); int _btf_creat_by_path(const char *pathname, size_t file_length); int _btf_destroy(); int _btf_recurses_directory(const char *cur_path, BTFILE *lastnode); public: int CreateFiles(); btFiles(); ~btFiles(); int BuildFromFS(const char *pathname); int BuildFromMI(const char *metabuf, const size_t metabuf_len, const char *saveas); u_int64_t GetTotalLength() const { return m_total_files_length; } ssize_t IO(char *buf, u_int64_t off, size_t len, const int iotype); size_t FillMetaInfo(FILE* fp);#ifndef WINDOWS void PrintOut();#endif};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?