Librepo library
1.7.7
C library for downloading linux repository metadata and packages
Main Page
Modules
Data Structures
Files
File List
All
Data Structures
Functions
Variables
Typedefs
Enumerations
Enumerator
Modules
handle.h
1
/* librepo - A library providing (libcURL like) API to downloading repository
2
* Copyright (C) 2012 Tomas Mlcoch
3
*
4
* Licensed under the GNU Lesser General Public License Version 2.1
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with this library; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#ifndef LR_HANDLE_H
22
#define LR_HANDLE_H
23
24
#include <glib.h>
25
26
#include "result.h"
27
28
G_BEGIN_DECLS
29
38
typedef
struct
_LrHandle
LrHandle
;
39
41
#define LRO_FASTESTMIRRORMAXAGE_DEFAULT 2592000 // 30 days
42
44
#define LRO_FASTESTMIRRORMAXAGE_MIN 0
45
47
#define LRO_PROXYPORT_DEFAULT 1080
48
50
#define LRO_PROXYTYPE_DEFAULT LR_PROXY_HTTP
51
53
#define LRO_MAXSPEED_DEFAULT 0
54
56
#define LRO_CONNECTTIMEOUT_DEFAULT 120
57
59
#define LRO_MAXMIRRORTRIES_DEFAULT 0
60
62
#define LRO_MAXMIRRORTRIES_MIN 0
63
65
#define LRO_MAXPARALLELDOWNLOADS_DEFAULT 3
66
68
#define LRO_MAXPARALLELDOWNLOADS_MIN 1
69
71
#define LRO_MAXPARALLELDOWNLOADS_MAX 20
72
74
#define LRO_MAXDOWNLOADSPERMIRROR_DEFAULT 3
75
77
#define LRO_MAXDOWNLOADSPERMIRROR_MIN 1
78
80
#define LRO_LOWSPEEDTIME_MIN 0
81
83
#define LRO_LOWSPEEDTIME_DEFAULT 120
84
86
#define LRO_LOWSPEEDLIMIT_MIN 0
87
89
#define LRO_LOWSPEEDLIMIT_DEFAULT 1000
90
92
#define LRO_IPRESOLVE_DEFAULT LR_IPRESOLVE_WHATEVER
93
95
#define LRO_ALLOWEDMIRRORFAILURES_DEFAULT 4
96
98
#define LRO_ADAPTIVEMIRRORSORTING_DEFAULT 1
99
101
typedef
enum
{
102
103
LRO_UPDATE
,
107
LRO_URLS
,
110
LRO_MIRRORLIST
,
113
LRO_MIRRORLISTURL
,
116
LRO_METALINKURL
,
119
LRO_LOCAL
,
122
LRO_HTTPAUTH
,
125
LRO_USERPWD
,
128
LRO_PROXY
,
131
LRO_PROXYPORT
,
134
LRO_PROXYTYPE
,
137
LRO_PROXYAUTH
,
140
LRO_PROXYUSERPWD
,
143
LRO_PROGRESSCB
,
146
LRO_PROGRESSDATA
,
149
LRO_MAXSPEED
,
153
LRO_DESTDIR
,
156
LRO_REPOTYPE
,
159
LRO_CONNECTTIMEOUT
,
163
LRO_IGNOREMISSING
,
169
LRO_INTERRUPTIBLE
,
175
LRO_USERAGENT
,
179
LRO_FETCHMIRRORS
,
183
LRO_MAXMIRRORTRIES
,
187
LRO_MAXPARALLELDOWNLOADS
,
190
LRO_MAXDOWNLOADSPERMIRROR
,
193
LRO_VARSUB
,
201
LRO_FASTESTMIRROR
,
206
LRO_FASTESTMIRRORCACHE
,
211
LRO_FASTESTMIRRORMAXAGE,
/*< (long)
212
Maximum age of a record in cache (seconds).
213
Default: 2592000 (30 days). */
214
215
LRO_FASTESTMIRRORCB,
/* (LrFastestMirrorCb)
216
Fastest mirror status callback */
217
218
LRO_FASTESTMIRRORDATA,
/* (void *)
219
User data for LRO_FASTESTMIRRORCB */
220
221
LRO_LOWSPEEDTIME,
/*< (long)
222
The time in seconds that the transfer should be below the
223
LRO_LOWSPEEDLIMIT for the library to consider it too slow
224
and abort. */
225
226
LRO_LOWSPEEDLIMIT,
/*< (long)
227
The transfer speed in bytes per second that the transfer
228
should be below during LRO_LOWSPEEDTIME seconds for
229
the library to consider it too slow and abort. */
230
231
/* Repo common options */
232
233
LRO_GPGCHECK
,
236
LRO_CHECKSUM
,
239
/* LR_YUMREPO specific options */
240
241
LRO_YUMDLIST
,
246
LRO_YUMBLIST
,
250
LRO_HMFCB
,
255
LRO_SSLVERIFYPEER
,
261
LRO_SSLVERIFYHOST
,
265
LRO_IPRESOLVE
,
268
LRO_ALLOWEDMIRRORFAILURES
,
282
LRO_ADAPTIVEMIRRORSORTING
,
288
LRO_SENTINEL
,
290
}
LrHandleOption
;
293
typedef
enum
{
294
LRI_UPDATE
,
295
LRI_URLS
,
298
LRI_MIRRORLIST
,
299
LRI_MIRRORLISTURL
,
300
LRI_METALINKURL
,
301
LRI_LOCAL
,
302
LRI_PROGRESSCB
,
303
LRI_PROGRESSDATA
,
304
LRI_DESTDIR
,
305
LRI_REPOTYPE
,
306
LRI_USERAGENT
,
307
LRI_YUMDLIST
,
310
LRI_YUMBLIST
,
313
LRI_FETCHMIRRORS
,
314
LRI_MAXMIRRORTRIES
,
315
LRI_VARSUB
,
316
LRI_MIRRORS
,
332
LRI_METALINK
,
333
LRI_FASTESTMIRROR
,
334
LRI_FASTESTMIRRORCACHE
,
335
LRI_FASTESTMIRRORMAXAGE
,
336
LRI_HMFCB
,
337
LRI_SSLVERIFYPEER
,
338
LRI_SSLVERIFYHOST
,
339
LRI_IPRESOLVE
,
340
LRI_ALLOWEDMIRRORFAILURES
,
341
LRI_ADAPTIVEMIRRORSORTING
,
342
LRI_SENTINEL,
343
}
LrHandleInfoOption
;
348
LrHandle
*
349
lr_handle_init
();
350
354
void
355
lr_handle_free
(
LrHandle
*handle);
356
364
gboolean
365
lr_handle_setopt
(
LrHandle
*handle,
366
GError **err,
367
LrHandleOption
option,
368
...);
369
383
gboolean
384
lr_handle_getinfo
(
LrHandle
*handle,
385
GError **err,
386
LrHandleInfoOption
option,
387
...);
388
395
gboolean
396
lr_handle_perform
(
LrHandle
*handle,
LrResult
*result, GError **err);
397
400
G_END_DECLS
401
402
#endif
LrHandleOption
LrHandleOption
Definition:
handle.h:101
LRI_MIRRORLIST
Definition:
handle.h:298
LRO_MAXMIRRORTRIES
Definition:
handle.h:183
LRI_URLS
Definition:
handle.h:295
LRO_PROXY
Definition:
handle.h:128
LRO_HTTPAUTH
Definition:
handle.h:122
LRO_PROGRESSCB
Definition:
handle.h:143
LRO_VARSUB
Definition:
handle.h:193
LRO_SSLVERIFYHOST
Definition:
handle.h:261
LRO_ALLOWEDMIRRORFAILURES
Definition:
handle.h:268
LrHandleInfoOption
LrHandleInfoOption
Definition:
handle.h:293
LRI_UPDATE
Definition:
handle.h:294
LRI_MIRRORLISTURL
Definition:
handle.h:299
LRO_UPDATE
Definition:
handle.h:103
LRI_LOCAL
Definition:
handle.h:301
lr_handle_getinfo
gboolean lr_handle_getinfo(LrHandle *handle, GError **err, LrHandleInfoOption option,...)
lr_handle_setopt
gboolean lr_handle_setopt(LrHandle *handle, GError **err, LrHandleOption option,...)
LRI_FETCHMIRRORS
Definition:
handle.h:313
LRO_MIRRORLIST
Definition:
handle.h:110
LRO_MAXDOWNLOADSPERMIRROR
Definition:
handle.h:190
LRO_REPOTYPE
Definition:
handle.h:156
LRO_USERAGENT
Definition:
handle.h:175
LRO_PROXYPORT
Definition:
handle.h:131
LRO_FASTESTMIRRORCACHE
Definition:
handle.h:206
LRO_URLS
Definition:
handle.h:107
LRO_ADAPTIVEMIRRORSORTING
Definition:
handle.h:282
LRO_MIRRORLISTURL
Definition:
handle.h:113
LRI_REPOTYPE
Definition:
handle.h:305
LRI_PROGRESSDATA
Definition:
handle.h:303
LRI_USERAGENT
Definition:
handle.h:306
LRO_CHECKSUM
Definition:
handle.h:236
LRO_FETCHMIRRORS
Definition:
handle.h:179
LRO_PROGRESSDATA
Definition:
handle.h:146
LRO_USERPWD
Definition:
handle.h:125
LRI_HMFCB
Definition:
handle.h:336
LRO_METALINKURL
Definition:
handle.h:116
LRO_PROXYAUTH
Definition:
handle.h:137
LRO_IPRESOLVE
Definition:
handle.h:265
LRI_ADAPTIVEMIRRORSORTING
Definition:
handle.h:341
LRI_MAXMIRRORTRIES
Definition:
handle.h:314
LRI_DESTDIR
Definition:
handle.h:304
LRO_HMFCB
Definition:
handle.h:250
LRO_PROXYUSERPWD
Definition:
handle.h:140
LRO_SENTINEL
Definition:
handle.h:288
LRI_YUMDLIST
Definition:
handle.h:307
lr_handle_init
LrHandle * lr_handle_init()
LRI_METALINK
Definition:
handle.h:332
LRI_FASTESTMIRROR
Definition:
handle.h:333
LRI_SSLVERIFYHOST
Definition:
handle.h:338
LRI_METALINKURL
Definition:
handle.h:300
lr_handle_perform
gboolean lr_handle_perform(LrHandle *handle, LrResult *result, GError **err)
LRO_FASTESTMIRROR
Definition:
handle.h:201
LRI_PROGRESSCB
Definition:
handle.h:302
LrResult
struct _LrResult LrResult
Definition:
result.h:37
LRO_SSLVERIFYPEER
Definition:
handle.h:255
LRI_FASTESTMIRRORCACHE
Definition:
handle.h:334
LRI_VARSUB
Definition:
handle.h:315
LRI_MIRRORS
Definition:
handle.h:316
lr_handle_free
void lr_handle_free(LrHandle *handle)
LRO_CONNECTTIMEOUT
Definition:
handle.h:159
LRO_INTERRUPTIBLE
Definition:
handle.h:169
LRI_YUMBLIST
Definition:
handle.h:310
LRO_MAXPARALLELDOWNLOADS
Definition:
handle.h:187
LRO_YUMBLIST
Definition:
handle.h:246
LRO_PROXYTYPE
Definition:
handle.h:134
LRI_ALLOWEDMIRRORFAILURES
Definition:
handle.h:340
LRI_IPRESOLVE
Definition:
handle.h:339
LRI_FASTESTMIRRORMAXAGE
Definition:
handle.h:335
LRO_YUMDLIST
Definition:
handle.h:241
LRI_SSLVERIFYPEER
Definition:
handle.h:337
LRO_IGNOREMISSING
Definition:
handle.h:163
LRO_LOCAL
Definition:
handle.h:119
LRO_MAXSPEED
Definition:
handle.h:149
LRO_DESTDIR
Definition:
handle.h:153
LrHandle
struct _LrHandle LrHandle
Definition:
handle.h:38
LRO_GPGCHECK
Definition:
handle.h:233
librepo
handle.h
Generated on Sun Nov 16 2014 18:57:35 for Librepo library by
1.8.8