libalpm
Arch Linux Package Manager Library
|
00001 /* 00002 * dload.h 00003 * 00004 * Copyright (c) 2006-2011 Pacman Development Team <pacman-dev@archlinux.org> 00005 * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 #ifndef _ALPM_DLOAD_H 00021 #define _ALPM_DLOAD_H 00022 00023 #include "alpm_list.h" 00024 #include "alpm.h" 00025 00026 struct dload_payload { 00027 alpm_handle_t *handle; 00028 const char *tempfile_openmode; 00029 char *remote_name; 00030 char *tempfile_name; 00031 char *destfile_name; 00032 char *content_disp_name; 00033 char *fileurl; 00034 off_t initial_size; 00035 off_t max_size; 00036 off_t prevprogress; 00037 int force; 00038 int allow_resume; 00039 int errors_ok; 00040 int unlink_on_fail; 00041 alpm_list_t *servers; 00042 #ifdef HAVE_LIBCURL 00043 CURLcode curlerr; /* last error produced by curl */ 00044 #endif 00045 }; 00046 00047 void _alpm_dload_payload_reset(struct dload_payload *payload); 00048 00049 int _alpm_download(struct dload_payload *payload, const char *localpath, 00050 char **final_file); 00051 00052 #endif /* _ALPM_DLOAD_H */ 00053 00054 /* vim: set ts=2 sw=2 noet: */