1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
|
/*
* python-apt.h - Header file for the public interface.
*
* Copyright 2009-2010 Julian Andres Klode <jak@debian.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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef PYTHON_APT_H
#define PYTHON_APT_H
#include <Python.h>
#include "generic.h"
#include <apt-pkg/configuration.h>
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/packagemanager.h>
#include <apt-pkg/version.h>
#include <apt-pkg/deblistparser.h>
#include <apt-pkg/pkgcache.h>
#include <apt-pkg/cachefile.h>
#include <apt-pkg/tagfile.h>
#include <apt-pkg/init.h>
#include <apt-pkg/pkgsystem.h>
#include <apt-pkg/cdrom.h>
#include <apt-pkg/algorithms.h>
#include <apt-pkg/hashes.h>
typedef PyObject *ActionGroupF(pkgDepCache::ActionGroup *);
typedef pkgDepCache::ActionGroup*& ActionGroupT(PyObject *self);
struct _PyAptPkgAPIStruct {
// apt_pkg.Acquire (pkgAcquire*)
PyTypeObject *acquire_type;
PyObject* (*acquire_fromcpp)(pkgAcquire *acquire, bool Delete, PyObject*);
pkgAcquire*& (*acquire_tocpp)(PyObject *self);
// apt_pkg.AcquireFile
PyTypeObject *acquirefile_type;
PyObject* (*acquirefile_fromcpp)(pkgAcqFile* const &obj, bool Delete, PyObject *Owner);
pkgAcqFile*& (*acquirefile_tocpp)(PyObject *self);
// apt_pkg.AcquireItem
PyTypeObject *acquireitem_type;
PyObject* (*acquireitem_fromcpp)(pkgAcquire::Item* const &obj, bool Delete, PyObject *Owner);
pkgAcquire::Item*& (*acquireitem_tocpp)(PyObject *self);
// apt_pkg.AcquireItemDesc
PyTypeObject *acquireitemdesc_type;
PyObject* (*acquireitemdesc_fromcpp)(pkgAcquire::ItemDesc* const &obj, bool Delete, PyObject *Owner);
pkgAcquire::ItemDesc*& (*acquireitemdesc_tocpp)(PyObject *self);
PyTypeObject *acquireworker_type;
PyObject* (*acquireworker_fromcpp)(pkgAcquire::Worker* const &obj, bool Delete, PyObject *Owner);
pkgAcquire::Worker*& (*acquireworker_tocpp)(PyObject *self);
PyTypeObject *actiongroup_type;
PyObject* (*actiongroup_fromcpp)(pkgDepCache::ActionGroup* const &obj, bool Delete, PyObject *Owner);
pkgDepCache::ActionGroup*& (*actiongroup_tocpp)(PyObject *self);
PyTypeObject *cache_type;
PyObject* (*cache_fromcpp)(pkgCache* const &obj, bool Delete, PyObject *Owner);
pkgCache*& (*cache_tocpp)(PyObject *self);
PyTypeObject *cachefile_type;
PyObject* (*cachefile_fromcpp)(pkgCacheFile* const &obj, bool Delete, PyObject *Owner);
pkgCacheFile*& (*cachefile_tocpp)(PyObject *self);
PyTypeObject *cdrom_type;
PyObject* (*cdrom_fromcpp)(pkgCdrom const &obj, bool Delete, PyObject *Owner);
pkgCdrom& (*cdrom_tocpp)(PyObject *self);
PyTypeObject *configuration_type;
PyObject* (*configuration_fromcpp)(Configuration* const &obj, bool Delete, PyObject *Owner);
Configuration*& (*configuration_tocpp)(PyObject *self);
PyTypeObject *depcache_type;
PyObject* (*depcache_fromcpp)(pkgDepCache* const &obj, bool Delete, PyObject *Owner);
pkgDepCache*& (*depcache_tocpp)(PyObject *self);
PyTypeObject *dependency_type;
PyObject* (*dependency_fromcpp)(pkgCache::DepIterator const &obj, bool Delete, PyObject *Owner);
pkgCache::DepIterator& (*dependency_tocpp)(PyObject *self);
PyTypeObject *dependencylist_type;
void *dependencylist_fromcpp; // FIXME: need dependencylist_fromcpp
void *dependencylist_tocpp; // FIXME: need dependencylist_tocpp
PyTypeObject *description_type;
PyObject* (*description_fromcpp)(pkgCache::DescIterator const &obj, bool Delete, PyObject *Owner);
pkgCache::DescIterator& (*description_tocpp)(PyObject *self);
PyTypeObject *hashes_type;
PyObject* (*hashes_fromcpp)(Hashes const &obj, bool Delete, PyObject *Owner);
Hashes& (*hashes_tocpp)(PyObject *self);
PyTypeObject *hashstring_type;
PyObject* (*hashstring_fromcpp)(HashString* const &obj, bool Delete, PyObject *Owner);
HashString*& (*hashstring_tocpp)(PyObject *self);
PyTypeObject *metaindex_type;
PyObject* (*metaindex_fromcpp)(metaIndex* const &obj, bool Delete, PyObject *Owner);
metaIndex*& (*metaindex_tocpp)(PyObject *self);
PyTypeObject *package_type;
PyObject* (*package_fromcpp)(pkgCache::PkgIterator const &obj, bool Delete, PyObject *Owner);
pkgCache::PkgIterator& (*package_tocpp)(PyObject *self);
PyTypeObject *packagefile_type;
PyObject* (*packagefile_fromcpp)(pkgCache::PkgFileIterator const &obj, bool Delete, PyObject *Owner);
pkgCache::PkgFileIterator& (*packagefile_tocpp)(PyObject *self);
PyTypeObject *packageindexfile_type;
PyObject* (*indexfile_fromcpp)(pkgIndexFile* const &obj, bool Delete, PyObject *Owner);
pkgIndexFile*& (*packageindexfile_tocpp)(PyObject *self);
PyTypeObject *packagelist_type;
void *packagelist_fromcpp; // FIXME: need packagelist_fromcpp
void *packagelist_tocpp; // FIXME: need packagelist_tocpp
PyTypeObject *packagemanager_type;
PyObject* (*packagemanager_fromcpp)(pkgPackageManager* const &obj, bool Delete, PyObject *Owner);
pkgPackageManager*& (*packagemanager_tocpp)(PyObject *self);
PyTypeObject *packagerecords_type;
void *packagerecords_fromcpp; // FIXME: need packagerecords_fromcpp
void *packagerecords_tocpp; // FIXME: need packagerecords_tocpp
PyTypeObject *policy_type;
PyObject* (*policy_fromcpp)(pkgPolicy* const &obj, bool Delete, PyObject *Owner);
pkgPolicy*& (*policy_tocpp)(PyObject *self);
PyTypeObject *problemresolver_type;
PyObject* (*problemresolver_fromcpp)(pkgProblemResolver* const &obj, bool Delete, PyObject *Owner);
pkgProblemResolver*& (*problemresolver_tocpp)(PyObject *self);
PyTypeObject *sourcelist_type;
PyObject* (*sourcelist_fromcpp)(pkgSourceList* const &obj, bool Delete, PyObject *Owner);
pkgSourceList*& (*sourcelist_tocpp)(PyObject *self);
PyTypeObject *sourcerecords_type;
void *sourcerecords_fromcpp; // FIXME: need sourcerecords_fromcpp
void *sourcerecords_tocpp; // FIXME: need sourcerecords_tocpp
PyTypeObject *tagfile_type;
PyObject* (*tagfile_fromcpp)(pkgTagFile const &obj, bool Delete, PyObject *Owner);
pkgTagFile& (*tagfile_tocpp)(PyObject *self);
PyTypeObject *tagsection_type;
PyObject* (*tagsection_fromcpp)(pkgTagSection const &obj, bool Delete, PyObject *Owner);
pkgTagSection& (*tagsection_tocpp)(PyObject *self);
PyTypeObject *version_type;
PyObject* (*version_fromcpp)(pkgCache::VerIterator const &obj, bool Delete, PyObject *Owner);
pkgCache::VerIterator& (*version_tocpp)(PyObject *self);
PyTypeObject *group_type;
PyObject* (*group_fromcpp)(pkgCache::GrpIterator const &obj, bool Delete, PyObject *Owner);
pkgCache::GrpIterator& (*group_tocpp)(PyObject *self);
PyTypeObject *orderlist_type;
PyObject* (*orderlist_fromcpp)(pkgOrderList* const &obj, bool Delete, PyObject *Owner);
pkgOrderList*& (*orderlist_tocpp)(PyObject *self);
PyTypeObject *sourcerecordfiles_type;
void *sourcerecordfiles_fromcpp; // FIXME: need sourcerecordfiles_fromcpp
void *sourcerecordfiles_tocpp; // FIXME: need sourcerecordfiles_tocpp
};
// Checking macros.
# define PyAcquire_Check(op) PyObject_TypeCheck(op, &PyAcquire_Type)
# define PyAcquireFile_Check(op) PyObject_TypeCheck(op, &PyAcquireFile_Type)
# define PyAcquireItem_Check(op) PyObject_TypeCheck(op, &PyAcquireItem_Type)
# define PyAcquireItemDesc_Check(op) PyObject_TypeCheck(op, &PyAcquireItemDesc_Type)
# define PyAcquireWorker_Check(op) PyObject_TypeCheck(op, &PyAcquireWorker_Type)
# define PyActionGroup_Check(op) PyObject_TypeCheck(op, &PyActionGroup_Type)
# define PyCache_Check(op) PyObject_TypeCheck(op, &PyCache_Type)
# define PyCacheFile_Check(op) PyObject_TypeCheck(op, &PyCacheFile_Type)
# define PyCdrom_Check(op) PyObject_TypeCheck(op, &PyCdrom_Type)
# define PyConfiguration_Check(op) PyObject_TypeCheck(op, &PyConfiguration_Type)
# define PyDepCache_Check(op) PyObject_TypeCheck(op, &PyDepCache_Type)
# define PyDependency_Check(op) PyObject_TypeCheck(op, &PyDependency_Type)
# define PyDependencyList_Check(op) PyObject_TypeCheck(op, &PyDependencyList_Type)
# define PyDescription_Check(op) PyObject_TypeCheck(op, &PyDescription_Type)
# define PyGroup_Check(op) PyObject_TypeCheck(op, &PyGroup_Type)
# define PyHashes_Check(op) PyObject_TypeCheck(op, &PyHashes_Type)
# define PyHashString_Check(op) PyObject_TypeCheck(op, &PyHashString_Type)
# define PyIndexRecords_Check(op) PyObject_TypeCheck(op, &PyIndexRecords_Type)
# define PyMetaIndex_Check(op) PyObject_TypeCheck(op, &PyMetaIndex_Type)
# define PyPackage_Check(op) PyObject_TypeCheck(op, &PyPackage_Type)
# define PyPackageFile_Check(op) PyObject_TypeCheck(op, &PyPackageFile_Type)
# define PyIndexFile_Check(op) PyObject_TypeCheck(op, &PyIndexFile_Type)
# define PyPackageList_Check(op) PyObject_TypeCheck(op, &PyPackageList_Type)
# define PyPackageManager_Check(op) PyObject_TypeCheck(op, &PyPackageManager_Type)
# define PyPackageRecords_Check(op) PyObject_TypeCheck(op, &PyPackageRecords_Type)
# define PyPolicy_Check(op) PyObject_TypeCheck(op, &PyPolicy_Type)
# define PyProblemResolver_Check(op) PyObject_TypeCheck(op, &PyProblemResolver_Type)
# define PySourceList_Check(op) PyObject_TypeCheck(op, &PySourceList_Type)
# define PySourceRecords_Check(op) PyObject_TypeCheck(op, &PySourceRecords_Type)
# define PySourceRecordFiles_Check(op) PyObject_TypeCheck(op, &PySourceRecordFiles_Type)
# define PyTagFile_Check(op) PyObject_TypeCheck(op, &PyTagFile_Type)
# define PyTagSection_Check(op) PyObject_TypeCheck(op, &PyTagSection_Type)
# define PyVersion_Check(op) PyObject_TypeCheck(op, &PyVersion_Type)
// Exact check macros.
# define PyAcquire_CheckExact(op) (op->op_type == &PyAcquire_Type)
# define PyAcquireFile_CheckExact(op) (op->op_type == &PyAcquireFile_Type)
# define PyAcquireItem_CheckExact(op) (op->op_type == &PyAcquireItem_Type)
# define PyAcquireItemDesc_CheckExact(op) (op->op_type == &PyAcquireItemDesc_Type)
# define PyAcquireWorker_CheckExact(op) (op->op_type == &PyAcquireWorker_Type)
# define PyActionGroup_CheckExact(op) (op->op_type == &PyActionGroup_Type)
# define PyCache_CheckExact(op) (op->op_type == &PyCache_Type)
# define PyCacheFile_CheckExact(op) (op->op_type == &PyCacheFile_Type)
# define PyCdrom_CheckExact(op) (op->op_type == &PyCdrom_Type)
# define PyConfiguration_CheckExact(op) (op->op_type == &PyConfiguration_Type)
# define PyDepCache_CheckExact(op) (op->op_type == &PyDepCache_Type)
# define PyDependency_CheckExact(op) (op->op_type == &PyDependency_Type)
# define PyDependencyList_CheckExact(op) (op->op_type == &PyDependencyList_Type)
# define PyDescription_CheckExact(op) (op->op_type == &PyDescription_Type)
# define PyHashes_CheckExact(op) (op->op_type == &PyHashes_Type)
# define PyGroup_CheckExact(op) (op->op_type == &PyGroup_Type)
# define PyHashString_CheckExact(op) (op->op_type == &PyHashString_Type)
# define PyIndexRecords_CheckExact(op) (op->op_type == &PyIndexRecords_Type)
# define PyMetaIndex_CheckExact(op) (op->op_type == &PyMetaIndex_Type)
# define PyPackage_CheckExact(op) (op->op_type == &PyPackage_Type)
# define PyPackageFile_CheckExact(op) (op->op_type == &PyPackageFile_Type)
# define PyIndexFile_CheckExact(op) (op->op_type == &PyIndexFile_Type)
# define PyOrderList_CheckExact(op) (op->op_type == &PyOrderList_Type)
# define PyPackageList_CheckExact(op) (op->op_type == &PyPackageList_Type)
# define PyPackageManager_CheckExact(op) (op->op_type == &PyPackageManager_Type)
# define PyPackageRecords_CheckExact(op) (op->op_type == &PyPackageRecords_Type)
# define PyPolicy_CheckExact(op) (op->op_type == &PyPolicy_Type)
# define PyProblemResolver_CheckExact(op) (op->op_type == &PyProblemResolver_Type)
# define PySourceList_CheckExact(op) (op->op_type == &PySourceList_Type)
# define PySourceRecords_CheckExact(op) (op->op_type == &PySourceRecords_Type)
# define PySourceRecordFiles_CheckExact(op) (op->op_type == &PySourceRecordFiles_Type)
# define PyTagFile_CheckExact(op) (op->op_type == &PyTagFile_Type)
# define PyTagSection_CheckExact(op) (op->op_type == &PyTagSection_Type)
# define PyVersion_CheckExact(op) (op->op_type == &PyVersion_Type)
# ifndef APT_PKGMODULE_H
static struct _PyAptPkgAPIStruct *_PyAptPkg_API;
static int import_apt_pkg(void) {
# if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 1
_PyAptPkg_API = (_PyAptPkgAPIStruct *)PyCapsule_Import("apt_pkg._C_API", 0);
# else
_PyAptPkg_API = (_PyAptPkgAPIStruct *)PyCObject_Import("apt_pkg", "_C_API");
# endif // PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 1
return (_PyAptPkg_API != NULL) ? 0 : -1;
}
# define PyAcquire_Type *(_PyAptPkg_API->acquire_type)
# define PyAcquireFile_Type *(_PyAptPkg_API->acquirefile_type)
# define PyAcquireItem_Type *(_PyAptPkg_API->acquireitem_type)
# define PyAcquireItemDesc_Type *(_PyAptPkg_API->acquireitemdesc_type)
# define PyAcquireWorker_Type *(_PyAptPkg_API->acquireworker_type)
# define PyActionGroup_Type *(_PyAptPkg_API->actiongroup_type)
# define PyCache_Type *(_PyAptPkg_API->cache_type)
# define PyCacheFile_Type *(_PyAptPkg_API->cachefile_type)
# define PyCdrom_Type *(_PyAptPkg_API->cdrom_type)
# define PyConfiguration_Type *(_PyAptPkg_API->configuration_type)
# define PyDepCache_Type *(_PyAptPkg_API->depcache_type)
# define PyDependency_Type *(_PyAptPkg_API->dependency_type)
# define PyDependencyList_Type *(_PyAptPkg_API->dependencylist_type)
# define PyDescription_Type *(_PyAptPkg_API->description_type)
# define PyGroup_Type *(_PyAptPkg_API->group_type)
# define PyHashes_Type *(_PyAptPkg_API->hashes_type)
# define PyHashString_Type *(_PyAptPkg_API->hashstring_type)
# define PyIndexRecords_Type *(_PyAptPkg_API->indexrecords_type)
# define PyMetaIndex_Type *(_PyAptPkg_API->metaindex_type)
# define PyPackage_Type *(_PyAptPkg_API->package_type)
# define PyPackageFile_Type *(_PyAptPkg_API->packagefile_type)
# define PyIndexFile_Type *(_PyAptPkg_API->packageindexfile_type)
# define PyOrderList_Type *(_PyAptPkg_API->orderlist_type)
# define PyPackageList_Type *(_PyAptPkg_API->packagelist_type)
# define PyPackageManager_Type *(_PyAptPkg_API->packagemanager_type)
# define PyPackageRecords_Type *(_PyAptPkg_API->packagerecords_type)
# define PyPolicy_Type *(_PyAptPkg_API->policy_type)
# define PyProblemResolver_Type *(_PyAptPkg_API->problemresolver_type)
# define PySourceList_Type *(_PyAptPkg_API->sourcelist_type)
# define PySourceRecords_Type *(_PyAptPkg_API->sourcerecords_type)
# define PySourceRecordFiles_Type *(_PyAptPkg_API->sourcerecordfiles_type)
# define PyTagFile_Type *(_PyAptPkg_API->tagfile_type)
# define PyTagSection_Type *(_PyAptPkg_API->tagsection_type)
# define PyVersion_Type *(_PyAptPkg_API->version_type)
// Code
# define PyAcquire_ToCpp _PyAptPkg_API->acquire_tocpp
# define PyAcquireFile_ToCpp _PyAptPkg_API->acquirefile_tocpp
# define PyAcquireItem_ToCpp _PyAptPkg_API->acquireitem_tocpp
# define PyAcquireItemDesc_ToCpp _PyAptPkg_API->acquireitemdesc_tocpp
# define PyAcquireWorker_ToCpp _PyAptPkg_API->acquireworker_tocpp
# define PyActionGroup_ToCpp _PyAptPkg_API->actiongroup_tocpp
# define PyCache_ToCpp _PyAptPkg_API->cache_tocpp
# define PyCacheFile_ToCpp _PyAptPkg_API->cachefile_tocpp
# define PyCdrom_ToCpp _PyAptPkg_API->cdrom_tocpp
# define PyConfiguration_ToCpp _PyAptPkg_API->configuration_tocpp
# define PyDepCache_ToCpp _PyAptPkg_API->depcache_tocpp
# define PyDependency_ToCpp _PyAptPkg_API->dependency_tocpp
# define PyDependencyList_ToCpp _PyAptPkg_API->dependencylist_tocpp // NULL
# define PyDescription_ToCpp _PyAptPkg_API->description_tocpp
# define PyGroup_ToCpp _PyAptPkg_API->group_tocpp
# define PyHashes_ToCpp _PyAptPkg_API->hashes_tocpp
# define PyHashString_ToCpp _PyAptPkg_API->hashstring_tocpp
# define PyIndexRecords_ToCpp _PyAptPkg_API->indexrecords_tocpp
# define PyMetaIndex_ToCpp _PyAptPkg_API->metaindex_tocpp
# define PyPackage_ToCpp _PyAptPkg_API->package_tocpp
# define PyPackageFile_ToCpp _PyAptPkg_API->packagefile_tocpp
# define PyIndexFile_ToCpp _PyAptPkg_API->packageindexfile_tocpp
# define PyOrderList_ToCpp _PyAptPkg_API->orderlist_tocpp // NULL
# define PyPackageList_ToCpp _PyAptPkg_API->packagelist_tocpp // NULL
# define PyPackageManager_ToCpp _PyAptPkg_API->packagemanager_tocpp
# define PyPackageRecords_ToCpp _PyAptPkg_API->packagerecords_tocpp
# define PyPolicy_ToCpp _PyAptPkg_API->policy_tocpp
# define PyProblemResolver_ToCpp _PyAptPkg_API->problemresolver_tocpp
# define PySourceList_ToCpp _PyAptPkg_API->sourcelist_tocpp
# define PySourceRecords_ToCpp _PyAptPkg_API->sourcerecords_tocpp // NULL
# define PySourceRecordFiles_ToCpp _PyAptPkg_API->sourcerecordfiles_tocpp // NULL
# define PyTagFile_ToCpp _PyAptPkg_API->tagfile_tocpp
# define PyTagSection_ToCpp _PyAptPkg_API->tagsection_tocpp
# define PyVersion_ToCpp _PyAptPkg_API->version_tocpp
// Get the C++ object
# define PyAcquire_FromCpp _PyAptPkg_API->acquire_fromcpp
# define PyAcquireFile_FromCpp _PyAptPkg_API->acquirefile_fromcpp
# define PyAcquireItem_FromCpp _PyAptPkg_API->acquireitem_fromcpp
# define PyAcquireItemDesc_FromCpp _PyAptPkg_API->acquireitemdesc_fromcpp
# define PyAcquireWorker_FromCpp _PyAptPkg_API->acquireworker_fromcpp
# define PyActionGroup_FromCpp _PyAptPkg_API->actiongroup_fromcpp
# define PyCache_FromCpp _PyAptPkg_API->cache_fromcpp
# define PyCacheFile_FromCpp _PyAptPkg_API->cachefile_fromcpp
# define PyCdrom_FromCpp _PyAptPkg_API->cdrom_fromcpp
# define PyConfiguration_FromCpp _PyAptPkg_API->configuration_fromcpp
# define PyDepCache_FromCpp _PyAptPkg_API->depcache_fromcpp
# define PyDependency_FromCpp _PyAptPkg_API->dependency_fromcpp
# define PyDependencyList_FromCpp _PyAptPkg_API->dependencylist_fromcpp // NULL
# define PyDescription_FromCpp _PyAptPkg_API->description_fromcpp
# define PyGroup_FromCpp _PyAptPkg_API->group_fromcpp
# define PyHashes_FromCpp _PyAptPkg_API->hashes_fromcpp
# define PyHashString_FromCpp _PyAptPkg_API->hashstring_fromcpp
# define PyIndexRecords_FromCpp _PyAptPkg_API->indexrecords_fromcpp
# define PyMetaIndex_FromCpp _PyAptPkg_API->metaindex_fromcpp
# define PyPackage_FromCpp _PyAptPkg_API->package_fromcpp
# define PyPackageFile_FromCpp _PyAptPkg_API->packagefile_fromcpp
# define PyIndexFile_FromCpp _PyAptPkg_API->packageindexfile_fromcpp
# define PyOrderList_FromCpp _PyAptPkg_API->orderlist_fromcpp // NULL
# define PyPackageList_FromCpp _PyAptPkg_API->packagelist_fromcpp // NULL
# define PyPackageManager_FromCpp _PyAptPkg_API->packagemanager_fromcpp
# define PyPackageRecords_FromCpp _PyAptPkg_API->packagerecords_fromcpp
# define PyPolicy_FromCpp _PyAptPkg_API->policy_fromcpp
# define PyProblemResolver_FromCpp _PyAptPkg_API->problemresolver_fromcpp
# define PySourceList_FromCpp _PyAptPkg_API->sourcelist_fromcpp
# define PySourceRecords_FromCpp _PyAptPkg_API->sourcerecords_fromcpp // NULL
# define PySourceRecordFiles_FromCpp _PyAptPkg_API->sourcerecordfiles_fromcpp // NULL
# define PyTagFile_FromCpp _PyAptPkg_API->tagfile_fromcpp
# define PyTagSection_FromCpp _PyAptPkg_API->tagsection_fromcpp
# define PyVersion_FromCpp _PyAptPkg_API->version_fromcpp
# endif // APT_PKGMODULE_H
#endif
|