repo.h File Reference

#include "pooltypes.h"
#include "pool.h"
#include "repodata.h"

Go to the source code of this file.

Classes

struct  _Repo
struct  _KeyValue
struct  _Datamatcher
struct  _Dataiterator
struct  _Dataiterator::di_parent

Defines

#define FOR_REPO_SOLVABLES(r, p, s)
#define SEARCH_NEXT_KEY   1
#define SEARCH_NEXT_SOLVABLE   2
#define SEARCH_STOP   3
#define SEARCH_ENTERSUB   -1
#define SEARCH_STRINGMASK   15
#define SEARCH_STRING   1
#define SEARCH_STRINGSTART   2
#define SEARCH_STRINGEND   3
#define SEARCH_SUBSTRING   4
#define SEARCH_GLOB   5
#define SEARCH_REGEX   6
#define SEARCH_ERROR   15
#define SEARCH_NOCASE   (1<<7)
#define SEARCH_NO_STORAGE_SOLVABLE   (1<<8)
#define SEARCH_SUB   (1<<9)
#define SEARCH_ARRAYSENTINEL   (1<<10)
#define SEARCH_DISABLED_REPOS   (1<<11)
#define SEARCH_COMPLETE_FILELIST   (1<<12)
#define SEARCH_SKIP_KIND   (1<<16)
#define SEARCH_FILES   (1<<17)
#define SEARCH_CHECKSUMS   (1<<18)
#define SEARCH_THISSOLVID   (1<<31)
#define REPO_REUSE_REPODATA   (1 << 0)
#define REPO_NO_INTERNALIZE   (1 << 1)
#define REPO_LOCALPOOL   (1 << 2)
#define REPO_USE_LOADING   (1 << 3)
#define REPO_EXTEND_SOLVABLES   (1 << 4)
#define DI_SEEK_STAY   (1 << 16)
#define DI_SEEK_CHILD   1
#define DI_SEEK_PARENT   2
#define DI_SEEK_REWIND   3

Typedefs

typedef struct _Repo Repo
typedef struct _KeyValue KeyValue
typedef struct _Datamatcher Datamatcher
typedef struct _Dataiterator Dataiterator

Functions

