#ifndef CRYPTOPP_FILES_H #define CRYPTOPP_FILES_H

#include "cryptlib.h" #include "filters.h" #include "argnames.h" #include "smartptr.h"

#include <stdio.h> #include <stdlib.h>

typedef struct { char* buffer; size_t len; size_t pos; size_t waiting; } FileStore;

typedef struct { FileStore* store; char* buffer; size_t len; size_t pos; } FileSource;

typedef struct { FILE* file; char* buffer; size_t len; } FileSink;

typedef struct { int type; char* message; } Exception;

typedef struct { char* filename; char* mode; FILE* file; } FileStream;

#define NAMESPACE_BEGIN(x) #define NAMESPACE_END

#define CRYPTOPP_DLL

#define DEFAULT_CHANNEL ""

#define NameValuePair(x, y) {x, y} #define MakeParameters(...) 1

#define member_ptr(x) x*

#define ULONG_MAX 0xFFFFFFFF

#define CRYPTOPP_UNIX_AVAILABLE 1

typedef unsigned char byte; typedef unsigned int lword;

#define IO_ERROR 1

void FileStore_Initialize(FileStore* store, const char* filename); void FileStore_Finalize(FileStore* store); lword FileStore_MaxRetrievable(const FileStore* store); size_t FileStore_TransferTo2(FileStore* store, byte* target, lword* transferBytes, const char* channel, int blocking); size_t FileStore_CopyRangeTo2(const FileStore* store, byte* target, lword* begin, lword end, const char* channel, int blocking); lword FileStore_Skip(FileStore* store, lword skipMax);

void FileSource_Initialize(FileSource* source, FileStore* store, int pumpAll); void FileSource_Finalize(FileSource* source); size_t FileSource_GetStream(FileSource* source, FILE** stream); size_t FileSource_PumpAll(FileSource* source, byte* target, size_t length, int messageEnd, int blocking);

void FileSink_Initialize(FileSink* sink, const char* filename, int binary); void FileSink_Finalize(FileSink* sink); size_t FileSink_GetStream(FileSink* sink, FILE** stream); size_t FileSink_Put2(FileSink* sink, const byte* inString, size_t length, int messageEnd, int blocking); int FileSink_Flush(FileSink* sink, int hardFlush, int blocking);

#endi

#ifndef CRYPTOPP_FILES_H#define CRYPTOPP_FILES_H#include cryptlibh#include filtersh#include argnamesh#include smartptrh#include iostream#include fstreamNAMESPACE_BEGINCryptoPP! file-based implementati

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

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