Librepo library
1.7.13
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 G_GINT64_CONSTANT(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
#define LRO_GNUPGHOMEDIR_DEFAULT NULL
102
104
#define LRO_FASTESTMIRRORTIMEOUT_DEFAULT 2.0
105
106
108
typedef
enum
{
109
110
LRO_UPDATE
,
114
LRO_URLS
,
117
LRO_MIRRORLIST
,
120
LRO_MIRRORLISTURL
,
123
LRO_METALINKURL
,
126
LRO_LOCAL
,
129
LRO_HTTPAUTH
,
132
LRO_USERPWD
,
135
LRO_PROXY
,
138
LRO_PROXYPORT
,
141
LRO_PROXYTYPE
,
144
LRO_PROXYAUTH
,
147
LRO_PROXYUSERPWD
,
150
LRO_PROGRESSCB
,
153
LRO_PROGRESSDATA
,
156
LRO_MAXSPEED
,
160
LRO_DESTDIR
,
163
LRO_REPOTYPE
,
166
LRO_CONNECTTIMEOUT
,
170
LRO_IGNOREMISSING
,
176
LRO_INTERRUPTIBLE
,
182
LRO_USERAGENT
,
186
LRO_FETCHMIRRORS
,
190
LRO_MAXMIRRORTRIES
,
194
LRO_MAXPARALLELDOWNLOADS
,
197
LRO_MAXDOWNLOADSPERMIRROR
,
200
LRO_VARSUB
,
208
LRO_FASTESTMIRROR
,
213
LRO_FASTESTMIRRORCACHE
,
218
LRO_FASTESTMIRRORMAXAGE,
/*< (long)
219
Maximum age of a record in cache (seconds).
220
Default: 2592000 (30 days). */
221
222
LRO_FASTESTMIRRORCB,
/* (LrFastestMirrorCb)
223
Fastest mirror status callback */
224
225
LRO_FASTESTMIRRORDATA,
/* (void *)
226
User data for LRO_FASTESTMIRRORCB */
227
228
LRO_LOWSPEEDTIME,
/*< (long)
229
The time in seconds that the transfer should be below the
230
LRO_LOWSPEEDLIMIT for the library to consider it too slow
231
and abort. */
232
233
LRO_LOWSPEEDLIMIT,
/*< (long)
234
The transfer speed in bytes per second that the transfer
235
should be below during LRO_LOWSPEEDTIME seconds for
236
the library to consider it too slow and abort. */
237
238
/* Repo common options */
239
240
LRO_GPGCHECK
,
243
LRO_CHECKSUM
,
246
/* LR_YUMREPO specific options */
247
248
LRO_YUMDLIST
,
253
LRO_YUMBLIST
,
257
LRO_HMFCB
,
262
LRO_SSLVERIFYPEER
,
268
LRO_SSLVERIFYHOST
,
272
LRO_IPRESOLVE
,
275
LRO_ALLOWEDMIRRORFAILURES
,
289
LRO_ADAPTIVEMIRRORSORTING
,
295
LRO_GNUPGHOMEDIR
,
298
LRO_FASTESTMIRRORTIMEOUT
,
302
LRO_SENTINEL
,
304
}
LrHandleOption
;
307
typedef
enum
{
308
LRI_UPDATE
,
309
LRI_URLS
,
312
LRI_MIRRORLIST
,
313
LRI_MIRRORLISTURL
,
314
LRI_METALINKURL
,
315
LRI_LOCAL
,
316
LRI_PROGRESSCB
,
317
LRI_PROGRESSDATA
,
318
LRI_DESTDIR
,
319
LRI_REPOTYPE
,
320
LRI_USERAGENT
,
321
LRI_YUMDLIST
,
324
LRI_YUMBLIST
,
327
LRI_FETCHMIRRORS
,
328
LRI_MAXMIRRORTRIES
,
329
LRI_VARSUB
,
330
LRI_MIRRORS
,
346
LRI_METALINK
,
347
LRI_FASTESTMIRROR
,
348
LRI_FASTESTMIRRORCACHE
,
349
LRI_FASTESTMIRRORMAXAGE
,
350
LRI_HMFCB
,
351
LRI_SSLVERIFYPEER
,
352
LRI_SSLVERIFYHOST
,
353
LRI_IPRESOLVE
,
354
LRI_ALLOWEDMIRRORFAILURES
,
355
LRI_ADAPTIVEMIRRORSORTING
,
356
LRI_GNUPGHOMEDIR
,
357
LRI_FASTESTMIRRORTIMEOUT
,
358
LRI_SENTINEL,
359
}
LrHandleInfoOption
;
364
LrHandle
*
365
lr_handle_init
();
366
370
void
371
lr_handle_free
(
LrHandle
*handle);
372
380
gboolean
381
lr_handle_setopt
(
LrHandle
*handle,
382
GError **err,
383
LrHandleOption
option,
384
...);
385
399
gboolean
400
lr_handle_getinfo
(
LrHandle
*handle,
401
GError **err,
402
LrHandleInfoOption
option,
403
...);
404
411
gboolean
412
lr_handle_perform
(
LrHandle
*handle,
LrResult
*result, GError **err);
413
416
G_END_DECLS
417
418
#endif
LrHandleOption
LrHandleOption
Definition:
handle.h:108
LRI_MIRRORLIST
Definition:
handle.h:312
LRI_GNUPGHOMEDIR
Definition:
handle.h:356
LRO_MAXMIRRORTRIES
Definition:
handle.h:190
LRI_URLS
Definition:
handle.h:309
LRO_PROXY
Definition:
handle.h:135
LRO_HTTPAUTH
Definition:
handle.h:129
LRO_PROGRESSCB
Definition:
handle.h:150
LRO_VARSUB
Definition:
handle.h:200
LRO_SSLVERIFYHOST
Definition:
handle.h:268
LRO_ALLOWEDMIRRORFAILURES
Definition:
handle.h:275
LrHandleInfoOption
LrHandleInfoOption
Definition:
handle.h:307
LRI_UPDATE
Definition:
handle.h:308
LRI_MIRRORLISTURL
Definition:
handle.h:313
LRO_UPDATE
Definition:
handle.h:110
LRI_LOCAL
Definition:
handle.h:315
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:327
LRO_MIRRORLIST
Definition:
handle.h:117
LRO_MAXDOWNLOADSPERMIRROR
Definition:
handle.h:197
LRO_REPOTYPE
Definition:
handle.h:163
LRO_USERAGENT
Definition:
handle.h:182
LRO_PROXYPORT
Definition:
handle.h:138
LRO_FASTESTMIRRORCACHE
Definition:
handle.h:213
LRO_URLS
Definition:
handle.h:114
LRO_ADAPTIVEMIRRORSORTING
Definition:
handle.h:289
LRO_MIRRORLISTURL
Definition:
handle.h:120
LRI_REPOTYPE
Definition:
handle.h:319
LRI_PROGRESSDATA
Definition:
handle.h:317
LRI_USERAGENT
Definition:
handle.h:320
LRO_CHECKSUM
Definition:
handle.h:243
LRO_FETCHMIRRORS
Definition:
handle.h:186
LRO_PROGRESSDATA
Definition:
handle.h:153
LRO_USERPWD
Definition:
handle.h:132
LRI_HMFCB
Definition:
handle.h:350
LRO_METALINKURL
Definition:
handle.h:123
LRO_FASTESTMIRRORTIMEOUT
Definition:
handle.h:298
LRO_PROXYAUTH
Definition:
handle.h:144
LRO_IPRESOLVE
Definition:
handle.h:272
LRI_ADAPTIVEMIRRORSORTING
Definition:
handle.h:355
LRI_MAXMIRRORTRIES
Definition:
handle.h:328
LRI_DESTDIR
Definition:
handle.h:318
LRO_HMFCB
Definition:
handle.h:257
LRI_FASTESTMIRRORTIMEOUT
Definition:
handle.h:357
LRO_PROXYUSERPWD
Definition:
handle.h:147
LRO_SENTINEL
Definition:
handle.h:302
LRI_YUMDLIST
Definition:
handle.h:321
lr_handle_init
LrHandle * lr_handle_init()
LRI_METALINK
Definition:
handle.h:346
LRI_FASTESTMIRROR
Definition:
handle.h:347
LRI_SSLVERIFYHOST
Definition:
handle.h:352
LRI_METALINKURL
Definition:
handle.h:314
lr_handle_perform
gboolean lr_handle_perform(LrHandle *handle, LrResult *result, GError **err)
LRO_FASTESTMIRROR
Definition:
handle.h:208
LRO_GNUPGHOMEDIR
Definition:
handle.h:295
LRI_PROGRESSCB
Definition:
handle.h:316
LrResult
struct _LrResult LrResult
Definition:
result.h:37
LRO_SSLVERIFYPEER
Definition:
handle.h:262
LRI_FASTESTMIRRORCACHE
Definition:
handle.h:348
LRI_VARSUB
Definition:
handle.h:329
LRI_MIRRORS
Definition:
handle.h:330
lr_handle_free
void lr_handle_free(LrHandle *handle)
LRO_CONNECTTIMEOUT
Definition:
handle.h:166
LRO_INTERRUPTIBLE
Definition:
handle.h:176
LRI_YUMBLIST
Definition:
handle.h:324
LRO_MAXPARALLELDOWNLOADS
Definition:
handle.h:194
LRO_YUMBLIST
Definition:
handle.h:253
LRO_PROXYTYPE
Definition:
handle.h:141
LRI_ALLOWEDMIRRORFAILURES
Definition:
handle.h:354
LRI_IPRESOLVE
Definition:
handle.h:353
LRI_FASTESTMIRRORMAXAGE
Definition:
handle.h:349
LRO_YUMDLIST
Definition:
handle.h:248
LRI_SSLVERIFYPEER
Definition:
handle.h:351
LRO_IGNOREMISSING
Definition:
handle.h:170
LRO_LOCAL
Definition:
handle.h:126
LRO_MAXSPEED
Definition:
handle.h:156
LRO_DESTDIR
Definition:
handle.h:160
LrHandle
struct _LrHandle LrHandle
Definition:
handle.h:38
LRO_GPGCHECK
Definition:
handle.h:240
librepo
handle.h
Generated on Sun Apr 12 2015 11:09:27 for Librepo library by
1.8.8