Reporepo_create (Pool *pool, const char *name)
void repo_free (Repo *repo, int reuseids)
void repo_empty (Repo *repo, int reuseids)
void repo_freeallrepos (Pool *pool, int reuseids)
void repo_free_solvable_block (Repo *repo, Id start, int count, int reuseids)
void * repo_sidedata_create (Repo *repo, size_t size)
void * repo_sidedata_extend (Repo *repo, void *b, size_t size, Id p, int count)
Offset repo_addid (Repo *repo, Offset olddeps, Id id)
Offset repo_addid_dep (Repo *repo, Offset olddeps, Id id, Id marker)
Offset repo_reserve_ids (Repo *repo, Offset olddeps, int num)
Offset repo_fix_supplements (Repo *repo, Offset provides, Offset supplements, Offset freshens)
Offset repo_fix_conflicts (Repo *repo, Offset conflicts)
static const char * repo_name (const Repo *repo)
static Id repo_add_solvable (Repo *repo)
static Id repo_add_solvable_block (Repo *repo, int count)
static Repopool_id2repo (Pool *pool, Id repoid)
static int pool_installable (const Pool *pool, Solvable *s)
Repodatarepo_add_repodata (Repo *repo, int flags)
Repodatarepo_last_repodata (Repo *repo)
void repo_search (Repo *repo, Id p, Id key, const char *match, int flags, int(*callback)(void *cbdata, Solvable *s, Repodata *data, Repokey *key, KeyValue *kv), void *cbdata)
const char * repo_lookup_str (Repo *repo, Id entry, Id key)
unsigned int repo_lookup_num (Repo *repo, Id entry, Id key, unsigned int notfound)
Id repo_lookup_id (Repo *repo, Id entry, Id keyid)
int repo_lookup_void (Repo *repo, Id entry, Id keyid)
const unsigned char * repo_lookup_bin_checksum (Repo *repo, Id entry, Id keyid, Id *typep)
int datamatcher_init (Datamatcher *ma, const char *match, int flags)
void datamatcher_free (Datamatcher *ma)
int datamatcher_match (Datamatcher *ma, const char *str)
int dataiterator_init (Dataiterator *di, Pool *pool, Repo *repo, Id p, Id keyname, const char *match, int flags)
void dataiterator_init_clone (Dataiterator *di, Dataiterator *from)
void dataiterator_set_search (Dataiterator *di, Repo *repo, Id p)
void dataiterator_set_keyname (Dataiterator *di, Id keyname)
int dataiterator_set_match (Dataiterator *di, const char *match, int flags)
void dataiterator_prepend_keyname (Dataiterator *di, Id keyname)
void dataiterator_free (Dataiterator *di)
int dataiterator_step (Dataiterator *di)
void dataiterator_setpos (Dataiterator *di)
void dataiterator_setpos_parent (Dataiterator *di)
int dataiterator_match (Dataiterator *di, Datamatcher *ma)
void dataiterator_skip_attribute (Dataiterator *di)
void dataiterator_skip_solvable (Dataiterator *di)
void dataiterator_skip_repo (Dataiterator *di)
void dataiterator_jump_to_solvid (Dataiterator *di, Id solvid)
void dataiterator_jump_to_repo (Dataiterator *di, Repo *repo)
void dataiterator_entersub (Dataiterator *di)
void dataiterator_clonepos (Dataiterator *di, Dataiterator *from)
void dataiterator_seek (Dataiterator *di, int whence)
void repo_set_id (Repo *repo, Id p, Id keyname, Id id)
void repo_set_num (Repo *repo, Id p, Id keyname, Id num)
void repo_set_str (Repo *repo, Id p, Id keyname, const char *str)
void repo_set_poolstr (Repo *repo, Id p, Id keyname, const char *str)
void repo_add_poolstr_array (Repo *repo, Id p, Id keyname, const char *str)
void repo_internalize (Repo *repo)
void repo_disable_paging (Repo *repo)

Define Documentation

#define FOR_REPO_SOLVABLES ( r,
p,
 ) 
Value:
for (p = (r)->start, s = (r)->pool->solvables + p; p < (r)->end; p++, s = (r)->pool->solvables + p)     \
    if (s->repo == (r))

Definition at line 108 of file repo.h.

Referenced by pool_calc_duchanges(), pool_calc_installsizechange(), solvable_trivial_installable_repo(), solver_createdupmaps(), solver_solve(), transaction_add_obsoleted(), transaction_calculate(), transaction_check_order(), transaction_create_installedmap(), and transaction_installedresult().

#define SEARCH_NEXT_KEY   1

Definition at line 139 of file repo.h.

Referenced by repo_search_md(), and repodata_search().

#define SEARCH_NEXT_SOLVABLE   2

Definition at line 140 of file repo.h.

Referenced by repo_search_md().

#define SEARCH_STOP   3

Definition at line 141 of file repo.h.

#define SEARCH_ENTERSUB   -1

Definition at line 142 of file repo.h.

Referenced by repodata_search().

#define SEARCH_STRINGMASK   15
#define SEARCH_STRING   1

Definition at line 158 of file repo.h.

Referenced by dataiterator_filelistcheck(), dataiterator_step(), and datamatcher_match().

#define SEARCH_STRINGSTART   2

Definition at line 159 of file repo.h.

Referenced by datamatcher_match().

#define SEARCH_STRINGEND   3

Definition at line 160 of file repo.h.

Referenced by datamatcher_match().

#define SEARCH_SUBSTRING   4

Definition at line 161 of file repo.h.

Referenced by datamatcher_match().

#define SEARCH_GLOB   5

Definition at line 162 of file repo.h.

Referenced by datamatcher_match().

#define SEARCH_REGEX   6

Definition at line 163 of file repo.h.

Referenced by datamatcher_free(), datamatcher_init(), and datamatcher_match().

#define SEARCH_ERROR   15

Definition at line 164 of file repo.h.

Referenced by datamatcher_init().

