Librepo library
1.8.0
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 2592000L // 30 days
42
44
#define LRO_FASTESTMIRRORMAXAGE_MIN 0L
45
47
#define LRO_PROXYPORT_DEFAULT 1080L
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 30L
57
59
#define LRO_MAXMIRRORTRIES_DEFAULT 0L
60
62
#define LRO_MAXMIRRORTRIES_MIN 0L
63
65
#define LRO_MAXPARALLELDOWNLOADS_DEFAULT 3L
66
68
#define LRO_MAXPARALLELDOWNLOADS_MIN 1L
69
71
#define LRO_MAXPARALLELDOWNLOADS_MAX 20L
72
74
#define LRO_MAXDOWNLOADSPERMIRROR_DEFAULT 3L
75
77
#define LRO_MAXDOWNLOADSPERMIRROR_MIN 1L
78
80
#define LRO_LOWSPEEDTIME_MIN 0L
81
83
#define LRO_LOWSPEEDTIME_DEFAULT 30L
84
86
#define LRO_LOWSPEEDLIMIT_MIN 0L
87
89
#define LRO_LOWSPEEDLIMIT_DEFAULT 1000L
90
92
#define LRO_IPRESOLVE_DEFAULT LR_IPRESOLVE_WHATEVER
93
95
#define LRO_ALLOWEDMIRRORFAILURES_DEFAULT 4L
96
98
#define LRO_ADAPTIVEMIRRORSORTING_DEFAULT 1L
99
101
#define LRO_GNUPGHOMEDIR_DEFAULT NULL
102
104
#define LRO_FASTESTMIRRORTIMEOUT_DEFAULT 2.0
105
107
#define LRO_OFFLINE_DEFAULT 0L
108
110
#define LRO_HTTPAUTHMETHODS_DEFAULT LR_AUTH_BASIC
111
113
#define LRO_PROXYAUTHMETHODS_DEFAULT LR_AUTH_BASIC
114
116
#define LRO_FTPUSEEPSV_DEFAULT 1L
117
118
120
typedef
enum
{
121
122
LRO_UPDATE
,
126
LRO_URLS
,
129
LRO_MIRRORLIST
,
134
LRO_MIRRORLISTURL
,
137
LRO_METALINKURL
,
140
LRO_LOCAL
,
143
LRO_HTTPAUTH
,
148
LRO_USERPWD
,
151
LRO_PROXY
,
154
LRO_PROXYPORT
,
157
LRO_PROXYTYPE
,
160
LRO_PROXYAUTH
,
165
LRO_PROXYUSERPWD
,
168
LRO_PROGRESSCB
,
171
LRO_PROGRESSDATA
,
174
LRO_MAXSPEED
,
178
LRO_DESTDIR
,
181
LRO_REPOTYPE
,
184
LRO_CONNECTTIMEOUT
,
188
LRO_IGNOREMISSING
,
194
LRO_INTERRUPTIBLE
,
200
LRO_USERAGENT
,
204
LRO_FETCHMIRRORS
,
208
LRO_MAXMIRRORTRIES
,
212
LRO_MAXPARALLELDOWNLOADS
,
215
LRO_MAXDOWNLOADSPERMIRROR
,
218
LRO_VARSUB
,
226
LRO_FASTESTMIRROR
,
231
LRO_FASTESTMIRRORCACHE
,
236
LRO_FASTESTMIRRORMAXAGE,
/*< (long)
237
Maximum age of a record in cache (seconds).
238
Default: 2592000 (30 days). */
239
240
LRO_FASTESTMIRRORCB,
/* (LrFastestMirrorCb)
241
Fastest mirror status callback */
242
243
LRO_FASTESTMIRRORDATA,
/* (void *)
244
User data for LRO_FASTESTMIRRORCB */
245
246
LRO_LOWSPEEDTIME,
/*< (long)
247
The time in seconds that the transfer should be below the
248
LRO_LOWSPEEDLIMIT for the library to consider it too slow
249
and abort. */
250
251
LRO_LOWSPEEDLIMIT,
/*< (long)
252
The transfer speed in bytes per second that the transfer
253
should be below during LRO_LOWSPEEDTIME seconds for
254
the library to consider it too slow and abort. */
255
256
/* Repo common options */
257
258
LRO_GPGCHECK
,
261
LRO_CHECKSUM
,
264
/* LR_YUMREPO specific options */
265
266
LRO_YUMDLIST
,
271
LRO_RPMMDDLIST =
LRO_YUMDLIST
,
272
273
LRO_YUMBLIST
,
277
LRO_RPMMDBLIST =
LRO_YUMBLIST
,
278
279
LRO_HMFCB
,
284
LRO_SSLVERIFYPEER
,
290
LRO_SSLVERIFYHOST
,
294
LRO_IPRESOLVE
,
297
LRO_ALLOWEDMIRRORFAILURES
,
311
LRO_ADAPTIVEMIRRORSORTING
,
317
LRO_GNUPGHOMEDIR
,
320
LRO_FASTESTMIRRORTIMEOUT
,
324
LRO_HTTPHEADER
,
328
LRO_OFFLINE
,
333
LRO_SSLCLIENTCERT
,
337
LRO_SSLCLIENTKEY
,
342
LRO_SSLCACERT
,
346
LRO_HTTPAUTHMETHODS
,
349
LRO_PROXYAUTHMETHODS
,
353
LRO_FTPUSEEPSV
,
356
LRO_YUMSLIST
,
363
LRO_SENTINEL
,
365
}
LrHandleOption
;
368
typedef
enum
{
369
LRI_UPDATE
,
370
LRI_URLS
,
373
LRI_MIRRORLIST
,
374
LRI_MIRRORLISTURL
,
375
LRI_METALINKURL
,
376
LRI_LOCAL
,
377
LRI_PROGRESSCB
,
378
LRI_PROGRESSDATA
,
379
LRI_DESTDIR
,
380
LRI_REPOTYPE
,
381
LRI_USERAGENT
,
382
LRI_YUMDLIST
,
385
LRI_RPMMDDLIST =
LRI_YUMDLIST
,
386
LRI_YUMBLIST
,
389
LRI_RPMMDBLIST =
LRI_YUMBLIST
,
390
LRI_FETCHMIRRORS
,
391
LRI_MAXMIRRORTRIES
,
392
LRI_VARSUB
,
393
LRI_MIRRORS
,
405
LRI_METALINK
,
406
LRI_FASTESTMIRROR
,
407
LRI_FASTESTMIRRORCACHE
,
408
LRI_FASTESTMIRRORMAXAGE
,
409
LRI_HMFCB
,
410
LRI_SSLVERIFYPEER
,
411
LRI_SSLVERIFYHOST
,
412
LRI_IPRESOLVE
,
413
LRI_ALLOWEDMIRRORFAILURES
,
414
LRI_ADAPTIVEMIRRORSORTING
,
415
LRI_GNUPGHOMEDIR
,
416
LRI_FASTESTMIRRORTIMEOUT
,
417
LRI_HTTPHEADER
,
420
LRI_OFFLINE
,
421
LRI_SSLCLIENTCERT
,
422
LRI_SSLCLIENTKEY
,
423
LRI_SSLCACERT
,
424
LRI_LOWSPEEDTIME
,
425
LRI_LOWSPEEDLIMIT
,
426
LRI_HTTPAUTHMETHODS
,
427
LRI_PROXYAUTHMETHODS
,
428
LRI_FTPUSEEPSV
,
429
LRI_YUMSLIST
,
430
LRI_SENTINEL,
431
}
LrHandleInfoOption
;
436
LrHandle
*
437
lr_handle_init
(
void
);
438
442
void
443
lr_handle_free
(
LrHandle
*handle);
444
452
gboolean
453
lr_handle_setopt
(
LrHandle
*handle,
454
GError **err,
455
LrHandleOption
option,
456
...);
457
471
gboolean
472
lr_handle_getinfo
(
LrHandle
*handle,
473
GError **err,
474
LrHandleInfoOption
option,
475
...);
476
483
gboolean
484
lr_handle_perform
(
LrHandle
*handle,
LrResult
*result, GError **err);
485
488
G_END_DECLS
489
490
#endif
LRI_SSLCLIENTCERT
Definition:
handle.h:421
LRI_FTPUSEEPSV
Definition:
handle.h:428
LrHandleOption
LrHandleOption
Definition:
handle.h:120
LRI_MIRRORLIST
Definition:
handle.h:373
LRI_GNUPGHOMEDIR
Definition:
handle.h:415
LRO_MAXMIRRORTRIES
Definition:
handle.h:208
LRI_URLS
Definition:
handle.h:370
LRO_PROXY
Definition:
handle.h:151
LRO_FTPUSEEPSV
Definition:
handle.h:353
LRO_HTTPAUTH
Definition:
handle.h:143
LRO_PROGRESSCB
Definition:
handle.h:168
LRI_HTTPHEADER
Definition:
handle.h:417
LRO_VARSUB
Definition:
handle.h:218
LRO_SSLVERIFYHOST
Definition:
handle.h:290
LRO_HTTPAUTHMETHODS
Definition:
handle.h:346
LRO_ALLOWEDMIRRORFAILURES
Definition:
handle.h:297
LRI_LOWSPEEDTIME
Definition:
handle.h:424
LrHandleInfoOption
LrHandleInfoOption
Definition:
handle.h:368
LRI_UPDATE
Definition:
handle.h:369
LRI_HTTPAUTHMETHODS
Definition:
handle.h:426
LRI_MIRRORLISTURL
Definition:
handle.h:374
LRO_UPDATE
Definition:
handle.h:122
LRI_LOCAL
Definition:
handle.h:376
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:390
LRO_MIRRORLIST
Definition:
handle.h:129
LRO_MAXDOWNLOADSPERMIRROR
Definition:
handle.h:215
LRO_REPOTYPE
Definition:
handle.h:181
LRO_USERAGENT
Definition:
handle.h:200
LRO_PROXYPORT
Definition:
handle.h:154
LRI_SSLCLIENTKEY
Definition:
handle.h:422
LRO_FASTESTMIRRORCACHE
Definition:
handle.h:231
LRO_URLS
Definition:
handle.h:126
LRO_OFFLINE
Definition:
handle.h:328
LRO_HTTPHEADER
Definition:
handle.h:324
LRI_SSLCACERT
Definition:
handle.h:423
LRO_YUMSLIST
Definition:
handle.h:356
LRO_ADAPTIVEMIRRORSORTING
Definition:
handle.h:311
LRO_MIRRORLISTURL
Definition:
handle.h:134
LRI_REPOTYPE
Definition:
handle.h:380
LRI_PROGRESSDATA
Definition:
handle.h:378
LRI_USERAGENT
Definition:
handle.h:381
LRO_CHECKSUM
Definition:
handle.h:261
LRO_FETCHMIRRORS
Definition:
handle.h:204
LRI_YUMSLIST
Definition:
handle.h:429
LRO_PROGRESSDATA
Definition:
handle.h:171
LRO_USERPWD
Definition:
handle.h:148
LRI_HMFCB
Definition:
handle.h:409
LRO_METALINKURL
Definition:
handle.h:137
LRO_FASTESTMIRRORTIMEOUT
Definition:
handle.h:320
LRO_PROXYAUTH
Definition:
handle.h:160
LRO_IPRESOLVE
Definition:
handle.h:294
LRI_OFFLINE
Definition:
handle.h:420
LRO_SSLCLIENTKEY
Definition:
handle.h:337
LRI_ADAPTIVEMIRRORSORTING
Definition:
handle.h:414
LRI_MAXMIRRORTRIES
Definition:
handle.h:391
LRI_DESTDIR
Definition:
handle.h:379
LRO_HMFCB
Definition:
handle.h:279
LRI_FASTESTMIRRORTIMEOUT
Definition:
handle.h:416
LRO_PROXYUSERPWD
Definition:
handle.h:165
LRO_SENTINEL
Definition:
handle.h:363
LRI_YUMDLIST
Definition:
handle.h:382
LRI_METALINK
Definition:
handle.h:405
LRI_FASTESTMIRROR
Definition:
handle.h:406
LRI_SSLVERIFYHOST
Definition:
handle.h:411
LRO_SSLCLIENTCERT
Definition:
handle.h:333
LRI_METALINKURL
Definition:
handle.h:375
LRO_SSLCACERT
Definition:
handle.h:342
lr_handle_perform
gboolean lr_handle_perform(LrHandle *handle, LrResult *result, GError **err)
LRO_PROXYAUTHMETHODS
Definition:
handle.h:349
LRO_FASTESTMIRROR
Definition:
handle.h:226
LRO_GNUPGHOMEDIR
Definition:
handle.h:317
LRI_PROGRESSCB
Definition:
handle.h:377
LrResult
struct _LrResult LrResult
Definition:
result.h:37
LRO_SSLVERIFYPEER
Definition:
handle.h:284
LRI_FASTESTMIRRORCACHE
Definition:
handle.h:407
LRI_VARSUB
Definition:
handle.h:392
LRI_MIRRORS
Definition:
handle.h:393
lr_handle_free
void lr_handle_free(LrHandle *handle)
LRI_LOWSPEEDLIMIT
Definition:
handle.h:425
LRO_CONNECTTIMEOUT
Definition:
handle.h:184
LRO_INTERRUPTIBLE
Definition:
handle.h:194
LRI_YUMBLIST
Definition:
handle.h:386
LRO_MAXPARALLELDOWNLOADS
Definition:
handle.h:212
lr_handle_init
LrHandle * lr_handle_init(void)
LRO_YUMBLIST
Definition:
handle.h:273
LRO_PROXYTYPE
Definition:
handle.h:157
LRI_ALLOWEDMIRRORFAILURES
Definition:
handle.h:413
LRI_IPRESOLVE
Definition:
handle.h:412
LRI_PROXYAUTHMETHODS
Definition:
handle.h:427
LRI_FASTESTMIRRORMAXAGE
Definition:
handle.h:408
LRO_YUMDLIST
Definition:
handle.h:266
LRI_SSLVERIFYPEER
Definition:
handle.h:410
LRO_IGNOREMISSING
Definition:
handle.h:188
LRO_LOCAL
Definition:
handle.h:140
LRO_MAXSPEED
Definition:
handle.h:174
LRO_DESTDIR
Definition:
handle.h:178
LrHandle
struct _LrHandle LrHandle
Definition:
handle.h:38
LRO_GPGCHECK
Definition:
handle.h:258
librepo
handle.h
Generated on Fri Nov 1 2019 10:54:43 for Librepo library by
1.8.8