1 /* 2 * dload.h 3 * 4 * Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org> 5 * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #ifndef ALPM_DLOAD_H 21 #define ALPM_DLOAD_H 22 23 #include "alpm_list.h" 24 #include "alpm.h" 25 26 struct dload_payload { 27 alpm_handle_t *handle; 28 const char *tempfile_openmode; 29 char *remote_name; 30 char *tempfile_name; 31 char *destfile_name; 32 char *content_disp_name; 33 char *fileurl; 34 alpm_list_t *servers; 35 long respcode; 36 off_t initial_size; 37 off_t max_size; 38 off_t prevprogress; 39 int force; 40 int allow_resume; 41 int errors_ok; 42 int unlink_on_fail; 43 int trust_remote_name; 44 int cb_initialized; 45 #ifdef HAVE_LIBCURL 46 CURLcode curlerr; /* last error produced by curl */ 47 #endif 48 }; 49 50 void _alpm_dload_payload_reset(struct dload_payload *payload); 51 void _alpm_dload_payload_reset_for_retry(struct dload_payload *payload); 52 53 int _alpm_download(struct dload_payload *payload, const char *localpath, 54 char **final_file, const char **final_url); 55 56 #endif /* ALPM_DLOAD_H */ 57