#define SEARCH_NOCASE   (1<<7)
#define SEARCH_NO_STORAGE_SOLVABLE   (1<<8)

Definition at line 168 of file repo.h.

Referenced by dataiterator_step(), and repo_search_md().

#define SEARCH_SUB   (1<<9)

Definition at line 169 of file repo.h.

Referenced by dataiterator_step(), and repodata_search().

#define SEARCH_ARRAYSENTINEL   (1<<10)

Definition at line 170 of file repo.h.

Referenced by dataiterator_step(), repodata_search(), and solvable_lookup_idarray().

#define SEARCH_DISABLED_REPOS   (1<<11)

Definition at line 171 of file repo.h.

Referenced by dataiterator_step(), and repo_search().

#define SEARCH_COMPLETE_FILELIST   (1<<12)

Definition at line 172 of file repo.h.

Referenced by dataiterator_filelistcheck(), and repo_search_md().

#define SEARCH_SKIP_KIND   (1<<16)

Definition at line 175 of file repo.h.

Referenced by repodata_stringify().

#define SEARCH_FILES   (1<<17)

Definition at line 179 of file repo.h.

Referenced by dataiterator_step(), and repodata_stringify().

#define SEARCH_CHECKSUMS   (1<<18)

Definition at line 180 of file repo.h.

Referenced by repodata_stringify().

#define SEARCH_THISSOLVID   (1<<31)
#define REPO_REUSE_REPODATA   (1 << 0)

Definition at line 187 of file repo.h.

Referenced by repo_add_repodata(), and repo_add_solv_flags().

#define REPO_NO_INTERNALIZE   (1 << 1)

Definition at line 188 of file repo.h.

#define REPO_LOCALPOOL   (1 << 2)

Definition at line 189 of file repo.h.

Referenced by repo_add_repodata(), and repo_add_solv_flags().

#define REPO_USE_LOADING   (1 << 3)

Definition at line 190 of file repo.h.

Referenced by repo_add_repodata(), and repo_add_solv_flags().

#define REPO_EXTEND_SOLVABLES   (1 << 4)

Definition at line 191 of file repo.h.

Referenced by repo_add_solv_flags().

#define DI_SEEK_STAY   (1 << 16)

Definition at line 306 of file repo.h.

Referenced by dataiterator_seek().

#define DI_SEEK_CHILD   1

Definition at line 307 of file repo.h.

Referenced by dataiterator_seek().

#define DI_SEEK_PARENT   2

Definition at line 308 of file repo.h.

Referenced by dataiterator_seek().

#define DI_SEEK_REWIND   3

Definition at line 309 of file repo.h.

Referenced by dataiterator_seek().


Typedef Documentation

typedef struct _Repo Repo
typedef struct _KeyValue KeyValue
typedef struct _Datamatcher Datamatcher
typedef struct _Dataiterator Dataiterator

Function Documentation

Repo* repo_create ( Pool pool,
const char *  name 
)
void repo_free ( Repo repo,
int  reuseids 
)

Definition at line 117 of file repo.c.

References _Pool::nrepos, _Repo::pool, repo_empty(), repo_freedata(), _Repo::repoid, and _Pool::repos.

void repo_empty ( Repo repo,
int  reuseids 
)
void repo_freeallrepos ( Pool pool,
int  reuseids 
)
void repo_free_solvable_block ( Repo repo,
Id  start,
int  count,
int  reuseids 
)
void* repo_sidedata_create ( Repo repo,
size_t  size 
)

Definition at line 180 of file repo.c.

References _Repo::end, REPO_SIDEDATA_BLOCK, sat_calloc_block(), and _Repo::start.

Referenced by repo_add_solv_flags().

void* repo_sidedata_extend ( Repo repo,
void *  b,
size_t  size,
Id  p,
int  count 
)

Definition at line 186 of file repo.c.

References _Repo::end, REPO_SIDEDATA_BLOCK, sat_extend(), and _Repo::start.

Referenced by repo_add_solvable(), and repo_add_solvable_block().

