1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-23 08:18:51 -05:00
pacman/lib/libalpm/server.h
Aaron Griffin af2fb3324a Numerous changes:
*   Furthered the "lazy caching" to force the pkgcache to read nothing
    (INFRQ_NONE) by default.  Anything requiring package data should now check
    the infolevel of each package and attempt to update it.  This could be
    ironed out a bit more later (by using the front-end get_info function
*   Switched to libfetch.  Drastic changes to the download code and the callback
    progress bar functions.  Also fixed the return value of
    _alpm_downloadfiles_forreal.  Downloading now supports http, ftp, https, and
    files urls, along with 'mtime's and numerous other fancy features from
    libfetch.
2006-10-31 06:39:59 +00:00

62 lines
1.7 KiB
C

/*
* server.h
*
* Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
#ifndef _ALPM_SERVER_H
#define _ALPM_SERVER_H
#include "list.h"
#include <time.h>
#include <fetch.h>
#define FREESERVER(p) \
do { \
if(p) { \
_alpm_server_free(p); \
p = NULL; \
} \
} while(0)
#define FREELISTSERVERS(p) _FREELIST(p, _alpm_server_free)
/* Servers */
typedef struct __pmserver_t {
char *path;
struct url *s_url;
} pmserver_t;
#define PM_DLBUF_LEN (1024 * 10)
typedef void (*download_progress_cb)(const char *filename, int xfered, int total);
pmserver_t *_alpm_server_new(char *url);
void _alpm_server_free(void *data);
int _alpm_downloadfiles(pmlist_t *servers, const char *localpath, pmlist_t *files);
int _alpm_downloadfiles_forreal(pmlist_t *servers, const char *localpath,
pmlist_t *files, const char *mtime1, char *mtime2);
char *_alpm_fetch_pkgurl(char *target);
extern download_progress_cb pm_dlcb;
#endif /* _ALPM_SERVER_H */
/* vim: set ts=2 sw=2 noet: */