A few final changes for the 3.0.6 release
[pacman.git] / lib / libalpm / sync.h
blob3ba7e009f37bf184f0dd8e815cac4cc1a7709e80
1 /*
2 * sync.h
3 *
4 * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
5 * Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
6 * Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos@frugalware.org>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
21 * USA.
23 #ifndef _ALPM_SYNC_H
24 #define _ALPM_SYNC_H
26 #include "alpm.h"
28 /* Sync package */
29 struct __pmsyncpkg_t {
30 pmsynctype_t type;
31 pmpkg_t *pkg;
32 void *data;
35 #define FREESYNC(p) do { if(p) { _alpm_sync_free(p); p = NULL; } } while(0)
37 pmsyncpkg_t *_alpm_sync_new(int type, pmpkg_t *spkg, void *data);
38 void _alpm_sync_free(void *data);
40 int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync);
41 int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync, char *name);
42 int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync, alpm_list_t **data);
43 int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data);
45 /* typically trans->packages */
46 pmsyncpkg_t *_alpm_sync_find(alpm_list_t *syncpkgs, const char* pkgname);
48 #endif /* _ALPM_SYNC_H */
50 /* vim: set ts=2 sw=2 noet: */