Offset repo_addid ( Repo repo,
Offset  olddeps,
Id  id 
)
Offset repo_addid_dep ( Repo repo,
Offset  olddeps,
Id  id,
Id  marker 
)

Definition at line 270 of file repo.c.

References _Repo::idarraydata, and repo_addid().

Referenced by addfileprovides_cb(), pool_add_fileconflicts_deps(), and repo_fix_supplements().

Offset repo_reserve_ids ( Repo repo,
Offset  olddeps,
int  num 
)
Offset repo_fix_supplements ( Repo repo,
Offset  provides,
Offset  supplements,
Offset  freshens 
)
Offset repo_fix_conflicts ( Repo repo,
Offset  conflicts 
)

Definition at line 598 of file repo.c.

References id2str(), _Repo::idarraydata, ISRELDEP, _Repo::pool, rel2id(), REL_NAMESPACE, and str2id().

static const char* repo_name ( const Repo repo  )  [inline, static]

Definition at line 61 of file repo.h.

References _Repo::name.

static Id repo_add_solvable ( Repo repo  )  [inline, static]
static Id repo_add_solvable_block ( Repo repo,
int  count 
) [inline, static]
static Repo* pool_id2repo ( Pool pool,
Id  repoid 
) [inline, static]

Definition at line 115 of file repo.h.

References _Pool::repos.

Referenced by solver_createdupmaps().

static int pool_installable ( const Pool pool,
Solvable s 
) [inline, static]
Repodata* repo_add_repodata ( Repo repo,
int  flags 
)
Repodata* repo_last_repodata ( Repo repo  ) 
void repo_search ( Repo repo,
Id  p,
Id  key,
const char *  match,
int  flags,
int(*)(void *cbdata, Solvable *s, Repodata *data, Repokey *key, KeyValue *kv)  callback,
void *  cbdata 
)
const char* repo_lookup_str ( Repo repo,
Id  entry,
Id  key 
)
unsigned int repo_lookup_num ( Repo repo,
Id  entry,
Id  key,
unsigned int  notfound 
)
Id repo_lookup_id ( Repo repo,
Id  entry,
Id  keyid 
)
int repo_lookup_void ( Repo repo,
Id  entry,
Id  keyid 
)
const unsigned char* repo_lookup_bin_checksum ( Repo repo,
Id  entry,
Id  keyid,
Id typep 
)
int datamatcher_init ( Datamatcher ma,
const char *  match,
int  flags 
)
void datamatcher_free ( Datamatcher ma  ) 
int datamatcher_match ( Datamatcher ma,
const char *  str 
)
int dataiterator_init ( Dataiterator di,
Pool pool,
Repo repo,
Id  p,
Id  keyname,
const char *  match,
int  flags 
)
void dataiterator_init_clone ( Dataiterator di,
Dataiterator from 
)
void dataiterator_set_search ( Dataiterator di,
Repo repo,
Id  p 
)
void dataiterator_set_keyname ( Dataiterator di,
Id  keyname 
)
int dataiterator_set_match ( Dataiterator di,
const char *  match,
int  flags 
)
void dataiterator_prepend_keyname ( Dataiterator di,
Id  keyname 
)
void dataiterator_free ( Dataiterator di  ) 
int dataiterator_step ( Dataiterator di  ) 

Definition at line 1223 of file repodata.c.

