Библиотека архива

Библиотека позволяет организовать файловый циклический архив в каталоге файловой системы.

(если вас заинтересовала данная разработка свяжитесь пожалуйста со мной по почте: nevidprogr@gmail.com)

Для работы необходимо открыть архив, вызвав SVArchLib_Open и затем просто писать данные функцией SVArchLib_Write. Всю остальную работу с файлами библиотека выполняет сама.
Также поддерживается функция переключения архива в режим линейного по команде (и соответственно выход из режима), т.е. данные записанные в этом режиме не будут удалены в дальнейшем.
Прочитать архив можно стандартными средствами (API) для работы с файлами ОС.

SVArchLib_Handle SVArchLib_Open(const char* _norm_pref,const char* _dir,unsigned maxarch_kb,
unsigned maxfile_kb,int _lnoffset_min)

Открывает архив

_norm_pref- перфикс имени файла в архиве
dir- каталог архива
_maxarch_kb — максимальный размер архива в KB
_maxfile_kb — максимальный размер файла архива в KB
_lnoffset_min — если будет использоваться режим линейного архива, то время его начала, в минутах, отнимаемое от момента команды. Иначе = 0.
ret: SVArchLib_Handle — handle, используется далее в функциях для работы с данным архивом

int SVArchLib_Write(SVArchLib_Handle hnd,void* buf,unsigned bufsz)
Записывает блок данных в архив
hnd — HANDLE
buf — буфер данных
bufsz — размер данных
ret: 0-OK, не 0 — ошибка
——
Сигнализирует архиву, что необходимо переключиться в режим линейного. т.е. данные с момента ранее этой команды на _lnoffset_min и до команды SVArchLib_EndLn не будут в дальнейшем удалены

void  SVArchLib_StartLn(SVArchLib_Handle hnd)

void  SVArchLib_EndLn(SVArchLib_Handle hnd)
——

Закрывает архив
void SVArchLib_Close(SVArchLib_Handle hnd)

void  SVArchLib_GetInfo1(SVArchLib_Handle hnd,__int64& cursize,__int64& maxsize)
Получает информацию об архиве
ret: cursize — текущий объем, maxsize — макксимальный объем

Добавить комментарий