createrepo_c library
C library for metadata manipulation
|
00001 /* createrepo_c - Library of routines for manipulation with repodata 00002 * Copyright (C) 2012 Tomas Mlcoch 00003 * 00004 * This program is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU General Public License 00006 * as published by the Free Software Foundation; either version 2 00007 * of the License, or (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 00017 * USA. 00018 */ 00019 00020 #ifndef __C_CREATEREPOLIB_COMPRESSION_WRAPPER_H__ 00021 #define __C_CREATEREPOLIB_COMPRESSION_WRAPPER_H__ 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00033 typedef enum { 00034 CR_CW_AUTO_DETECT_COMPRESSION, 00035 CR_CW_UNKNOWN_COMPRESSION, 00036 CR_CW_NO_COMPRESSION, 00037 CR_CW_GZ_COMPRESSION, 00038 CR_CW_BZ2_COMPRESSION, 00039 CR_CW_XZ_COMPRESSION, 00040 } cr_CompressionType; 00041 00045 typedef enum { 00046 CR_CW_MODE_READ, 00047 CR_CW_MODE_WRITE 00048 } cr_OpenMode; 00049 00050 00054 typedef struct { 00055 cr_CompressionType type; 00056 void *FILE; 00057 cr_OpenMode mode; 00058 } CR_FILE; 00059 00061 #define CR_CW_OK 0 00062 #define CR_CW_ERR -1 00071 const char *cr_compression_suffix(cr_CompressionType comtype); 00072 00078 cr_CompressionType cr_detect_compression(const char* filename); 00079 00087 CR_FILE *cr_open(const char *filename, 00088 cr_OpenMode mode, 00089 cr_CompressionType comtype); 00090 00098 int cr_read(CR_FILE *cr_file, void *buffer, unsigned int len); 00099 00108 int cr_write(CR_FILE *cr_file, const void *buffer, unsigned int len); 00109 00116 int cr_puts(CR_FILE *cr_file, const char *str); 00117 00125 int cr_printf(CR_FILE *cr_file, const char *format, ...); 00126 00132 int cr_close(CR_FILE *cr_file); 00133 00134 #ifdef __cplusplus 00135 } 00136 #endif 00137 00138 #endif /* __C_CREATEREPOLIB_COMPRESSION_WRAPPER_H__ */