References _Dataiterator::data, data_fetch(), data_read_id(), data_skip_schema(), dataiterator_filelistcheck(), dataiterator_find_keyname(), datamatcher_match(), _Dataiterator::ddp, di_bye, di_enterarray, di_enterkey, di_enterrepo, di_enterrepodata, di_enterschema, di_entersolvable, di_entersolvablekey, di_entersub, di_leavesub, di_nextarrayelement, di_nextattr, di_nextkey, di_nextrepo, di_nextrepodata, di_nextsolvable, di_nextsolvableattr, di_nextsolvablekey, _Repo::disabled, _Dataiterator::di_parent::dp, _Dataiterator::dp, _Repo::end, _KeyValue::entry, _KeyValue::eof, _Datamatcher::flags, _Dataiterator::flags, get_data(), _KeyValue::id, _Dataiterator::idp, _Dataiterator::key, _Dataiterator::keyname, _Dataiterator::keynames, _Dataiterator::di_parent::keyp, _Dataiterator::keyp, _Repodata::keys, _Dataiterator::di_parent::kv, _Dataiterator::kv, _Datamatcher::match, _Dataiterator::matcher, maybe_load_repodata(), _Repokey::name, _Dataiterator::nkeynames, _Dataiterator::nparents, _Repo::nrepodata, _Pool::nrepos, _KeyValue::num, _KeyValue::parent, _Dataiterator::parents, _Dataiterator::pool, _Pool::pos, _Solvable::repo, _Dataiterator::repo, _Repo::repodata, repodata_stringify(), _Dataiterator::repodataid, _Dataiterator::repoid, _Pool::repos, _Dataiterator::rootlevel, _Repodata::schemadata, _Repodata::schemata, SEARCH_ARRAYSENTINEL, SEARCH_DISABLED_REPOS, SEARCH_FILES, SEARCH_NO_STORAGE_SOLVABLE, SEARCH_NOCASE, SEARCH_STRING, SEARCH_STRINGMASK, SEARCH_SUB, SEARCH_THISSOLVID, solvabledata_fetch(), _Pool::solvables, _Repopos::solvid, _Dataiterator::solvid, solvid2data(), SOLVID_POS, _Repo::start, _Dataiterator::state, _KeyValue::str, and _Repokey::type.

Referenced by repodata_create_stubs(), and solvable_lookup_idarray().

void dataiterator_setpos ( Dataiterator di  ) 
void dataiterator_setpos_parent ( Dataiterator di  ) 
int dataiterator_match ( Dataiterator di,
Datamatcher ma 
)
void dataiterator_skip_attribute ( Dataiterator di  ) 

Definition at line 1586 of file repodata.c.

References di_nextkey, di_nextsolvableattr, di_nextsolvablekey, and _Dataiterator::state.

void dataiterator_skip_solvable ( Dataiterator di  ) 
void dataiterator_skip_repo ( Dataiterator di  ) 
void dataiterator_jump_to_solvid ( Dataiterator di,
Id  solvid 
)
void dataiterator_jump_to_repo ( Dataiterator di,
Repo repo 
)
void dataiterator_entersub ( Dataiterator di  ) 

Definition at line 1473 of file repodata.c.

References di_entersub, di_nextarrayelement, and _Dataiterator::state.

Referenced by repodata_create_stubs().

void dataiterator_clonepos ( Dataiterator di,
Dataiterator from 
)
void dataiterator_seek ( Dataiterator di,
int  whence 
)
void repo_set_id ( Repo repo,
Id  p,
Id  keyname,
Id  id 
)

Definition at line 1059 of file repo.c.

References repo_last_repodata(), and repodata_set_id().

void repo_set_num ( Repo repo,
Id  p,
Id  keyname,
Id  num 
)

Definition at line 1066 of file repo.c.

References repo_last_repodata(), and repodata_set_num().

void repo_set_str ( Repo repo,
Id  p,
Id  keyname,
const char *  str 
)

Definition at line 1073 of file repo.c.

References repo_last_repodata(), and repodata_set_str().

void repo_set_poolstr ( Repo repo,
Id  p,
Id  keyname,
const char *  str 
)

Definition at line 1080 of file repo.c.

References repo_last_repodata(), and repodata_set_poolstr().

void repo_add_poolstr_array ( Repo repo,
Id  p,
Id  keyname,
const char *  str 
)

Definition at line 1087 of file repo.c.

References repo_last_repodata(), and repodata_add_poolstr_array().

void repo_internalize ( Repo repo  ) 

Definition at line 1094 of file repo.c.

References _Repodata::attrs, _Repo::repodata, repodata_internalize(), and _Repodata::xattrs.

void repo_disable_paging ( Repo repo  ) 

Definition at line 1105 of file repo.c.

References _Repo::repodata, and repodata_disable_paging().

Generated on Mon Dec 12 11:44:12 2011 for satsolver by  doxygen 1.6.3