#ifndef CRYPTOPP_FILES_H #define CRYPTOPP_FILES_H

#include <stdio.h> #include <stdbool.h>

typedef struct { FILE* stream; } FileStore;

typedef struct { FileStore* store; } FileSource;

typedef struct { FILE* stream; } FileSink;

typedef struct { int code; const char* message; } Exception;

typedef struct { const char* inputFileName; bool inputBinaryMode; } InputFileParameters;

typedef struct { const char* outputFileName; bool outputBinaryMode; } OutputFileParameters;

typedef struct { FILE* inputStreamPointer; } InputStreamParameters;

typedef struct { FILE* outputStreamPointer; } OutputStreamParameters;

void FileStore_Initialize(FileStore* store, const InputFileParameters* parameters); size_t FileStore_TransferTo2(FileStore* store, void* target, size_t bufferSize, lword* transferBytes, const char* channel, bool blocking); size_t FileStore_CopyRangeTo2(FileStore* store, void* target, lword begin, lword end, const char* channel, bool blocking); lword FileStore_Skip(FileStore* store, lword skipMax);

void FileSource_Initialize(FileSource* source, FileStore* store, bool pumpAll); size_t FileSource_Get(FileSource* source, void* target, size_t bufferSize, bool blocking);

void FileSink_Initialize(FileSink* sink, const OutputFileParameters* parameters); size_t FileSink_Put(FileSink* sink, const void* input, size_t length, int messageEnd, bool blocking); bool FileSink_Flush(FileSink* sink, bool hardFlush, bool blocking);

#endif

Crypto++ Files.h Header File

原文地址: https://www.cveoy.top/t/topic/qxdE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录